Просмотр исходного кода

调整获取订单详情接口

family 1 год назад
Родитель
Сommit
15f47467c0
2 измененных файлов с 99 добавлено и 94 удалено
  1. 96 88
      app/common/repositories/movie/MovieRepository.php
  2. 3 6
      app/controller/api/movie/Movie.php

+ 96 - 88
app/common/repositories/movie/MovieRepository.php

@@ -10,6 +10,8 @@ namespace app\common\repositories\movie;
10
 use app\common\dao\movie\order\MovieOrderDao;
10
 use app\common\dao\movie\order\MovieOrderDao;
11
 use app\common\repositories\BaseRepository;
11
 use app\common\repositories\BaseRepository;
12
 use app\common\repositories\store\order\StoreOrderRepository;
12
 use app\common\repositories\store\order\StoreOrderRepository;
13
+use crmeb\services\ApiResponseService;
14
+use think\exception\ValidateException;
13
 use think\facade\Db;
15
 use think\facade\Db;
14
 use think\facade\Log;
16
 use think\facade\Log;
15
 
17
 
@@ -115,7 +117,7 @@ class MovieRepository extends BaseRepository
115
 
117
 
116
         $order_price = round($params['number'] * $params['price'], 2);
118
         $order_price = round($params['number'] * $params['price'], 2);
117
         $submitOrder = DouHuoMallFilmApiRequest::submitOrder($userinfo->phone, $params['channel_type'], $params['sched_sign'], $order_sn, $order_price);
119
         $submitOrder = DouHuoMallFilmApiRequest::submitOrder($userinfo->phone, $params['channel_type'], $params['sched_sign'], $order_sn, $order_price);
118
-        if (!empty($submitOrder) && isset($submitOrder['code']) && ($submitOrder['code'] == 200) && isset($submitOrder['data']['plat_order'])){
120
+        if (!empty($submitOrder) && isset($submitOrder['code']) && ($submitOrder['code'] == 200) && isset($submitOrder['data']['plat_order'])) {
119
             $_order = [
121
             $_order = [
120
                 'uid' => $userinfo->uid,
122
                 'uid' => $userinfo->uid,
121
                 'mobile' => $userinfo->phone,
123
                 'mobile' => $userinfo->phone,
@@ -149,7 +151,7 @@ class MovieRepository extends BaseRepository
149
 
151
 
150
             $group = Db::transaction(function () use ($userinfo, $_order) {
152
             $group = Db::transaction(function () use ($userinfo, $_order) {
151
                 $_order = $this->dao->create($_order);
153
                 $_order = $this->dao->create($_order);
152
-                if ($_order) return static::pay();
154
+                if ($_order) return static::pay($_order['pay_type']);
153
 
155
 
154
 
156
 
155
             });
157
             });
@@ -159,166 +161,166 @@ class MovieRepository extends BaseRepository
159
         }
161
         }
160
     }
162
     }
161
 
163
 
