xiaoyu пре 3 година
родитељ
комит
ffda9a5120

+ 35 - 11
data/config/win/refill.ini.php

@@ -163,6 +163,15 @@ $legou_oil = ['name' => 'legou', 'store_id' => 80,'qualitys' => '3',
     ],
     'period' => [], 'refill_type' => 'api'];
 
+$yingdian_oil = ['name' => 'yingdian', 'store_id' => 89, 'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6813, 'price' => 97, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        200 => [['goods_id' => 6814, 'price' => 194, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        500 => [['goods_id' => 6815, 'price' => 485, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        1000 => [['goods_id' => 6816, 'price' => 970, 'quality' => 1, 'card_type' => 'sinopec,petrochina']]
+    ],
+    'period' => [], 'refill_type' => 'api'];
+
 $oil_providers = [
     ['name' => 'tianjt', 'cfg' => $tianjt_oil],
     ['name' => 'suhctm', 'cfg' => $suhctm_oil],
@@ -177,7 +186,8 @@ $oil_providers = [
     ['name' => 'zeheng', 'cfg' => $zeheng_oil],
     ['name' => 'lingzhoil', 'cfg' => $lingzh_oil],
     ['name' => 'feinimoshu', 'cfg' => $feinimoshu_oil],
-    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil]
+    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil],
+    ['name' => 'yingdian', 'cfg' => $yingdian_oil]
 ];
 $config['oil_providers'] = $oil_providers;
 
