Browse Source

Merge branch 'raccount' into rprofit

stanley-king 2 năm trước cách đây
mục cha
commit
37212ab5e3
32 tập tin đã thay đổi với 484 bổ sung235 xóa
  1. 33 0
      admin/control/provider.php
  2. 3 0
      admin/control/refill_third.php
  3. 3 0
      admin/control/task.php
  4. 79 0
      admin/templates/default/provider.amount.edit.php
  5. 4 0
      admin/templates/default/provider.amount.php
  6. 16 10
      admin/templates/default/refill.merchant.channel.cfg.php
  7. 10 63
      admin/templates/default/refill.task.php
  8. 13 0
      admin/templates/default/third.product.edit.php
  9. 16 10
      data/config/xyz/refill.ini.php
  10. 8 8
      data/config/yl/refill.ini.php
  11. 39 6
      docker/compose/xiaoyu/admin/docker-compose.yml
  12. 8 8
      helper/rbridge/fulu/product.php
  13. 1 0
      helper/refill/IRefillThird.php
  14. 40 5
      helper/refill/api/xyz/gdsinopec/RefillOil.php
  15. 14 9
      helper/refill/api/xyz/gdsinopec/config.php
  16. BIN
      helper/refill/api/xyz/gdsinopec/中石化电子加油券接口文档Rev1.0.docx
  17. BIN
      helper/refill/api/xyz/gdsinopec/中石化电子加油券接口文档Rev1.1-上海紫枢.docx
  18. 3 0
      helper/refill/api/xyz/gdsinopec/开户信息.txt
  19. 23 22
      helper/refill/api/xyz/ruixunda/config.php
  20. BIN
      helper/refill/api/xyz/ruixunda/云九一商品编码.docx
  21. 32 24
      helper/refill/api/xyz/ruixunda/开户信息.txt
  22. BIN
      helper/refill/api/xyz/ruixunda/瑞讯达商品代码.docx
  23. 4 0
      helper/refill/api/xyz/shantong_oil/RefillOil.php
  24. 23 22
      helper/refill/api/yl/ruixunda/config.php
  25. BIN
      helper/refill/api/yl/ruixunda/云九一商品编码.docx
  26. 0 19
      helper/refill/api/yl/ruixunda/商品编码.txt
  27. 34 11
      helper/refill/api/yl/ruixunda/开户信息.txt
  28. 5 4
      helper/refill/order.php
  29. 51 0
      helper/refill/util.php
  30. 0 1
      plot/app.py
  31. 16 0
      test/TestElectric.php
  32. 6 13
      test/TestRefill.php

+ 33 - 0
admin/control/provider.php

@@ -550,4 +550,37 @@ class providerControl extends SystemControl
 
         return $cfg;
     }
+
+    public function provider_amount_editOp()
+    {
+        $amount_id = $_GET['amount_id'];
+        $mod = Model('provider_amount');
+        $provider_amount = $mod->where(['id' => $amount_id])->find();
+        if(empty($provider_amount)) {
+            showMessage('记录不存在');
+        }
+
+        if(chksubmit())
+        {
+            $bz = $_POST['bz'];
+            $resp = $mod->where(['id' => $amount_id])->update(['bz' => $bz]);
+            if($resp) {
+                showMessage('编辑成功');
+            }else{
+                showMessage('编辑失败');
+            }
+        }
+        else
+        {
+            $provider = Model('')->table('refill_provider,store')
+                ->field('refill_provider.*,store.store_name')
+                ->join('inner')
+                ->on('store.store_id=refill_provider.store_id')
+                ->where(['provider_id' => $provider_amount['provider_id']])
+                ->find();
+            Tpl::output('provider', $provider);
+            Tpl::output('provider_amount', $provider_amount);
+            Tpl::showpage('provider.amount.edit');
+        }
+    }
 }

+ 3 - 0
admin/control/refill_third.php

@@ -100,6 +100,8 @@ class refill_thirdControl extends SystemControl
         if(chksubmit()) {
             $update_data['product_name'] = trim($_POST['product_name']);
             $update_data['refill_amount'] = trim($_POST['refill_amount']);
+            $update_data['product_type'] = trim($_POST['product_type']);
+
             $result = $mod->editThirdProduct($system_code, $update_data);
             if ($result) {
                 showMessage('编辑成功', 'index.php?act=refill_third&op=index');
@@ -107,6 +109,7 @@ class refill_thirdControl extends SystemControl
                 showMessage('编辑失败');
             }
         }else{
+            Tpl::output('third_product_type', self::THIRD_PRODUCT_TYPE);
             Tpl::output('third_product', $third_product);
             Tpl::showpage('third.product.edit');
         }

+ 3 - 0
admin/control/task.php

@@ -33,6 +33,9 @@ class taskControl extends SystemControl
         if(!empty($_GET['type'])) {
             $condition['type'] = $_GET['type'];
         }
+        if (trim($_GET['title']) != '') {
+            $condition['title'] = ['like', '%' . $_GET['title'] . '%'];
+        }
         if(!empty($_GET['task_id'])) {
             $condition['task_id'] = $_GET['task_id'];
         }

+ 79 - 0
admin/templates/default/provider.amount.edit.php