162
-    private static function pay($payType,$code,$groupOrder,$title,$notify_url,$pay_mode=null,$appid=''){
164
+    private static function pay($payType, $code, $groupOrder, $title, $notify_url, $pay_mode = null, $appid = '')
165
+    {
163
 
166
 
164
         $order_no = $groupOrder['group_order_sn'] ?? $groupOrder['order_no'];
167
         $order_no = $groupOrder['group_order_sn'] ?? $groupOrder['order_no'];
165
 
168
 
166
 
169
 
170
+        if ($payType == 'wx') {
167
 
171
 
168
-        if($payType == 'wx'){
169
-
170
-            if(!$code || $code == '' || $code =='undefined')
172
+            if (!$code || $code == '' || $code == 'undefined')
171
                 return "授权失败,code为空";
173
                 return "授权失败,code为空";
172
-            if($appid == '') {
174
+            if ($appid == '') {
173
 
175
 
174
 
176
 
175
                 $pay_wx = systemConfig('pay_wx');
177
                 $pay_wx = systemConfig('pay_wx');
176
 
178
 
177
-                if ($pay_wx == 2){
179
+                if ($pay_wx == 2) {
178
                     $appid = env('WECHAT_MP.APPID');
180
                     $appid = env('WECHAT_MP.APPID');
179
                     $new_secret = env('WECHAT_MP.SECRET');
181
                     $new_secret = env('WECHAT_MP.SECRET');
180
 
182
 
181
-                    $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
182
-                    $key='api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
183
+                    $app_id = 'app_0827b960-b932-45ec-b800-4e850091b419';
184
+                    $key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
183
 
185
 
184
-                }elseif ($pay_wx == 3){
186
+                } elseif ($pay_wx == 3) {
185
                     $appid = env('WECHAT_TDYL.APPID');
187
                     $appid = env('WECHAT_TDYL.APPID');
186
                     $new_secret = env('WECHAT_TDYL.SECRET');
188
                     $new_secret = env('WECHAT_TDYL.SECRET');
187
 
189
 
188
 
190
 
189
-                    Db::name('log')->insert(['data'=>'appid---'.$appid]);
190
-                    Db::name('log')->insert(['data'=>'new_secret---'.$new_secret]);
191
-                    $app_id='app_383a75dd-c03d-44ab-8f58-92c60fe9b9d0';
192
-                    $key='api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
191
+                    Db::name('log')->insert(['data' => 'appid---' . $appid]);
192
+                    Db::name('log')->insert(['data' => 'new_secret---' . $new_secret]);
193
+                    $app_id = 'app_383a75dd-c03d-44ab-8f58-92c60fe9b9d0';
194
+                    $key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
193
 
195
 
194
                 }
196
                 }
195
 
197
 
196
-            }else{
197
-                $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
198
-                $key='api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
198
+            } else {
199
+                $app_id = 'app_0827b960-b932-45ec-b800-4e850091b419';
200
+                $key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
199
                 $new_secret = "c8cbe24fa3b83f77a88b79554b3aeab4";
201
                 $new_secret = "c8cbe24fa3b83f77a88b79554b3aeab4";
200
             }
202
             }
201
 
203
 
202
-            $url = "https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$new_secret."&js_code=".$code."&grant_type=authorization_code";
204
+            $url = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appid . "&secret=" . $new_secret . "&js_code=" . $code . "&grant_type=authorization_code";
203
             $get = curlGet($url);
205
             $get = curlGet($url);
204
-            Db::name('log')->insert(['data'=>'pay_wx---'.$pay_wx]);
205
-            Db::name('log')->insert(['data'=>'code---'.$code]);
206
-            Db::name('log')->insert(['data'=>'url---'.$url]);
207
-            Db::name('log')->insert(['data'=>'open_id---'.json_encode($get)]);
208
-            if(!isset($get['openid']) || empty($get['openid'])){
206
+            Db::name('log')->insert(['data' => 'pay_wx---' . $pay_wx]);
207
+            Db::name('log')->insert(['data' => 'code---' . $code]);
208
+            Db::name('log')->insert(['data' => 'url---' . $url]);
209
+            Db::name('log')->insert(['data' => 'open_id---' . json_encode($get)]);
210
+            if (!isset($get['openid']) || empty($get['openid'])) {
209
                 return '授权失败';
211
                 return '授权失败';
210
             }
212
             }
211
             $openid = $get['openid'];
213
             $openid = $get['openid'];
212
 
214
 
213
-            $member_id=0;
214
-            $type='2';
215
-            $pay_channel='wx_lite';
215
+            $member_id = 0;
216
+            $type = '2';
217
+            $pay_channel = 'wx_lite';
216
 
218
 
217
-            $expend=[
218
-                'open_id'=>$openid,
219
-                'wx_app_id'=> $appid
219
+            $expend = [
220
+                'open_id' => $openid,
221
+                'wx_app_id' => $appid
220
             ];
222
             ];
221
 
223
 
222
 
224
 
223
-            if ($groupOrder['order_type'] = "marketing"){
225
+            if ($groupOrder['order_type'] = "marketing") {
224
 
226
 
225
-                db::name("test_log")->insert(["note"=>"pay_huifu" . json_encode($groupOrder)]);
227
+                db::name("test_log")->insert(["note" => "pay_huifu" . json_encode($groupOrder)]);
226
                 // 创富宝 分账
228
                 // 创富宝 分账
227
                 //创富宝
229
                 //创富宝
228
-                $cfb = sprintf("%01.2f",round(bcmul($groupOrder['pay_price'],'0.094',5),2));//9.4%的分账
230
+                $cfb = sprintf("%01.2f", round(bcmul($groupOrder['pay_price'], '0.094', 5), 2));//9.4%的分账
229
 
231
 
230
                 $cfb_member = "jsdk_member_1680162243019";
232
                 $cfb_member = "jsdk_member_1680162243019";
231
                 //  平台
233
                 //  平台
232
-                $cxb = sprintf("%01.2f",round(bcsub($groupOrder['pay_price'],$cfb,5),2));//剩下的归平台
234
+                $cxb = sprintf("%01.2f", round(bcsub($groupOrder['pay_price'], $cfb, 5), 2));//剩下的归平台
233
 
235
 
234
-                $div_members=[
236
+                $div_members = [
235
                     [
237
                     [
236
-                        'member_id'=>$member_id,
237
-                        'amount'=>$cxb,
238
-                        'fee_flag'=>'Y'
238
+                        'member_id' => $member_id,
239
+                        'amount' => $cxb,
240
+                        'fee_flag' => 'Y'
239
                     ],
241
                     ],
240
                     [
242
                     [
241
-                        'member_id'=>$cfb_member,
242
-                        'amount'=>$cfb,
243
-                        'fee_flag'=>'N'
243
+                        'member_id' => $cfb_member,
244
+                        'amount' => $cfb,
245
+                        'fee_flag' => 'N'
244
                     ]
246
                     ]
245
                 ];
247
                 ];
246
-            }else{
247
-                $div_members=[
248
+            } else {
249
+                $div_members = [
248
                     [
250
                     [
249
-                        'member_id'=>$member_id,
250
-                        'amount'=>$groupOrder['pay_price'],
251
-                        'fee_flag'=>'Y'
251
+                        'member_id' => $member_id,
252
+                        'amount' => $groupOrder['pay_price'],
253
+                        'fee_flag' => 'Y'
252
                     ]
254
                     ]
253
                 ];
255
                 ];
254
             }
256
             }
255
 
257
 
256
-            $params=[
257
-                'order_no'=>$order_no."_".rand(1000,9999),
258
-                'app_id'=>$app_id,
259
-                'pay_channel'=>$pay_channel,
260
-                'pay_amt'=>(string)$groupOrder['pay_price'],
261
-                'goods_title'=> strlen($title) > 64 ? mb_substr($title, 0, 64,'utf-8') : $title,// 解决因为太长不能支付问题
262
-                'goods_desc' => strlen($title) > 42 ? mb_substr($title, 0, 127,'utf-8') : $title,// 解决因为太长不能支付问题
263
-                'device_info'=>[
264
-                    'device_ip'=>app('request')->ip()
258
+            $params = [
259
+                'order_no' => $order_no . "_" . rand(1000, 9999),
260
+                'app_id' => $app_id,
261
+                'pay_channel' => $pay_channel,
262
+                'pay_amt' => (string)$groupOrder['pay_price'],
263
+                'goods_title' => strlen($title) > 64 ? mb_substr($title, 0, 64, 'utf-8') : $title,// 解决因为太长不能支付问题
264
+                'goods_desc' => strlen($title) > 42 ? mb_substr($title, 0, 127, 'utf-8') : $title,// 解决因为太长不能支付问题
265
+                'device_info' => [
266
+                    'device_ip' => app('request')->ip()
265
 //                    'device_ip'=>'115.171.134.68'
267
 //                    'device_ip'=>'115.171.134.68'
266
                 ],
268
                 ],
267
 
269
 
268
-                'expend'=>json_encode($expend),
269
-                'div_members'=>json_encode($div_members),
270
-                'fee_mode'=>'I',
271
-                'notify_url'=>$notify_url
270
+                'expend' => json_encode($expend),
271
+                'div_members' => json_encode($div_members),
272
+                'fee_mode' => 'I',
273
+                'notify_url' => $notify_url
272
             ];
274
             ];
273
-            if($pay_mode == 'delay'){
275
+            if ($pay_mode == 'delay') {
274
                 $params['pay_mode'] = 'delay';
276
                 $params['pay_mode'] = 'delay';
275
                 unset($params['div_members']);
277
                 unset($params['div_members']);
276
                 unset($params['fee_mode']);
278
                 unset($params['fee_mode']);
277
             }
279
             }
278
-            return $this->Payment_create_traits_b($params,$type,$key);
279
-        }elseif($payType=='ALI'){
280
+            return $this->Payment_create_traits_b($params, $type, $key);
281
+        } elseif ($payType == 'ALI') {
280
 //            throw new AuthException('支付宝正在升级,请使用微信支付');
282
 //            throw new AuthException('支付宝正在升级,请使用微信支付');
281
-            $member_id=0;
282
-            $type='1';
283
-            $pay_channel='alipay_qr';
283
+            $member_id = 0;
284
+            $type = '1';
285
+            $pay_channel = 'alipay_qr';
284
             // 天地博爱科技通道
286
             // 天地博爱科技通道
285
-            $app_id='app_44108546-d27a-48ee-88c1-84b45b75114f';
286
-            $key='api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9';
287
+            $app_id = 'app_44108546-d27a-48ee-88c1-84b45b75114f';
288
+            $key = 'api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9';
287
             // 天地博爱通道
289
             // 天地博爱通道
288
 //            $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
290
 //            $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
289
 //            $key='api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
291
 //            $key='api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
290
 
292
 
291
-            $div_members=[
293
+            $div_members = [
292
                 [
294
                 [
293
-                    'member_id'=>$member_id,
294
-                    'amount'=>$groupOrder['pay_price'],
295
-                    'fee_flag'=>'Y'
295
+                    'member_id' => $member_id,
296
+                    'amount' => $groupOrder['pay_price'],
297
+                    'fee_flag' => 'Y'
296
                 ]
298
                 ]
297
             ];
299
             ];
298
 
300
 
299
-            $params=[
300
-                'order_no'=>$order_no."_".rand(1000,9999),
301
-                'app_id'=>$app_id,
302
-                'pay_channel'=>$pay_channel,
303
-                'pay_amt'=>(string)$groupOrder['pay_price'],
304
-                'goods_title'=> strlen($title) > 64 ? mb_substr($title, 0, 64,'utf-8') : $title,// 解决因为太长不能支付问题
305
-                'goods_desc' => strlen($title) > 42 ? mb_substr($title, 0, 127,'utf-8') : $title,// 解决因为太长不能支付问题
306
-                'device_info'=>[
307
-                    'device_ip'=>app('request')->ip()
301
+            $params = [
302
+                'order_no' => $order_no . "_" . rand(1000, 9999),
303
+                'app_id' => $app_id,
304
+                'pay_channel' => $pay_channel,
305
+                'pay_amt' => (string)$groupOrder['pay_price'],
306
+                'goods_title' => strlen($title) > 64 ? mb_substr($title, 0, 64, 'utf-8') : $title,// 解决因为太长不能支付问题
307
+                'goods_desc' => strlen($title) > 42 ? mb_substr($title, 0, 127, 'utf-8') : $title,// 解决因为太长不能支付问题
308
+                'device_info' => [
309
+                    'device_ip' => app('request')->ip()
308
 //                    'device_ip'=>'115.171.134.68'
310
 //                    'device_ip'=>'115.171.134.68'
309
                 ],
311
                 ],
310
 
312
 
311
 //                    'expend'=>json_encode($expend),
313
 //                    'expend'=>json_encode($expend),
312
-                'div_members'=>json_encode($div_members),
313
-                'fee_mode'=>'I',
314
-                'notify_url'=>$notify_url
314
+                'div_members' => json_encode($div_members),
315
+                'fee_mode' => 'I',
316
+                'notify_url' => $notify_url
315
             ];
317
             ];
316
-            if($pay_mode == 'delay'){
318
+            if ($pay_mode == 'delay') {
317
                 $params['pay_mode'] = 'delay';
319
                 $params['pay_mode'] = 'delay';
318
                 unset($params['div_members']);
320
                 unset($params['div_members']);
319
                 unset($params['fee_mode']);
321
                 unset($params['fee_mode']);
320
             }
322
             }
321
-            return $this->Payment_create_traits_a($params,$type,$key);
323
+            return $this->Payment_create_traits_a($params, $type, $key);
322
         }
324
         }
323
 
325
 
324
     }
326
     }