@@ -1421,16 +1431,29 @@ $hongxudagy_phone = ['name' => 'hongxudagy', 'store_id' => 86, 'qualitys' => '2'
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
-$yunchonggong_phone = ['name' => 'yunchonggong', 'store_id' => 27,'qualitys' => '1',
+$yunchonggong_phone = ['name' => 'yunchonggong', 'store_id' => 87,'qualitys' => '1',
     'amount' => [
-        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']]
+        10 => [['goods_id' => 6797, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6798, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6799, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6800, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6801, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6802, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6803, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6804, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$yunchonggongman_phone = ['name' => 'yunchonggongman', 'store_id' => 88,'qualitys' => '5',
+    'amount' => [
+        10 => [['goods_id' => 6805, 'price' => 9.03, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6806, 'price' => 18.06, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6807, 'price' => 27.09, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6808, 'price' => 45.15, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6809, 'price' => 90.3, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6810, 'price' => 180.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6811, 'price' => 270.9, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6812, 'price' => 451.5, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
 
@@ -1493,7 +1516,8 @@ $phone_providers = [
     ['name' => 'zhenqi1m', 'cfg' => $zhenqi1m_phone],
     ['name' => 'hongxudayz', 'cfg' => $hongxudayz_phone],
     ['name' => 'hongxudagy', 'cfg' => $hongxudagy_phone],
-    ['name' => 'yunchonggong', 'cfg' => $yunchonggong_phone]
+    ['name' => 'yunchonggong', 'cfg' => $yunchonggong_phone],
+    ['name' => 'yunchonggongman', 'cfg' => $yunchonggongman_phone]
 ];
 $config['phone_providers'] = $phone_providers;
 

+ 41 - 2
data/config/xyz/refill.ini.php

@@ -163,6 +163,15 @@ $legou_oil = ['name' => 'legou', 'store_id' => 80,'qualitys' => '3',
     ],
     'period' => [], 'refill_type' => 'api'];
 
+$yingdian_oil = ['name' => 'yingdian', 'store_id' => 89, 'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6813, 'price' => 97, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        200 => [['goods_id' => 6814, 'price' => 194, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        500 => [['goods_id' => 6815, 'price' => 485, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        1000 => [['goods_id' => 6816, 'price' => 970, 'quality' => 1, 'card_type' => 'sinopec,petrochina']]
+    ],
+    'period' => [], 'refill_type' => 'api'];
+
 $oil_providers = [
     ['name' => 'tianjt', 'cfg' => $tianjt_oil],
     ['name' => 'suhctm', 'cfg' => $suhctm_oil],
@@ -177,7 +186,8 @@ $oil_providers = [
     ['name' => 'zeheng', 'cfg' => $zeheng_oil],
     ['name' => 'lingzhoil', 'cfg' => $lingzh_oil],
     ['name' => 'feinimoshu', 'cfg' => $feinimoshu_oil],
-    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil]
+    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil],
+    ['name' => 'yingdian', 'cfg' => $yingdian_oil]
 ];
 $config['oil_providers'] = $oil_providers;
 
@@ -1420,6 +1430,33 @@ $hongxudagy_phone = ['name' => 'hongxudagy', 'store_id' => 86, 'qualitys' => '2'
         500 => [['goods_id' => 6796, 'price' => 496, 'quality' => 2, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
+
+$yunchonggong_phone = ['name' => 'yunchonggong', 'store_id' => 87,'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6797, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6798, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6799, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6800, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6801, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6802, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6803, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6804, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$yunchonggongman_phone = ['name' => 'yunchonggongman', 'store_id' => 88,'qualitys' => '5',
+    'amount' => [
+        10 => [['goods_id' => 6805, 'price' => 9.03, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6806, 'price' => 18.06, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6807, 'price' => 27.09, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6808, 'price' => 45.15, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6809, 'price' => 90.3, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6810, 'price' => 180.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6811, 'price' => 270.9, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6812, 'price' => 451.5, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $phone_providers = [
 //    ['name' => 'beixt', 'cfg' => $beixt_phone],
 //    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
@@ -1478,7 +1515,9 @@ $phone_providers = [
     ['name' => 'yunsuoyaofs', 'cfg' => $yunsuoyaofs_phone],
     ['name' => 'zhenqi1m', 'cfg' => $zhenqi1m_phone],
     ['name' => 'hongxudayz', 'cfg' => $hongxudayz_phone],
-    ['name' => 'hongxudagy', 'cfg' => $hongxudagy_phone]
+    ['name' => 'hongxudagy', 'cfg' => $hongxudagy_phone],
+    ['name' => 'yunchonggong', 'cfg' => $yunchonggong_phone],
+    ['name' => 'yunchonggongman', 'cfg' => $yunchonggongman_phone]
 ];
 $config['phone_providers'] = $phone_providers;
 

+ 41 - 2
data/config/xyzadm/refill.ini.php

@@ -163,6 +163,15 @@ $legou_oil = ['name' => 'legou', 'store_id' => 80,'qualitys' => '3',
     ],
     'period' => [], 'refill_type' => 'api'];
 
+$yingdian_oil = ['name' => 'yingdian', 'store_id' => 89, 'qualitys' => '1',
+    'amount' => [
+        100 => [['goods_id' => 6813, 'price' => 97, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        200 => [['goods_id' => 6814, 'price' => 194, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        500 => [['goods_id' => 6815, 'price' => 485, 'quality' => 1, 'card_type' => 'sinopec,petrochina']],
+        1000 => [['goods_id' => 6816, 'price' => 970, 'quality' => 1, 'card_type' => 'sinopec,petrochina']]
+    ],
+    'period' => [], 'refill_type' => 'api'];
+
 $oil_providers = [
     ['name' => 'tianjt', 'cfg' => $tianjt_oil],
     ['name' => 'suhctm', 'cfg' => $suhctm_oil],
@@ -177,7 +186,8 @@ $oil_providers = [
     ['name' => 'zeheng', 'cfg' => $zeheng_oil],
     ['name' => 'lingzhoil', 'cfg' => $lingzh_oil],
     ['name' => 'feinimoshu', 'cfg' => $feinimoshu_oil],
-    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil]
+    ['name' => 'xiaoniu', 'cfg' => $xiaoniu_oil],
+    ['name' => 'yingdian', 'cfg' => $yingdian_oil]
 ];
 $config['oil_providers'] = $oil_providers;
 
@@ -1420,6 +1430,33 @@ $hongxudagy_phone = ['name' => 'hongxudagy', 'store_id' => 86, 'qualitys' => '2'
         500 => [['goods_id' => 6796, 'price' => 496, 'quality' => 2, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
     ],
     'official_sn' => true, 'refill_type' => 'api'];
+
+$yunchonggong_phone = ['name' => 'yunchonggong', 'store_id' => 87,'qualitys' => '1',
+    'amount' => [
+        10 => [['goods_id' => 6797, 'price' => 9.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6798, 'price' => 19, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6799, 'price' => 28.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6800, 'price' => 47.5, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6801, 'price' => 95, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6802, 'price' => 190, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6803, 'price' => 285, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6804, 'price' => 475, 'quality' => 1, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
+$yunchonggongman_phone = ['name' => 'yunchonggongman', 'store_id' => 88,'qualitys' => '5',
+    'amount' => [
+        10 => [['goods_id' => 6805, 'price' => 9.03, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        20 => [['goods_id' => 6806, 'price' => 18.06, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        30 => [['goods_id' => 6807, 'price' => 27.09, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        50 => [['goods_id' => 6808, 'price' => 45.15, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        100 => [['goods_id' => 6809, 'price' => 90.3, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        200 => [['goods_id' => 6810, 'price' => 180.6, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        300 => [['goods_id' => 6811, 'price' => 270.9, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']],
+        500 => [['goods_id' => 6812, 'price' => 451.5, 'quality' => 5, 'card_type' => 'chinamobile,chinaunicom,chinatelecom']]
+    ],
+    'official_sn' => true, 'refill_type' => 'api'];
+
 $phone_providers = [
 //    ['name' => 'beixt', 'cfg' => $beixt_phone],
 //    ['name' => 'bxtwt', 'cfg' => $bxtwt_phone],
@@ -1478,7 +1515,9 @@ $phone_providers = [
     ['name' => 'yunsuoyaofs', 'cfg' => $yunsuoyaofs_phone],
     ['name' => 'zhenqi1m', 'cfg' => $zhenqi1m_phone],
     ['name' => 'hongxudayz', 'cfg' => $hongxudayz_phone],
-    ['name' => 'hongxudagy', 'cfg' => $hongxudagy_phone]
+    ['name' => 'hongxudagy', 'cfg' => $hongxudagy_phone],
+    ['name' => 'yunchonggong', 'cfg' => $yunchonggong_phone],
+    ['name' => 'yunchonggongman', 'cfg' => $yunchonggongman_phone]
 ];
 $config['phone_providers'] = $phone_providers;
 

+ 40 - 0
helper/refill/api/xyz/yingdian/RefillCallBack.php

@@ -0,0 +1,40 @@
+<?php
+namespace refill\yingdian;
+require_once(BASE_HELPER_RAPI_PATH . '/yingdian/config.php');
+
+use Log;
+use refill;
+class RefillCallBack implements refill\IRefillCallBack
+{
+    public function verify($params): bool
+    {
+        //回调无签名验证
+        return true;
+    }
+
+    //[$order_id, $success, $can_try, $need_handle]
+    public function notify($params)
+    {
+        $status = $params['status'];
+        $order_sn = $params['orderNo'];
+        $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 == 'SUCCESS') {
+            //流水号格式为json,实例:["2421071918070053"]
+            $official_sn = json_decode($params['vouchers'], true);
+            $data['official_sn'] = $official_sn[0];
+            Model('refill_order')->edit($order_id, $data);
+            return [$order_id, true, false,true];
+        }
+        elseif (in_array($status, ['SUBMIT_FAIL', 'FAIL'])) {
+            return [$order_id, false, true,true];
+        }
+        else {
+            return [$order_id, false, false,false];
+        }
+    }
+}

+ 142 - 0
helper/refill/api/xyz/yingdian/RefillOil.php

@@ -0,0 +1,142 @@
+<?php
+
+namespace refill\yingdian;
+
+require_once(BASE_HELPER_RAPI_PATH . '/yingdian/config.php');
+
+use refill;
+use Log;
+
+class RefillOil extends refill\IRefillOil
+{
+    public function __construct($cfgs)
+    {
+        parent::__construct($cfgs);
+    }
+
+    private function req_params(int $card_no, int $amount, int $card_type, string $order_sn)
+    {
+        $params['orderNo'] = $order_sn;
+        $params['cardNumber'] = $card_no;
+        $params['amount'] = $amount;
+        $params['operator'] = config::operator[$card_type];
+        $params['timestamp'] = $this->getMillisecond();
+
+        $card_info = refill\util::read_card($card_no,$card_type);
+        $params['cardPhone'] = $card_info['bind_phone'];
+
+        return [$params, $card_info];
+    }
+
+    public function add($card_no, $card_type, $amount, $params,&$net_errno = 0)
+    {
+        [$params, $card_info] = $this->req_params($card_no, $amount, $card_type, $params['order_sn']);
+        $sign = $this->sign($params);
+        $params['sign'] = $sign;
+
+        $app_key = config::APP_KEY;
+        $header = [
+            "App-Channel: {$app_key}"
+        ];
+        $resp = http_request(config::ORDER_URL, $params, 'POST', false, $header, $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'] == 0 && $resp['data']['status'] == 'SUBMIT') {
+                refill\util::inc_card($card_no,$card_info);
+                return [true, $resp['data']['id'], false];
+            } elseif ($resp['code'] == -1){
+                //未知错误,需人工确认。
+                $net_errno = "HTTP-(-1)";
+                return [false, $resp['msg'], false];
+            } else {
+                $msg = "{$resp['msg']}-{$resp['data']['status']}";
+                return [false, $msg, false];
+            }
+        }
+    }
+
+    public function query($refill_info)
+    {
+        $params['orderNo'] = $refill_info['order_sn'];
+        $params['timestamp'] = $this->getMillisecond();
+
+        $content = "orderNo={$params['orderNo']}" . config::APP_SECRET . $params['timestamp'];
+        $params['sign'] = md5($content);
+
+        $app_key = config::APP_KEY;
+        $header = [
+            "App-Channel: {$app_key}"
+        ];
+        $resp = http_request(config::QUERY_URL, $params, 'GET', false, $header);
+
+        if (empty($resp)) {
+            return [false, '系统错误'];
+        }
+        else
+        {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if (empty($resp)) {
+                return [false, '系统错误'];
+            }
+            elseif ($resp['code'] == 0)
+            {
+                $status = $resp['data']['status'];
+                if ($status == 'SUCCESS') {
+                    //流水号格式为json,实例:["2421071918070053"]
+                    $official_sn = json_decode($resp['data']['vouchers'], true);
+                    $updata['official_sn'] = $official_sn[0];
+                    Model('refill_order')->edit($refill_info['order_id'], $updata);
+                    $order_state = ORDER_STATE_SUCCESS;
+                } elseif (in_array($status, ['SUBMIT_FAIL', 'FAIL'])) {
+                    $order_state = ORDER_STATE_CANCEL;
+                } elseif (in_array($status, ['CREATED', 'SUBMIT', 'CB_WAITING'])) {
+                    $order_state = ORDER_STATE_SEND;
+                } else {
+                    return [false, $status];
+                }
+                return [true, $order_state];
+            }
+            else {
+                return [false, $resp['msg']];
+            }
+
+        }
+    }
+
+    private function sign($params)
+    {
+        $timestamp = $params['timestamp'];
+        unset($params['timestamp']);
+        $content = '';
+        ksort($params);
+        foreach ($params as $key => $val){
+            if(false === $this->check_empty($val)) {
+                $content .= "{$key}={$val}&";
+            }
+        }
+        $content = rtrim($content,'&');
+        $content .= config::APP_SECRET;
+        $content .= $timestamp;
+        Log::record($content, Log::DEBUG);
+        return md5($content);
+    }
+
+    /**
+     * 获取毫秒级别的时间戳
+     */
+    private function getMillisecond()
+    {
+        $cur = microtime (true);
+        $cur = intval($cur * 1000);
+        return $cur;
+    }
+}

+ 8 - 0
helper/refill/api/xyz/yingdian/api.txt

@@ -0,0 +1,8 @@
+appkey: b-yzjy
+appsercet: z346p0ekdhot4xvc5oidpkewty3f07a8
+请求地址:http://47.107.232.51:48888/
+
+
+后台地址:http://47.107.232.51:48888/login
+帐号:yzjy
+密码:yz123456

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

@@ -0,0 +1,19 @@
+<?php
+namespace refill\yingdian;
+
+use mtopcard;
+class config
+{
+    //97
+    const ORDER_URL = 'http://47.107.232.51:48888/api/oil/order';
+    const QUERY_URL = 'http://47.107.232.51:48888/api/orders';
+
+    const APP_KEY = 'b-yzjy';
+    const APP_SECRET = 'z346p0ekdhot4xvc5oidpkewty3f07a8';
+    const NOTIFY_URL = BASE_SITE_URL . "/mobile/callback/refill_yingdian.php";
+
+    const operator = [
+        mtopcard\PetroChinaCard  => 2,
+        mtopcard\SinopecCard  => 1
+    ];
+}

Разлика између датотеке није приказан због своје велике величине
+ 1242 - 0
helper/refill/api/xyz/yingdian/油卡充值接口文档.html


+ 7 - 0
mobile/callback/refill_yingdian.php

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

+ 6 - 2
test/TestRefill.php

@@ -638,8 +638,12 @@ class TestRefill extends TestCase
     public function testYingdian()
     {
         $providers = new refill\yingdian\RefillOil([]);
-        $resp = $providers->add(9030230005180327, mtopcard\PetroChinaCard, 200, ['order_sn' => $this->make_sn()]);
-//        $resp = $providers->query(['order_sn' => '19681626682420408905']);
+//        $resp = $providers->add(1000111100021211884, mtopcard\SinopecCard, 200, ['order_sn' => $this->make_sn()]);
+//        $resp = $providers->query(['order_sn' => '94691626688509004979']);
+        $resp = $providers->query(['order_sn' => '45671626687631917892']);
+        $data = '{"orderNo":"94691626688509004979","vouchers":"[\"2421071918070053\"]","orderId":"63400811-e877-11eb-a89f-00163e147a9b","spOrderNo":"052423YK241720210719175503603473","status":"SUCCESS"}';
+        $input = json_decode($data, true);
+//        refill\RefillFactory::instance()->notify('yingdian',$input);
     }
 
     public function testZhenqi()