Преглед изворни кода

调整获取订单详情接口

family пре 1 година
родитељ
комит
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 10
 use app\common\dao\movie\order\MovieOrderDao;
11 11
 use app\common\repositories\BaseRepository;
12 12
 use app\common\repositories\store\order\StoreOrderRepository;
13
+use crmeb\services\ApiResponseService;
14
+use think\exception\ValidateException;
13 15
 use think\facade\Db;
14 16
 use think\facade\Log;
15 17
 
@@ -115,7 +117,7 @@ class MovieRepository extends BaseRepository
115 117
 
116 118
         $order_price = round($params['number'] * $params['price'], 2);
117 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 121
             $_order = [
120 122
                 'uid' => $userinfo->uid,
121 123
                 'mobile' => $userinfo->phone,
@@ -149,7 +151,7 @@ class MovieRepository extends BaseRepository
149 151
 
150 152
             $group = Db::transaction(function () use ($userinfo, $_order) {
151 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 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 173
                 return "授权失败,code为空";
172
-            if($appid == '') {
174
+            if ($appid == '') {
173 175
 
174 176
 
175 177
                 $pay_wx = systemConfig('pay_wx');
176 178
 
177
-                if ($pay_wx == 2){
179
+                if ($pay_wx == 2) {
178 180
                     $appid = env('WECHAT_MP.APPID');
179 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 187
                     $appid = env('WECHAT_TDYL.APPID');
186 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 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 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 211
                 return '授权失败';
210 212
             }
211 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 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 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 276
                 $params['pay_mode'] = 'delay';
275 277
                 unset($params['div_members']);
276 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 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 290
 //            $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
289 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 310
 //                    'device_ip'=>'115.171.134.68'
309 311
                 ],
310 312
 
311 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 319
                 $params['pay_mode'] = 'delay';
318 320
                 unset($params['div_members']);
319 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 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 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
 }