@@ -334,11 +336,17 @@ class MovieRepository extends BaseRepository
334
     }
336
     }
335
 
337
 
336
     /**
338
     /**
337
-     * @param $third_order
339
+     * @param $userinfo
340
+     * @param $order_sn
338
      * @return mixed|string
341
      * @return mixed|string
339
      */
342
      */
340
-    public function getOrderInfo($third_order)
343
+    public function getOrderInfo($userinfo, $order_sn)
341
     {
344
     {
342
-        return DouHuoMallFilmApiRequest::getOrderInfo($third_order);
345
+        $orderinfo = $this->dao->getWhere(['order_sn' => $order_sn, 'uid' => $userinfo->uid])->find();
346
+        if (empty($orderinfo)) throw new ValidateException('订单不存在');
347
+
348
+        $result = DouHuoMallFilmApiRequest::getOrderInfo($order_sn);
349
+        if (!empty($result) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE)) return $result['data'];
350
+        throw new ValidateException('订单不存在');
343
     }
351
     }
344
 }
352
 }

+ 3 - 6
app/controller/api/movie/Movie.php

@@ -188,12 +188,9 @@ class Movie extends BaseController
188
      */
188
      */
189
     public function getOrderInfo()
189
     public function getOrderInfo()
190
     {
190
     {
191
-        $relation_id = $this->request->param(['relation_id']);
192
-        if (empty($cinema_sign)) return app('json')->fail('请选择场次');
193
-
194
-        $sched_sign = $this->request->param(['sched_sign']);
195
-        if (empty($film_sign)) return app('json')->fail('请选择场次');
191
+        $order_sn = $this->request->param('order_sn','');
192
+        if (empty($order_sn)) return app('json')->fail('订单不存在');
196
 
193
 
197
-        return app('json')->success($this->repository->getOrderInfo($relation_id, $sched_sign));
194
+        return app('json')->success($this->repository->getOrderInfo($this->request->userInfo(), $order_sn));
198
     }
195
     }
199
 }
196
 }