|
@@ -17,24 +17,26 @@ class RefillOil extends refill\IRefillOil
|
|
|
|
|
|
private function getProductID($card_type,$amount) : string
|
|
|
{
|
|
|
- $product_id = '';
|
|
|
- if($card_type === mtopcard\PetroChinaCard)
|
|
|
- {
|
|
|
- $product_id = config::product_code[$card_type][$amount];
|
|
|
+ if(array_key_exists($card_type,config::product_codes)) {
|
|
|
+ $codes = config::product_codes[$card_type];
|
|
|
+ if(array_key_exists($amount,$codes)) {
|
|
|
+ return $codes[$amount];
|
|
|
+ }
|
|
|
}
|
|
|
- return $product_id;
|
|
|
+
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
public function add($card_no, $card_type, $amount, $params, &$net_errno = 0): array
|
|
|
{
|
|
|
- $genParams = function ($card_no, $card_type, $amount, $order_sn, $province)
|
|
|
+ $genParams = function ($card_no, $card_type, $amount, $order_sn, $province,$ch_code)
|
|
|
{
|
|
|
$params = [];
|
|
|
|
|
|
$params['mchid'] = config::MCHID;
|
|
|
$params['orderid'] = $order_sn;
|
|
|
$params['number'] = $card_no;
|
|
|
- $params['productid'] = $this->getProductID($card_type,$amount);
|
|
|
+ $params['productid'] = $ch_code;
|
|
|
$params['timestamp'] = $this->getMillisecond();
|
|
|
$params['youka'] = mtopcard\ProvinceList[$province];
|
|
|
|
|
@@ -46,7 +48,12 @@ class RefillOil extends refill\IRefillOil
|
|
|
return $params;
|
|
|
};
|
|
|
|
|
|
- $params = $genParams($card_no, $card_type, $amount, $params['order_sn'], $params['province']);
|
|
|
+ $ch_code = $this->getProductID($card_type,$amount);
|
|
|
+ if(!$ch_code) {
|
|
|
+ return [false, '系统错误', false];
|
|
|
+ }
|
|
|
+
|
|
|
+ $params = $genParams($card_no, $card_type, $amount, $params['order_sn'], $params['province'], $ch_code);
|
|
|
$params = json_encode($params);
|
|
|
|
|
|
$resp = http_post_data(config::ORDER_URL, $params , config::ExtHeaders, $net_errno);
|
|
@@ -59,14 +66,11 @@ class RefillOil extends refill\IRefillOil
|
|
|
$resp = json_decode($resp, true);
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误', true];
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 0) {
|
|
|
+ } elseif ($resp['status'] === 0) {
|
|
|
return [true, $resp['oid'], false];
|
|
|
- }
|
|
|
- elseif ($resp['status'] === -1) {
|
|
|
+ } elseif ($resp['status'] === -1) {
|
|
|
return [false, $resp['msg'], false];
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
return [false, $resp['msg'], true];
|
|
|
}
|
|
|
}
|
|
@@ -100,26 +104,20 @@ class RefillOil extends refill\IRefillOil
|
|
|
$resp = json_decode($resp, true);
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误'];
|
|
|
- }
|
|
|
- elseif ($resp['status'] === -1) {
|
|
|
+ } elseif ($resp['status'] === -1) {
|
|
|
return [false, $resp['msg']];
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 1) {
|
|
|
+ } elseif ($resp['status'] === 1) {
|
|
|
$order_state = ORDER_STATE_SEND;
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 2) {
|
|
|
+ } elseif ($resp['status'] === 2) {
|
|
|
$official_sn = $resp['voucher'] ?? '';
|
|
|
Model('refill_order')->edit($refill_info['order_id'], ['official_sn' => $official_sn]);
|
|
|
$order_state = ORDER_STATE_SUCCESS;
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 3) {
|
|
|
+ } elseif ($resp['status'] === 3) {
|
|
|
$order_state = ORDER_STATE_CANCEL;
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 4 && (time() - $refill_info['commit_time'] >= 600)) {
|
|
|
+ } elseif ($resp['status'] === 4 && (time() - $refill_info['commit_time'] >= 600)) {
|
|
|
$order_state = ORDER_STATE_NOEXIST;
|
|
|
return [false, $order_state];
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
return [false, $resp['msg']];
|
|
|
}
|
|
|
|
|
@@ -153,11 +151,9 @@ class RefillOil extends refill\IRefillOil
|
|
|
$resp = json_decode($resp, true);
|
|
|
if (empty($resp)) {
|
|
|
return [false, '系统错误'];
|
|
|
- }
|
|
|
- elseif ($resp['status'] === 1) {
|
|
|
+ } elseif ($resp['status'] === 1) {
|
|
|
return [true, $resp['balance']];
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
return [false, $resp['msg']];
|
|
|
}
|
|
|
}
|