@@ -0,0 +1,79 @@
+<?php defined('InShopNC') or exit('Access Invalid!'); ?>
+
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3>通道管理</h3>
+            <ul class="tab-base">
+                <li><a href="index.php?act=provider&op=index"><span><?php echo $lang['nc_manage'] ?></span></a></li>
+                <li><a href="index.php?act=provider&op=provider_amount"><span>调款记录</span></a></li>
+                <li><a href="JavaScript:void(0);" class="current"><span>调款记录编辑</span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form id="user_form" enctype="multipart/form-data" method="post">
+        <input type="hidden" name="form_submit" value="ok"/>
+        <input type="hidden" name="id" value="<?php echo $output['provider_amount']['id'];?>">
+        <table class="table tb-type2">
+            <tbody>
+            <tr class="noborder">
+                <td colspan="2" class="required"><label>记录编号:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <?php echo $output['provider_amount']['id'];?>
+                </td>
+            </tr>
+            <tr class="noborder">
+                <td colspan="2" class="required"><label>通道信息:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <?php echo $output['provider_amount']['provider_id'];?> :<?php echo "{$output['provider']['name']}({$output['provider']['store_name']})";?>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="2" class="required"><label>调款金额:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <?php echo $output['provider_amount']['amount'];?>
+                </td>
+            </tr>
+
+            <tr>
+                <td colspan="2" class="required"><label>备注:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <textarea name="bz" rows="6" class="tarea"><?php echo $output['provider_amount']['bz'];?></textarea>
+                </td>
+                <td class="vatop tips"></td>
+            </tr>
+            </tbody>
+            <tfoot>
+            <tr class="tfoot">
+                <td>
+                    <a href="JavaScript:void(0);" class="btn" id="submitBtn"><span><?php echo $lang['nc_submit']; ?></span></a>
+                </td>
+            </tr>
+            </tfoot>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/dialog/dialog.js" id="dialog_js"
+        charset="utf-8"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/jquery.ui.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/ajaxfileupload/ajaxfileupload.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.js"></script>
+<link href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.min.css" rel="stylesheet" type="text/css"
+      id="cssfile2"/>
+<script type="text/javascript">
+    $(function () {
+        //按钮先执行验证再提交表单
+        $("#submitBtn").click(function () {
+            $("#user_form").submit();
+        });
+    });
+</script>

+ 4 - 0
admin/templates/default/provider.amount.php

@@ -103,6 +103,7 @@
                 <th class="align-left">操作人</th>
                 <th class="align-left">操作日期</th>
                 <th class="align-left">备注信息</th>
+                <th class="align-center">操作</th>
             </tr>
             </thead>
             <tbody>
@@ -117,6 +118,9 @@
                         <td class="align-left"><?php echo $v['operation']; ?></td>
                         <td class="align-left"><?php echo $v['add_time'] ? date('Y-m-d H:i', $v['add_time']) : $lang['no_limit']; ?></td>
                         <td class="align-left"><?php echo $v['bz']; ?></td>
+                        <td class="align-center">
+                            <a href="index.php?act=provider&op=provider_amount_edit&amount_id=<?php echo $v['id'] ?>">编辑</a>
+                        </td>
                     </tr>
                 <?php } ?>
             <?php } else { ?>

+ 16 - 10
admin/templates/default/refill.merchant.channel.cfg.php

@@ -196,16 +196,6 @@
                                     </th>
                                 <?php } ?>
                             </tr>
-                            <!-- <tr>
-                                <th class="align-center w120 mw120" style="height:16px">
-                                    </td>
-                                    <?php foreach ($output['provider_list'] as $k => $provider) { ?>
-                                <th class="batch-td">
-                                    
-                                </th>
-                            <?php } ?>
-
-                            </tr> -->
                             <?php foreach ($output['merchant_list'] as $k => $merchant) { ?>
                                 <tr class="w500 trFlex">
                                     <td style="width: 130px;min-width:130px;white-space: nowrap;display: flex;align-items: center;" class="tbFlex">
@@ -421,6 +411,22 @@
 
         })
 
+        $('.batch-td').mouseenter(function() {
+            const index = $(this).index() - 1;
+            for (let i = 0; i < $('.trFlex').length; i++) {
+                $('.trFlex').eq(i).find('.batch-td').eq(index).css('background', '#cbe9f3')
+            }
+        })
+
+        $('.batch-td').mouseleave(function() {
+            const index = $(this).index() - 1;
+            for (let i = 0; i < $('.trFlex').length; i++) {
+                $('.trFlex').eq(i).find('.batch-td').eq(index).css('background', '')
+            }
+        })
+
+
+
         $('.checkAllRow').click(function() {
             if ($(this).is(':checked')) {
                 $(this).parent().siblings('td').find('.cellCheckBox').attr('checked', true)

+ 10 - 63
admin/templates/default/refill.task.php

@@ -12,18 +12,12 @@
     .tab-base li span {
         font-size: 12px !important;
     }
-    .query_ors {
-        width: 125px;
-    }
+
     th label {
         display: inline-block;
         width: 60px;
     }
-    .lineLi {
-        min-width: 150px;
-        font-size: 12px;
-        color: #000;
-    }
+
     #prompt ul .noLineLi {
         background: none;
     }
@@ -34,36 +28,10 @@
     #prompt ul .lineLi {
         color: #000;
     }
-    #selest_nc {
-        width: 220px
-    }
+
     tbody {
         font-size: 12px;
     }
