Przeglądaj źródła

唯微宝拉去商品入库

xialei 1 rok temu
rodzic
commit
7239b09438

+ 1 - 1
app/controller/admin/gong/Goods.php

@@ -277,7 +277,7 @@ class Goods extends BaseController
277 277
                 'spu_id'=>$data['spu_id'],
278 278
                 'temp_id' => 105,
279 279
                 'plate_mer_profit' => $data['mer_profit'],
280
-		'concession_pri' => $data['mer_profit'],
280
+		        'concession_pri' => $data['mer_profit'],
281 281
                 'yanglaojin_scale' => $yanglaojin_scale
282 282
             ];
283 283
             $insert_id=Db::name('store_product')->insertGetId($product_insert_data);

+ 163 - 4
app/controller/api/douhuomall/Take.php

@@ -2,18 +2,177 @@
2 2
 namespace app\controller\api\douhuomall;
3 3
 
4 4
 use app\traits\GongApiRequest;
5
+use think\Exception;
6
+use think\facade\Db;
7
+use think\facade\Log;
5 8
 
6 9
 class Take
7 10
 {
8 11
 
9 12
     use GongApiRequest;
10 13
 
11
-    public function get(){
12
-        //spu_id列表
13
-        $spu_list = GongApiRequest::get_goods_list();
14
-        dump($spu_list);
14
+    public function get_goods_list(){
15
+        try {
16
+            $allData = [];
17
+            $page = 1;
18
+            $limit = 100;
19
+            $hasNextPage = true; // 是否有下一页的标志
20
+            while ($hasNextPage) {
21
+                $data = GongApiRequest::get_goods_list($page, $limit);
22
+                if (!$data) {
23
+                    break; // 如果请求失败,停止循环
24
+                }
25
+                $allData = array_merge($allData, $data['list']); // 数据在list键下
26
+                if (!count($data['list']) || count($data['list']) < $limit) {
27
+                    $hasNextPage = false; // 如果没有更多页面,停止循环
28
+                } else {
29
+                    $page++; // 增加页码数
30
+                }
31
+            }
15 32
 
33
+            $goods_id_list = [];
34
+            $spu_id_list = Db::name('douhuomall')->column('spu_id');
35
+         
36
+            // 同步到数据库
37
+            foreach ($allData as $key=>$value) {
38
+                sleep(1);
39
+                // if($key != 0) continue;
40
+                $goodsInfo = GongApiRequest::get_goods_info($value['goods_id']);
41
+                if(!$goodsInfo) continue;
42
+
43
+                //spuId_info商品详细信息处理
44
+                $goodsInfo['cover_url'] = $goodsInfo['main_img'];
45
+                $goodsInfo['spu_id'] = $goodsInfo['goods_id'];
46
+
47
+                $goodsInfo['detail'] = "";
48
+                $detail_img = $goodsInfo['detail_img'];
49
+                foreach($detail_img as $img_url){
50
+                    $img_url = "<img src='".$img_url."' />";
51
+                    $goodsInfo['detail'] = $goodsInfo['detail'].$img_url;
52
+                }
53
+
54
+                //sku信息处理
55
+                $skuInfo = $goodsInfo['sku_list'];
56
+                foreach ($skuInfo as $k=>$v) {
57
+                    $skuInfo[$k]['cost_price'] = bcadd($v['plat_price'], bcmul($v['plat_price'], 0.03, 2),2);//成本价格 原来进价的基础上加百分之3
58
+                    $skuInfo[$k]['market_price'] = bcadd($skuInfo[$k]['cost_price'], bcmul($skuInfo[$k]['cost_price'], 0.2, 2),2);//销售价格  售价在成本价格的基础上加百分20
59
+                    $skuInfo[$k]['profit'] = bcdiv($skuInfo[$k]['cost_price'], $skuInfo[$k]['market_price'], 2);
60
+                    $skuInfo[$k]['yanglaojin'] = '0.00';
61
+                    if(count($v['attr'])){
62
+                        $skuInfo[$k]['attribute_json'] = $v['attr'];
63
+                    }else{
64
+                        $skuInfo[$k]['attribute_json'] = [['val'=> '默认', 'name'=> '默认']];
65
+                    }
66
+                }
67
+                unset($goodsInfo['sku_list']);
68
+
69
+                $seveData = [
70
+                    'spu_id' => $goodsInfo['spu_id'],
71
+                    'skuId_info' => $skuInfo,
72
+                    'sys_id' => '112',
73
+                    'goods_id' => $goodsInfo['goods_id'],
74
+                    'spuId_info' => $goodsInfo,
75
+                    'sku_id' => $skuInfo[0]['sku_id'] ? $skuInfo[0]['sku_id'] : 0,
76
+                    'status' => $goodsInfo['status'],
77
+                    'cate_ids' => $goodsInfo['cate_ids'],
78
+                    'title' => $goodsInfo['spu_name'],
79
+                    'cxb_cate_id' => 0,   
80
+                ];
81
+                $this->add($seveData);
82
+                $goods_id_list[] = $goodsInfo['spu_id'];
83
+            }
84
+
85
+            $goodsIds = array_diff($spu_id_list, $goods_id_list);
86
+            $this->remove($goodsIds);
87
+            return 'sussess';
88
+        } catch (Exception $e) {
89
+            Log::error('同步数据失败:' . $e->getMessage());
90
+            echo '供应链拉取数据:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】';
91
+            return 'error';
92
+        }
16 93
     }
17 94
 
18 95
 
96
+    public function add($data)
97
+    {
98
+        $findData = Db::name('douhuomall')->field('id,spu_id,status')->where('spu_id', $data['spu_id'])->find();
99
+        try {
100
+            $data['create_time'] = date('Y-m-d H:i:s');
101
+            $data['update_time'] = date('Y-m-d H:i:s');
102
+            $skuInfo = $this->arrSort($data['skuId_info'], 'cost_price', SORT_ASC);
103
+            $data['cost_price'] = isset($skuInfo[0]['cost_price']) ? $skuInfo[0]['cost_price'] : 0;
104
+            $data['market_price'] = isset($skuInfo[0]['market_price']) ? $skuInfo[0]['market_price'] : 0;
105
+            $data['ot_price'] = isset($skuInfo[0]['retail_price']) ? $skuInfo[0]['retail_price'] : 0;
106
+            $data['mer_profit'] = isset($skuInfo[0]['profit']) ? $skuInfo[0]['profit'] : 0;
107
+            $data['pension'] = isset($skuInfo[0]['yanglaojin']) ? $skuInfo[0]['yanglaojin'] : 0;
108
+            $data['profit'] = empty($data['cost_price']) || empty($data['market_price']) ? 0 : bcdiv($data['cost_price'], $data['market_price'], 2);
109
+            if (empty($findData)) {
110
+                $data['skuId_info'] = json_encode($data['skuId_info']);
111
+                $data['spuId_info'] = json_encode($data['spuId_info']);
112
+                Db::name('douhuomall')->insert($data);
113
+            } else {
114
+                Db::name('douhuomall')->where('spu_id', $findData['spu_id'])->update([
115
+                    'status' => $data['status'],
116
+                    'create_time' => date('Y-m-d H:i:s'),
117
+                    'update_time' => date('Y-m-d H:i:s'),
118
+                    'cost_price' => $data['cost_price'],
119
+                    'market_price' => $data['market_price'],
120
+                    'ot_price' => $data['ot_price'],
121
+                    'mer_profit' => $data['mer_profit'],
122
+                    'pension' => $data['pension'],
123
+                    'profit' => $data['profit'],
124
+                    'skuId_info' => json_encode($data['skuId_info']),
125
+                    'spuId_info' => json_encode($data['spuId_info']),
126
+                    'title' => $data['title'],
127
+                    'cate_ids' => $data['cate_ids'],
128
+                    'cxb_cate_id' => $data['cxb_cate_id']
129
+                ]);
130
+            }
131
+            return true;
132
+        } catch (Exception $e) {
133
+            echo '供应链产品添加:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】';
134
+            return false;
135
+        }
136
+    }
137
+    
138
+
139
+    public function remove($goodsIds)
140
+    {
141
+        Db::startTrans();
142
+        try{
143
+            // 删除选品库对应的数据
144
+            Db::name('douhuomall')->whereIn('spu_id', $goodsIds)->update([
145
+                'status' => 3,
146
+                'update_time' => date('Y-m-d H:i:s')
147
+            ]);
148
+            // 删除商品管理对应的数据
149
+            Db::name('store_product')->whereIn('spu_id', $goodsIds)->update([
150
+                'is_del' => 1,
151
+                'is_show' => 0
152
+            ]);
153
+            Db::commit();
154
+            return true;
155
+        } catch (Exception $e) {
156
+            Db::rollback();
157
+            Log::channel("gong")->error('供应链取消商品失败:' . $e->getMessage());
158
+            return false;
159
+        }
160
+    }
161
+
162
+
163
+    /**
164
+     * 二维数组根据某个字段排序
165
+     * @param array $array 要排序的数组
166
+     * @param string $keys   要排序的键字段
167
+     * @param string $sort  排序类型  SORT_ASC     SORT_DESC
168
+     * @return array 排序后的数组
169
+     */
170
+    function arrSort($array, $keys, $sort = SORT_DESC) {
171
+        $keysValue = [];
172
+        foreach ($array as $k => $v) {
173
+            $keysValue[$k] = $v[$keys];
174
+        }
175
+        array_multisort($keysValue, $sort, $array);
176
+        return $array;
177
+    }
19 178
 }

+ 1 - 1
app/controller/merchant/gong/Goods.php

@@ -275,7 +275,7 @@ class Goods extends BaseController
275 275
                 'spu_id'=>$data['spu_id'],
276 276
                 'temp_id' => 105,
277 277
                 'plate_mer_profit' => $data['mer_profit'],
278
-		'concession_pri' => $data['mer_profit'],
278
+		        'concession_pri' => $data['mer_profit'],
279 279
                 'yanglaojin_scale' => $yanglaojin_scale
280 280
             ];
