|
@@ -93,12 +93,24 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
}
|
|
|
$status = intval($resp['code']['status']);
|
|
|
if ($status == 100000) {
|
|
|
+ $card = Model('card_key')->getCardByOrderId($refill_info['order_id']);
|
|
|
+ $card_id = $card[0]['card_id'];
|
|
|
+
|
|
|
$order_state = -1;
|
|
|
$obj = $resp['obj'];
|
|
|
- if ($obj['resultCode'] == 2) {
|
|
|
+ $data = json_decode($obj['rechargeDesc'], true);
|
|
|
+ $rechargeStatus = $data['rechargeStatus'];
|
|
|
+ $code = $obj['resultCode'];
|
|
|
+ if ($code == 2) {
|
|
|
$order_state = ORDER_STATE_SUCCESS;
|
|
|
- } elseif ($obj['resultCode'] == 3) {
|
|
|
+ $save['official_sn'] = strtolower($data['rechargeVoucher']) == 'null' ? '' : $data['rechargeVoucher'];
|
|
|
+ Model('refill_order')->edit($refill_info['order_id'], $save);
|
|
|
+ cards_helper::assign($card_id, '');
|
|
|
+
|
|
|
+ } elseif ($code == 3) {
|
|
|
$order_state = ORDER_STATE_CANCEL;
|
|
|
+ $this->recharge_error($card_id, $rechargeStatus);
|
|
|
+
|
|
|
} else {
|
|
|
$order_state = ORDER_STATE_SEND;
|
|
|
}
|
|
@@ -112,6 +124,14 @@ class RefillPhone extends refill\IRefillPhone
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private function recharge_error($card_id, $rechargeStatus){
|
|
|
+ if(in_array($rechargeStatus , [600401,600404,600405])) {
|
|
|
+ cards_helper::freeze($card_id);
|
|
|
+ }else{
|
|
|
+ cards_helper::reuse($card_id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private function sign($params)
|
|
|
{
|
|
|
$key = config::KEY;
|