瀏覽代碼

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

stanley-king 3 年之前
父節點
當前提交
4feade388a
共有 35 個文件被更改,包括 1197 次插入120 次删除
  1. 11 3
      admin/templates/default/refill.buyback.order.php
  2. 206 103
      data/config/xyz/refill.ini.php
  3. 3 1
      helper/refill/api/xyz/dashang_normal/config.php
  4. 5 1
      helper/refill/api/xyz/dashang_normal/开户信息.txt
  5. 二進制
      helper/refill/api/xyz/guochuang/20220317青海移动调价函.png
  6. 二進制
      helper/refill/api/xyz/guochuang/20220317黑龙江移动调价函.png
  7. 二進制
      helper/refill/api/xyz/guochuang/20220318湖南电信调价函.png
  8. 3 3
      helper/refill/api/xyz/guochuang/config.php
  9. 1 1
      helper/refill/api/xyz/hangtong/config.php
  10. 6 0
      helper/refill/api/xyz/hangtong/椰子.txt
  11. 48 0
      helper/refill/api/xyz/kailinyu/RefillCallBack.php
  12. 155 0
      helper/refill/api/xyz/kailinyu/RefillPhone.php
  13. 55 0
      helper/refill/api/xyz/kailinyu/config.php
  14. 34 0
      helper/refill/api/xyz/kailinyu/对接文档-yezi.txt
  15. 二進制
      helper/refill/api/xyz/kuaikuaifs/20220318广东移动调价函.png
  16. 8 0
      helper/refill/api/xyz/kuaikuaifs/API信息.txt
  17. 42 0
      helper/refill/api/xyz/kuaikuaifs/RefillCallBack.php
  18. 155 0
      helper/refill/api/xyz/kuaikuaifs/RefillPhone.php
  19. 80 0
      helper/refill/api/xyz/kuaikuaifs/config.php
  20. 二進制
      helper/refill/api/xyz/kuaikuaifs/快收平台话费充值接口文档v1.0.docx
  21. 二進制
      helper/refill/api/xyz/kuaikuaifs/椰子-分省产品编码.xlsx
  22. 67 0
      helper/refill/api/xyz/yamiaoman/RefillCallBack.php
  23. 155 0
      helper/refill/api/xyz/yamiaoman/RefillPhone.php
  24. 34 0
      helper/refill/api/xyz/yamiaoman/config.php
  25. 22 0
      helper/refill/api/xyz/yamiaoman/开户信息.txt
  26. 6 1
      helper/refill/api/xyz/yuanta/api.txt
  27. 3 0
      helper/refill/api/xyz/yuanta/config.php
  28. 4 4
      helper/refill/api/xyz/yunlingfs/RefillPhone.php
  29. 6 0
      helper/refill/api/xyz/yunlingfs/config.php
  30. 8 1
      helper/refill/api/xyz/yunlingfs/新系椰子分省通代理信息.txt
  31. 4 0
      mobile/callback/refill_kailinyu.php
  32. 6 0
      mobile/callback/refill_kuaikuaifs.php
  33. 4 0
      mobile/callback/refill_yamiaoman.php
  34. 36 0
      test/TestRefill.php
  35. 30 2
      util/test.sh

+ 11 - 3
admin/templates/default/refill.buyback.order.php

@@ -272,7 +272,15 @@
                     <td class="align-left" class="ch_trade_no"><?php echo $order['ch_trade_no']; ?></td>
                     <td class="align-left"><?php echo $order['channel_name']; ?></td>
                     <td class="align-right"><?php echo $order['channel_amount']; ?></td>
-                    <td class="align-left"><?php echo $order['manual_type']; ?></td>
+                    <td class="align-left">
+                        <?php if($order['manual_type'] == 'buyback') {
+                            echo '返销';
+                        }elseif($order['manual_type'] == 'cancel'){
+                            echo '手动失败';
+                        }elseif ($order['manual_type'] == 'success'){
+                            echo '手动成功';
+                        }?>
+                    </td>
                     <td class="align-left"><?php echo $order['admin_name']; ?></td>
                     <td class="align-center"><?php echo $order['bz']; ?></td>
                     <!--                    <td class="align-center">--><?php //echo $order['mch_amount']; ?><!--</td>-->
@@ -280,13 +288,13 @@
             <?php } ?>
         <?php } else { ?>
             <tr class="no_data">
-                <td colspan="16"><?php echo $lang['nc_no_record']; ?></td>
+                <td colspan="17"><?php echo $lang['nc_no_record']; ?></td>
             </tr>
         <?php } ?>
         </tbody>
         <tfoot>
         <tr class="tfoot">
-            <td colspan="16" id="dataFuncs">
+            <td colspan="17" id="dataFuncs">
                 <div class="pagination"> <?php echo $output['show_page']; ?> </div>
             </td>
         </tr>

+ 206 - 103
data/config/xyz/refill.ini.php