281 281
             $insert_id=Db::name('store_product')->insertGetId($product_insert_data);

+ 69 - 44
app/traits/GongApiRequest.php

@@ -19,7 +19,7 @@ trait GongApiRequest
19 19
     private static $mobile = '17855366921';
20 20
 
21 21
     public static function get_access_token(){
22
-        $url = '/api/noAuth/access_token';
22
+        $url = '/api_v2/noAuth/getAccessToken';
23 23
         $time = time();
24 24
         $body = [
25 25
             'app_id' => self::$app_id,
@@ -37,7 +37,7 @@ trait GongApiRequest
37 37
 
38 38
     public static function access_token(){
39 39
         $gong_access_token = Cache::get('gong_access_token');
40
-        $url = '/api/category/get_list';
40
+        $url = '/api_v2/Goods/getGoodsList';
41 41
         $body = ['access_token' => $gong_access_token];
42 42
         $res = self::curl_post(self::$path.$url,$body);
43 43
         if(!$gong_access_token || ($res['error_code'] == 1001)){
@@ -47,7 +47,7 @@ trait GongApiRequest
47 47
         return $gong_access_token;
48 48
     }
49 49
 
50
-    //分类
50
+    //分类(未更改)
51 51
     public static function get_category(){
52 52
         $url = '/api/category/get_list';
53 53
         $body = [
@@ -72,7 +72,7 @@ trait GongApiRequest
72 72
      * @created 2022年5月19日11:31:59
73 73
      */
74 74
     public static function get_goods_list($page=1,$limit=50){
75
-        $url = '/api/goods/get_spuid_list';
75
+        $url = '/api_v2/Goods/getGoodsList';
76 76
         $body = [
77 77
             'access_token' => self::access_token(),
78 78
             'page' => $page,
@@ -87,16 +87,16 @@ trait GongApiRequest
87 87
 
88 88
     /**
89 89
      * 商品详情
90
-     * @param array $spu_id 商品spu_id
90
+     * @param array $goods_id 商品goods_id
91 91
      * @return array|boolean
92 92
      * @author lin
93 93
      * @created 2022年5月19日11:31:59
94 94
      */
95
-    public static function get_goods_info($spu_id){
96
-        $url = '/api/goods/get_spuId_info';
95
+    public static function get_goods_info($goods_id){
96
+        $url = '/api_v2/Goods/getGoodsDetail';
97 97
         $body = [
98 98
             'access_token' => self::access_token(),
99
-            'spu_id' => $spu_id,
99
+            'goods_id' => $goods_id,
100 100
         ];
101 101
         $res = self::curl_post(self::$path.$url,$body);
102 102
         if ($res['error_code'] == 2001) {
@@ -108,18 +108,42 @@ trait GongApiRequest
108 108
         return false;
109 109
     }
110 110
 
111
+
112
+
113
+    /**
114
+     * 规格详情
115
+     * @param array $sku_id 商品sku_id
116
+     * @return array|boolean
117
+     * @author lin
118
+     * @created 2022年5月19日11:31:59
119
+     */
120
+    public static function get_sku_detail($sku_id){
121
+        $url = '/api_v2/Goods/getSkuDetail';
122
+        $body = [
123
+            'access_token' => self::access_token(),
124
+            'sku_id' => $sku_id,
125
+        ];
126
+        $res = self::curl_post(self::$path.$url,$body);
127
+        echo json_encode($res);
128
+        if($res['error_code'] == 0){
129
+            return $res['result'];
130
+        }
131
+        return false;
132
+    }
133
+
134
+
111 135
     /**
112 136
      * 商品规格
113
-     * @param array $spu_id 商品spu_id
137
+     * @param array $sku_sn 商品sku_sn
114 138
      * @return array|boolean
115 139
      * @author lin
116 140
      * @created 2022年5月19日11:31:59
117 141
      */
118
-    public static function get_sku($spu_id){
119
-        $url = '/api/goods/get_skuId_info';
142
+    public static function get_sku($sku_sn){
143
+        $url = '/api/Goods/getSkuDetail';
120 144
         $body = [
121 145
             'access_token' => self::access_token(),
122
-            'spu_id' => $spu_id
146
+            'sku_sn' => $sku_sn
123 147
         ];
124 148
         $res = self::curl_post(self::$path.$url,$body);
125 149
         if($res['error_code'] == 0){
@@ -127,9 +151,10 @@ trait GongApiRequest
127 151
         }
128 152
         return false;
129 153
     }
154
+    
130 155
 
131 156
     /**
132
-     * 商品价格
157
+     * 商品价格(未更改)
133 158
      * @param string $sku_id 商品skuid,[‘984783’,’984784’]
134 159
      * @return array|boolean
135 160
      * @author lin
@@ -149,7 +174,7 @@ trait GongApiRequest
149 174
     }
150 175
 
151 176
     /**
152
-     * 商品是否有货
177
+     * 商品是否有货(未更改)
153 178
      * @param int $sku_id 商品sku_id
154 179
      * @param int $address_id 地址id(区id或者接到id)
155 180
      * @param int $goods_num 商品数量
@@ -173,7 +198,7 @@ trait GongApiRequest
173 198
     }
174 199
 
175 200
     /**
176
-     * 查询商品上下架
201
+     * 查询商品上下架(未更改)
177 202
      * @param string $spu_id 商品spu_id
178 203
      * @return array|boolean
179 204
      * @author lin
@@ -201,7 +226,7 @@ trait GongApiRequest
201 226
      * @created 2022年5月19日11:46:54
202 227
      */
203 228
     public static function sku_stock(string $sku_list, int $address_id){
204
-        $url = '/api/goods/find_sku_stock';
229
+        $url = '/api_v2/Goods/stock';
205 230
         $body = [
206 231
             'access_token' => self::access_token(),
207 232
             'sku_list' => $sku_list,
@@ -215,19 +240,19 @@ trait GongApiRequest
215 240
     }
216 241
 
217 242
     /**
218
-     * 运费查询(下单前调用,确定可售)
243
+     * 运费查询(下单前调用,确定可售) (未对接)
219 244
      * @param string $address_id 地址id
220
-     * @param array $sku_id sku列表 [{‘sku_id’:80,‘num’:5},{‘sku_id’:81,‘num’:2}]
245
+     * @param array $sku_list sku列表 [{‘sku_id’:80,‘num’:5},{‘sku_id’:81,‘num’:2}]
221 246
      * @return array|boolean
222 247
      * @author lin
223 248
      * @created 2022年5月19日11:46:54
224 249
      */
225
-    public static function freight(string $address_id, array $sku_id){
226
-        $url = '/api/order/freight';
250
+    public static function freight(string $address_id, array $sku_list){
251
+        $url = '/api_v2/order/getFreightPrice';
227 252
         $body = [
228 253
             'access_token' => self::access_token(),
229 254
             'address_id' => $address_id,
230
-            'sku_list' => $sku_id
255
+            'sku_list' => $sku_list
231 256
         ];
232 257
         $res = self::curl_post(self::$path.$url,$body);
233 258
         if($res['error_code'] == 0){
@@ -239,7 +264,7 @@ trait GongApiRequest
239 264
     /**
240 265
      * 正式下单
241 266
      * @param string $address_id 地址id
242
-     * @param array $sku_id sku列表 [{‘sku_id’:80,‘num’:5},{‘sku_id’:81,‘num’:2}]
267
+     * @param array $sku_list sku列表 [{‘sku_id’:80,‘num’:5},{‘sku_id’:81,‘num’:2}]
243 268
      * @param string $address 详细地址
244 269
      * @param string $third_order 订单id
245 270
      * @param string $other 备注
@@ -249,17 +274,17 @@ trait GongApiRequest
249 274
      * @author lin
250 275
      * @created 2022年5月19日13:22:09
251 276
      */
252
-    public static function submit(string $address_id, array $sku_id, string $address, string $third_order, string $other, string $receiver, string $receiver_phone){
253
-        $url = '/api/order/submit';
277
+    public static function submit(string $address_id, array $sku_list, string $address, string $third_order, string $other, string $receiver, string $receiver_phone){
278
+        $url = '/api_v2/order/submit';
254 279
         $body = [
255 280
             'access_token' => self::access_token(),
256 281
             'address_id' => $address_id,
257
-            'sku_list' => $sku_id,
282
+            'sku_list' => $sku_list,
283
+            'receiver' => $receiver,
284
+            'receiver_phone' => $receiver_phone,
258 285
             'address' => $address,
259
-            'third_order' => $third_order,
260 286
             'other' => $other,
261
-            'receiver' => $receiver,
262
-            'receiver_phone' => $receiver_phone
287
+            'third_order' => $third_order
263 288
         ];
264 289
 //        Db::name('log')->insert(['data'=>'供应链发货-------2:']);
265 290
         $res = self::curl_post(self::$path.$url,$body);
@@ -267,7 +292,7 @@ trait GongApiRequest
267 292
     }
268 293
 
269 294
     /**
270
-     * 手动发货
295
+     * 手动发货(未对接)
271 296
      * @param string $out_order_no 订单编号
272 297
      * @param string $logistics_number 物流单号
273 298
      * @param string $logistics_company 物流名称
@@ -291,7 +316,7 @@ trait GongApiRequest
291 316
     }
292 317
 
293 318
     /**
294
-     * 查询订单状态
319
+     * 查询订单状态(未对接)
295 320
      * @param string $out_order_no 订单编号
296 321
      * @return string|boolean 订单状态值 0失败 1待付款 2待发货 3待收货 4已完成 5已取消 6售后中 7售后完成8拒收
297 322
      * @author lin
@@ -318,7 +343,7 @@ trait GongApiRequest
318 343
      * @created 2022年5月19日11:46:54
319 344
      */
320 345
     public static function order_details(string $out_order_no){
321
-        $url = '/api/order/details';
346
+        $url = '/api_v2/order/getOrderDetail';
322 347
         $body = [
323 348
             'access_token' => self::access_token(),
324 349
             'out_order_no' => $out_order_no,
@@ -338,7 +363,7 @@ trait GongApiRequest
338 363
      * @created 2022年5月19日11:46:54
339 364
      */
340 365
     public static function order_track(string $out_order_no){
341
-        $url = '/api/order/track';
366
+        $url = '/api_v2/order/track';
342 367
         $body = [
343 368
             'access_token' => self::access_token(),
344 369
             'out_order_no' => $out_order_no,
@@ -352,7 +377,7 @@ trait GongApiRequest
352 377
 
353 378
 
354 379
     /**
355
-     * 确认收货
380
+     * 确认收货(未对接)
356 381
      * @param string $out_order_no 订单编号
357 382
      * @return array|boolean
358 383
      * @author lin
@@ -372,14 +397,14 @@ trait GongApiRequest
372 397
     }
373 398
 
374 399
     /**
375
-     * 查询商品是否可售后属性
400
+     * 查询商品是否可售后属性(未对接)
376 401
      * @param string $out_order_no 订单编号
377 402
      * @return array|boolean
378 403
      * @author lin
379 404
      * @created 2022年5月19日11:46:54
380 405
      */
381 406
     public static function after_is_can(string $out_order_no){
382
-        $url = '/api/after/is_can   ';
407
+        $url = '/api/after/is_can';
383 408
         $body = [
384 409
             'access_token' => self::access_token(),
385 410
             'out_order_no' => $out_order_no,
@@ -392,7 +417,7 @@ trait GongApiRequest
392 417
     }
393 418
 
394 419
     /**
395
-     * 申请售后
420
+     * 申请售后(未对接)
396 421
      * @param string $out_order_no 订单编号
397 422
      * @param string $customer_expect 1-退货。2-换货
398 423
      * @param string $question_desc 申请理由
@@ -417,7 +442,7 @@ trait GongApiRequest
417 442
     }
418 443
 
419 444
     /**
420
-     * 申请售后
445
+     * 申请售后(未对接)
421 446
      * @param string $order_goods_id 订单商品id
422 447
      * @param string $out_order_no 系统订单号
423 448
      * @param string $after_type 1=未收货退款,2=退货退款,3=换货补发,4=不退货仅退款
@@ -443,7 +468,7 @@ trait GongApiRequest
443 468
 
444 469
 
445 470
     /**
446
-     * 查询订单是否可售后
471
+     * 查询订单是否可售后(未对接)
447 472
      * @param string $out_order_no 系统订单号
448 473
      * @return mixed|string
449 474
      */
@@ -459,7 +484,7 @@ trait GongApiRequest
459 484
     }
460 485
 
461 486
     /**
462
-     * 售后订单状态
487
+     * 售后订单状态(未对接)
463 488
      * @param string $after_sn 售后订单号
464 489
      * @return array|boolean
465 490
      */
@@ -474,7 +499,7 @@ trait GongApiRequest
474 499
     }
475 500
 
476 501
     /**
477
-     * 售后订单状态
502
+     * 售后订单状态(未对接)
478 503
      * @param string $after_sn 售后订单号
479 504
      * @return array|boolean
480 505
      */
@@ -489,7 +514,7 @@ trait GongApiRequest
489 514
     }
490 515
 
491 516
     /**
492
-     * 退换货发货信息
517
+     * 退换货发货信息(未对接)
493 518
      * @param string $after_sn 售后订单编号。申请售后接口返回
494 519
      * @param string $logistics_company 1-退货。2-换货
495 520
      * @param string $logistics_number 申请理由
@@ -513,7 +538,7 @@ trait GongApiRequest
513 538
     }
514 539
 
515 540
     /**
516
-     * 取消申请售后
541
+     * 取消申请售后(未对接)
517 542
      * @param string $after_sn 售后订单编号。申请售后接口返回
518 543
      * @param string $out_order_no 订单编号
519 544
      * @return string|boolean
@@ -535,7 +560,7 @@ trait GongApiRequest
535 560
     }
536 561
 
537 562
     /**
538
-     * 获取地区
563
+     * 获取地区(未对接)
539 564
      * @param string $code 地区代码,为空查询省级信息,否则查询code的下级
540 565
      * @return string|boolean
541 566
      * @author lin
@@ -555,7 +580,7 @@ trait GongApiRequest
555 580
     }
556 581
 
557 582
     /**
558
-     * 获取消息池消息
583
+     * 获取消息池消息(未对接)
559 584
      * @param int $type 1-订单状态变动, 2-商品详情, 3-sku价格, 4-商品删除, 5-规格状态变更, 6-规格删除, 7-规格详情, 8-商品状态变更
560 585
      * @return  array|boolean
561 586
      * @author lin

+ 2 - 0
route/api.php

@@ -1210,6 +1210,8 @@ Route::group('api/', function () {
1210 1210
     Route::get('close_seckill','api.warehouse.Product/close_seckill');//每小时 执行关闭秒杀任务
1211 1211
     Route::post('send_order/:id','api.douhuomall.Order/send_order');//测试下单 供应链
1212 1212
 
1213
+    Route::get('get_goods_list','api.douhuomall.Take/get_goods_list');//测试拉去唯微宝商品
1214
+
1213 1215
     Route::get('pay_demo', 'api.merchant.sxy.Access/pay_demo');
1214 1216
 
1215 1217
     Route::get('refund_test', 'api.store.order.StoreOrder/refund_test');//首信易测试订单退款