-    .layui-form-select .layui-input {
-        padding: 13px 5px;
-    }
-    .selection .layui-form-selected dl {
-        display: flex !important;
-        flex-wrap: wrap !important;
-    }
-    .selection .layui-form-select dl {
-
-        top: 29px !important;
-        min-width: 883% !important;
-        max-height: 280px !important;
-        padding: 14px 0 !important;
-        left: 0 !important;
-    }
-    .layui-form-select {
-        width: 45%;
-    }
-    .layui-select-title {
-        width: 104%;
-    }
-    .selection .layui-form-select .layui-input {
-        padding-left: 11px;
-    }
     .page .fixed-bar .item-title h3 {
         margin-top: 18px !important;
         margin-bottom: 10px !important;
@@ -72,39 +40,12 @@
     .tab-base li span {
         font-size: 12px !important;
     }
-    .layui-form-select .layui-input {
+    .layui-form-select {
         height: 26px;
     }
     input::placeholder {
         color: #333;
     }
-    .xm-tips {
-        color: #333 !important;
-        font-size: 12px;
-    }
-    .layui-form-select dl dd.layui-this {
-        display: none;
-    }
-    .layui-form-select dl dd {
-        cursor: pointer;
-        width: 130px;
-    }
-    .tb-type1 td select {
-        width: 201px;
-    }
-    .tb-type1 td input[type="text"],
-    .tb-type1 td select {
-        margin-right: 4px;
-        margin-left: 0;
-        width: 195px;
-    }
-    .layui-form-select .layui-edge {
-        right: -91px !important;
-    }
-    .type .layui-form-select dl {
-        top: 29px !important;
-        width: 214% !important;
-    }
 </style>
 
 <?php defined('InShopNC') or exit('Access Invalid!'); ?>
@@ -123,6 +64,12 @@
         <input type="hidden" name="op" value="index"/>
         <table class="tb-type1 noborder search">
             <tr>
+                <th><label for="title">任务标题</label></th>
+                <td>
+                    <label>
+                        <input type="text" value="<?php echo $_GET['title']; ?>" name="title" class="txt">
+                    </label>
+                </td>
                 <th><label>处理状态</label></th>
                 <td>
                     <label>

+ 13 - 0
admin/templates/default/third.product.edit.php

@@ -23,6 +23,19 @@
                 <td class="vatop rowform"><input type="text" name="product_name" id="product_name" class="txt" value="<?php echo $output['third_product']['product_name'];?>"></td>
                 <td class="vatop tips"></td>
             </tr>
+            <tr>
+                <td colspan="2" class="required"><label class="validation">产品类型:</label></td>
+            </tr>
+            <tr class="noborder">
+                <td class="vatop rowform">
+                    <label for="product_type"></label><select name="product_type" id="product_type">
+                        <?php foreach($output['third_product_type'] as $product_type => $text){ ?>
+                            <option value="<?php echo $product_type?>" <?php if($_GET['product_type'] == $product_type){ echo 'selected';}?>><?php echo $text;?></option>
+                        <?php }?>
+                    </select>
+                </td>
+                <td class="vatop tips"></td>
+            </tr>
             <tr class="noborder">
                 <td colspan="2" class="required"><label class="validation" for="refill_amount">产品面值:</label></td>
             </tr>

+ 16 - 10
data/config/xyz/refill.ini.php

@@ -3928,14 +3928,14 @@ $cangbu_high_phone = ['name' => 'cangbu_high', 'store_id' => 168, 'qualitys' =>
 $ruixunda_phone = ['name' => 'ruixunda', 'store_id' => 169, 'qualitys' => '1',
     'amount' => [
 //        10 => [
-//            ['goods_id' => 7439, 'price' => 9.55, 'quality' => 1, 'card_type' => 'chinamobile'],
-//            ['goods_id' => 7439, 'price' => 9.45, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7439, 'price' => 9.52, 'quality' => 1, 'card_type' => 'chinatelecom']
+//            ['goods_id' => 7439, 'price' => 9.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7439, 'price' => 9.39, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7439, 'price' => 9.45, 'quality' => 1, 'card_type' => 'chinatelecom']
 //        ],
 //        20 => [
-//            ['goods_id' => 7440, 'price' => 19.1, 'quality' => 1, 'card_type' => 'chinamobile'],
-//            ['goods_id' => 7440, 'price' => 18.9, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7440, 'price' => 19.04, 'quality' => 1, 'card_type' => 'chinatelecom']
+//            ['goods_id' => 7440, 'price' => 19.2, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7440, 'price' => 18.78, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7440, 'price' => 18.9, 'quality' => 1, 'card_type' => 'chinatelecom']
 //        ],
         30 => [
             ['goods_id' => 7441, 'price' => 28.8, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -3960,12 +3960,12 @@ $ruixunda_phone = ['name' => 'ruixunda', 'store_id' => 169, 'qualitys' => '1',
         300 => [
             ['goods_id' => 7445, 'price' => 288, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7445, 'price' => 281.7, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7445, 'price' => 283.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7445, 'price' => 283.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         500 => [
             ['goods_id' => 7446, 'price' => 480, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7446, 'price' => 469.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7446, 'price' => 476, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7446, 'price' => 472.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
     ],
     'official_sn' => true, 'refill_type' => 'api'];
@@ -6433,6 +6433,12 @@ $chending_df = ['name' => 'chending_df', 'store_id' => 220,'qualitys' => '1',
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
+$gdsinopec = ['name' => 'gdsinopec', 'store_id' => 232,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 7926, 'price' => 99, 'quality' => 1, 'card_type' => 'third']],
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $third_providers = [
     ['name' => 'lingzhthird', 'cfg' => $lingzhthird],
     ['name' => 'jumithird', 'cfg' => $jumithird],
@@ -6443,8 +6449,8 @@ $third_providers = [
     ['name' => 'youhedf', 'cfg' => $youhedf],
     ['name' => 'yunchonggongdf', 'cfg' => $yunchonggongdf],
     ['name' => 'yunlingdf', 'cfg' => $yunlingdf],
-    ['name' => 'chending_df', 'cfg' => $chending_df]
-
+    ['name' => 'chending_df', 'cfg' => $chending_df],
+    ['name' => 'gdsinopec', 'cfg' => $gdsinopec]
 ];
 $config['third_providers'] = $third_providers;
 

+ 8 - 8
data/config/yl/refill.ini.php

@@ -3930,14 +3930,14 @@ $cangbu_high_phone = ['name' => 'cangbu_high', 'store_id' => 168, 'qualitys' =>
 $ruixunda_phone = ['name' => 'ruixunda', 'store_id' => 169, 'qualitys' => '1',
     'amount' => [
 //        10 => [
-//            ['goods_id' => 7439, 'price' => 9.55, 'quality' => 1, 'card_type' => 'chinamobile'],
-//            ['goods_id' => 7439, 'price' => 9.45, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7439, 'price' => 9.52, 'quality' => 1, 'card_type' => 'chinatelecom']
+//            ['goods_id' => 7439, 'price' => 9.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7439, 'price' => 9.39, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7439, 'price' => 9.45, 'quality' => 1, 'card_type' => 'chinatelecom']
 //        ],
 //        20 => [
-//            ['goods_id' => 7440, 'price' => 19.1, 'quality' => 1, 'card_type' => 'chinamobile'],
-//            ['goods_id' => 7440, 'price' => 18.9, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7440, 'price' => 19.04, 'quality' => 1, 'card_type' => 'chinatelecom']
+//            ['goods_id' => 7440, 'price' => 19.2, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7440, 'price' => 18.78, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7440, 'price' => 18.9, 'quality' => 1, 'card_type' => 'chinatelecom']
 //        ],
         30 => [
             ['goods_id' => 7441, 'price' => 28.8, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -3962,12 +3962,12 @@ $ruixunda_phone = ['name' => 'ruixunda', 'store_id' => 169, 'qualitys' => '1',
         300 => [
             ['goods_id' => 7445, 'price' => 288, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7445, 'price' => 281.7, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7445, 'price' => 283.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7445, 'price' => 283.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         500 => [
             ['goods_id' => 7446, 'price' => 480, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7446, 'price' => 469.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
-//            ['goods_id' => 7446, 'price' => 476, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7446, 'price' => 472.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
     ],
     'official_sn' => true, 'refill_type' => 'api'];

+ 39 - 6
docker/compose/xiaoyu/admin/docker-compose.yml

@@ -9,7 +9,7 @@ services:
       - ../../../../:/var/www/html
       - ../conf/etc/localtime:/etc/localtime:ro
       - ../conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
-      - /d/phpstudy_pro/WWW/xyzshop/data/upload:/var/www/html/data/upload
+      - ../../../../data/upload:/var/www/html/data/upload
     container_name: "panda-nginx"
     command: [nginx,'-g','daemon off;']
 
@@ -22,8 +22,8 @@ services:
       - ../conf/etc/localtime:/etc/localtime:ro
       - ../conf/php/php-local-debug.ini:/usr/local/etc/php/php.ini
       - ../conf/php/mch-spwan-start:/usr/local/bin/docker-spwan-start
-      - /d/phpstudy_pro/WWW/xyzshop/data/upload:/var/www/html/data/upload
-      - /d/phpstudy_pro/WWW/xyzshop/data/upload/log:/var/www/html/data/log
+      - ../../../../data/upload:/var/www/html/data/upload
+      - ../../../../data/log:/var/www/html/data/log
     container_name: "panda-merchant"
     command: [docker-spwan-start]
     deploy:
@@ -38,8 +38,8 @@ services:
       - ../conf/etc/localtime:/etc/localtime:ro
       - ../conf/php/php.ini:/usr/local/etc/php/php.ini
       - ../conf/php-fpm/php-fpm.conf:/usr/local/etc/php-fpm.conf
-      - /d/phpstudy_pro/WWW/xyzshop/data/upload:/var/www/html/data/upload
-      - /d/phpstudy_pro/WWW/xyzshop/data/upload/log:/var/www/html/data/log
+      - ../../../../data/upload:/var/www/html/data/upload
+      - ../../../../data/log:/var/www/html/data/log
     container_name: "panda-web"
     command: [php-fpm]
 
@@ -52,4 +52,37 @@ services:
       - /d/phpstudy_pro/WWW/xyzshop/docker/conf/redis/6379.conf:/etc/redis/redis.conf
       - /d/phpstudy_pro/WWW/xyzshop/docker/conf/redis:/var/redis
     container_name: "panda-redis"
-    command: [ redis-server,"/etc/redis/redis.conf" ]
+    command: [ redis-server,"/etc/redis/redis.conf" ]
+
+  accedit:
+    image: php-zts-debug:7.3.18
+    volumes:
+      - ../../../../:/var/www/html
+      - ../conf/etc/localtime:/etc/localtime:ro
+      - ../../../../data/log:/var/www/html/data/log
+      - ../conf/php/php-debug.ini:/usr/local/etc/php/php.ini
+      - ../../../../data/upload:/var/www/html/data/upload
+    container_name: "panda-accedit"
+    command: [ php,"/var/www/html/crontab/index.php",'minutes','account_edit' ]
+
+  crontask:
+    image: php-zts-debug:7.3.18
+    volumes:
+      - ../../../../:/var/www/html
+      - ../conf/etc/localtime:/etc/localtime:ro
+      - ../../../../data/log:/var/www/html/data/log
+      - ../conf/php/php-debug.ini:/usr/local/etc/php/php.ini
+      - ../../../../data/upload:/var/www/html/data/upload
+    container_name: "panda-task"
+    command: [ php,"/var/www/html/crontab/index.php",'minutes','task' ]
+
+  token_refresh:
+    image: php-zts-debug:7.3.18
+    volumes:
+      - ../../../../:/var/www/html
+      - ../conf/etc/localtime:/etc/localtime:ro
+      - ../conf/php/php-local-debug.ini:/usr/local/etc/php/php.ini
+      - ../../../../data/upload:/var/www/html/data/upload
+      - ../../../../data/log:/var/www/html/data/log
+    container_name: "panda-token-refresh"
+    command: [ php,"/var/www/html/crontab/index.php",'vendor','token_refresh' ]

+ 8 - 8
helper/rbridge/fulu/product.php

@@ -12,16 +12,16 @@ $fulu_product = [
         500081298 => [4, 5, 6],
 
         //联通
-        500081303 => [5, 6],
-        500081193 => [5, 6],
-        500081304 => [5, 6],
-        500081302 => [5, 6],
+        500081303 => [4, 5, 6],
+        500081193 => [4, 5, 6],
+        500081304 => [4, 5, 6],
+        500081302 => [4, 5, 6],
 
         //电信
-        500081305 => [5, 6],
-        500081213 => [5, 6],
-        500081306 => [5, 6],
-        500081214 => [5, 6]
+        500081305 => [4, 5, 6],
+        500081213 => [4, 5, 6],
+        500081306 => [4, 5, 6],
+        500081214 => [4, 5, 6]
     ],
 
     10294 => [

+ 1 - 0
helper/refill/IRefillThird.php

@@ -3,6 +3,7 @@
 
 namespace refill;
 
+use Log;
 abstract class IRefillThird extends IRefill
 {
     public function __construct($cfgs)

+ 40 - 5
helper/refill/api/xyz/gdsinopec/RefillOil.php

@@ -7,15 +7,19 @@ require_once(BASE_HELPER_RAPI_PATH . '/gdsinopec/config.php');
 use refill;
 use Log;
 
-class RefillOil extends refill\IRefillOil
+class RefillPhone extends refill\IRefillThird
 {
     public function __construct($cfgs)
     {
         parent::__construct($cfgs);
     }
 
-    public function get_supplier($access_token)
+    public function get_supplier()
     {
+        $access_token = config::token();
+        if($access_token === false) {
+            return [false, 'token获取失败'];
+        }
         $params['access_token'] = $access_token;
 
         $resp = http_request(config::SUPPLIER_URL, $params, 'GET', false, config::ExtHeaders, $net_errno);
@@ -62,6 +66,26 @@ class RefillOil extends refill\IRefillOil
         }
     }
 
+    private function match_product($supplier_origin, $amount)
+    {
+        [$state, $products] = $this->find_list($supplier_origin);
+        if($state === false) {
+            return [false, $products];
+        } else {
+            $match_products = [];
+            foreach ($products as $product)
+            {
+                $value = intval($product['value']);
+                $match_products[$value] = $product;
+            }
+            if(!empty($match_products) && array_key_exists($amount, $match_products)) {
+                return [true, $match_products[$amount]];
+            }else{
+                return [false, '面值匹配失败'];
+            }
+        }
+    }
+
     private function req_params(int $phone, $supplier_origin, $product_id, string $order_sn, $sku)
     {
         $params['supplier_origin'] = $supplier_origin;
@@ -76,6 +100,10 @@ class RefillOil extends refill\IRefillOil
 
     public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
     {
+        $province = $params['province'] ?? -1;
+        if($province <= 0) {
+            return [false, '省份获取错误', false];
+        }
         $tokener = function ()
         {
             $times = 10;
@@ -98,9 +126,16 @@ class RefillOil extends refill\IRefillOil
         }
 
         $order_sn = $params['order_sn'];
-        $supplier_origin = $params['supplier_origin'];
-        $product_id = $params['product_id'];
-        $sku = $params['sku'];
+        $supplier_origin = config::SUPPLIER_ORIGIN[$province];
+        if(empty($supplier_origin)) {
+            return [false, '该省份不支持', false];
+        }
+        [$state, $product] = $this->match_product($supplier_origin, $amount);
+        if($state === false) {
+            return [false, $product, false];
+        }
+        $product_id = $product['id'];
+        $sku = $product['sku'];
         $params = $this->req_params($card_no, $supplier_origin, $product_id, $order_sn, $sku);
 
         $url = config::ORDER_URL . $access_token;

+ 14 - 9
helper/refill/api/xyz/gdsinopec/config.php

@@ -6,18 +6,23 @@ use Log;
 
 class config
 {
-    const TOKEN_URL = 'http://dev.tetong.9aijoy.com/open/api/token'; //获取AccessToken
-    const SUPPLIER_URL = 'http://dev.tetong.9aijoy.com/open/api/coupon/findSupplierList'; //获取电子券来源
-    const LIST_URL = 'http://dev.tetong.9aijoy.com/open/api/coupon/findList'; //获取电子券列表
-    const ORDER_URL = 'http://dev.tetong.9aijoy.com/open/api/coupon/purchase?access_token='; //采购电子券
-    const QUERY_URL = 'http://dev.tetong.9aijoy.com/open/api/coupon/orderStatus'; //订单查询
+    const TOKEN_URL = 'http://open.huizhichun.com/open/api/token'; //获取AccessToken
+    const SUPPLIER_URL = 'http://open.huizhichun.com/open/api/coupon/findSupplierList'; //获取电子券来源
+    const LIST_URL = 'http://open.huizhichun.com/open/api/coupon/findList'; //获取电子券列表
+    const ORDER_URL = 'http://open.huizhichun.com/open/api/coupon/purchase?access_token='; //采购电子券
+    const QUERY_URL = 'http://open.huizhichun.com/open/api/coupon/orderStatus'; //订单查询
 
-    const APP_ID = 'KA5423116';
-    const APP_SECRET = '612151d4d59a4d12bbcd65c7c4c54c57';
+    const APP_ID = 'KA2702579';
+    const APP_SECRET = '5af4a0fe9e4c4763b7ab54123778d0ca';
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_sinopec.php";
     const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];
     const PAGE_SIZE = 200;
 
+    //省份映射 我方省份 => 上游省份编号
+    const SUPPLIER_ORIGIN = [
+        19 => 100, //广东
+        20 => 101, //广西
+    ];
 
     public function get_access_token()
     {
@@ -54,10 +59,10 @@ class config
             return false;
         }
 
-        $expires_time = $result['gdsinopec-time'];
+        $expired_time = $result['gdsinopec-time'];
         $token = $result['gdsinopec-token'];
 
-        if ($expires_time > $token) {
+        if ($expired_time > time()) {
             return $token;
         } else {
             return false;

BIN
helper/refill/api/xyz/gdsinopec/中石化电子加油券接口文档Rev1.0.docx


BIN
helper/refill/api/xyz/gdsinopec/中石化电子加油券接口文档Rev1.1-上海紫枢.docx


+ 3 - 0
helper/refill/api/xyz/gdsinopec/开户信息.txt

@@ -0,0 +1,3 @@
+正式环境:
+appid:KA2702579
+secret:5af4a0fe9e4c4763b7ab54123778d0ca

+ 23 - 22
helper/refill/api/xyz/ruixunda/config.php

@@ -6,36 +6,37 @@ namespace refill\ruixunda;
 use mtopcard;
 class config
 {
-    const ORDER_URL = 'http://120.76.172.131:8911/api/hf/order/submit';
-    const QUERY_URL = 'http://120.76.172.131:8911/api/order/query';
-    const BALANCE_URL = 'http://120.76.172.131:8911/api/account/balance';
+    const ORDER_URL = 'http://47.98.117.207:8911/api/hf/order/submit';
+    const QUERY_URL = 'http://47.98.117.207:8911/api/order/query';
+    const BALANCE_URL = 'http://47.98.117.207:8911/api/account/balance';
 
-    const APP_ID = 'kU6tn6YMjx';
-    const APP_SECRET = 'UTzLpEOYVTPcCmwW';
+    const APP_ID = 'HopCzvajlL';
+    const APP_SECRET = 'iLDpqQtdzhOaaNms';
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_ruixunda.php";
     const PRODUCT = [
         mtopcard\ChinaMobileCard => [
-            30  => 100001,
-            50  => 100002,
-            100 => 100003,
-            200 => 100004,
-            300 => 100005,
-            500 => 100006,
+            30  => 7,
+            50  => 8,
+            100 => 9,
+            200 => 10,
+            300 => 11,
+            500 => 12,
         ],
         mtopcard\ChinaUnicomCard => [
-            30  => 100007,
-            50  => 100008,
-            100 => 100009,
-            200 => 100010,
-            300 => 100011,
-            500 => 100012,
+            30  => 13,
+            50  => 14,
+            100 => 15,
+            200 => 16,
+            300 => 17,
+            500 => 18,
         ],
         mtopcard\ChinaTelecomCard => [
-            30  => 100013,
-            50  => 100014,
-            100 => 100015,
-            200 => 100016,
-            300 => 100017,
+            30  => 19,
+            50  => 20,
+            100 => 21,
+            200 => 22,
+            300 => 23,
+            500 => 24,
         ],
     ];
     const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];

BIN
helper/refill/api/xyz/ruixunda/云九一商品编码.docx


+ 32 - 24
helper/refill/api/xyz/ruixunda/开户信息.txt

@@ -1,29 +1,37 @@
-后台地址:http://120.76.172.131:8888
-帐号:bjyz
-密码:072751
-二级密码:IwZY0888
-appId:kU6tn6YMjx
-appSecret:UTzLpEOYVTPcCmwW
+后台地址:http://47.98.117.207:8888
+帐号:bjyz9825
+密码:430195
+appId:HopCzvajlL
+appSecret:iLDpqQtdzhOaaNms
 后台-商品列表,可查看已配置商品信息
 后台-安全中心,可配置IP白名单
 接口文档:https://www.showdoc.com.cn/1686453783298366/7925312871840290
-话费直充接口:http://120.76.172.131:8911/api/hf/order/submit
-通用直充接口:http://120.76.172.131:8911/api/order/submit
-卡密提取接口:http://120.76.172.131:8911/api/card/get
-查单接口接口:http://120.76.172.131:8911/api/order/query
-余额接口接口:http://120.76.172.131:8911/api/account/balance
+话费直充接口:http://47.98.117.207:8911/api/hf/order/submit
+通用直充接口:http://47.98.117.207:8911/api/order/submit
+卡密提取接口:http://47.98.117.207:8911/api/card/get
+查询接口接口:http://47.98.117.207:8911/api/order/query
+余额查询接口:http://47.98.117.207:8911/api/account/balance
 
-2022.2.27 更改 移动编码
-超面值移动编码
-30        100116
-50        100117
-100      100118
-200      100119
+全国移动编码
+全国移动30   7
+全国移动50   8
+全国移动100   9
+全国移动200   10
+全国移动300   11
+全国移动500   12
 
-2022.4.23
-全国移动30     100001
-全国移动50      100002
-全国移动100     100003
-全国移动200    100004
-全国移动300    100005
-全国移动500    100006
+全国联通编码
+全国联通30  13
+全国联通50  14
+全国联通100  15
+全国联通200  16
+全国联通300  17
+全国联通500  18
+
+全国电信编码
+全国电信30  19
+全国电信50  20
+全国电信100  21
+全国电信200  22
+全国电信300  23
+全国电信500  24

BIN
helper/refill/api/xyz/ruixunda/瑞讯达商品代码.docx


+ 4 - 0
helper/refill/api/xyz/shantong_oil/RefillOil.php

@@ -99,6 +99,10 @@ class RefillOil extends refill\IRefillPhone
                 }
                 return [true, $order_state];
             }
+            elseif($resp['code'] === 33007)
+            {
+                return [true, ORDER_STATE_NOEXIST];
+            }
             else
             {
                 return [false, $resp['msg']];

+ 23 - 22
helper/refill/api/yl/ruixunda/config.php

@@ -6,36 +6,37 @@ namespace refill\ruixunda;
 use mtopcard;
 class config
 {
-    const ORDER_URL = 'http://120.76.172.131:8911/api/hf/order/submit';
-    const QUERY_URL = 'http://120.76.172.131:8911/api/order/query';
-    const BALANCE_URL = 'http://120.76.172.131:8911/api/account/balance';
+    const ORDER_URL = 'http://47.98.117.207:8911/api/hf/order/submit';
+    const QUERY_URL = 'http://47.98.117.207:8911/api/order/query';
+    const BALANCE_URL = 'http://47.98.117.207:8911/api/account/balance';
 
-    const APP_ID = 'IvpY5p7PF2';
-    const APP_SECRET = 'uptqPXHeSAqUeqpV';
+    const APP_ID = 'G0sEOnF3jm';
+    const APP_SECRET = 'bbpZLlMcJChpNFgn';
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_ruixunda.php";
     const PRODUCT = [
         mtopcard\ChinaMobileCard => [
-            30  => 100001,
-            50  => 100002,
-            100 => 100003,
-            200 => 100004,
-            300 => 100005,
-            500 => 100006,
+            30  => 7,
+            50  => 8,
+            100 => 9,
+            200 => 10,
+            300 => 11,
+            500 => 12,
         ],
         mtopcard\ChinaUnicomCard => [
-            30  => 100007,
-            50  => 100008,
-            100 => 100009,
-            200 => 100010,
-            300 => 100011,
-            500 => 100012,
+            30  => 13,
+            50  => 14,
+            100 => 15,
+            200 => 16,
+            300 => 17,
+            500 => 18,
         ],
         mtopcard\ChinaTelecomCard => [
-            30  => 100013,
-            50  => 100014,
-            100 => 100015,
-            200 => 100016,
-            300 => 100017,
+            30  => 19,
+            50  => 20,
+            100 => 21,
+            200 => 22,
+            300 => 23,
+            500 => 24,
         ],
     ];
     const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];

BIN
helper/refill/api/yl/ruixunda/云九一商品编码.docx


+ 0 - 19
helper/refill/api/yl/ruixunda/商品编码.txt

@@ -1,19 +0,0 @@
-全国移动30     100001                11省移动30    100116
-全国移动50      100002                11省移动50    100117
-全国移动100     100003                11省移动100   100118
-全国移动200    100004                 11省移动200   100119
-全国移动300    100005
-全国移动500    100006
-
-全国联通30     100007
-全国联通50     100008
-全国联通100    100009
-全国联通200    100010
-全国联通300    100011
-全国联通500    100012
-
-全国电信30     100013            移动分省30      100018
-全国电信50     100014            移动分省50      100019
-全国电信100    100015            移动分省100     100020
-全国电信200    100016           移动分省200     100021
-全国电信300    100017            移动分省300     100022

+ 34 - 11
helper/refill/api/yl/ruixunda/开户信息.txt

@@ -1,14 +1,37 @@
-后台地址:http://120.76.172.131:8888
-帐号:yelin1
-密码:108967
-二级密码:bRyE7438
-appId:IvpY5p7PF2
-appSecret:uptqPXHeSAqUeqpV
+后台地址:http://47.98.117.207:8888
+帐号:yelin7639
+密码:386751
+appId:G0sEOnF3jm
+appSecret:bbpZLlMcJChpNFgn
 后台-商品列表,可查看已配置商品信息
 后台-安全中心,可配置IP白名单
 接口文档:https://www.showdoc.com.cn/1686453783298366/7925312871840290
-话费直充接口:http://120.76.172.131:8911/api/hf/order/submit
-通用直充接口:http://120.76.172.131:8911/api/order/submit
-卡密提取接口:http://120.76.172.131:8911/api/card/get
-查单接口接口:http://120.76.172.131:8911/api/order/query
-余额接口接口:http://120.76.172.131:8911/api/account/balance
+话费直充接口:http://47.98.117.207:8911/api/hf/order/submit
+通用直充接口:http://47.98.117.207:8911/api/order/submit
+卡密提取接口:http://47.98.117.207:8911/api/card/get
+查询接口接口:http://47.98.117.207:8911/api/order/query
+余额查询接口:http://47.98.117.207:8911/api/account/balance
+
+全国移动编码
+全国移动30   7
+全国移动50   8
+全国移动100   9
+全国移动200   10
+全国移动300   11
+全国移动500   12
+
+全国联通编码
+全国联通30  13
+全国联通50  14
+全国联通100  15
+全国联通200  16
+全国联通300  17
+全国联通500  18
+
+全国电信编码
+全国电信30  19
+全国电信50  20
+全国电信100  21
+全国电信200  22
+全国电信300  23
+全国电信500  24

+ 5 - 4
helper/refill/order.php

@@ -234,16 +234,14 @@ class order
             $this->mIsValidate = true;
             $this->mFirstCommit = true;
 
-            if($this->mThirdPorductType == mtopcard\ThirdElectricProduct)
-            {
+            if ($this->mThirdPorductType == mtopcard\ThirdElectricProduct) {
                 $this->mThirdExtes['company_type'] = $params['company_type'];
                 $this->mThirdExtes['use_type'] = $params['use_type'];
                 $this->mThirdExtes['province'] = $params['province'];
                 $this->mThirdExtes['city'] = $params['city'];
                 $this->mThirdExtes['card_id'] = $params['card_id'];
             }
-            elseif($this->mThirdPorductType == mtopcard\ThirdElectricProduct)
-            {
+            elseif ($this->mThirdPorductType == mtopcard\ThirdSinopecECouponPoroduct) {
                 $this->mThirdExtes['province'] = $params['province'];
             }
         }
@@ -326,6 +324,9 @@ class order
                 $ext['city'] = $this->mThirdExtes['city'];
                 $ext['card_id'] = $this->mThirdExtes['card_id'];
             }
+            elseif($this->mThirdPorductType == mtopcard\ThirdSinopecECouponPoroduct) {
+                $ext['province'] = $this->mThirdExtes['province'];
+            }
         }
 
         return $ext;

+ 51 - 0
helper/refill/util.php

@@ -843,4 +843,55 @@ class util
             return [false,"{$ex->getMessage()}"];
         }
     }
+
+    public function transfer_success_order($order_id, $manual_recharge_amount)
+    {
+        $mod_order = Model('vr_order');
+        $mod_refill = Model('refill_order');
+
+        $order_info = $mod_order->getOrderInfo(['order_id' => $order_id]);
+        $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id,'inner_status' => 0]);
+
+        if(empty($refill_info) || empty($order_info)) {
+            return [false,'无此订单'];
+        }
+
+        $tran = new trans_wapper($mod_order,'notify change order state trans');
+
+        try
+        {
+            $order_info = $mod_order->getOrderInfo(['order_id' => $order_id], '*', true, true);
+            $refill_info = $mod_refill->getOrderInfo(['order_id' => $order_id, 'inner_status' => 0], '*', true, true);
+
+            $order_state = intval($order_info['order_state']);
+            if(empty($refill_info) || $refill_info['is_retrying'] == 1 || $order_state != ORDER_STATE_CANCEL) {
+                $tran->commit();
+                return [false,'订单已经在重试'];
+            }
+
+            $mod_refill->edit($order_id, ['is_retrying' => 1]);
+            $order = refill\order::from_db($refill_info,$order_info);
+            $mchid = $order->mchid();
+
+            [$success,$success_order_id,$errmsg] = refill\RefillFactory::instance()->success_order($order);
+            if(!$success) {
+                $tran->rollback();
+                return [false, $errmsg];
+            }
+
+            refill\util::incr_user_success($mchid,$order->card_type(), $order->spec(),$order->cur_quality());
+            $mod_refill->edit($success_order_id, ['mch_notify_state' => 1, 'mch_notify_times' => ['exp', 'mch_notify_times+1']]);
+            $mod_refill->edit($order_id, ['is_retrying' => 0]);
+            if($manual_recharge_amount > 0) {
+                $mod_refill->edit($success_order_id, ['channel_amount' => $manual_recharge_amount]);
+            }
+            $tran->commit();
+            return [true,''];
+        }
+        catch (Exception $ex) {
+            $tran->rollback();
+            Log::record($ex->getMessage(),Log::ERR);
+            return [false,"{$ex->getMessage()}"];
+        }
+    }
 }

+ 0 - 1
plot/app.py

@@ -68,7 +68,6 @@ def days():
     dates = dates[0:30]
     return jsonify(dates)
 
-
 @app.route('/plot/paths')
 def paths():
     time_stamp = request.args.get('time_stamp')

+ 16 - 0
test/TestElectric.php

@@ -66,6 +66,22 @@ class TestElectric extends TestCase
         $x = http_request(BASE_SITE_URL . "/mobile/index.php",$params);
     }
 
+    public function testSinopec_coupon()
+    {
+        $params = [ 'mchid' => 1092,
+            "act" => "refill",
+            "op" => "add_sinopec_coupon",
+            'order_sn' => $this->make_sn(),
+            'notifyurl' => 'https://www.xyzshops.cn/mobile/signature.php',
+            'cardno' => '13699279618',
+            'amount' => 5,
+            'province' => 19
+        ];
+
+        $proxy = new refill_proxy('210fe406954220f56085997d6a4c5b80');
+        $proxy->send('https://www.xyzshops.cn' . "/mobile/index.php",$params);
+    }
+
     private function make_sn()
     {
         return mt_rand(1000, 9999)

+ 6 - 13
test/TestRefill.php

@@ -1574,10 +1574,10 @@ class TestRefill extends TestCase
     {
 //        $provider = $this->getProvider('ruixunda');
 //        $resp = $provider->balance();
-//        $resp = $provider->add(13699279618, 4, 50, ['order_sn' => $this->make_sn()]);
-//        $resp = $provider->query(['order_sn' => '35541639548211758246']);
+//        $resp = $provider->add(18500608333, 5, 50, ['order_sn' => $this->make_sn()]);
+//        $resp = $provider->query(['order_sn' => '39901655348760996973']);
 
-        $body = '{"orderId":"211215140335739778","appId":"kU6tn6YMjx","outOrderId":"35541639548211758246","sign":"524851b131c90398626e0e8798b73579","orderStatus":"3","completeTime":"20211215140440","orderDesc":"\u8ba2\u5355\u5931\u8d25"}';
+        $body = '{"orderId":"220616110606000008","appId":"HopCzvajlL","outOrderId":"39901655348760996973","sign":"489729b5b8b825bf9e69bdf308f224e9","orderStatus":"3","completeTime":"20220616110622","orderDesc":"\u8ba2\u5355\u5931\u8d25"}';
         $params = json_decode($body, true);
         $provider = $this->getProvider('ruixunda', 'RefillCallBack');
         $ret = $provider->verify($params);
@@ -2308,17 +2308,10 @@ class TestRefill extends TestCase
     public function testGdsinopec()
     {
         $provider = $this->getProvider('gdsinopec','RefillOil');
-//        [$state, $access_token] = $provider->get_access_token();
-        $access_token = '039957e4b8224ecba34def77cefde8f7';
-        $supplier_origin = 100;
-//        $resp = $provider->find_list($supplier_origin);
-        $product_id = '01502d00dfeb48fcb4e32e9cb769ae9e';
-        $sku = 'A0025';
-//        $resp = $provider->add(18500608333, 5, 50, [
-//            'order_sn' => $this->make_sn(), 'supplier_origin' => $supplier_origin,
-//            'product_id' => $product_id, 'sku' => $sku
+//        $resp = $provider->add(13699279618, 4, 5, [
+//            'order_sn' => $this->make_sn(), 'province' => 19
 //        ]);
-        $resp = $provider->query(['order_sn' => '42381653467866036142']);
+        $resp = $provider->query(['order_sn' => '63821655370285849333']);
 
     }