@@ -575,28 +575,28 @@ $xunyin_phone = ['name' => 'xunyin', 'store_id' => 35,'qualitys' => '2',
         ],
         50 => [
             ['goods_id' => 6441, 'price' => 50.1, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 6441, 'price' => 50, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6441, 'price' => 50.1, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6441, 'price' => 49.75, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
 
         100 => [
             ['goods_id' => 6442, 'price' => 100.2, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 6442, 'price' => 100, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6442, 'price' => 100.2, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6442, 'price' => 100.2, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 6443, 'price' => 200.4, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 6443, 'price' => 200, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6443, 'price' => 200.4, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6443, 'price' => 200.4, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         300 => [
             ['goods_id' => 6444, 'price' => 300.6, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 6444, 'price' => 300, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6444, 'price' => 300.6, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6444, 'price' => 300.6, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         500 => [
             ['goods_id' => 6445, 'price' => 501, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 6445, 'price' => 500, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 6445, 'price' => 501, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6445, 'price' => 501, 'quality' => 2, 'card_type' => 'chinatelecom']
         ]
     ],
@@ -759,18 +759,22 @@ $yunlingfs_phone = ['name' => 'yunlingfs', 'store_id' => 42, 'qualitys' => '1',
         20 => [['goods_id' => 6489, 'price' => 19.06, 'quality' => 1, 'card_type' => 'chinamobile']],
         30 => [
             ['goods_id' => 6490, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6490, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6490, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 6491, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6491, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6491, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 6492, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6492, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6492, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 6493, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 6493, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 6493, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         300 => [
@@ -982,22 +986,22 @@ $yunsuoyao_phone = ['name' => 'yunsuoyao', 'store_id' => 55, 'qualitys' => '1',
         30 => [
             ['goods_id' => 6573, 'price' => 28.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6573, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6573, 'price' => 28.62, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6573, 'price' => 28.44, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 6574, 'price' => 48, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6574, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6574, 'price' => 47.7, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6574, 'price' => 47.4, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 6575, 'price' => 96, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6575, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6575, 'price' => 95.4, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6575, 'price' => 94.8, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 6576, 'price' => 192, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6576, 'price' => 190.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6576, 'price' => 190.8, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6576, 'price' => 189.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 
         300 => [
@@ -1687,22 +1691,22 @@ $yunchonggong_phone = ['name' => 'yunchonggong', 'store_id' => 87,'qualitys' =>
         30 => [
             ['goods_id' => 6799, 'price' => 28.74, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6799, 'price' => 28.26, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6799, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6799, 'price' => 28.35, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 6800, 'price' => 47.9, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6800, 'price' => 47.1, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6800, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6800, 'price' => 47.25, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 6801, 'price' => 95.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6801, 'price' => 94.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6801, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6801, 'price' => 94.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 6802, 'price' => 191.6, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6802, 'price' => 188.4, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6802, 'price' => 191, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6802, 'price' => 189, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 //        300 => [
 //            ['goods_id' => 6803, 'price' => 288, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -2260,22 +2264,22 @@ $wangliantx_phone = ['name' => 'wangliantx', 'store_id' => 112,'qualitys' => '1'
         30 => [
             ['goods_id' => 6981, 'price' => 28.74, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6981, 'price' => 28.53, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6981, 'price' => 28.83, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6981, 'price' => 28.35, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 6982, 'price' => 47.9, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6982, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6982, 'price' => 48.05, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6982, 'price' => 47.25, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 6983, 'price' => 95.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6983, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6983, 'price' => 96.1, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6983, 'price' => 94.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 6984, 'price' => 191.6, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 6984, 'price' => 190.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 6984, 'price' => 192.2, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 6984, 'price' => 189, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 //        300 => [
 //            ['goods_id' => 6985, 'price' => 285.9, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -2342,22 +2346,22 @@ $yilin_phone = ['name' => 'yilin', 'store_id' => 115, 'qualitys' => '1',
         30 => [
             ['goods_id' => 7005, 'price' => 28.92, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7005, 'price' => 28.77, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7005, 'price' => 28.83, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7005, 'price' => 28.68, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7006, 'price' => 48.2, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7006, 'price' => 47.95, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7006, 'price' => 48.05, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7006, 'price' => 47.8, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7007, 'price' => 96.4, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7007, 'price' => 95.9, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7007, 'price' => 96.1, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7007, 'price' => 95.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7008, 'price' => 192.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7008, 'price' => 191.8, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7008, 'price' => 192.2, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7008, 'price' => 191.2, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         300 => [
             ['goods_id' => 7009, 'price' => 289.2, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -2571,38 +2575,38 @@ $guochuang_nation_phone = ['name' => 'guochuang_nation', 'store_id' => 121, 'qua
         ],
 
         10 => [
-            ['goods_id' => 7060, 'price' => 10.54, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7060, 'price' => 10.31, 'quality' => 2, 'card_type' => 'chinamobile'],
             ['goods_id' => 7060, 'price' => 10.04, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7060, 'price' => 10.11, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7060, 'price' => 10.16, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         20 => [
             ['goods_id' => 7061, 'price' => 20.32, 'quality' => 2, 'card_type' => 'chinamobile'],
             ['goods_id' => 7061, 'price' => 20.08, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7061, 'price' => 20.18, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7061, 'price' => 20.27, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         30 => [
             ['goods_id' => 7062, 'price' => 30.33, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7062, 'price' => 29.985, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7062, 'price' => 30.024, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7062, 'price' => 30.27, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7063, 'price' => 50.1, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7063, 'price' => 49.975, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7063, 'price' => 50.04, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7063, 'price' => 50.2, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7064, 'price' => 100.2, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7064, 'price' => 99.95, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7064, 'price' => 100.08, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7064, 'price' => 100.2, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7065, 'price' => 200.4, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7065, 'price' => 199.9, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7065, 'price' => 200.16, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7065, 'price' => 200.4, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         300 => [
             ['goods_id' => 7066, 'price' => 300.6, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7066, 'price' => 299.85, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7066, 'price' => 300.24, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7066, 'price' => 300.6, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         500 => [
@@ -2710,23 +2714,23 @@ $hangtong_phone = ['name' => 'hangtong', 'store_id' => 126,'qualitys' => '1',
 //        ],
         30 => [
             ['goods_id' => 7102, 'price' => 28.74, 'quality' => 1, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7102, 'price' => 28.32, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7102, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7102, 'price' => 28.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7102, 'price' => 28.38, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
-            ['goods_id' => 7103, 'price' => 47.9, 'quality' => 1, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7103, 'price' => 47.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7103, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7103, 'price' => 47.55, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7103, 'price' => 47, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7103, 'price' => 47.3, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
-            ['goods_id' => 7104, 'price' => 95.8, 'quality' => 1, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7104, 'price' => 94.4, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7104, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7104, 'price' => 95.1, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7104, 'price' => 94, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7104, 'price' => 94.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
-            ['goods_id' => 7105, 'price' => 191.6, 'quality' => 1, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7105, 'price' => 188.8, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7105, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7105, 'price' => 190.2, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7105, 'price' => 188, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7105, 'price' => 189.2, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 //        300 => [
 //            ['goods_id' => 7106, 'price' => 287.4, 'quality' => 1, 'card_type' => 'chinamobile'],
@@ -2801,20 +2805,20 @@ $yuanta_phone = ['name' => 'yuanta', 'store_id' => 128, 'qualitys' => '5',
 //            ['goods_id' => 7118, 'price' => 27.45, 'quality' => 5, 'card_type' => 'chinaunicom'],
 //            ['goods_id' => 7118, 'price' => 28.68, 'quality' => 5, 'card_type' => 'chinatelecom']
 //        ],
-//        50 => [
-//            ['goods_id' => 7119, 'price' => 45.9, 'quality' => 5, 'card_type' => 'chinamobile'],
+        50 => [
+            ['goods_id' => 7119, 'price' => 47.25, 'quality' => 5, 'card_type' => 'chinamobile'],
 //            ['goods_id' => 7119, 'price' => 45.75, 'quality' => 5, 'card_type' => 'chinaunicom'],
 //            ['goods_id' => 7119, 'price' => 47.8, 'quality' => 5, 'card_type' => 'chinatelecom']
-//        ],
+        ],
         100 => [
-//            ['goods_id' => 7120, 'price' => 91.8, 'quality' => 5, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7120, 'price' => 90.3, 'quality' => 5, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7120, 'price' => 92.5, 'quality' => 5, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7120, 'price' => 94.5, 'quality' => 5, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7120, 'price' => 90, 'quality' => 5, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7120, 'price' => 91.5, 'quality' => 5, 'card_type' => 'chinatelecom']
         ],
         200 => [
-//            ['goods_id' => 7121, 'price' => 183.6, 'quality' => 5, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7121, 'price' => 180.6, 'quality' => 5, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7121, 'price' => 185, 'quality' => 5, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7121, 'price' => 189, 'quality' => 5, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7121, 'price' => 180, 'quality' => 5, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7121, 'price' => 183, 'quality' => 5, 'card_type' => 'chinatelecom']
         ]
 //        300 => [
 //            ['goods_id' => 7122, 'price' => 275.4, 'quality' => 5, 'card_type' => 'chinamobile'],
@@ -2989,22 +2993,22 @@ $xingzy_normal_phone = ['name' => 'xingzy_normal', 'store_id' => 137, 'qualitys'
         30 => [
             ['goods_id' => 7181, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7181, 'price' => 28.47, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7181, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7181, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7182, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7182, 'price' => 47.45, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7182, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7182, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7183, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7183, 'price' => 94.9, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7183, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7183, 'price' => 95, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7184, 'price' => 191, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7184, 'price' => 189.8, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7184, 'price' => 191, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7184, 'price' => 190, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 //        300 => [['goods_id' => 7185, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']],
 //        500 => [['goods_id' => 7186, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinaunicom,chinatelecom']]
@@ -3069,23 +3073,23 @@ $shuoruan_phone = ['name' => 'shuoruan', 'store_id' => 142, 'qualitys' => '2',
 //        20 => [['goods_id' => 7220, 'price' => 19.94, 'quality' => 2, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
         30 => [
             ['goods_id' => 7221, 'price' => 30.28, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7221, 'price' => 30.03, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7221, 'price' => 30.28, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7221, 'price' => 29.4, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7221, 'price' => 29.82, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7222, 'price' => 50.28, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7222, 'price' => 50.05, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7222, 'price' => 50.28, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7222, 'price' => 49, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7222, 'price' => 49.7, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7223, 'price' => 100.28, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7223, 'price' => 100.1, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7223, 'price' => 100.28, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7223, 'price' => 98, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7223, 'price' => 99.4, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7224, 'price' => 200.28, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7224, 'price' => 200.2, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7224, 'price' => 200.28, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7224, 'price' => 196, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7224, 'price' => 198.8, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         300 => [
             ['goods_id' => 7225, 'price' => 300.28, 'quality' => 2, 'card_type' => 'chinamobile'],
@@ -3253,10 +3257,12 @@ $dashang_normal_phone = ['name' => 'dashang_normal', 'store_id' => 148, 'quality
             ['goods_id' => 7272, 'price' => 191, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         300 => [
-            ['goods_id' => 7273, 'price' => 284.4, 'quality' => 1, 'card_type' => 'chinaunicom']
+            ['goods_id' => 7273, 'price' => 284.4, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7273, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         500 => [
-            ['goods_id' => 7274, 'price' => 474, 'quality' => 1, 'card_type' => 'chinaunicom']
+            ['goods_id' => 7274, 'price' => 474, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7274, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
@@ -4031,33 +4037,33 @@ $yamiao_normal_phone = ['name' => 'yamiao_normal', 'store_id' => 172, 'qualitys'
 //        10 => [['goods_id' => 7463, 'price' => 9.55, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
 //        20 => [['goods_id' => 7464, 'price' => 19.1, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
         30 => [
-            ['goods_id' => 7465, 'price' => 28.71, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7465, 'price' => 28.77, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7465, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7465, 'price' => 28.71, 'quality' => 1, 'card_type' => 'chinatelecom'],
+            ['goods_id' => 7465, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinatelecom'],
         ],
         50 => [
             ['goods_id' => 7466, 'price' => 47.95, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7466, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7466, 'price' => 47.85, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7466, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7467, 'price' => 95.9, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7467, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7467, 'price' => 95.7, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7467, 'price' => 95, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7468, 'price' => 191.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7468, 'price' => 191, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7468, 'price' => 191.4, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7468, 'price' => 190, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         300 => [
-            ['goods_id' => 7469, 'price' => 287.1, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7469, 'price' => 287.7, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7469, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7469, 'price' => 285, 'quality' => 1, 'card_type' => 'chinatelecom']
 
         ],
         500 => [
-            ['goods_id' => 7470, 'price' => 478.5, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7470, 'price' => 479.5, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7470, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7470, 'price' => 475, 'quality' => 1, 'card_type' => 'chinatelecom']
 
@@ -4072,22 +4078,22 @@ $cangxin_phone = ['name' => 'cangxin', 'store_id' => 174, 'qualitys' => '1',
         30 => [
             ['goods_id' => 7474, 'price' => 28.77, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7474, 'price' => 28.35, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7474, 'price' => 28.41, 'quality' => 1, 'card_type' => 'chinatelecom'],
+            ['goods_id' => 7474, 'price' => 28.14, 'quality' => 1, 'card_type' => 'chinatelecom'],
         ],
         50 => [
             ['goods_id' => 7475, 'price' => 47.95, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7475, 'price' => 47.25, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7475, 'price' => 47.35, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7475, 'price' => 46.75, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7476, 'price' => 95.9, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7476, 'price' => 94.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7476, 'price' => 94.7, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7476, 'price' => 93.5, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7477, 'price' => 191.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7477, 'price' => 189, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7477, 'price' => 189.4, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7477, 'price' => 187, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
 //        300 => [['goods_id' => 7478, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
 //        500 => [['goods_id' => 7479, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
@@ -4411,17 +4417,17 @@ $chizeng_normal_phone = ['name' => 'chizeng_normal', 'store_id' => 182,'qualitys
             ['goods_id' => 7538, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
-            ['goods_id' => 7539, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7539, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7539, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7539, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
-            ['goods_id' => 7540, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7540, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7540, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7540, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
-            ['goods_id' => 7541, 'price' => 191, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7541, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7541, 'price' => 191, 'quality' => 1, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7541, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
@@ -4915,32 +4921,32 @@ $ningying_normal_phone = ['name' => 'ningying_normal', 'store_id' => 197,'qualit
         30 => [
             ['goods_id' => 7659, 'price' => 28.68, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7659, 'price' => 28.26, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7659, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7659, 'price' => 28.44, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7660, 'price' => 47.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7660, 'price' => 47.1, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7660, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7660, 'price' => 47.4, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         100 => [
             ['goods_id' => 7661, 'price' => 95.6, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7661, 'price' => 94.2, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7661, 'price' => 95, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7661, 'price' => 94.8, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         200 => [
             ['goods_id' => 7662, 'price' => 191.2, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7662, 'price' => 188.4, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7662, 'price' => 190, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7662, 'price' => 189.6, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         300 => [
             ['goods_id' => 7663, 'price' => 286.8, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7663, 'price' => 282.6, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7663, 'price' => 285, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7663, 'price' => 284.4, 'quality' => 1, 'card_type' => 'chinatelecom']
         ],
         500 => [
             ['goods_id' => 7664, 'price' => 478, 'quality' => 1, 'card_type' => 'chinamobile'],
             ['goods_id' => 7664, 'price' => 471, 'quality' => 1, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7664, 'price' => 475, 'quality' => 1, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7664, 'price' => 474, 'quality' => 1, 'card_type' => 'chinatelecom']
         ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
@@ -5052,10 +5058,10 @@ $ruixundaman_phone = ['name' => 'ruixundaman', 'store_id' => 201, 'qualitys' =>
     'amount' => [
 //        10 => [['goods_id' => 7689, 'price' => 8.95, 'quality' => 5, 'card_type' => 'chinaunicom']],
 //        20 => [['goods_id' => 7690, 'price' => 17.9, 'quality' => 5, 'card_type' => 'chinaunicom']],
-        30 => [['goods_id' => 7691, 'price' => 26.85, 'quality' => 5, 'card_type' => 'chinaunicom']],
-        50 => [['goods_id' => 7692, 'price' => 44.75, 'quality' => 5, 'card_type' => 'chinaunicom']],
-        100 => [['goods_id' => 7693, 'price' => 89.5, 'quality' => 5, 'card_type' => 'chinaunicom']],
-        200 => [['goods_id' => 7694, 'price' => 179, 'quality' => 5, 'card_type' => 'chinaunicom']],
+//        30 => [['goods_id' => 7691, 'price' => 26.85, 'quality' => 5, 'card_type' => 'chinaunicom']],
+        50 => [['goods_id' => 7692, 'price' => 44.25, 'quality' => 5, 'card_type' => 'chinaunicom']],
+        100 => [['goods_id' => 7693, 'price' => 88.5, 'quality' => 5, 'card_type' => 'chinaunicom']],
+        200 => [['goods_id' => 7694, 'price' => 177, 'quality' => 5, 'card_type' => 'chinaunicom']],
 //        300 => [['goods_id' => 7695, 'price' => 268.5, 'quality' => 5, 'card_type' => 'chinaunicom']],
 //        500 => [['goods_id' => 7696, 'price' => 447.5, 'quality' => 5, 'card_type' => 'chinaunicom']]
     ],
@@ -5068,12 +5074,12 @@ $ruizhi_tax_phone = ['name' => 'ruizhi_tax', 'store_id' => 202, 'qualitys' => '2
             ['goods_id' => 7697, 'price' => 5.435, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         10 => [
-            ['goods_id' => 7698, 'price' => 10.67, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7698, 'price' => 10.98, 'quality' => 2, 'card_type' => 'chinamobile'],
             ['goods_id' => 7698, 'price' => 10.5, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7698, 'price' => 10.62, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         20 => [
-            ['goods_id' => 7699, 'price' => 21.04, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7699, 'price' => 21.96, 'quality' => 2, 'card_type' => 'chinamobile'],
             ['goods_id' => 7699, 'price' => 20.82, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7699, 'price' => 21, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
@@ -5124,33 +5130,33 @@ $pengxinda_phone = ['name' => 'pengxinda', 'store_id' => 203,'qualitys' => '2',
 //        ],
         30 => [
 //            ['goods_id' => 7708, 'price' => 31.11, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7708, 'price' => 31.11, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7708, 'price' => 31.065, 'quality' => 2, 'card_type' => 'chinaunicom'],
 //            ['goods_id' => 7708, 'price' => 31.11, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         50 => [
             ['goods_id' => 7709, 'price' => 51.85, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7709, 'price' => 51.85, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7709, 'price' => 51.775, 'quality' => 2, 'card_type' => 'chinaunicom'],
             ['goods_id' => 7709, 'price' => 51.85, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         100 => [
-            ['goods_id' => 7710, 'price' => 103.7, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7710, 'price' => 103.7, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7710, 'price' => 103.7, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7710, 'price' => 103.6, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7710, 'price' => 103.55, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7710, 'price' => 103.55, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         200 => [
-            ['goods_id' => 7711, 'price' => 207.4, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7711, 'price' => 207.4, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7711, 'price' => 207.4, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7711, 'price' => 207.2, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7711, 'price' => 207.1, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7711, 'price' => 207.1, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         300 => [
-            ['goods_id' => 7712, 'price' => 311.1, 'quality' => 2, 'card_type' => 'chinamobile'],
-            ['goods_id' => 7712, 'price' => 311.1, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7712, 'price' => 311.1, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7712, 'price' => 310.8, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7712, 'price' => 310.65, 'quality' => 2, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7712, 'price' => 310.65, 'quality' => 2, 'card_type' => 'chinatelecom']
         ],
         500 => [
-            ['goods_id' => 7713, 'price' => 518.5, 'quality' => 2, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7713, 'price' => 518, 'quality' => 2, 'card_type' => 'chinamobile'],
             ['goods_id' => 7713, 'price' => 518.5, 'quality' => 2, 'card_type' => 'chinaunicom'],
-            ['goods_id' => 7713, 'price' => 518.5, 'quality' => 2, 'card_type' => 'chinatelecom']
+            ['goods_id' => 7713, 'price' => 517.75, 'quality' => 2, 'card_type' => 'chinatelecom']
         ]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
@@ -5196,6 +5202,101 @@ $huazhong_phone = ['name' => 'huazhong', 'store_id' => 204, 'qualitys' => '1',
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
+$yamiaoman_phone = ['name' => 'yamiaoman', 'store_id' => 205, 'qualitys' => '5',
+    'amount' => [
+//        10 => [
+//            ['goods_id' => 7722, 'price' => 9, 'quality' => 5, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7722, 'price' => 9.25, 'quality' => 5, 'card_type' => 'chinatelecom']
+//        ],
+//        20 => [
+//            ['goods_id' => 7723, 'price' => 18, 'quality' => 5, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7723, 'price' => 18.5, 'quality' => 5, 'card_type' => 'chinatelecom']
+//        ],
+//        30 => [
+//            ['goods_id' => 7724, 'price' => 27, 'quality' => 5, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7724, 'price' => 27.75, 'quality' => 5, 'card_type' => 'chinatelecom']
+//        ],
+        50 => [
+            ['goods_id' => 7725, 'price' => 45, 'quality' => 5, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7725, 'price' => 45.5, 'quality' => 5, 'card_type' => 'chinatelecom']
+        ],
+        100 => [
+            ['goods_id' => 7726, 'price' => 90, 'quality' => 5, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7726, 'price' => 91, 'quality' => 5, 'card_type' => 'chinatelecom']
+        ],
+        200 => [
+            ['goods_id' => 7727, 'price' => 180, 'quality' => 5, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7727, 'price' => 182, 'quality' => 5, 'card_type' => 'chinatelecom']
+        ],
+//        300 => [
+//            ['goods_id' => 7728, 'price' => 270, 'quality' => 5, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7728, 'price' => 277.5, 'quality' => 5, 'card_type' => 'chinatelecom']
+//        ],
+//        500 => [
+//            ['goods_id' => 7729, 'price' => 450, 'quality' => 5, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7729, 'price' => 462.5, 'quality' => 5, 'card_type' => 'chinatelecom']
+//        ]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$kailinyu_phone = ['name' => 'kailinyu', 'store_id' => 206, 'qualitys' => '1',
+    'amount' => [
+//        10 => [
+//            ['goods_id' => 7730, 'price' => 9.55, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7730, 'price' => 9.53, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7730, 'price' => 9.53, 'quality' => 1, 'card_type' => 'chinatelecom']
+//        ],
+//        20 => [
+//            ['goods_id' => 7731, 'price' => 19.1, 'quality' => 1, 'card_type' => 'chinamobile'],
+//            ['goods_id' => 7731, 'price' => 19.06, 'quality' => 1, 'card_type' => 'chinaunicom'],
+//            ['goods_id' => 7731, 'price' => 19.06, 'quality' => 1, 'card_type' => 'chinatelecom']
+//        ],
+        30 => [
+            ['goods_id' => 7732, 'price' => 28.65, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7732, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7732, 'price' => 28.59, 'quality' => 1, 'card_type' => 'chinatelecom']
+        ],
+        50 => [
+            ['goods_id' => 7733, 'price' => 47.75, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7733, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7733, 'price' => 47.65, 'quality' => 1, 'card_type' => 'chinatelecom'],
+        ],
+        100 => [
+            ['goods_id' => 7734, 'price' => 95.5, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7734, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7734, 'price' => 95.3, 'quality' => 1, 'card_type' => 'chinatelecom']
+        ],
+        200 => [
+            ['goods_id' => 7735, 'price' => 191, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7735, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7735, 'price' => 190.6, 'quality' => 1, 'card_type' => 'chinatelecom']
+        ],
+        300 => [
+            ['goods_id' => 7736, 'price' => 286.5, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7736, 'price' => 285.9, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7736, 'price' => 285.9, 'quality' => 1, 'card_type' => 'chinatelecom']
+        ],
+        500 => [
+            ['goods_id' => 7737, 'price' => 477.5, 'quality' => 1, 'card_type' => 'chinamobile'],
+            ['goods_id' => 7737, 'price' => 476.5, 'quality' => 1, 'card_type' => 'chinaunicom'],
+            ['goods_id' => 7737, 'price' => 476.5, 'quality' => 1, 'card_type' => 'chinatelecom']
+        ]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$kuaikuaifs_phone = ['name' => 'kuaikuaifs', 'store_id' => 207, 'qualitys' => '2',
+    'amount' => [
+        10 => [['goods_id' => 7738, 'price' => 9.99, 'quality' => 2, 'card_type' => 'chinamobile']],
+        20 => [['goods_id' => 7739, 'price' => 19.98, 'quality' => 2, 'card_type' => 'chinamobile']],
+        30 => [['goods_id' => 7740, 'price' => 29.97, 'quality' => 2, 'card_type' => 'chinamobile']],
+        50 => [['goods_id' => 7741, 'price' => 49.95, 'quality' => 2, 'card_type' => 'chinamobile']],
+        100 => [['goods_id' => 7742, 'price' => 99.9, 'quality' => 2, 'card_type' => 'chinamobile']],
+        200 => [['goods_id' => 7743, 'price' => 199.8, 'quality' => 2, 'card_type' => 'chinamobile']],
+        300 => [['goods_id' => 7744, 'price' => 299.7, 'quality' => 2, 'card_type' => 'chinamobile']],
+        500 => [['goods_id' => 7745, 'price' => 499.5, 'quality' => 2, 'card_type' => 'chinamobile']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $phone_providers = [
 //    ['name' => 'beixt', 'cfg' => $beixt_phone],
 //    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
@@ -5362,7 +5463,9 @@ $phone_providers = [
     ['name' => 'ruizhi_tax', 'cfg' => $ruizhi_tax_phone],
     ['name' => 'pengxinda', 'cfg' => $pengxinda_phone],
     ['name' => 'huazhong', 'cfg' => $huazhong_phone],
-
+    ['name' => 'yamiaoman', 'cfg' => $yamiaoman_phone],
+    ['name' => 'kailinyu', 'cfg' => $kailinyu_phone],
+    ['name' => 'kuaikuaifs', 'cfg' => $kuaikuaifs_phone],
 ];
 $config['phone_providers'] = $phone_providers;
 

+ 3 - 1
helper/refill/api/xyz/dashang_normal/config.php

@@ -43,7 +43,9 @@ class config
                 30  => 60040030,
                 50  => 60040050,
                 100 => 60040100,
-                200 => 60040200
+                200 => 60040200,
+                300 => 60040300,
+                500 => 60040500
             ]
     ];
 }

+ 5 - 1
helper/refill/api/xyz/dashang_normal/开户信息.txt

@@ -31,4 +31,8 @@ key: 1d3a51d49c3b0ba2685389b52f26bffb
 60030030 全国移动30
 60030050 全国移动50
 60030100 全国移动100
-60030200 全国移动200
+60030200 全国移动200
+
+2022.3.17增加电信商品
+60040300	全国电信DJ300
+60040500	全国电信DJ500

二進制
helper/refill/api/xyz/guochuang/20220317青海移动调价函.png


二進制
helper/refill/api/xyz/guochuang/20220317黑龙江移动调价函.png


二進制
helper/refill/api/xyz/guochuang/20220318湖南电信调价函.png


+ 3 - 3
helper/refill/api/xyz/guochuang/config.php

@@ -66,8 +66,8 @@ class config
         "4-10-2" => 9.99, "4-20-2" => 19.98, "4-30-2" => 29.895, "4-50-2" => 49.825, "4-100-2" => 99.65, "4-200-2" => 199.3, "4-300-2" => 298.95, "4-500-2" => 498.25,//天津 2
         "4-10-6" => 9.75, "4-20-6" => 19.5, "4-30-6" => 29.25, "4-50-6" => 48.75, "4-100-6" => 97.5, "4-200-6" => 195, "4-300-6" => 292.5, "4-500-6" => 487.5,//辽宁 6
         "4-10-9" => 9.94, "4-20-9" => 19.88, "4-30-9" => 29.82, "4-50-9" => 49.7, "4-100-9" => 99.4,//上海 9
-        "4-10-8" => 9.945, "4-20-8" => 19.89, "4-30-8" => 29.835, "4-50-8" => 49.725, "4-100-8" => 99.45, "4-200-8" => 198.9, "4-300-8" => 298.35, "4-500-8" => 497.25 ,//黑龙江 8
-        "4-10-29" => 9.79, "4-20-29" => 19.58, "4-30-29" => 29.37, "4-50-29" => 48.95, "4-100-29" => 97.9, "4-200-29" => 195.8, "4-300-29" => 293.7, "4-500-29" => 489.5,//青海 29
+        "4-10-8" => 10, "4-20-8" => 20, "4-30-8" => 30, "4-50-8" => 50, "4-100-8" => 100, "4-200-8" => 200, "4-300-8" => 300, "4-500-8" => 500 ,//黑龙江 8
+        "4-10-29" => 9.765, "4-20-29" => 19.53, "4-30-29" => 29.295, "4-50-29" => 48.825, "4-100-29" => 97.65, "4-200-29" => 195.3, "4-300-29" => 292.95, "4-500-29" => 488.25,//青海 29
         "4-10-28" => 9.985, "4-20-28" => 19.97, "4-30-28" => 29.955, "4-50-28" => 49.925, "4-100-28" => 99.85, "4-200-28" => 199.7, "4-300-28" => 299.55, "4-500-28" => 499.25,//甘肃 28
         "4-10-13" => 10.22, "4-20-13" => 19.94, "4-30-13" => 29.91, "4-50-13" => 49.85, "4-100-13" => 99.7, "4-200-13" => 199.4, "4-300-13" => 300.9, "4-500-13" => 501.5,//福建 13
         "4-10-5" => 9.99, "4-20-5" => 19.98, "4-30-5" => 29.97, "4-50-5" => 49.95, "4-100-5" => 99.9, "4-200-5" => 200.4, "4-300-5" => 300.6, "4-500-5" => 501,//内蒙古 5
@@ -91,7 +91,7 @@ class config
         //电信
         "6-10-27" => 9.94, "6-20-27" => 19.88, "6-30-27" => 29.82, "6-50-27" => 49.7, "6-100-27" => 99.4, "6-200-27" => 198.8, "6-300-27" => 298.5, "6-500-27" => 497.5,//陕西 27
         "6-10-4" => 9.935, "6-20-4" => 19.87, "6-30-4" => 29.805, "6-50-4" => 49.675, "6-100-4" => 99.35, "6-200-4" => 198.7, "6-300-4" => 298.05, "6-500-4" => 496.75,//山西 4
-        "6-10-18" => 10.13, "6-20-18" => 20.26, "6-30-18" => 30.39, "6-50-18" => 50.15, "6-100-18" => 100.3, "6-200-18" => 200.6, "6-300-18" => 300.9, "6-500-18" => 501.5,//湖南 18
+        "6-10-18" => 10.04, "6-20-18" => 20.08, "6-30-18" => 30.12, "6-50-18" => 50.15, "6-100-18" => 100.3, "6-200-18" => 200.6, "6-300-18" => 300.9, "6-500-18" => 501.5,//湖南 18
         "6-10-15" => 10.21, "6-20-15" => 20.22, "6-30-15" => 30.231, "6-50-15" => 50.25, "6-100-15" => 100.3, "6-200-15" => 200.3, "6-300-15" => 300.45, "6-500-15" => 500.75,//山东 15
         "6-10-12" => 10.04, "6-20-12" => 20.05, "6-30-12" => 30.12, "6-50-12" => 50.2, "6-100-12" => 100.4, "6-200-12" => 200.6, "6-300-12" => 300.9, "6-500-12" => 501.5,//安徽 12
     ];

+ 1 - 1
helper/refill/api/xyz/hangtong/config.php

@@ -22,7 +22,7 @@ class config
             30 => 'CMCCALLr30r', 50 => 'CMCCALLr50r', 100 => 'CMCCALLr100r', 200 => 'CMCCALLr200r'
         ],
         mtopcard\ChinaUnicomCard => [
-            30 => 'CUCCALLr30sP00000', 50 => 'CUCCALLr50sP00001', 100 => 'CUCCALLr100sP00002', 200 => 'CUCCALLr200sP00003'
+            30 => 'CUCCALLr30r', 50 => 'CUCCALLr50r', 100 => 'CUCCALLr100r', 200 => 'CUCCALLr200r'
         ],
         mtopcard\ChinaTelecomCard => [
             30 => 'CTCCALLr30r', 50 => 'CTCCALLr50r', 100 => 'CTCCALLr100r', 200 => 'CTCCALLr200r'

+ 6 - 0
helper/refill/api/xyz/hangtong/椰子.txt

@@ -38,3 +38,9 @@ CUCCALLr30sP00000		30
 CUCCALLr50sP00001		50
 CUCCALLr100sP00002		100
 CUCCALLr200sP00003		200
+
+2022.3.19修改联通编码
+CUCCALLr30r
+CUCCALLr50r
+CUCCALLr100r
+CUCCALLr200r

+ 48 - 0
helper/refill/api/xyz/kailinyu/RefillCallBack.php

@@ -0,0 +1,48 @@
+<?php
+namespace refill\kailinyu;
+
+require_once(BASE_HELPER_RAPI_PATH . '/kailinyu/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)
+    {
+        $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 strtoupper(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['remark1']) == 'null' ? '' : $params['remark1'];
+            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];
+        }
+    }
+}

+ 155 - 0
helper/refill/api/xyz/kailinyu/RefillPhone.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace refill\kailinyu;
+
+require_once(BASE_HELPER_RAPI_PATH . '/kailinyu/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, $card_type, string $order_sn)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['productid'] = config::ProductIdS[$card_type][$amount];
+        $params['price'] = $amount;
+        $params['num'] = 1;
+        $params['mobile'] = $phone;
+        $params['spordertime'] = date("YmdHis");
+        $params['sporderid'] = $order_sn;
+        $params['back_url'] = config::NOTIFY_URL;
+        $params['paytype'] = config::operator[$card_type];
+
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '网络错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误', true];
+            }
+
+            $resultno = $resp['resultno'];
+            if (in_array($resultno, ['0', '2'], true)) {
+                return [true, $resp['orderid'], false];
+            } elseif (in_array($resultno, config::ERR_NOS, true)) {
+                return [false, $resultno, false];
+            } elseif ($resultno === '9999' || $resultno === '5006') {
+                $net_errno = "HTTP-{$resultno}";
+                return [false, $resultno, true];
+            } else {
+                //未知结果码
+                $err = 998;
+                $net_errno = "HTTP-{$err}";
+                return [false, $resultno, true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['userid'] = config::USER_ID;
+        $params['sporderid'] = $refill_info['order_sn'];
+        $key = config::KEY;
+        $content = "userid={$params['userid']}&sporderid={$params['sporderid']}&key={$key}";
+        $params['sign'] = strtoupper(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 = $this->xmlToArray($resp);
+            if (empty($resp))
+            {
+                return [false, '网络错误'];
+            }
+            else
+            {
+                $resultno = $resp['resultno'];
+                if ($resultno === '1') {
+                    $updata['official_sn'] = $resp['remark1'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($resultno === '9') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($resultno, ['0','2'], true)) {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($resultno === '5007' && (time() - $refill_info['commit_time'] > 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $resultno];
+                }
+
+                return [true, $order_state];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['userid'] = config::USER_ID;
+        $key = config::KEY;
+        $content = "userid={$params['userid']}&key={$key}";
+        $params['sign'] = strtoupper(md5($content));
+
+        $resp = http_request(config::BALANCE_URL, $params, 'POST', false, config::ExtHeaders);
+
+        if (empty($resp)) {
+            return [false, '网络错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = $this->xmlToArray($resp);
+            if (empty($resp)) {
+                return [false, '网络错误'];
+            } elseif ($resp['resultno'] === '1') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['resultno']];
+            }
+        }
+    }
+
+    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 strtoupper(md5($content));
+    }
+
+    public function xmlToArray($xml)
+    {
+        $replace_str = str_replace(' ','','encoding="gb2312"');
+        $xml = mb_convert_encoding($xml,"UTF-8","gb2312");
+        $xml = str_replace($replace_str, "encoding='utf-8'", $xml);
+        return refill\util::xmlToArray($xml);
+    }
+}

+ 55 - 0
helper/refill/api/xyz/kailinyu/config.php

@@ -0,0 +1,55 @@
+<?php
+
+
+namespace refill\kailinyu;
+
+use mtopcard;
+class config
+{
+    //https://www.showdoc.com.cn/AQL666666/
+    const ORDER_URL = 'http://116.62.32.89:9086/onlinepay.do';
+    const QUERY_URL= 'http://116.62.32.89:9086/searchpay.do';
+    const BALANCE_URL = 'http://116.62.32.89:9086/searchbalance.do';
+
+    const USER_ID= '10002963';
+    const KEY = 'j7DyFHTeznfNzT2Kc6dehhbXjFcyXwXK';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_kailinyu.php";
+    const operator = [
+        mtopcard\ChinaMobileCard  => 'yd',
+        mtopcard\ChinaUnicomCard  => 'lt',
+        mtopcard\ChinaTelecomCard => 'dx'
+    ];
+    const ERR_NOS = [
+        '5001','5002','5003','5004','5005','5008','5009','5010','5011','5012'
+    ];
+    const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;'];
+    const ProductIdS = [
+        mtopcard\ChinaMobileCard =>
+            [
+                30  => '101687',
+                50  => '101688',
+                100 => '101689',
+                200 => '101690',
+                300 => '30000000912',
+                500 => '30000000913',
+            ],
+        mtopcard\ChinaUnicomCard =>
+            [
+                30  => '101705',
+                50  => '101706',
+                100 => '101707',
+                200 => '101708',
+                300 => '101709',
+                500 => '101710',
+            ],
+        mtopcard\ChinaTelecomCard =>
+            [
+                30  => '101723',
+                50  => '101724',
+                100 => '101725',
+                200 => '101726',
+                300 => '101727',
+                500 => '101728',
+            ]
+    ];
+}

+ 34 - 0
helper/refill/api/xyz/kailinyu/对接文档-yezi.txt

@@ -0,0 +1,34 @@
+后台地址:  http://116.62.32.89:7080/
+账户:椰汁
+密码:ye123456
+
+ID:10002963
+密钥:j7DyFHTeznfNzT2Kc6dehhbXjFcyXwXK
+
+http://116.62.32.89:9086/onlinepay.do 下单地址
+http://116.62.32.89:9086/searchpay.do 订单主动查询地址
+http://116.62.32.89:9086/searchbalance.do 余额查询
+
+api接口文档地址:https://www.showdoc.com.cn/AQL666666/
+白名单地址: 116.62.32.89
+
+101687 	全国移动话费30元直充
+101688 	全国移动话费50元直充
+101689 	全国移动话费100元直充
+101690 	全国移动话费200元直充
+30000000912 	全国移动300元直充
+30000000913 	全国移动500元直充
+
+101705 	全国联通话费30元直充
+101706 	全国联通话费50元直充
+101707 	全国联通话费100元直充
+101708 	全国联通话费200元直充
+101709 	全国联通话费300元直充
+101710 	全国联通话费500元直充
+
+101723 	全国电信话费30元直充
+101724 	全国电信话费50元直充
+101725 	全国电信话费100元直充
+101726 	全国电信话费200元直充
+101727 	全国电信话费300元直充
+101728 	全国电信话费500元直充

二進制
helper/refill/api/xyz/kuaikuaifs/20220318广东移动调价函.png


+ 8 - 0
helper/refill/api/xyz/kuaikuaifs/API信息.txt

@@ -0,0 +1,8 @@
+平台地址:http://119.23.55.151:8383/downshopinfo
+商家账号 BJYZ
+登录密码 123456
+uid:2c922ab97f8d9843017f90421db517de
+key:f1945f78c86d79287de1378e91471193
+
+
+2022.3.17 广东折扣更改为 99.5

+ 42 - 0
helper/refill/api/xyz/kuaikuaifs/RefillCallBack.php

@@ -0,0 +1,42 @@
+<?php
+namespace refill\kuaikuaifs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/kuaikuaifs/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $input = $params;
+        unset($input['sign']);
+        unset($input['msg']);
+        $sign = config::sign($input);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    public function notify($params)
+    {
+        $order_sn = $params['orderId'];
+        $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'];
+        $status = intval($params['status']);
+        if ($status === 2) {
+            $data['official_sn'] = strtolower($params['msg']) == 'null' ? '' : $params['msg'];
+            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];
+        }
+    }
+}

+ 155 - 0
helper/refill/api/xyz/kuaikuaifs/RefillPhone.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace refill\kuaikuaifs;
+
+require_once(BASE_HELPER_RAPI_PATH . '/kuaikuaifs/config.php');
+
+use refill;
+use Log;
+
+class RefillPhone extends refill\IRefillPhone
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    public function goods($quality,int $amount,int $card_type,$regin_no,$other)
+    {
+        [$goods_id, $price] = parent::goods($quality,$amount,$card_type,$regin_no,$other);
+        if($goods_id <= 0) return [0,0];
+        $key = "{$card_type}-{$amount}-{$regin_no}";
+        $price = config::Price[$key];
+        if(empty($price)) {
+            Log::record("channel cannot find price where name={$this->mName}, goods_id = {$goods_id} card_type={$card_type} amount={$amount} regin_no={$regin_no}",Log::ERR);
+            return [0,0];
+        } else {
+            return [$goods_id,ncPriceFormat($price)];
+        }
+    }
+
+    private function req_params(int $phone, int $card_type, int $amount, string $order_sn, $regin_no)
+    {
+        $params['orderId'] = $order_sn;
+        $params['uid'] = config::UID;
+        $params['pid'] = config::PRODUCT[$card_type][$regin_no][$amount];
+        $params['phone'] = $phone;
+        $params['notify'] = config::NOTIFY_URL;
+        $params['ts'] = date("YmdHis");
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $input, &$net_errno = 0)
+    {
+        $regin_no = $params['regin_no'] ?? -1;
+        if($regin_no <= 0) {
+            return [false, '省份获取错误', false];
+        }
+        $params = $this->req_params($card_no, $card_type, $amount, $input['order_sn'], $regin_no);
+        if(empty($params['pid'])) {
+            return [false, '商品编号错误', false];
+        }
+        $sign = config::sign($params);
+        $params['sign'] = $sign;
+
+        $params = json_encode($params);
+        $resp = http_post_data(config::ORDER_URL, $params, config::ExtHeaders, $net_errno);
+
+        if (empty($resp)) {
+            return [false, '系统错误', true];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            $code = $resp['code'];
+
+            if (empty($resp)) {
+                return [false, '系统错误', true];
+            } elseif ($code === '1000') {
+                return [true, $resp['data']['oid'], false];
+            } elseif (in_array($code, ['1020', '1021'])) {
+                $net_errno = "HTTP-{$code}";
+                return [false, '查-' . $resp['message'], true];
+            } else {
+                return [false, $resp['message'], false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['oid'] = $refill_info['order_sn'];
+        $params['ts'] = date("YmdHis");
+        $params['uid'] = config::UID;
+        $sign = config::sign($params);
+        $params['sign'] = $sign;
+
+        $params = json_encode($params);
+        $resp = http_post_data(config::QUERY_URL, $params, 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'] === '1000')
+            {
+                $status = $resp['data']['status'];
+                if ($status === 2) {
+                    $updata['official_sn'] = $resp['data']['msg'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === 3) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($status, [1, 5, 9])) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+                return [true, $order_state];
+            }
+            elseif ($resp['code'] === '1004' && (time() - $refill_info['commit_time'] >= 600))
+            {
+                return [true, ORDER_STATE_NOEXIST];
+            }
+            else
+            {
+                return [false, $resp['message']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['uid'] = config::UID;
+        $params['ts'] = date("YmdHis");
+        $content = "uid={$params['uid']}&ts={$params['ts']}&key=" . config::KEY;
+        $sign = md5($content);
+        $params['sign'] = $sign;
+
+        $params = json_encode($params);
+        $resp = http_post_data(config::BALANCE_URL, $params , 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'] === '1000') {
+                return [true, $resp['data']['balance']];
+            } else {
+                return [false, $resp['message']];
+            }
+        }
+    }
+}

+ 80 - 0
helper/refill/api/xyz/kuaikuaifs/config.php

@@ -0,0 +1,80 @@
+<?php
+
+
+namespace refill\kuaikuaifs;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://119.23.55.151:8181/mpayment/client/recharge/commit';
+    const QUERY_URL = 'http://119.23.55.151:8181/mpayment/client/recharge/queryOrder';
+    const BALANCE_URL = 'http://119.23.55.151:8181/mpayment/client/recharge/searchAmount';
+
+    const UID = '2c922ab97f8d9843017f90421db517de';
+    const KEY = 'f1945f78c86d79287de1378e91471193';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_kuaikuaifs.php";
+
+    const ExtHeaders = ['Content-Type: application/json'];
+
+    const PRODUCT = [
+        mtopcard\ChinaMobileCard => [
+            //青海
+            29 => [
+                5 => '2c922ab97f8d9843017f905b86291d30',    10 => '2c922ab97f8d9843017f905b862f1d32',   20 => '2c922ab97f8d9843017f905b86351d34',
+                30 => '2c922ab97f8d9843017f905b863d1d36',   50 => '2c922ab97f8d9843017f905b86451d38',   100 => '2c922ab97f8d9843017f905b86561d3a',
+                200 => '2c922ab97f8d9843017f905b865c1d3c',  300 => '2c922ab97f8d9843017f905b86661d3e',  500 => '2c922ab97f8d9843017f905b866d1d40',
+            ],
+            //黑龙江
+            8 => [
+                10 => '2c922ab97f8d9843017f905c78561d6a',   20 => '2c922ab97f8d9843017f905c785a1d6c',
+                30 => '2c922ab97f8d9843017f905c785f1d6e',   50 => '2c922ab97f8d9843017f905c78651d70',   100 => '2c922ab97f8d9843017f905c786b1d72',
+                200 => '2c922ab97f8d9843017f905c78701d74',  300 => '2c922ab97f8d9843017f905c78751d76',  500 => '2c922ab97f8d9843017f905c787b1d78',
+            ],
+            //广东
+            19 => [
+                10 => '2c922ab97f8d9843017f905ce1ec1d8c',   20 => '2c922ab97f8d9843017f905ce1f31d8e',
+                30 => '2c922ab97f8d9843017f905ce1fc1d90',   50 => '2c922ab97f8d9843017f905ce2031d92',   100 => '2c922ab97f8d9843017f905ce20b1d94',
+                200 => '2c922ab97f8d9843017f905ce2141d96',  300 => '2c922ab97f8d9843017f905ce21f1d98',  500 => '2c922ab97f8d9843017f905ce2251d9a',
+            ],
+        ],
+        mtopcard\ChinaUnicomCard => [
+
+        ],
+        mtopcard\ChinaTelecomCard => [
+
+        ],
+    ];
+
+    //key格式 卡类型-面值-regin_no
+    const Price = [
+        //移动
+        "4-5-29" => 4.87, "4-10-29" => 9.74, "4-20-29" => 19.48, "4-30-29" => 29.22, "4-50-29" => 48.7, "4-100-29" => 97.4, "4-200-29" => 194.8, "4-300-29" => 292.2, "4-500-29" => 487,//青海 29
+        "4-10-8" => 9.98, "4-20-8" => 19.96, "4-30-8" => 29.94, "4-50-8" => 49.9, "4-100-8" => 99.8, "4-200-8" => 199.6, "4-300-8" => 299.4, "4-500-8" => 499,//黑龙江 8
+        "4-10-19" => 9.92, "4-20-19" => 19.84, "4-30-19" => 29.76, "4-50-19" => 49.6, "4-100-19" => 99.2, "4-200-19" => 198.4, "4-300-19" => 297.6, "4-500-19" => 496,//广东 19
+    ];
+
+    public static function sign($params)
+    {
+        ksort($params);
+        $content = '';
+        foreach ($params as $key => $value) {
+            if(self::check_empty($value) === false) {
+                $content .= "{$key}={$value}&";
+            }
+        }
+        $content .= 'key='.config::KEY;
+        return md5($content);
+    }
+
+    public static function check_empty($value)
+    {
+        if (!isset($value))
+            return true;
+        if ($value === null)
+            return true;
+        if (trim($value) === "")
+            return true;
+
+        return false;
+    }
+}

二進制
helper/refill/api/xyz/kuaikuaifs/快收平台话费充值接口文档v1.0.docx


二進制
helper/refill/api/xyz/kuaikuaifs/椰子-分省产品编码.xlsx


+ 67 - 0
helper/refill/api/xyz/yamiaoman/RefillCallBack.php

@@ -0,0 +1,67 @@
+<?php
+namespace refill\yamiaoman;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yamiaoman/config.php');
+
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        $input = $params;
+        unset($input['sign']);
+        $sign = $this->sign($input);
+        if ($params['sign'] == $sign) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private function sign($params)
+    {
+        $params['appSecret'] = config::APP_SECRET;
+        ksort($params);
+        $content = '';
+        foreach ($params as $key => $value) {
+            if($this->check_empty($value) === false) {
+                $content .= "{$key}={$value}&";
+            }
+        }
+        $content = rtrim($content, '&');
+        return md5($content);
+    }
+
+    private function check_empty($value)
+    {
+        if (!isset($value))
+            return true;
+        if ($value === null)
+            return true;
+        if (trim($value) === "")
+            return true;
+
+        return false;
+    }
+
+    public function notify($params)
+    {
+        $status = intval($params['orderStatus']);
+        $order_sn = $params['outOrderId'];
+        $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['ext1']) == 'null' ? '' : $params['ext1'];
+            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];
+        }
+    }
+}

+ 155 - 0
helper/refill/api/xyz/yamiaoman/RefillPhone.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace refill\yamiaoman;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yamiaoman/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['appId'] = config::APP_ID;
+        $params['outOrderId'] = $order_sn;
+        $params['uuid'] = $phone;
+        $params['itemId'] = config::PRODUCT[$card_type][$amount];
+        $params['itemFace'] = $amount;
+        $params['callbackUrl'] = config::NOTIFY_URL;
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        return $params;
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        $order_sn = $params['order_sn'];
+        $params = $this->req_params($card_no, $amount, $card_type, $order_sn);
+        if(empty($params['itemId'])) {
+            return [false, '商品编号错误', false];
+        }
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
+
+        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'] === '00') {
+                return [true, $resp['orderId'], false];
+            } elseif (in_array($resp['code'], config::ERRCODES, true)) {
+                return [false, $resp['msg'], false];
+            } elseif (in_array($resp['code'], ['-22', '-23', '-99'], true)) {
+                $net_errno = "HTTP-{$resp['code']}";
+                return [false, $resp['msg'], true];
+            } else {
+                $net_errno = "HTTP-998";
+                return [false, $resp['msg'], true];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['appId'] = config::APP_ID;
+        $params['outOrderId'] = $refill_info['order_sn'];
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        $params['sign'] = $this->sign($params);
+
+        $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'] === '00')
+            {
+                $status = $resp['orderStatus'];
+                if ($status === '2') {
+                    $updata['official_sn'] = $resp['ext1'];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif ($status === '3') {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif ($status === '1') {
+                    $order_state = ORDER_STATE_SEND;
+                } elseif ($status === '4' && (time() - $refill_info['commit_time'] >= 600)) {
+                    $order_state = ORDER_STATE_NOEXIST;
+                } else {
+                    return [false, $resp['msg']];
+                }
+                return [true, $order_state];
+            }
+            else
+            {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    public function balance()
+    {
+        $params['appId'] = config::APP_ID;
+        $params['timestamp'] = date("YmdHis").$this->get_millisecond();
+        $params['sign'] = $this->sign($params);
+
+        $resp = http_request(config::BALANCE_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'] === '00') {
+                return [true, $resp['balance']];
+            } else {
+                return [false, $resp['msg']];
+            }
+        }
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function get_millisecond()
+    {
+        list($usec, $sec) = explode(" ", microtime());
+        return round($usec*1000);
+    }
+
+    private function sign($params)
+    {
+        $params['appSecret'] = config::APP_SECRET;
+        ksort($params);
+        $content = '';
+        foreach ($params as $key => $value) {
+            if($this->check_empty($value) === false) {
+                $content .= "{$key}={$value}&";
+            }
+        }
+        $content = rtrim($content, '&');
+        return md5($content);
+    }
+}

+ 34 - 0
helper/refill/api/xyz/yamiaoman/config.php

@@ -0,0 +1,34 @@
+<?php
+
+
+namespace refill\yamiaoman;
+
+use mtopcard;
+class config
+{
+    const ORDER_URL = 'http://120.55.90.36:8911/api/hf/order/submit';
+    const QUERY_URL = 'http://120.55.90.36:8911/api/order/query';
+    const BALANCE_URL = 'http://120.55.90.36:8911/api/account/balance';
+
+    const APP_ID = 'zIODZmzSCk';
+    const APP_SECRET = 'VAkzZAuLgZWDCJGu';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_yamiaoman.php";
+
+    const PRODUCT = [
+        mtopcard\ChinaMobileCard => [
+
+        ],
+        mtopcard\ChinaUnicomCard => [
+            50  => 100027,
+            100 => 100028,
+            200 => 100029,
+        ],
+        mtopcard\ChinaTelecomCard => [
+            50  => 100030,
+            100 => 100031,
+            200 => 100032,
+        ],
+    ];
+    const ExtHeaders = ['Content-Type:application/x-www-form-urlencoded;charset=utf-8'];
+    const ERRCODES = ['-10', '-12', '-13', '-14', '-15', '-16', '-18', '-21'];
+}

+ 22 - 0
helper/refill/api/xyz/yamiaoman/开户信息.txt

@@ -0,0 +1,22 @@
+后台地址:http://120.55.90.36:8888
+帐号:椰子慢充
+密码:155228
+二级密码:ydgk7450
+appId:zIODZmzSCk
+appSecret:VAkzZAuLgZWDCJGu
+后台-商品列表,可查看已配置商品信息
+后台-安全中心,可配置IP白名单
+接口文档:https://www.showdoc.com.cn/1686453783298366/7925312871840290
+话费直充接口:http://120.55.90.36:8911/api/hf/order/submit
+通用直充接口:http://120.55.90.36:8911/api/order/submit
+卡密提取接口:http://120.55.90.36:8911/api/card/get
+查单接口接口:http://120.55.90.36:8911/api/order/query
+余额接口接口:http://120.55.90.36:8911/api/account/balance
+
+100027  慢充联通50
+100028  慢充联通100
+100029  慢充联通200
+
+100030  慢充电信50
+100031  慢充电信100
+100032  慢充电信200

+ 6 - 1
helper/refill/api/xyz/yuanta/api.txt

@@ -14,4 +14,9 @@ appSecret:qXRRTTqrtAwwwtXp
 
 2022.3.14 增加电信商品编码
 100 面值    商品编码  100046
-200                 100047
+200                 100047
+
+2022.3.18增加移动商品编码
+50  100033
+100 100034
+200 100035

+ 3 - 0
helper/refill/api/xyz/yuanta/config.php

@@ -15,6 +15,9 @@ class config
     const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_yuanta.php";
     const PRODUCT = [
         mtopcard\ChinaMobileCard => [
+            50  => 100033,
+            100 => 100034,
+            200 => 100035
         ],
         mtopcard\ChinaUnicomCard => [
             100 => 100040,

+ 4 - 4
helper/refill/api/xyz/yunlingfs/RefillPhone.php

@@ -18,10 +18,10 @@ class RefillPhone extends refill\IRefillPhone
     private function req_params(int $phone, int $card_type, int $amount, string $order_sn)
     {
         $params['userid'] = config::USER_ID;
-        if($card_type === mtopcard\ChinaTelecomCard) {
-            $params['productid'] = config::product_id[$card_type][$amount];
-        }else{
+        if($card_type === mtopcard\ChinaMobileCard) {
             $params['productid'] = '';
+        }else{
+            $params['productid'] = config::product_id[$card_type][$amount];
         }
         $params['price'] = $amount;
         $params['num'] = 1;
@@ -37,7 +37,7 @@ class RefillPhone extends refill\IRefillPhone
     {
         $order_sn = $params['order_sn'];
         $params = $this->req_params($card_no, $card_type, $amount, $order_sn);
-        if($card_type == mtopcard\ChinaTelecomCard && empty($params['productid'])) {
+        if($card_type != mtopcard\ChinaMobileCard && empty($params['productid'])) {
             return [false, '商品编号获取失败', false];
         }
         $sign = $this->sign($params);

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

@@ -18,6 +18,12 @@ class config
         mtopcard\ChinaTelecomCard => 'dx'
     ];
     const product_id = [
+        mtopcard\ChinaUnicomCard => [
+            30 => '30000000731',
+            50 => '30000000732',
+            100 => '30000000733',
+            200 => '30000000992'
+        ],
         mtopcard\ChinaTelecomCard => [
             30 => '30000000736',
             50 => '30000000737',

+ 8 - 1
helper/refill/api/xyz/yunlingfs/新系椰子分省通代理信息.txt

@@ -18,4 +18,11 @@
 30000000738   全国电信100元直充
 30000000739   全国电信200元直充
 30000000740   全国电信300元直充
-30000000741   全国电信500元直充
+30000000741   全国电信500元直充
+
+2022.3.20 新增联通编码
+云嶺联通分省编码
+30000000731   全国联通30元直充
+30000000732   全国联通50元直充
+30000000733   全国联通100元直充
+30000000992   全国联通200元直充

+ 4 - 0
mobile/callback/refill_kailinyu.php

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

+ 6 - 0
mobile/callback/refill_kuaikuaifs.php

@@ -0,0 +1,6 @@
+<?php
+$content = $_SERVER['post_content'] ?? [];
+$input = json_decode($content,true);
+
+refill\util::push_notify('kuaikuaifs',$input);
+echo 0;

+ 4 - 0
mobile/callback/refill_yamiaoman.php

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

+ 36 - 0
test/TestRefill.php

@@ -2021,6 +2021,42 @@ class TestRefill extends TestCase
 //        $resp = $provider->notify($params);
     }
 
+    public function testYamiaoman()
+    {
+//        $provider = $this->getProvider('yamiaoman');
+//        $resp = $provider->balance();
+//        $resp = $provider->add(18500608333, 5, 50, ['order_sn' => $this->make_sn()]);
+//        $resp = $provider->query(['order_sn' => '53351647242979116742']);
+
+        $body = '{"orderId":"220314152954756093","appId":"zIODZmzSCk","outOrderId":"53351647242979116742","sign":"41ad7d4b4b26559377c6443d2b0d6c68","orderStatus":"3","completeTime":"20220314172722","orderDesc":"\u8ba2\u5355\u5931\u8d25"}';
+        $params = json_decode($body, true);
+        $provider = $this->getProvider('yamiaoman','RefillCallBack');
+        $ret = $provider->verify($params);
+        $resp = $provider->notify($params);
+    }
+
+    public function testKailinyu()
+    {
+//        $provider = $this->getProvider('kailinyu');
+//        $resp = $provider->balance();
+//        $resp = $provider->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
+//        $resp = $provider->query(['order_sn' => '96401647327929264712']);
+
+        $body = '{"orderid":"AFO22031515056588604","sporderid":"96401647327929264712","userid":"10002963","merchantsubmittime":"20220315150727","resultno":"9","parvalue":"30","remark1":"","payno":"","fundbalance":"-28.59","sign":"597D9581047FD47B4117870FD49D9D10"}';
+        $params = json_decode($body, true);
+        $provider = $this->getProvider('kailinyu','RefillCallBack');
+        $ret = $provider->verify($params);
+        $resp = $provider->notify($params);
+    }
+
+    public function testKuaikuaifs()
+    {
+        $provider = $this->getProvider('kuaikuaifs');
+//        $resp = $provider->balance();
+        $resp = $provider->add(18500608333, 5, 30, ['order_sn' => $this->make_sn()]);
+//        $resp = $provider->query(['order_sn' => '96401647327929264712']);
+    }
+
     public function testAmingjd()
     {
 //        $provider = new refill\amingjd\RefillPhone([]);

+ 30 - 2
util/test.sh

@@ -1,4 +1,32 @@
 #!/bin/bash
 
-cur_time=$(date "+%Y-%m-%d-%H-%M-%S")
-echo $cur_time > /mnt/xyzshop/util/test.log
+check_size=150
+clean_days=3
+int=1
+clean_dir=/mnt/shoplog
+
+usable=$(df -h | grep /dev/vdb1 | awk '{print $4}')
+usable=${usable%G*}
+echo $usable
+
+if [ $usable -lt $check_size ];then
+    while(( $int<=$clean_days ))
+    do
+        date=$(date -d "$int day ago" +%Y%m%d)
+        echo $date
+        log_file="$clean_dir/$date-cordispatcher.log"
+        echo $log_file
+
+        if [ -e $log_file ];then
+              dir="$clean_dir/$date"
+              if [ ! -e $dir ];then
+                mkdir $dir
+              fi
+              mv $clean_dir/$date*.log $clean_dir/$date/
+              tar zcvf $date.tar.gz ./$date
+              rm -rf $dir
+        fi
+
+        let "int++"
+    done
+fi