|
@@ -5,8 +5,6 @@ namespace refill\rsanfang;
|
|
|
require_once(BASE_HELPER_RAPI_PATH . '/rsanfang/config.php');
|
|
|
|
|
|
use refill;
|
|
|
-use Log;
|
|
|
-use mtopcard;
|
|
|
|
|
|
class RefillPhone extends refill\IRefillThird
|
|
|
{
|
|
@@ -27,9 +25,9 @@ class RefillPhone extends refill\IRefillThird
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function req_params(int $phone, int $amount, $card_type, string $order_sn, $channel_code): array
|
|
|
- {
|
|
|
- return [];
|
|
|
+ //启用主动查询功能
|
|
|
+ public function callback() {
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
public function add($card_no, $card_type, $amount, $params, &$net_errno = 0): array
|
|
@@ -41,77 +39,40 @@ class RefillPhone extends refill\IRefillThird
|
|
|
return [false, '产品有误', false];
|
|
|
}
|
|
|
|
|
|
- [$validate, $card_type, $regin_no, $isTransfer, $card_state, $black] = mtopcard\valid_phone($card_no);
|
|
|
- $params = $this->req_params($card_no, $amount, $card_type, $order_sn, $channel_code);
|
|
|
- if (empty($params)) {
|
|
|
- return [false, '产品面值有误', false];
|
|
|
+ $mchid = $params['mchid'];
|
|
|
+ $times = config::getTimes($channel_code);
|
|
|
+ if($times <= 0) {
|
|
|
+ return [false, '产品有误', false];
|
|
|
}
|
|
|
|
|
|
- $resp = http_request(config::ORDER_URL, $params, 'POST', false, config::ExtHeaders, $net_errno);
|
|
|
-
|
|
|
- if (empty($resp))
|
|
|
- {
|
|
|
- return [false, '网络错误', true];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- $resp = json_decode($resp, true);
|
|
|
- if (empty($resp))
|
|
|
- {
|
|
|
- return [false, '网络错误', true];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return [true, '', false];
|
|
|
- }
|
|
|
+ $model_merchant = Model('merchant');
|
|
|
+ $data = [
|
|
|
+ 'query_total_times' => ['exp', "query_total_times+$times"],
|
|
|
+ 'query_left_times' => ['exp', "query_left_times+$times"]
|
|
|
+ ];
|
|
|
+ $ret = $model_merchant->editMerchant($data, ['mchid' => $mchid]);
|
|
|
|
|
|
+ if($ret) {
|
|
|
+ return [true, $order_sn, false];
|
|
|
+ } else {
|
|
|
+ return [true, '更新数据库出错', false];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function query($refill_info): array
|
|
|
{
|
|
|
- $params = [];
|
|
|
-
|
|
|
- $resp = http_request(config::QUERY_URL, $params, 'POST', false, config::ExtHeaders);
|
|
|
+ $order_sn = $refill_info['order_sn'];
|
|
|
+ $ch_trade_no = $refill_info['ch_trade_no'];
|
|
|
|
|
|
- if (empty($resp))
|
|
|
- {
|
|
|
- return [false, '网络错误', ''];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Log::record($resp, Log::DEBUG);
|
|
|
- $resp = json_decode($resp, true);
|
|
|
- if (empty($resp))
|
|
|
- {
|
|
|
- return [false, '网络错误', ''];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return [true, ORDER_STATE_SUCCESS, ''];
|
|
|
- }
|
|
|
+ if ($order_sn == $ch_trade_no) {
|
|
|
+ return [true, ORDER_STATE_SUCCESS, ''];
|
|
|
+ } else {
|
|
|
+ return [true, ORDER_STATE_SEND, ''];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function balance(): array
|
|
|
{
|
|
|
- $params = [];
|
|
|
-
|
|
|
- $resp = http_request(config::ORDER_URL, $params , 'POST');
|
|
|
-
|
|
|
- if (empty($resp)) {
|
|
|
- return [false, '系统错误'];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Log::record($resp, Log::DEBUG);
|
|
|
- $resp = json_decode($resp, true);
|
|
|
- if (empty($resp)) {
|
|
|
- return [false, '系统错误'];
|
|
|
- } else {
|
|
|
- return [true, 0];
|
|
|
- }
|
|
|
- }
|
|
|
+ return [true, 0];
|
|
|
}
|
|
|
-
|
|
|
}
|