Browse Source

Merge branch 'rtest' of 39.97.239.116:gyfl/xyzshop into rtest

stanley-king 4 years ago
parent
commit
326161919c
39 changed files with 1432 additions and 358 deletions
  1. 0 1
      admin/control/merchant.php
  2. 1 1
      admin/templates/default/css/recharge.css
  3. 2 0
      admin/templates/default/merchant.refill.evidence_list.php
  4. 1 1
      admin/templates/default/provider.amount.control.php
  5. 9 6
      admin/templates/default/provider.successful.php
  6. 1 1
      data/config/win/base.ini.php
  7. 414 276
      data/config/win/refill.ini.php
  8. 80 0
      data/config/xyz/refill.ini.php
  9. 2 1
      helper/fcgisrv/MobileServer.php
  10. 49 0
      helper/refill/api/xyz/afandfs/RefillCallBack.php
  11. 103 0
      helper/refill/api/xyz/afandfs/RefillPhone.php
  12. 21 0
      helper/refill/api/xyz/afandfs/config.php
  13. 19 0
      helper/refill/api/xyz/afandfs/北京分省账户.txt
  14. BIN
      helper/refill/api/xyz/afandfs/阿凡灯分省对接文档.docx
  15. 49 0
      helper/refill/api/xyz/luqian/RefillCallBack.php
  16. 103 0
      helper/refill/api/xyz/luqian/RefillPhone.php
  17. 21 0
      helper/refill/api/xyz/luqian/config.php
  18. BIN
      helper/refill/api/xyz/luqian/partner_doc.docx
  19. 9 0
      helper/refill/api/xyz/luqian/账号信息.txt
  20. 7 8
      helper/refill/api/xyz/wantong/RefillCallBack.php
  21. 24 40
      helper/refill/api/xyz/wantong/RefillPhone.php
  22. BIN
      helper/refill/api/xyz/wantong/api.pdf
  23. 6 5
      helper/refill/api/xyz/wantong/api.txt
  24. 12 7
      helper/refill/api/xyz/wantong/config.php
  25. 55 0
      helper/refill/api/xyz/yunlingfs/RefillCallBack.php
  26. 154 0
      helper/refill/api/xyz/yunlingfs/RefillPhone.php
  27. 19 0
      helper/refill/api/xyz/yunlingfs/config.php
  28. BIN
      helper/refill/api/xyz/yunlingfs/代理接口话费充值文档1.0.6(2020).doc
  29. 9 0
      helper/refill/api/xyz/yunlingfs/北京椰子账户信息 (3.txt
  30. 50 0
      helper/refill/api/xyz/zhongst/RefillCallBack.php
  31. 102 0
      helper/refill/api/xyz/zhongst/RefillPhone.php
  32. 11 0
      helper/refill/api/xyz/zhongst/api.txt
  33. 21 0
      helper/refill/api/xyz/zhongst/config.php
  34. 4 0
      mobile/refill_afandfs.php
  35. 4 0
      mobile/refill_luqian.php
  36. 4 0
      mobile/refill_yunlingfs.php
  37. 4 0
      mobile/refill_zhongst.php
  38. 1 0
      plot/DataCenter.py
  39. 61 11
      test/TestRefill.php

+ 0 - 1
admin/control/merchant.php

@@ -25,7 +25,6 @@ class merchantControl extends SystemControl
      */
     public function merchantOp()
     {
-        $this->successful_where();
         $model_merchant = Model('merchant');
 
         if (trim($_GET['merchant_name']) != '') {

+ 1 - 1
admin/templates/default/css/recharge.css

@@ -61,7 +61,7 @@
 .provider_amount_control #tableHread th,
 .provider_amount_control #tableHread td{ background-color: #fff;}
 .provider_amount_control #tableHread  { position: fixed;top:138px;left:20px;background-color: #fff;z-index:999;width: 96.5%;}
-.provider_amount_control .batch-td { text-align: center;width: 150px;min-width:150px;padding-right: 10px;}
+.provider_amount_control .batch-td { text-align: center;width: 160px;min-width:160px;padding-right: 10px;}
 .provider_amount_control .batch-td .listNum { width: 51px;display:inline-block;}
 .provider_amount_control .batch-td .priority { width: 45px;display:inline-block;}
 /* 提示边框 */

+ 2 - 0
admin/templates/default/merchant.refill.evidence_list.php

@@ -68,6 +68,7 @@
                 <th class="align-center">申请日期</th>
                 <th class="align-center">审核日期</th>
                 <th class="align-center">审核管理员</th>
+                <th class="align-center">备注信息</th>
                 <th class="align-center"><?php echo $lang['operation']; ?></th>
             </tr>
             </thead>
@@ -115,6 +116,7 @@
                         <td class="nowarp align-center"><?php echo $v['add_time'] ? date('Y-m-d H:i', $v['add_time']) : $lang['no_limit']; ?></td>
                         <td class="nowarp align-center"><?php echo $v['check_time'] ? date('Y-m-d H:i', $v['check_time']) : $lang['no_limit']; ?></td>
                         <td class="nowarp align-center"><?php echo $v['admin_name']?></td>
+                        <td class="nowarp align-center"><?php echo $v['bz']?></td>
                         <td class="align-center w200">
                             <?php if($v['voucher_name'] != '/') {?>
                             <a target="_blank"

+ 1 - 1
admin/templates/default/provider.amount.control.php

@@ -1,4 +1,4 @@
-<link href="<?php echo ADMIN_TEMPLATES_URL;?>/css/recharge.css?2" rel="stylesheet" type="text/css" id="cssfile2" />
+<link href="<?php echo ADMIN_TEMPLATES_URL;?>/css/recharge.css?3" rel="stylesheet" type="text/css" id="cssfile2" />
 <?php defined('InShopNC') or exit('Access Invalid!'); ?>
 <div class="page provider_amount_control">
     <div class="fixed-bar">

+ 9 - 6
admin/templates/default/provider.successful.php

@@ -14,7 +14,7 @@
     <form method="get" action="index.php" name="formSearch" id="formSearch">
         <input type="hidden" name="act" value="merchant"/>
         <input type="hidden" name="op" value="OrderSendList"/>
-        <table class="tb-type1 noborder search">
+        <table class="tb-type1 noborder search tableFixed">
             <tr>
                 <th><label>起始日期</label></th>
                 <td>
@@ -76,11 +76,10 @@
             </tr>
         </table>
     </form>
-    <div style="height:800px">
+    <div>
         <iframe
-            src=""
-            scrolling="No"  noresize="noresize" frameborder="0"
-            width="100%" height="100%"></iframe>
+            src="" width="100%" height="100%"
+            scrolling="no" id="Iframe" frameborder="0"></iframe>
     </div>
 </div>
 <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/laydate/laydate.js"></script>
@@ -92,6 +91,10 @@
       href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/themes/ui-lightness/jquery.ui.css"/>
 <script type="text/javascript">
     $(function () {
+        $("#Iframe").load(function(){
+            $(this).css("min-height", '900px')
+            $(this).css("min-width", '1650px')
+        });
         $('#timeSelect').change(function () {
             let val = $(this).val()
             // console.log('val', val);
@@ -163,7 +166,7 @@
             if (!amount) {
                 src = src.replace("&amount=", "")
             }
-            // console.log(1, $('iframe').attr('src'));
+            // $('iframe').attr('src',src)
             // console.log('src',src);
             $.get(src, function (data){
                 if (!data) {

+ 1 - 1
data/config/win/base.ini.php

@@ -11,7 +11,7 @@ define('USE_BONUS_RATE',false);
 define('SERVER_TYPE','panda');
 define('CROSS_DOAMIN',true);
 define('COOKIE_DOMAIN','192.168.1.195');
-define('COMPANY_NAME', 'LZKJ_COMPANY');
+define('COMPANY_NAME', 'XYZ_COMPANY');
 define('NET_IP','125.33.203.108');
 
 $SRV_HOST = 'http://192.168.1.195';

+ 414 - 276
data/config/win/refill.ini.php

@@ -2,409 +2,547 @@
 
 global $config;
 
-$config['refill_oil_specs'] = [100 , 200 , 500 , 1000 , 2000];
-$config['refill_phone_specs'] = [10 , 20 , 30 , 50 , 100 , 200 , 300 , 500];
+$config['refill_oil_specs'] = [100, 200, 500, 1000, 2000];
+$config['refill_phone_specs'] = [10, 20, 30, 50, 100, 200, 300, 500];
+
 //充值额度基本表
 $config['refill_specs'] = [
-    'petrochina'    => $config['refill_oil_specs'],
-    'sinopec'       => $config['refill_oil_specs'],
-    'chinamobile'   => $config['refill_phone_specs'],
-    'chinaunicom'   => $config['refill_phone_specs'],
-    'chinatelecom'  => $config['refill_phone_specs']
+    'petrochina'  => $config['refill_oil_specs'],
+    'sinopec'     => $config['refill_oil_specs'],
+    'chinamobile' => $config['refill_phone_specs'],
+    'chinaunicom' => $config['refill_phone_specs'],
+    'chinatelecom' => $config['refill_phone_specs']
 ];
 
-
 //充值渠道配置表
-$oil_providers = [];
-$config['oil_providers'] = $oil_providers;
+//速汇充京东加油通道
+$tianjt_oil = ['name' => 'tianjt', 'store_id' => 7,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6290, 'price' => 97.0, 'quality' => 1, 'card_type' => 'sinopec']],
+        200 => [['goods_id' => 6291, 'price' => 194, 'quality' => 1, 'card_type' => 'sinopec']],
+        500 => [['goods_id' => 6292, 'price' => 485, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6293, 'price' => 970, 'quality' => 1, 'card_type' => 'sinopec']]
+    ],
+    'period' => ['start' => '8:30', 'end' => '22:20'], 'refill_type' => 'api'];
 
+//速汇充天猫加油通道
+$suhctm_oil = ['name' => 'suhctm', 'store_id' => 7,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6290, 'price' => 96.8, 'quality' => 1, 'card_type' => 'sinopec']],
+        200 => [['goods_id' => 6291, 'price' => 193.6, 'quality' => 1, 'card_type' => 'sinopec']],
+        500 => [['goods_id' => 6292, 'price' => 484, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6293, 'price' => 968, 'quality' => 1, 'card_type' => 'sinopec']]
+    ],
+    'period' => ['start' => '8:30', 'end' => '22:20'], 'refill_type' => 'api'];
 
-$baizeyd = ['name' => 'baizeyd', 'store_id' => 32,'qualitys' => '1',
+$suhcpdd_oil = ['name' => 'suhcpdd', 'store_id' => 7,'qualitys' => '1',
     'amount' => [
-        10 => [
-            ['goods_id' => 1, 'price' => 9.51, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        30 => [
-            ['goods_id' => 3, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        50 => [
-            ['goods_id' => 4, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        100 => [
-            ['goods_id' => 5, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        200 => [
-            ['goods_id' => 6, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
+        100 => [['goods_id' => 6290, 'price' => 96.8, 'quality' => 1, 'card_type' => 'sinopec']],
+        200 => [['goods_id' => 6291, 'price' => 193.6, 'quality' => 1, 'card_type' => 'sinopec']],
+        500 => [['goods_id' => 6292, 'price' => 484, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6293, 'price' => 968, 'quality' => 1, 'card_type' => 'sinopec']]
     ],
-    'official_sn' => true, 'refill_type' => 'api'];
+    'period' => ['start' => '8:30', 'end' => '22:20'], 'refill_type' => 'api'];
 
+//赵梓暄提供的加油通道
+$zzx_oil = ['name' => 'zzx', 'store_id' => 13,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6307, 'price' => 97.8, 'quality' => 1, 'card_type' => 'petrochina,sinopec']],
+        200 => [['goods_id' => 6308, 'price' => 195.6, 'quality' => 1, 'card_type' => 'petrochina,sinopec']],
+        500 => [['goods_id' => 6309, 'price' => 489, 'quality' => 1, 'card_type' => 'petrochina,sinopec']],
+        1000 => [['goods_id' => 6310, 'price' => 978, 'quality' => 1, 'card_type' => 'petrochina,sinopec']]
+    ],
+    'refill_type' => 'api'];
 
-$aming_phone = ['name' => 'aming', 'store_id' => 34,'qualitys' => '1',
+//赵梓暄提供的加油通道
+$lx_oil = ['name' => 'lx', 'store_id' => 14,'qualitys' => '1',
     'amount' => [
-        10 => [
-            ['goods_id'  => 9, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        20 => [
-            ['goods_id' => 10, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        30 => [
-            ['goods_id' => 11, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 12, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 13, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 14, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        300 => [
-            ['goods_id' => 15, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        500 => [
-            ['goods_id' => 16, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
+        500 => [['goods_id' => 6322, 'price' => 479, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6311, 'price' => 958, 'quality' => 1, 'card_type' => 'sinopec']] //,
+//        2000 => ['goods_id' => 6322, 'price' => 1916]
+    ],
+    'period' => ['start' => '14:00', 'end' => '19:00'], 'official_sn' => true, 'refill_type' => 'inner_store'];
+
+//赛虎
+$saihu_oil = ['name' => 'saihu', 'store_id' => 15,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6313, 'price' => 97, 'quality' => 1, 'card_type' => 'sinopec']],
+        200 => [['goods_id' => 6314, 'price' => 194, 'quality' => 1, 'card_type' => 'sinopec']],
+        500 => [['goods_id' => 6315, 'price' => 485, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6316, 'price' => 970, 'quality' => 1, 'card_type' => 'sinopec']],
+        2000 => [['goods_id' => 6317, 'price' => 1940, 'quality' => 1, 'card_type' => 'sinopec']]
+    ],
+    'refill_type' => 'api'];
+
+#官方中石油通道
+$gftd_oil = ['name' => 'gftd', 'store_id' => 19,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6339, 'price' => 95, 'quality' => 1, 'card_type' => 'petrochina']],
+        200 => [['goods_id' => 6340, 'price' => 190, 'quality' => 1, 'card_type' => 'petrochina']],
+        500 => [['goods_id' => 6341, 'price' => 475, 'quality' => 1, 'card_type' => 'petrochina']],
+        1000 => [['goods_id' => 6342, 'price' => 950, 'quality' => 1, 'card_type' => 'petrochina']]
+    ],
+    'period' => [], 'refill_type' => 'api'];
+
+#官方中石化通道
+$gftdsinop_oil = ['name' => 'gftdsinop', 'store_id' => 20,'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6343, 'price' => 95, 'quality' => 1, 'card_type' => 'sinopec']],
+        200 => [['goods_id' => 6344, 'price' => 190, 'quality' => 1, 'card_type' => 'sinopec']],
+        500 => [['goods_id' => 6345, 'price' => 475, 'quality' => 1, 'card_type' => 'sinopec']],
+        1000 => [['goods_id' => 6346, 'price' => 950, 'quality' => 1, 'card_type' => 'sinopec']]
+    ],
+    'period' => [], 'refill_type' => 'api'];
+
+$oil_providers = [
+    ['name' => 'tianjt', 'cfg' => $tianjt_oil],
+    ['name' => 'suhctm', 'cfg' => $suhctm_oil],
+    ['name' => 'suhcpdd', 'cfg' => $suhcpdd_oil],
+    ['name' => 'zzx', 'cfg' => $zzx_oil],
+    ['name' => 'lx', 'cfg' => $lx_oil],
+    ['name' => 'saihu', 'cfg' => $saihu_oil],
+    ['name' => 'gftd', 'cfg' => $gftd_oil],
+    ['name' => 'gftdsinop', 'cfg' => $gftdsinop_oil]
+];
+$config['oil_providers'] = $oil_providers;
+
+$beixt_phone = ['name' => 'beixt', 'store_id' => 8,'qualitys' => '1',
+    'amount' => [
+        50 => [['goods_id' => 6295, 'price' => 48.75, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6296, 'price' => 97.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6297, 'price' => 195,  'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'refill_type' => 'api'];
+
+$bxtwt_phone = ['name' => 'bxtwt', 'store_id' => 10,'qualitys' => '1',
+    'amount' => [
+        50 => [['goods_id' => 6298, 'price' => 48,   'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6299, 'price' => 96,  'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6300, 'price' => 192, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'refill_type' => 'api'];
+
+$bjb_phone = ['name' => 'bjb', 'store_id' => 12,'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6305, 'price' => 9.51,  'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6306, 'price' => 19.02, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6301, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6302, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6303, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6304, 'price' => 190.20, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6327, 'price' => 285.30, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6328, 'price' => 475.50, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$binghc_phone = ['name' => 'binghc', 'store_id' => 35,'qualitys' => '1',
+$lingzh_phone = ['name' => 'lingzh', 'store_id' => 28,'qualitys' => '1,3,5',
     'amount' => [
         10 => [
-            ['goods_id' => 17, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6389, 'price' => 9.53, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6389, 'price' => 9.51, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6389, 'price' => 9.53, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6389, 'price' => 9.25, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
         ],
         20 => [
-            ['goods_id' => 18, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6390, 'price' => 19.06, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6390, 'price' => 19.02, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6390, 'price' => 19.06, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6390, 'price' => 18.50, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
         ],
         30 => [
-            ['goods_id' => 19, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6391, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6391, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6391, 'price' => 28.59, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6391, 'price' => 27.75, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
         ],
         50 => [
-            ['goods_id' => 20, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6392, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6392, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6392, 'price' => 47.65, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6392, 'price' => 46.25, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
         ],
         100 => [
-            ['goods_id' => 21, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6393, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6393, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6393, 'price' => 95.3, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6393, 'price' => 92.5, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
         ],
         200 => [
-            ['goods_id' => 22, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6394, 'price' => 190.60, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6394, 'price' => 190.20, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6394, 'price' => 190.60, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6394, 'price' => 185.00, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
         ],
         300 => [
-            ['goods_id' => 23, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+            ['goods_id' => 6395, 'price' => 285.90, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6395, 'price' => 285.30, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6395, 'price' => 285.90, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6395, 'price' => 277.50, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
         ],
         500 => [
-            ['goods_id' => 24, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
+            ['goods_id' => 6396, 'price' => 476.50, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6396, 'price' => 475.50, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom'],
+            ['goods_id' => 6396, 'price' => 476.50, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6396, 'price' => 462.50, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+        ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$ruishun_phone = ['name' => 'ruishun', 'store_id' => 36,'qualitys' => '1',
+//$lingzhdl_phone = ['name' => 'lingzhdl', 'store_id' => 29, 'qualitys' => '1',
+//    'amount' => [
+//        10 => [['goods_id' => 6397, 'price' => 9.51, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        20 => [['goods_id' => 6398, 'price' => 19.02, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        30 => [['goods_id' => 6399, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        50 => [['goods_id' => 6400, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//
+//        100 => [['goods_id' => 6401, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        200 => [['goods_id' => 6402, 'price' => 190.20, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        300 => [['goods_id' => 6403, 'price' => 285.30, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+//        500 => [['goods_id' => 6404, 'price' => 475.50, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']]
+//    ],
+//    'official_sn' => true, 'refill_type' => 'api'];
+
+$bjbyd_phone = ['name' => 'bjbyd', 'store_id' => 24,'qualitys' => '1',
     'amount' => [
-        10 => [
-            ['goods_id' => 25, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        20 => [
-            ['goods_id' => 26, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        30 => [
-            ['goods_id' => 27, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 28, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 29, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 30, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        300 => [
-            ['goods_id' => 31, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
-        500 => [
-            ['goods_id' => 32, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
-        ],
+        30 => [['goods_id' => 6367, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinamobile']],
+        50 => [['goods_id' => 6368, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 6369, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 6370, 'price' => 190.2, 'quality' => 1, 'card_type' => 'chinamobile']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$wuchen_phone = ['name' => 'wuchen', 'store_id' => 37,'qualitys' => '1',
+$afandnew_phone = ['name' => 'afandnew', 'store_id' => 25,'qualitys' => '1',
     'amount' => [
         10 => [
-            ['goods_id' => 33, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6454, 'price' => 9.52, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6454, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         20 => [
-            ['goods_id' => 34, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6455, 'price' => 19.04, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6455, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         30 => [
-            ['goods_id' => 35, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6386, 'price' => 28.56, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6386, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         50 => [
-            ['goods_id' => 36, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6371, 'price' => 47.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6371, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         100 => [
-            ['goods_id' => 37, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6372, 'price' => 95.2, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6372, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         200 => [
-            ['goods_id' => 38, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6373, 'price' => 190.4, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6373, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         300 => [
-            ['goods_id' => 39, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
+            ['goods_id' => 6387, 'price' => 285.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6387, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         500 => [
-            ['goods_id' => 40, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
+            ['goods_id' => 6388, 'price' => 476, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6388, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ]
+    ],
+    'refill_type' => 'api'];
+
+$tianx_phone = ['name' => 'tianx', 'store_id' => 25,'qualitys' => '1',
+    'amount' => [
+        50 => [['goods_id' => 6371, 'price' => 46.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6372, 'price' => 93,  'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6373, 'price' => 186, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'refill_type' => 'api'];
+
+$yifa_phone = ['name' => 'yifa', 'store_id' => 16,'qualitys' => '1',
+    'amount' => [
+        30 => [['goods_id' => 6318, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinamobile']],
+        50 => [['goods_id' => 6319, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 6320, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 6321, 'price' => 191,  'quality' => 1, 'card_type' => 'chinamobile']]
+    ],
+    'refill_type' => 'api'];
+
+$jiec_phone = ['name' => 'jiec', 'store_id' => 17,'qualitys' => '1',
+    'amount' => [
+        30 => [['goods_id' => 6323, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6324, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6325, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6326, 'price' => 191, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6329, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6330, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$yibao_phone = ['name' => 'yibao', 'store_id' => 38,'qualitys' => '1',
+$weit_phone = ['name' => 'weit', 'store_id' => 18,'qualitys' => '1',
     'amount' => [
-        30 => [
-            ['goods_id' => 41, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 42, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 43, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 44, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
+        10 => [['goods_id' => 6337, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6338, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6331, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6332, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6333, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6334, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6335, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6336, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$amingyd_phone = ['name' => 'amingyd', 'store_id' => 39,'qualitys' => '1',
+$afand_phone = ['name' => 'afand', 'store_id' => 26,'qualitys' => '1',
     'amount' => [
-        30 => [
-            ['goods_id' => 45, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        50 => [
-            ['goods_id' => 46, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        100 => [
-            ['goods_id' => 47, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
-        200 => [
-            ['goods_id' => 48, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile']
-        ],
+        30 => [['goods_id' => 6374, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6375, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6376, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6377, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6378, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6379, 'price' => 475, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$chuka_phone = ['name' => 'chuka', 'store_id' => 40,'qualitys' => '1',
+$afandeng_phone = ['name' => 'afandeng', 'store_id' => 27,'qualitys' => '1',
     'amount' => [
-        20 => [
-            ['goods_id' => 49, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom']
-        ],
-        30 => [
-            ['goods_id' => 50, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom']
-        ],
-        50 => [
-            ['goods_id' => 51, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom']
-        ],
-        100 => [
-            ['goods_id' => 52, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom']
-        ],
+        10 => [['goods_id' => 6406, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6407, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6380, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6381, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6382, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6383, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6384, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6385, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$amingjd_phone = ['name' => 'amingjd', 'store_id' => 41,'qualitys' => '5',
+$tongy_phone = ['name' => 'tongy', 'store_id' => 31,'qualitys' => '2',
     'amount' => [
-        30 => [
-            ['goods_id' => 55, 'price' => 27, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 56, 'price' => 45, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 53, 'price' => 90, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 54, 'price' => 180, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ]
+        30 => [['goods_id' => 6408, 'price' => 29.76, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6408, 'price' => 29.4, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6408, 'price' => 29.64, 'quality' => 2, 'card_type' => 'chinatelecom']],
+
+        50 => [['goods_id' => 6409, 'price' => 49.6, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6409, 'price' => 48.75, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6409, 'price' => 49.4, 'quality' => 2, 'card_type' => 'chinatelecom']],
+
+        100 => [['goods_id' => 6410, 'price' => 99.2, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6410, 'price' => 97.5, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6410, 'price' => 98.8, 'quality' => 2, 'card_type' => 'chinatelecom']],
+
+        200 => [['goods_id' => 6411, 'price' => 198.4, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6411, 'price' => 194.6, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6411, 'price' => 197.6, 'quality' => 2, 'card_type' => 'chinatelecom']],
+
+        300 => [['goods_id' => 6412, 'price' => 297.6, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6412, 'price' => 291.9, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6412, 'price' => 296.4, 'quality' => 2, 'card_type' => 'chinatelecom']],
+
+        500 => [['goods_id' => 6413, 'price' => 496, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6413, 'price' => 486.5, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6413, 'price' => 494, 'quality' => 2, 'card_type' => 'chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$legou_phone = ['name' => 'legou', 'store_id' => 42,'qualitys' => '3',
+$weiyi_phone = ['name' => 'weiyi', 'store_id' => 32,'qualitys' => '1',
     'amount' => [
-        10 => [
-            ['goods_id' => 57, 'price' => 9.7, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        20 => [
-            ['goods_id' => 58, 'price' => 19.4, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        30 => [
-            ['goods_id' => 59, 'price' => 29.1, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 60, 'price' => 48.5, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 61, 'price' => 97, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 62, 'price' => 194, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        300 => [
-            ['goods_id' => 63, 'price' => 291, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        500 => [
-            ['goods_id' => 64, 'price' => 485, 'quality' => 3, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
+        10 => [['goods_id' => 6414, 'price' => 9.6, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6415, 'price' => 19.2, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6416, 'price' => 28.8, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6417, 'price' => 48, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6418, 'price' => 96, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6419, 'price' => 192, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6420, 'price' => 288, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6421, 'price' => 480, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$feiniao_phone = ['name' => 'feiniao', 'store_id' => 44,'qualitys' => '1',
+$tonglu_phone = ['name' => 'tonglu', 'store_id' => 33,'qualitys' => '4',
     'amount' => [
-        10 => [
-            ['goods_id' => 65, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        20 => [
-            ['goods_id' => 66, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        30 => [
-            ['goods_id' => 67, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        50 => [
-            ['goods_id' => 68, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        100 => [
-            ['goods_id' => 69, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        200 => [
-            ['goods_id' => 70, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        300 => [
-            ['goods_id' => 71, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
-        500 => [
-            ['goods_id' => 72, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']
-        ],
+        10 => [['goods_id' => 6422, 'price' => 9.4, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6423, 'price' => 18.8, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6424, 'price' => 28.2, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6425, 'price' => 47, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6426, 'price' => 94, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6427, 'price' => 188, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6428, 'price' => 282, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6429, 'price' => 470, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$fensheng_phone = ['name' => 'fensheng', 'store_id' => 45, 'qualitys' => '1',
+$xc_phone = ['name' => 'xc', 'store_id' => 34, 'qualitys' => '4',
     'amount' => [
-        10 => [
-            ['goods_id' => 73, 'price' => 9.50, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        20 => [
-            ['goods_id' => 74, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        30 => [
-            ['goods_id' => 75, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        50 => [
-            ['goods_id' => 76, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        100 => [
-            ['goods_id' => 77, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        200 => [
-            ['goods_id' => 78, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ]
+        10 => [['goods_id' => 6430, 'price' => 9.6, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6431, 'price' => 19.2, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6432, 'price' => 28.8, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6433, 'price' => 48, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6434, 'price' => 96, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6435, 'price' => 192, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6436, 'price' => 288, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6437, 'price' => 480, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$riying_phone = ['name' => 'riying', 'store_id' => 49, 'qualitys' => '5',
+$xunyin_phone = ['name' => 'xunyin', 'store_id' => 35,'qualitys' => '2',
     'amount' => [
         10 => [
-            ['goods_id' => 79, 'price' => 9.2, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6438, 'price' => 10, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6438, 'price' => 9.97, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         20 => [
-            ['goods_id' => 80, 'price' => 18.4, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6439, 'price' => 20, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6439, 'price' => 19.94, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         30 => [
-            ['goods_id' => 81, 'price' => 27.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6440, 'price' => 30, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6440, 'price' => 29.91, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         50 => [
-            ['goods_id' => 82, 'price' => 46, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6441, 'price' => 50, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6441, 'price' => 49.85, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         100 => [
-            ['goods_id' => 83, 'price' => 92, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6442, 'price' => 100, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6442, 'price' => 99.7, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         200 => [
-            ['goods_id' => 84, 'price' => 184, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6443, 'price' => 200, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6443, 'price' => 199.4, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         300 => [
-            ['goods_id' => 85, 'price' => 276, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6444, 'price' => 300, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6444, 'price' => 299.1, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         500 => [
-            ['goods_id' => 86, 'price' => 460, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6445, 'price' => 500, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6445, 'price' => 498.5, 'quality' => 2, 'card_type' => 'chinaunicom,chinatelecom']
         ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$weishengy_phone = ['name' => 'weishengy', 'store_id' => 50, 'qualitys' => '5',
+$wantong_phone = ['name' => 'wantong', 'store_id' => 36, 'qualitys' => '4',
     'amount' => [
-        10 => [
-            ['goods_id' => 87, 'price' => 9.2, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        20 => [
-            ['goods_id' => 88, 'price' => 18.4, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        30 => [
-            ['goods_id' => 89, 'price' => 27.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        50 => [
-            ['goods_id' => 90, 'price' => 46, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        100 => [
-            ['goods_id' => 91, 'price' => 92, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        200 => [
-            ['goods_id' => 92, 'price' => 184, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        300 => [
-            ['goods_id' => 93, 'price' => 276, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ],
-        500 => [
-            ['goods_id' => 94, 'price' => 460, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
-        ]
+        10 => [['goods_id' => 6446, 'price' => 9.35, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6447, 'price' => 18.7, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6448, 'price' => 28.05, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6449, 'price' => 46.75, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6450, 'price' => 93.5, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6451, 'price' => 187, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6452, 'price' => 280.5, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6453, 'price' => 467.5, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
-$wailing_phone = ['name' => 'wailing', 'store_id' => 51, 'qualitys' => '5',
+
+$yunling_phone = ['name' => 'yunling', 'store_id' => 37, 'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6456, 'price' => 9.56, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6457, 'price' => 19.12, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6458, 'price' => 28.68, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6459, 'price' => 47.8, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6460, 'price' => 95.6, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6461, 'price' => 191.2, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6462, 'price' => 286.8, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6463, 'price' => 478, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$zhongst_phone = ['name' => 'zhongst', 'store_id' => 39, 'qualitys' => '4',
+    'amount' => [
+        10 => [['goods_id' => 6464, 'price' => 9.35, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6465, 'price' => 18.6, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6466, 'price' => 27.9, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6467, 'price' => 46.5, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6468, 'price' => 93, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6469, 'price' => 186, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6470, 'price' => 279, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6471, 'price' => 465, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$luqian_phone = ['name' => 'luqian', 'store_id' => 40, 'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6472, 'price' => 9.4, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6473, 'price' => 18.8, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6474, 'price' => 28.2, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6475, 'price' => 47, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6476, 'price' => 94, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6477, 'price' => 188, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6478, 'price' => 282, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6479, 'price' => 470, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$afandfs_phone = ['name' => 'afandfs', 'store_id' => 41, 'qualitys' => '1',
     'amount' => [
         10 => [
-            ['goods_id' => 95, 'price' => 9.2, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6480, 'price' => 9.48, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6480, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         20 => [
-            ['goods_id' => 96, 'price' => 18.4, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6481, 'price' => 18.96, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6481, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         30 => [
-            ['goods_id' => 97, 'price' => 27.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6482, 'price' => 28.44, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6482, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         50 => [
-            ['goods_id' => 98, 'price' => 46, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6483, 'price' => 47.4, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6483, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         100 => [
-            ['goods_id' => 99, 'price' => 92, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6484, 'price' => 94.8, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6484, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         200 => [
-            ['goods_id' => 100, 'price' => 184, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6485, 'price' => 189.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6485, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         300 => [
-            ['goods_id' => 101, 'price' => 276, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6486, 'price' => 284.4, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6486, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
         ],
         500 => [
-            ['goods_id' => 102, 'price' => 460, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom'],
+            ['goods_id' => 6487, 'price' => 474, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6487, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinatelecom']
         ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
+
+$yunlingfs_phone = ['name' => 'yunlingfs', 'store_id' => 40, 'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6472, 'price' => 9.4, 'quality' => 1, 'card_type' => 'chinamobile']],
+        20 => [['goods_id' => 6473, 'price' => 18.8, 'quality' => 1, 'card_type' => 'chinamobile']],
+        30 => [['goods_id' => 6474, 'price' => 28.2, 'quality' => 1, 'card_type' => 'chinamobile']],
+        50 => [['goods_id' => 6475, 'price' => 47, 'quality' => 1, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 6476, 'price' => 94, 'quality' => 1, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 6477, 'price' => 188, 'quality' => 1, 'card_type' => 'chinamobile']],
+        300 => [['goods_id' => 6478, 'price' => 282, 'quality' => 1, 'card_type' => 'chinamobile']],
+        500 => [['goods_id' => 6479, 'price' => 470, 'quality' => 1, 'card_type' => 'chinamobile']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+
 $phone_providers = [
-    ['name' => 'baizeyd', 'cfg' => $baizeyd, 'opened' => true, 'sort' => 1],
-    ['name' => 'aming', 'cfg' => $aming_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'binghc', 'cfg' => $binghc_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'ruishun', 'cfg' => $ruishun_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'wuchen', 'cfg' => $wuchen_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'yibao', 'cfg' => $yibao_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'amingyd', 'cfg' => $amingyd_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'chuka', 'cfg' => $chuka_phone, 'opened' => true, 'sort' => 1],
-    ['name' => 'amingjd', 'cfg' => $amingjd_phone],
-    ['name' => 'legou', 'cfg' => $legou_phone],
-    ['name' => 'feiniao', 'cfg' => $feiniao_phone],
-    ['name' => 'fensheng', 'cfg' => $fensheng_phone],
-    ['name' => 'riying', 'cfg' => $riying_phone],
-    ['name' => 'weishengy', 'cfg' => $weishengy_phone],
-    ['name' => 'wailing', 'cfg' => $wailing_phone],
+//    ['name' => 'beixt', 'cfg' => $beixt_phone],
+//    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
+    ['name' => 'bjb', 'cfg' => $bjb_phone],
+    ['name' => 'bjbyd', 'cfg' => $bjbyd_phone],
+//    ['name' => 'yifa', 'cfg' => $yifa_phone],
+//    ['name' => 'jiec', 'cfg' => $jiec_phone],
+//    ['name' => 'weit', 'cfg' => $weit_phone],
+
+    ['name' => 'afand', 'cfg' => $afand_phone],
+    ['name' => 'afandeng', 'cfg' => $afandeng_phone],
+    ['name' => 'afandnew', 'cfg' => $afandnew_phone],
+    ['name' => 'lingzh', 'cfg' => $lingzh_phone],
+    ['name' => 'tongy', 'cfg' => $tongy_phone],
+    ['name' => 'weiyi', 'cfg' => $weiyi_phone],
+    ['name' => 'tonglu', 'cfg' => $tonglu_phone],
+    ['name' => 'xc', 'cfg' => $xc_phone],
+    ['name' => 'xunyin', 'cfg' => $xunyin_phone],
+    ['name' => 'wantong', 'cfg' => $wantong_phone],
+    ['name' => 'yunling', 'cfg' => $yunling_phone],
+    ['name' => 'zhongst', 'cfg' => $zhongst_phone],
+    ['name' => 'luqian', 'cfg' => $luqian_phone],
+    ['name' => 'afandfs', 'cfg' => $afandfs_phone],
+    ['name' => 'yunlingfs', 'cfg' => $yunlingfs_phone],
 ];
 $config['phone_providers'] = $phone_providers;

+ 80 - 0
data/config/xyz/refill.ini.php

@@ -443,6 +443,82 @@ $yunling_phone = ['name' => 'yunling', 'store_id' => 37, 'qualitys' => '1',
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
+$zhongst_phone = ['name' => 'zhongst', 'store_id' => 39, 'qualitys' => '4',
+    'amount' => [
+        10 => [['goods_id' => 6464, 'price' => 9.35, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6465, 'price' => 18.6, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6466, 'price' => 27.9, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6467, 'price' => 46.5, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6468, 'price' => 93, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6469, 'price' => 186, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6470, 'price' => 279, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6471, 'price' => 465, 'quality' => 4, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$luqian_phone = ['name' => 'luqian', 'store_id' => 40, 'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6472, 'price' => 9.4, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6473, 'price' => 18.8, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6474, 'price' => 28.2, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6475, 'price' => 47, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6476, 'price' => 94, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6477, 'price' => 188, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6478, 'price' => 282, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6479, 'price' => 470, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$afandfs_phone = ['name' => 'afandfs', 'store_id' => 41, 'qualitys' => '1',
+    'amount' => [
+        10 => [
+            ['goods_id' => 6480, 'price' => 9.48, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6480, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        20 => [
+            ['goods_id' => 6481, 'price' => 18.96, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6481, 'price' => 19, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        30 => [
+            ['goods_id' => 6482, 'price' => 28.44, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6482, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        50 => [
+            ['goods_id' => 6483, 'price' => 47.4, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6483, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        100 => [
+            ['goods_id' => 6484, 'price' => 94.8, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6484, 'price' => 95, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        200 => [
+            ['goods_id' => 6485, 'price' => 189.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6485, 'price' => 190, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        300 => [
+            ['goods_id' => 6486, 'price' => 284.4, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6486, 'price' => 285, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']
+        ],
+        500 => [
+            ['goods_id' => 6487, 'price' => 474, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6487, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinatelecom']
+        ]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$yunlingfs_phone = ['name' => 'yunlingfs', 'store_id' => 42, 'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6488, 'price' => 9.56, 'quality' => 1, 'card_type' => 'chinamobile']],
+        20 => [['goods_id' => 6489, 'price' => 19.12, 'quality' => 1, 'card_type' => 'chinamobile']],
+        30 => [['goods_id' => 6490, 'price' => 28.68, 'quality' => 1, 'card_type' => 'chinamobile']],
+        50 => [['goods_id' => 6491, 'price' => 47.8, 'quality' => 1, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 6492, 'price' => 95.6, 'quality' => 1, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 6493, 'price' => 191.2, 'quality' => 1, 'card_type' => 'chinamobile']],
+        300 => [['goods_id' => 6494, 'price' => 286.8, 'quality' => 1, 'card_type' => 'chinamobile']],
+        500 => [['goods_id' => 6495, 'price' => 478, 'quality' => 1, 'card_type' => 'chinamobile']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $phone_providers = [
 //    ['name' => 'beixt', 'cfg' => $beixt_phone],
 //    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
@@ -463,5 +539,9 @@ $phone_providers = [
     ['name' => 'xunyin', 'cfg' => $xunyin_phone],
     ['name' => 'wantong', 'cfg' => $wantong_phone],
     ['name' => 'yunling', 'cfg' => $yunling_phone],
+    ['name' => 'zhongst', 'cfg' => $zhongst_phone],
+    ['name' => 'luqian', 'cfg' => $luqian_phone],
+    ['name' => 'afandfs', 'cfg' => $afandfs_phone],
+    ['name' => 'yunlingfs', 'cfg' => $yunlingfs_phone],
 ];
 $config['phone_providers'] = $phone_providers;

+ 2 - 1
helper/fcgisrv/MobileServer.php

@@ -57,7 +57,8 @@ class MobileServer extends BaseServer
             'bridge_shr.php','refill_weit.php','refill_afand.php','refill_afandeng.php',
             'refill_afandnew.php','refill_lingzh.php','refill_lingzhdl.php','refill_tongy.php',
             'refill_weiyi.php','refill_tonglu.php','refill_xc.php','refill_xunyin.php',
-            'refill_yunling.php','refill_wantong.php'
+            'refill_yunling.php','refill_wantong.php','refill_zhongst.php','refill_luqian.php',
+            'refill_afandfs.php','refill_yunlingfs.php'
         ];
 
         $this->setExFiles($exfiles);

+ 49 - 0
helper/refill/api/xyz/afandfs/RefillCallBack.php

@@ -0,0 +1,49 @@
+<?php
+
+
+namespace refill\afandfs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/afandfs/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $content = $params['code'] . config::PARTNER_ID . $params['partner_order_no'] . $params['phone'] . $params['amount'] . $params['official_order_id'] . config::KEY;
+        return md5($content);
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['code']);
+        $order_sn = $params['partner_order_no'];
+        $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
+        if (empty($order_info)) {
+            return [false, false, false,false];
+        }
+        $order_id = $order_info['order_id'];
+
+        if ($status === 1) {
+            $data['official_sn'] = strtolower($params['official_order_id']) == 'null' ? '' : $params['official_order_id'];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false,true];
+        }
+        elseif ($status === 0) {
+            return [$order_id, false, true,true];
+        }
+        else {
+            return [$order_id, false, false,false];
+        }
+    }
+}

+ 103 - 0
helper/refill/api/xyz/afandfs/RefillPhone.php

@@ -0,0 +1,103 @@
+<?php
+
+namespace refill\afandfs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/afandfs/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['partner_id'] = config::PARTNER_ID;
+        $params['partner_order_no'] = $order_sn;
+        $params['phone'] = $phone;
+        $params['amount'] = $amount;
+        $params['charge_type'] = config::operator[$card_type];
+        $params['notify_url'] = config::NOTIFY_URL;
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params)
+    {
+        $params = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params , 'POST' , false , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误',true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['code'] == 1) {
+                return [true, $resp['data'], false];
+            } else {
+                return [false, $resp['msg'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['partner_id'] = config::PARTNER_ID;
+        $params['partner_order_no'] = $refill_info['order_sn'];
+        $content = $params['partner_id'] . $params['partner_order_no'] . config::KEY;
+        $params['sign'] = md5($content);
+
+        $resp = http_request(config::QUERY_URL, $params , 'POST' , false , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] == 1)
+            {
+                $status = $resp['data']['code'];
+                if ($status == 1) {
+                    $order_state = ORDER_STATE_SUCCESS;
+                    $save['official_sn'] = $resp['data']['official_order_id'];
+                    Model('refill_order')->edit($refill_info['order_id'], $save);
+                } elseif ($status == 0) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status == 2) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $resp['msg']];
+                }
+
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $key = config::KEY;
+        $content = $params['partner_id'] . $params['partner_order_no'] . $params['phone'] . $params['amount'] . $params['notify_url'] . $key;
+        return md5($content);
+    }
+}

+ 21 - 0
helper/refill/api/xyz/afandfs/config.php

@@ -0,0 +1,21 @@
+<?php
+
+
+namespace refill\afandfs;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://119.8.102.95/api/receiveOrder';
+    const QUERY_URL = 'http://119.8.102.95/api/queryOrder';
+
+    const PARTNER_ID = '52';
+    const KEY = '130c44ac97bf094b6c7e448be1fbee8f';
+    const NOTIFY_URL =  BASE_SITE_URL."/mobile/refill_afandfs.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => 2,
+        mtopcard\ChinaUnicomCard  => 0,
+        mtopcard\ChinaTelecomCard => 1
+    ];
+    const ExtHeaders = ['Content-Type: application/x-www-form-urlencoded'];
+}

+ 19 - 0
helper/refill/api/xyz/afandfs/北京分省账户.txt

@@ -0,0 +1,19 @@
+下单地址:http://119.8.102.95/api/receiveOrder
+查单地址:http://119.8.102.95/api/queryOrder
+余额地址:http://119.8.102.95/api/quotaQuery
+
+
+下单IP
+119.8.102.95
+
+
+
+
+http://119.8.102.95/index.html
+
+afd0017
+123456afd0017
+
+
+
+密钥  130c44ac97bf094b6c7e448be1fbee8f

BIN
helper/refill/api/xyz/afandfs/阿凡灯分省对接文档.docx


+ 49 - 0
helper/refill/api/xyz/luqian/RefillCallBack.php

@@ -0,0 +1,49 @@
+<?php
+
+
+namespace refill\luqian;
+
+require_once(BASE_HELPER_RAPI_PATH . '/luqian/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $content = $params['code'] . config::PARTNER_ID . $params['partner_order_no'] . $params['phone'] . $params['amount'] . $params['official_order_id'] . config::KEY;
+        return md5($content);
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['code']);
+        $order_sn = $params['partner_order_no'];
+        $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
+        if (empty($order_info)) {
+            return [false, false, false,false];
+        }
+        $order_id = $order_info['order_id'];
+
+        if ($status === 1) {
+            $data['official_sn'] = strtolower($params['official_order_id']) == 'null' ? '' : $params['official_order_id'];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false,true];
+        }
+        elseif ($status === 0) {
+            return [$order_id, false, true,true];
+        }
+        else {
+            return [$order_id, false, false,false];
+        }
+    }
+}

+ 103 - 0
helper/refill/api/xyz/luqian/RefillPhone.php

@@ -0,0 +1,103 @@
+<?php
+
+namespace refill\luqian;
+
+require_once(BASE_HELPER_RAPI_PATH . '/luqian/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['partner_id'] = config::PARTNER_ID;
+        $params['partner_order_no'] = $order_sn;
+        $params['phone'] = $phone;
+        $params['amount'] = $amount;
+        $params['charge_type'] = config::operator[$card_type];
+        $params['notify_url'] = config::NOTIFY_URL;
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params)
+    {
+        $params = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params , 'POST' , false , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误',true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($resp['code'] == 1) {
+                return [true, $resp['data'], false];
+            } else {
+                return [false, $resp['msg'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['partner_id'] = config::PARTNER_ID;
+        $params['partner_order_no'] = $refill_info['order_sn'];
+        $content = $params['partner_id'] . $params['partner_order_no'] . config::KEY;
+        $params['sign'] = md5($content);
+
+        $resp = http_request(config::QUERY_URL, $params , 'POST' , false , config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] == 1)
+            {
+                $status = $resp['data']['code'];
+                if ($status == 1) {
+                    $order_state = ORDER_STATE_SUCCESS;
+                    $save['official_sn'] = $resp['data']['official_order_id'];
+                    Model('refill_order')->edit($refill_info['order_id'], $save);
+                } elseif ($status == 0) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status == 2) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $resp['msg']];
+                }
+
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    private function sign($params)
+    {
+        $key = config::KEY;
+        $content = $params['partner_id'] . $params['partner_order_no'] . $params['phone'] . $params['amount'] . $params['notify_url'] . $key;
+        return md5($content);
+    }
+}

+ 21 - 0
helper/refill/api/xyz/luqian/config.php

@@ -0,0 +1,21 @@
+<?php
+
+
+namespace refill\luqian;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://150.107.2.93/api/receiveOrder';
+    const QUERY_URL = 'http://150.107.2.93/api/queryOrder';
+
+    const PARTNER_ID = '38';
+    const KEY = 'd6ae18a1a67828620d6091f3c36ca6fa';
+    const NOTIFY_URL =  BASE_SITE_URL."/mobile/refill_luqian.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => 2,
+        mtopcard\ChinaUnicomCard  => 0,
+        mtopcard\ChinaTelecomCard => 1
+    ];
+    const ExtHeaders = ['Content-Type: application/x-www-form-urlencoded'];
+}

BIN
helper/refill/api/xyz/luqian/partner_doc.docx


+ 9 - 0
helper/refill/api/xyz/luqian/账号信息.txt

@@ -0,0 +1,9 @@
+ID:38
+秘钥:d6ae18a1a67828620d6091f3c36ca6fa
+登录账户:yezi
+密码:123456yezi
+登录地址:http://150.107.2.93/index.html  选择话商登录
+提交地址:URL:http://150.107.2.93/api/receiveOrder
+订单查询:http://150.107.2.93/api/queryOrder
+授信查询:http://150.107.2.93/api/quotaQuery
+对接文档:http://150.107.2.93/doc/partner_doc.docx

+ 7 - 8
helper/refill/api/xyz/wantong/RefillCallBack.php

@@ -22,8 +22,8 @@ class RefillCallBack implements refill\IRefillCallBack
 
     private function sign($params)
     {
-        $content  = $params['order_id'] . $params['out_order_id'] . config::MCHID . $params['tel'] . $params['price'];
-        $content .= $params['status'] . config::KEY;
+        $content  = config::UID . $params['order_no'] . $params['phone_number'] . $params['face_value'] . $params['status'];
+        $content .= config::KEY;
         return md5($content);
     }
 
@@ -31,20 +31,19 @@ class RefillCallBack implements refill\IRefillCallBack
     public function notify($params)
     {
         $status = intval($params['status']);
-        $order_sn = $params['order_id'];
+        $order_sn = $params['order_no'];
         $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
         if (empty($order_info)) {
-            return [false, false, false,false];
+//            return [false, false, false,false];
         }
 
         $order_id = $order_info['order_id'];
-        $data['official_sn'] = strtolower($params['out_order_id']) == 'null' ? '' : $params['out_order_id'];
-
-        if ($status === 1) {
+        if ($status === 4) {
+            $data['official_sn'] = strtolower($params['mobile_order_no']) == 'null' ? '' : $params['mobile_order_no'];
             Model('refill_order')->edit($order_id, $data);
             return [$order_id, true, false,true];
         }
-        elseif ($status === 0) {
+        elseif (in_array($status, [9, 10])) {
             return [$order_id, false, true,true];
         }
         else {

+ 24 - 40
helper/refill/api/xyz/wantong/RefillPhone.php

@@ -6,7 +6,6 @@ require_once(BASE_HELPER_RAPI_PATH . '/wantong/config.php');
 
 use refill;
 use Log;
-use mtopcard;
 
 class RefillPhone extends refill\IRefillPhone
 {
@@ -15,24 +14,22 @@ class RefillPhone extends refill\IRefillPhone
         parent::__construct($cfgs);
     }
 
-    private function req_params(int $phone, int $amount, string $order_sn)
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
     {
-        $params['mchid'] = config::MCHID;
-        $params['tel'] = $phone;
-        $params['orderid'] = $order_sn;
-        $params['price'] = $amount;
-        $params['teltype'] = $this->phone_type($phone);
-        $params['timeout'] = config::NotifyTimeout;
-        $params['notify'] = config::NOTIFY_URL;
-        $params['time'] = time();
-        $params['rand'] = rand(100000, 999999);
+        $params['uid'] = config::UID;
+        $params['order_no'] = $order_sn;
+        $params['order_type'] = 1;
+        $params['mobile_type'] = config::operator[$card_type];
+        $params['phone_number'] = $phone;
+        $params['face_value'] = intval($amount * 100);
+        $params['notify_url'] = config::NOTIFY_URL;
 
         return $params;
     }
 
     public function add($card_no, $card_type, $amount, $params)
     {
-        $params = $this->req_params($card_no, $amount, $params['order_sn']);
+        $params = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
         $sign = $this->sign($params);
         $params['sign'] = $sign;
 
@@ -47,8 +44,8 @@ class RefillPhone extends refill\IRefillPhone
             $resp = json_decode($resp, true);
             if (empty($resp)) {
                 return [false, '系统错误', true];
-            } elseif ($resp['code'] == 0) {
-                return [true, $resp['order_id'], false];
+            } elseif ($resp['code'] == 200) {
+                return [true, '', false];
             } else {
                 return [false, $resp['msg'], false];
             }
@@ -57,10 +54,10 @@ class RefillPhone extends refill\IRefillPhone
 
     public function query($refill_info)
     {
-        $params['orderid'] = $refill_info['order_sn'];
-        $params['mchid'] = config::MCHID;
+        $params['uid'] = config::UID;
+        $params['order_no'] = $refill_info['order_sn'];
 
-        $content = $params['mchid'] . $params['orderid'] . config::KEY;
+        $content = $params['uid'] . $params['order_no'] . config::KEY;
         $params['sign'] = md5($content);
 
         $resp = http_request(config::QUERY_URL, $params, 'POST', false);
@@ -76,19 +73,20 @@ class RefillPhone extends refill\IRefillPhone
             if (empty($resp)) {
                 return [false, '系统错误'];
             }
-            elseif ($resp['code'] == 100)
+            elseif ($resp['code'] == 200)
             {
-                $status = $resp['status'];
-                if ($status == 3) {
-                    $order_state = ORDER_STATE_SUCCESS;
-                    $updata['official_sn'] = $resp['out_order_id'];
+                $status = $resp['data']['statusId'];
+                if ($status == 4) {
+                    $updata['ch_trade_no'] = $resp['data']['serialNumber'];
+                    $updata['official_sn'] = $resp['data']['mobileOrderNo'];
                     Model('refill_order')->edit($refill_info['order_id'], $updata);
-                } elseif ($status == 4) {
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif (in_array($status, [0, 1, 9])) {
                     $order_state = ORDER_STATE_CANCEL;
-                } elseif (in_array($status, [1, 2])) {
+                } elseif (in_array($status, [2, 5, 6])) {
                     $order_state = ORDER_STATE_SEND;
                 } else {
-                    return [false, $resp['data']];
+                    return [false, $resp['msg']];
                 }
 
                 return [true, $order_state];
@@ -102,21 +100,7 @@ class RefillPhone extends refill\IRefillPhone
     private function sign($params)
     {
         $key = config::KEY;
-        $content = $params['mchid'] . $params['tel'] . $params['price'] . $params['orderid'] . $params['teltype'] . $params['timeout'] . $params['notify'];
-        $content .= $params['time'] . $params['rand'] . $key;
+        $content = $params['uid'] . $params['order_no'] . $params['phone_number'] . $params['face_value'] . $key;
         return md5($content);
     }
-
-    private function phone_type($phone)
-    {
-        $card_type = mtopcard\card_type($phone,$regin_no);
-
-        if ($card_type == mtopcard\ChinaMobileCard) {
-            return 0;
-        } elseif ($card_type == mtopcard\ChinaUnicomCard) {
-            return 1;
-        } else { // ($card_type == mtopcard\ChinaTelecomCard)
-            return 2;
-        }
-    }
 }

BIN
helper/refill/api/xyz/wantong/api.pdf


+ 6 - 5
helper/refill/api/xyz/wantong/api.txt

@@ -1,6 +1,7 @@
-http://mm.jm618.cn/account/profile
-商户id  10037
-密码123456
+uid:   97396885  
+MD5_KEY:    b9ba9c6fa15f1e026fb816b75be2d925
 
-话费充值接口文档
-http://mm.jm618.cn/static/download/api1.pdf
+http://8.134.58.151:8088提交网关
+
+
+http://8.134.58.151:8086账号afbl密码123456

+ 12 - 7
helper/refill/api/xyz/wantong/config.php

@@ -3,14 +3,19 @@
 
 namespace refill\wantong;
 
-
+use mtopcard;
 class config
 {
-    const ORDER_URL = 'https://mm.jm618.cn/api/telpay';
-    const QUERY_URL = 'https://mm.jm618.cn/api/telpay/query';
+    const ORDER_URL = 'http://8.134.58.151:8088/1/api/oper/order';
+    const QUERY_URL = 'http://8.134.58.151:8088/1/api/oper/query_order';
 
-    const MCHID = 10037;
-    const KEY = '7ad5f64b90f7f02a30fbd26641195f58';
-    const NOTIFY_URL = BASE_SITE_URL . "/mobile/refill_wantong.php";
-    const NotifyTimeout = 7200;
+    const UID = 97396885;
+    const KEY = 'b9ba9c6fa15f1e026fb816b75be2d925';
+//    const NOTIFY_URL = BASE_SITE_URL . "/mobile/refill_wantong.php";
+    const NOTIFY_URL = "https://www.xyzshops.cn/mobile/signature.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => 1,
+        mtopcard\ChinaUnicomCard  => 2,
+        mtopcard\ChinaTelecomCard => 3
+    ];
 }

+ 55 - 0
helper/refill/api/xyz/yunlingfs/RefillCallBack.php

@@ -0,0 +1,55 @@
+<?php
+
+
+namespace refill\yunlingfs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yunlingfs/config.php');
+
+
+use refill;
+use Log;
+
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$userid}&orderid={$params['orderid']}&sporderid={$params['sporderid']}&merchantsubmittime={$params['merchantsubmittime']}";
+        $content .= "&resultno={$params['resultno']}&key={$key}";
+        return md5($content);
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['resultno']);
+        $order_sn = $params['sporderid'];
+        $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
+        if (empty($order_info)) {
+            return [false, false, false,false];
+        }
+        $order_id = $order_info['order_id'];
+
+        if ($status === 1) {
+            $data['official_sn'] = strtolower($params['supnumber']) == 'null' ? '' : $params['supnumber'];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false,true];
+        }
+        elseif ($status === 9) {
+            return [$order_id, false, true,true];
+        }
+        else {
+            return [$order_id, false, false,false];
+        }
+    }
+}

+ 154 - 0
helper/refill/api/xyz/yunlingfs/RefillPhone.php

@@ -0,0 +1,154 @@
+<?php
+
+namespace refill\yunlingfs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yunlingfs/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, string $order_sn)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['productid'] = '';
+        $params['productType'] = '1';
+        $params['price'] = $amount;
+        $params['num'] = 1;
+        $params['mobile'] = $phone;
+        $params['spordertime'] = date("YmdHis");
+        $params['sporderid'] = $order_sn;
+        $params['back_url'] = config::NOTIFY_URL;
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $order_sn);
+        $params['operator'] = config::operator[$card_type];
+        $region = $this->getPhoneInfo($card_no);
+        if($region === false) {
+            return [false, '归属地获取失败', false];
+        }
+
+        $params['region'] = $region;
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            }
+            $resultno = intval($resp['resultno']);
+            if (in_array($resultno, [0,1,2])) {
+                return [true, $resp['orderid'], false];
+            } else {
+                return [false, $resp['message'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['sporderid'] = $refill_info['order_sn'];
+        $params['userid'] = config::USER_ID;
+
+        $resp = http_request(config::QUERY_URL, $params);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            }
+            $resultno = intval($resp['resultno']);
+            if ($resultno === 1) {
+                $order_state = ORDER_STATE_SUCCESS;
+                $updata['official_sn'] = $resp['supnumber'];
+                Model('refill_order')->edit($refill_info['order_id'], $updata);
+            } elseif ($resultno === 9) {
+                $order_state = ORDER_STATE_CANCEL;
+            } elseif (in_array($resultno, [0,2])) {
+                $order_state = ORDER_STATE_SEND;
+            } else {
+                return [false, $resp['message']];
+            }
+            return [true, $order_state];
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$userid}&productid={$params['productid']}&price={$params['price']}&num={$params['num']}&mobile={$params['mobile']}&spordertime={$params['spordertime']}";
+        $content .= "&sporderid={$params['sporderid']}&key={$key}";
+        return md5($content);
+    }
+
+    public function xmlToArray($xml)
+    {
+        //禁止引用外部xml实体
+        libxml_disable_entity_loader(true);
+        $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
+        $val = json_decode(json_encode($xmlstring), true);
+
+        return $val;
+    }
+
+    private function getPhoneInfo($phone)
+    {
+        $url = "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel={$phone}";
+        $resp = http_request($url);  //获取API返回 的数据
+        $resp = mb_convert_encoding($resp, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5'); //解决中文乱码
+
+        $datas = explode('=', $resp);
+        if(count($datas) == 2)
+        {
+            $body = trim($datas[1]);
+            if(preg_match_all("/(\w+):'([^']+)/", $body, $m)) {
+                $res = array_combine($m[1], $m[2]);
+                return $this->formatProvince($res['province']);
+            }
+        }
+        return false;
+    }
+
+    public function formatProvince(string $province) : string
+    {
+        if(empty($province)) {
+            return '';
+        }
+
+        $checkArr = ["省","市","自治区","特别行政区"];
+
+        for($i = 0; $i < count($checkArr); $i++) {
+            if(strpos($province, $checkArr[$i]) === false) {
+                continue;
+            } else {
+                $province = mb_strcut($province, 0, strrpos($province, $checkArr[$i]));
+            }
+        }
+
+        return $province;
+    }
+}

+ 19 - 0
helper/refill/api/xyz/yunlingfs/config.php

@@ -0,0 +1,19 @@
+<?php
+
+
+namespace refill\yunlingfs;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://39.101.180.197:8177/soft/onlinepay.do';
+    const QUERY_URL= 'http://39.101.180.197:8177/soft/searchpay.do';
+    const USER_ID= '10073527';
+    const KEY = 'BA804D1914CFCDD19AB86EED110E0EF4';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/refill_yunlingfs.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => '移动',
+        mtopcard\ChinaUnicomCard  => '联通',
+        mtopcard\ChinaTelecomCard => '电信'
+    ];
+}

BIN
helper/refill/api/xyz/yunlingfs/代理接口话费充值文档1.0.6(2020).doc


+ 9 - 0
helper/refill/api/xyz/yunlingfs/北京椰子账户信息 (3.txt

@@ -0,0 +1,9 @@
+http://39.101.180.197:8178  代理系统
+登陆名:yezifs 
+ID:10073527
+秘钥:BA804D1914CFCDD19AB86EED110E0EF4
+密码:yezi131419
+
+余额查询接口:http://39.101.180.197:8177/soft/searchbalance.do
+充值请求接口:http://39.101.180.197:8177/soft/onlinepay.do
+订单查询接口:http://39.101.180.197:8177/soft/searchpay.do

+ 50 - 0
helper/refill/api/xyz/zhongst/RefillCallBack.php

@@ -0,0 +1,50 @@
+<?php
+namespace refill\zhongst;
+
+require_once(BASE_HELPER_RAPI_PATH . '/zhongst/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $sign = $this->sign($params);
+        if ($params['szVerifyString'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "szAgentId={$userid}&szOrderId={$params['szOrderId']}&szPhoneNum={$params['szPhoneNum']}&nDemo={$params['nDemo']}&fSalePrice={$params['fSalePrice']}";
+        $content .= "&nFlag={$params['nFlag']}&szKey={$key}";
+        return md5($content);
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['nFlag']);
+        $order_sn = $params['szOrderId'];
+        $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]);
+        if (empty($order_info)) {
+            return [false, false, false,false];
+        }
+        $order_id = $order_info['order_id'];
+
+        if ($status === 2) {
+            $data['official_sn'] = strtolower($params['szRtnMsg']) == 'null' ? '' : $params['szRtnMsg'];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false,true];
+        }
+        elseif ($status === 3) {
+            return [$order_id, false, true,true];
+        }
+        else {
+            return [$order_id, false, false,false];
+        }
+    }
+}

+ 102 - 0
helper/refill/api/xyz/zhongst/RefillPhone.php

@@ -0,0 +1,102 @@
+<?php
+
+namespace refill\zhongst;
+
+require_once(BASE_HELPER_RAPI_PATH . '/zhongst/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $phone, int $amount, int $card_type, string $order_sn)
+    {
+        $params['szAgentId'] = config::USER_ID;
+        $params['szOrderId'] = $order_sn;
+        $params['szPhoneNum'] = $phone;
+        $params['nMoney'] = $amount;
+        $params['nSortType'] = config::operator[$card_type];
+        $params['nProductClass'] = 1;
+        $params['nProductType'] = 1;
+        $params['szTimeStamp'] = date("Y-m-d H:i:s");
+        $params['szNotifyUrl'] = config::NOTIFY_URL;
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+
+        $sign = $this->sign($params);
+        $params['szVerifyString'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            } elseif ($resp['nRtn'] == 0) {
+                return [true, '', false];
+            } else {
+                return [false, $resp['szRtnCode'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['szAgentId'] = config::USER_ID;
+        $params['szOrderId'] = $refill_info['order_sn'];
+        $key = config::KEY;
+        $content = "szAgentId={$params['szAgentId']}&szOrderId={$params['szOrderId']}&szKey={$key}";
+        $params['szVerifyString'] = md5($content);
+
+        $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            }
+            $status = intval($resp['nRtn']);
+            if ($status === 5012) {
+                $updata['official_sn'] = $resp['szRtnMsg'];
+                Model('refill_order')->edit($refill_info['order_id'], $updata);
+                $order_state = ORDER_STATE_SUCCESS;
+            } elseif ($status === 5013) {
+                $order_state = ORDER_STATE_CANCEL;
+            } elseif (in_array($status, [5011,5019])) {
+                $order_state = ORDER_STATE_SEND;
+            } else {
+                return [false, $status];
+            }
+            return [true, $order_state];
+        }
+    }
+
+    private function sign($params)
+    {
+        $userid = config::USER_ID;
+        $key = config::KEY;
+        $content = "szAgentId={$userid}&szOrderId={$params['szOrderId']}&szPhoneNum={$params['szPhoneNum']}&nMoney={$params['nMoney']}&nSortType={$params['nSortType']}";
+        $content .= "&nProductClass={$params['nProductClass']}&nProductType={$params['nProductType']}&szTimeStamp={$params['szTimeStamp']}&szKey={$key}";
+        return md5($content);
+    }
+}

+ 11 - 0
helper/refill/api/xyz/zhongst/api.txt

@@ -0,0 +1,11 @@
+下单地址:http://39.102.121.210:10186/plat/api/old/submitorder
+
+查询地址:http://39.102.121.210:10186/plat/api/old/queryorder
+
+查询余额地址:http://39.102.121.210:10186/plat/api/old/queryBalance
+后台地址:http://39.102.121.210:10186/plat/index
+账号:yixintong
+密码:123456
+ID:200059
+秘钥:8ebaac1593c64ec89be660ea13040640
+接口文档:https://docs.qq.com/doc/DWkV1VkxQVk13eEtQ

+ 21 - 0
helper/refill/api/xyz/zhongst/config.php

@@ -0,0 +1,21 @@
+<?php
+
+
+namespace refill\zhongst;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://39.102.121.210:10186/plat/api/old/submitorder';
+    const QUERY_URL= 'http://39.102.121.210:10186/plat/api/old/queryorder';
+
+    const USER_ID= '200030';
+    const KEY = 'a6203db9639c425bba90edd7f80d2315';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/refill_zhongst.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => 1,
+        mtopcard\ChinaUnicomCard  => 2,
+        mtopcard\ChinaTelecomCard => 3
+    ];
+    const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];
+}

+ 4 - 0
mobile/refill_afandfs.php

@@ -0,0 +1,4 @@
+<?php
+
+refill\util::push_notify('afandfs',$_POST);
+echo ('success');

+ 4 - 0
mobile/refill_luqian.php

@@ -0,0 +1,4 @@
+<?php
+
+refill\util::push_notify('luqian',$_POST);
+echo ('success');

+ 4 - 0
mobile/refill_yunlingfs.php

@@ -0,0 +1,4 @@
+<?php
+
+refill\util::push_notify('yunlingfs',$_POST);
+echo ('SUCCESS');

+ 4 - 0
mobile/refill_zhongst.php

@@ -0,0 +1,4 @@
+<?php
+
+refill\util::push_notify('zhongst',$_POST);
+echo ('ok');

+ 1 - 0
plot/DataCenter.py

@@ -188,6 +188,7 @@ class DataCenter(object):
             ax.set_title('success ratio')
             ax.set(xlabel='time', ylabel='ratio')
             fig.autofmt_xdate()
+            fig.subplots_adjust(left=0.05, right=0.999, top=0.95, bottom=0.1)
 
             buf = BytesIO()
             fig.savefig(buf, format="png")

+ 61 - 11
test/TestRefill.php

@@ -331,12 +331,12 @@ class TestRefill extends TestCase
 
     public function testPrice()
     {
-        $amounts = [10, 20, 30, 50, 100, 200, 300, 500];
-        $rate = 0.92;
-        foreach ($amounts as $amount) {
-            $price[] = $amount * $rate;
-        }
-
+//        $amounts = [10, 20, 30, 50, 100, 200, 300, 500];
+//        $rate = 0.94;
+//        foreach ($amounts as $amount) {
+//            $price[] = $amount * $rate;
+//        }
+        mtopcard\card_type(17801048874);
     }
 
     public function testWeisPhone()
@@ -386,11 +386,11 @@ class TestRefill extends TestCase
     public function testWantongPhone()
     {
         $providers = new refill\wantong\RefillPhone([]);
-        $resp = $providers->add(13699279618, 4, 30, ['order_sn' => $this->make_sn()]);
-        $resp = $providers->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
-//        $resp = $providers->query(['order_sn' => '62851617873564694325']);
-//        $data = '{"order_id":"48751617849306859783","mchid":"10037","tel":"13699279618","price":"30.00","sign":"fbe70d8366736ccb0e2467f7130fc4b2","status":"0","out_order_id":"0"}';
-//        $input = json_decode($data, true);
+//        $resp = $providers->add(13699279618, 4, 30, ['order_sn' => $this->make_sn()]);
+//        $resp = $providers->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
+        $resp = $providers->query(['order_sn' => '26061618988575301841']);
+        $data = '{"uid":"97396885","order_no":"26061618988575301841","mobile_order_no":"","phone_number":"13699279618","face_value":"3000","status":"9","sign":"1a019202656cf4feffe715025fab01bf"}';
+        $input = json_decode($data, true);
 //        refill\RefillFactory::instance()->notify('wantong',$input);
     }
 
@@ -459,6 +459,16 @@ class TestRefill extends TestCase
 //        refill\RefillFactory::instance()->notify('wailing',$input);
     }
 
+    public function testShengyingPhone()
+    {
+        $providers = new refill\shengying\RefillPhone([]);
+//        $resp = $providers->add(13699279618, 4, 30, ['order_sn' => $this->make_sn()]);
+        $resp = $providers->query(['order_sn' => '37571618805115582483']);
+        $data = '{"TaskID":"129636","Mobile":"13699279618","Status":"4","ReportTime":"2021-04-19T12:06:16.050","ReportCode":"1:511531522026586295","OutTradeNo":"37571618805115582483","ReceiptNum":"511531522026586295","Sign":"a7f46a988bc8483091d94130804e5078"}';
+        $input = json_decode($data, true);
+//        refill\RefillFactory::instance()->notify('shengying',$input);
+    }
+
     public function testYunlingPhone()
     {
         $providers = new refill\yunling\RefillPhone([]);
@@ -469,6 +479,46 @@ class TestRefill extends TestCase
 //        refill\RefillFactory::instance()->notify('yunling',$input);
     }
 
+    public function testZhongstPhone()
+    {
+        $providers = new refill\zhongst\RefillPhone([]);
+//        $resp = $providers->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
+//        $resp = $providers->query(['order_sn' => '48941618981770389271']);
+        $data = ' {"szOrderId":"66571619060147539784","fSalePrice":"46.5","szAgentId":"200030","nFlag":"2","szVerifyString":"c1e88701b89a4887996822d708bed5f5","szPhoneNum":"13699279618","szRtnMsg":"161122673971","nDemo":"50"}';
+        $input = json_decode($data, true);
+        refill\RefillFactory::instance()->notify('zhongst',$input);
+    }
+
+    public function testLuqianPhone()
+    {
+        $providers = new refill\luqian\RefillPhone([]);
+//        $resp = $providers->add(18500608333, 5, 100, ['order_sn' => $this->make_sn()]);
+//        $resp = $providers->query(['order_sn' => '34101618897099329575']);
+        $data = '{"amount":"100","charge_type":"0","code":"1","partner_id":"38","phone":"18500608333","sign":"c2c86cccc73fa991a63c369e683c91f2","partner_order_no":"34101618897099329575","official_order_id":"110103308072104201338340278420"}';
+        $input = json_decode($data, true);
+        refill\RefillFactory::instance()->notify('luqian',$input);
+    }
+
+    public function testAfandfsPhone()
+    {
+        $providers = new refill\afandfs\RefillPhone([]);
+//        $resp = $providers->add(15139608757, 4, 30, ['order_sn' => $this->make_sn()]);
+        $resp = $providers->query(['order_sn' => '65101618975926761630']);
+        $data = '{"amount":"30","charge_type":"2","code":"1","partner_id":"52","phone":"15139608757","sign":"a7f54c1ac3e1af72f9fc849086cc4bec","partner_order_no":"65101618975926761630","official_order_id":"20210421113256628350"}';
+        $input = json_decode($data, true);
+//        refill\RefillFactory::instance()->notify('afandfs',$input);
+    }
+
+    public function testYunlingfsPhone()
+    {
+        $providers = new refill\yunlingfs\RefillPhone([]);
+//        $resp = $providers->add(15139608757, 4, 30, ['order_sn' => $this->make_sn()]);
+        $resp = $providers->query(['order_sn' => '89451618975609262234']);
+        $data = '{"userid":"10073527","sporderid":"89451618975609262234","orderid":"02D8A7D2ADD7F4DC73527","resultno":"1","merchantsubmittime":"20210421112737","ordermoney":"28.68","verifystring":"95e3fe834a25cc8c524e09480354d9ba","sign":"b4fb11138a9f883749be320772965add","supnumber":"20210421112716840298"}';
+        $input = json_decode($data, true);
+//        refill\RefillFactory::instance()->notify('yunlingfs',$input);
+    }
+
     public function testLingzhPhone()
     {
         $providers = new refill\lingzh\RefillPhone([]);