h888
Wayne 3 years ago
parent 910a400ae9
commit 4466400bc1

@ -38,7 +38,7 @@ class Order extends ApiController
->order('o.order_id', 'desc'); ->order('o.order_id', 'desc');
if ($is_search) { if ($is_search) {
if(!empty($search['user_id'])){ if (!empty($search['user_id'])) {
$do = $do->where('o.user_id', $search['user_id']); $do = $do->where('o.user_id', $search['user_id']);
} }
if (!empty($search['order_sn'])) { if (!empty($search['order_sn'])) {
@ -47,7 +47,7 @@ class Order extends ApiController
if (!empty($search['consignee'])) { if (!empty($search['consignee'])) {
$do = $do->where('o.consignee', 'like', '%' . trim($search['consignee']) . '%'); $do = $do->where('o.consignee', 'like', '%' . trim($search['consignee']) . '%');
} }
if(!empty($search['status'])){ if (!empty($search['status'])) {
$do = $do->where('o.order_status', '=', $search['status']); $do = $do->where('o.order_status', '=', $search['status']);
} }
} }
@ -60,23 +60,23 @@ class Order extends ApiController
$result[$key]['add_time'] = date('Y-m-d H:i:s', $value['add_time']); $result[$key]['add_time'] = date('Y-m-d H:i:s', $value['add_time']);
// $result[$key]['status'] = $SName['os'][$value['order_status']] . ',' . $SName['ps'][$value['pay_status']] . ',' . $SName['ss'][$value['shipping_status']]; // $result[$key]['status'] = $SName['os'][$value['order_status']] . ',' . $SName['ps'][$value['pay_status']] . ',' . $SName['ss'][$value['shipping_status']];
if($value['shipping_status']==7){ if ($value['shipping_status'] == 7) {
$ss_status = '<font color="blue">'.$SName['ss'][$value['shipping_status']].'</font>'; $ss_status = '<font color="blue">' . $SName['ss'][$value['shipping_status']] . '</font>';
}else{ } else {
$ss_status = $SName['ss'][$value['shipping_status']]; $ss_status = $SName['ss'][$value['shipping_status']];
} }
$os_status = $SName['os'][$value['order_status']]; $os_status = $SName['os'][$value['order_status']];
if($value['pay_status']==3){ if ($value['pay_status'] == 3) {
$ps_status = '<font color="red">'.$SName['ps'][$value['pay_status']].'</font>'; $ps_status = '<font color="red">' . $SName['ps'][$value['pay_status']] . '</font>';
}else{ } else {
$ps_status = $SName['ps'][$value['pay_status']]; $ps_status = $SName['ps'][$value['pay_status']];
} }
$result[$key]['status'] = $os_status .','. $ps_status .','. $ss_status; $result[$key]['status'] = $os_status . ',' . $ps_status . ',' . $ss_status;
if($value['pay_id']==0){ if ($value['pay_id'] == 0) {
$result[$key]['pay_name'] = '貨到付款'; $result[$key]['pay_name'] = '貨到付款';
} }
} }
@ -139,9 +139,9 @@ class Order extends ApiController
$order_info['shipping_time'] = '未發貨'; $order_info['shipping_time'] = '未發貨';
} }
$order_info['confirm_time'] = date('Y-m-d H:i:s', $order_info['confirm_time']); $order_info['confirm_time'] = date('Y-m-d H:i:s', $order_info['confirm_time']);
if($order_info['pay_id']!=0){ if ($order_info['pay_id'] != 0) {
$order_info['pay_name'] = Db::name('payment')->where('pay_id', $order_info['pay_id'])->value('pay_name'); $order_info['pay_name'] = Db::name('payment')->where('pay_id', $order_info['pay_id'])->value('pay_name');
}else{ } else {
$order_info['pay_name'] = '貨到付款'; $order_info['pay_name'] = '貨到付款';
} }
$order_info['shipping_name'] = Db::name('shipping')->where('shipping_id', $order_info['shipping_id'])->value('shipping_name'); $order_info['shipping_name'] = Db::name('shipping')->where('shipping_id', $order_info['shipping_id'])->value('shipping_name');
@ -265,6 +265,7 @@ class Order extends ApiController
return $this->Success('更新成功'); return $this->Success('更新成功');
} }
//變更訂單操作
public function updateOrderAction() public function updateOrderAction()
{ {
$params = input('post.'); $params = input('post.');
@ -348,7 +349,9 @@ class Order extends ApiController
/* 返回 */ /* 返回 */
} elseif ($params['op'] == 'pay') { } elseif ($params['op'] == 'pay') {
/* 標記訂單為已確認、已付款,更新付款時間和已支付金額,如果是貨到付款,同時修改訂單為“收貨確認” */
/* 標記訂單為已確認、已付款,更新付款時間和已支付金額 */
$arr['order_id'] = $order['order_id']; $arr['order_id'] = $order['order_id'];
$arr['order_status'] = $order['order_status']; $arr['order_status'] = $order['order_status'];
$arr['shipping_status'] = $order['shipping_status']; $arr['shipping_status'] = $order['shipping_status'];
@ -407,16 +410,18 @@ class Order extends ApiController
$arr['shipping_time'] = time(); $arr['shipping_time'] = time();
//檢查是否貨到付款是的話更新card的資料 //檢查是否貨到付款是的話更新card的資料
if($order['pay_id']==0){ // if ($order['pay_id'] == 0) {
$updateSlashUSer = \app\common\SlashCard::updateUser($order); $updateSlashUSer = \app\common\SlashCard::updateUser($order);
if($updateSlashUSer['code']!=200 && $updateSlashUSer['code']!=201){
if ($updateSlashUSer['code'] != 200 && $updateSlashUSer['code'] != 201) {
return $this->Error('更新SlashCard失敗'); return $this->Error('更新SlashCard失敗');
}elseif($updateSlashUSer['code']==200){ } elseif ($updateSlashUSer['code'] == 200) {
$action['action_note'] = '更新Card為付費會員'; $action['action_note'] = '配貨完成,更新Card為付費會員,到期日:'.date('Y-m-d',$updateSlashUSer['data']);
}elseif($updateSlashUSer['code']==201){ } elseif ($updateSlashUSer['code'] == 201) {
$action['action_note'] = 'Card重覆操作'; $action['action_note'] = '配貨完成,會員期限已更新過';
}
} }
// }
$rtn = $this->updateStatus($arr, $action); $rtn = $this->updateStatus($arr, $action);
if (!$rtn) { if (!$rtn) {
return $this->Error('更新失敗'); return $this->Error('更新失敗');
@ -441,6 +446,16 @@ class Order extends ApiController
$arr['pay_status'] = $order['pay_status']; $arr['pay_status'] = $order['pay_status'];
$arr['shipping_status'] = SS_UNSHIPPED; $arr['shipping_status'] = SS_UNSHIPPED;
$arr['shipping_time'] = 0; $arr['shipping_time'] = 0;
$updateSlashUSer = \app\common\SlashCard::cancelUser($order);
if ($updateSlashUSer['code'] != 200 && $updateSlashUSer['code'] != 201) {
return $this->Error('更新SlashCard失敗');
} elseif ($updateSlashUSer['code'] == 200) {
$action['action_note'] = '取消配貨,更新Card會員資料,到期日:'.date('Y-m-d',$updateSlashUSer['data']);
} elseif ($updateSlashUSer['code'] == 201) {
$action['action_note'] = '取消配貨,會員期限未更新過';
}
$rtn = $this->updateStatus($arr, $action); $rtn = $this->updateStatus($arr, $action);
if (!$rtn) { if (!$rtn) {
return $this->Error('更新失敗'); return $this->Error('更新失敗');
@ -452,6 +467,8 @@ class Order extends ApiController
$arr['shipping_status'] = SS_SHIPPED_ARRIVE; $arr['shipping_status'] = SS_SHIPPED_ARRIVE;
// $arr['shipping_time'] = time(); // $arr['shipping_time'] = time();
$rtn = $this->updateStatus($arr, $action); $rtn = $this->updateStatus($arr, $action);
if (!$rtn) { if (!$rtn) {
return $this->Error('更新失敗'); return $this->Error('更新失敗');
} }
@ -468,13 +485,12 @@ class Order extends ApiController
} elseif ($params['op'] == 'finish') { } elseif ($params['op'] == 'finish') {
$arr['order_id'] = $order['order_id']; $arr['order_id'] = $order['order_id'];
$arr['order_status'] = OS_FINISHED; $arr['order_status'] = OS_FINISHED;
$arr['pay_status'] = $order['pay_status']; $arr['pay_status'] = PS_PAYED;
$arr['shipping_status'] = $order['shipping_status']; $arr['shipping_status'] = SS_RECEIVED;
$rtn = $this->updateStatus($arr, $action); $rtn = $this->updateStatus($arr, $action);
if (!$rtn) { if (!$rtn) {
return $this->Error('更新失敗'); return $this->Error('更新失敗');
} }
} }
@ -562,7 +578,6 @@ class Order extends ApiController
$list[] = 'arrive'; $list[] = 'arrive';
} }
$list[] = 'prepare'; $list[] = 'prepare';
} elseif (PS_UNPAYED == $ps) { } elseif (PS_UNPAYED == $ps) {
$list[] = 'pay'; $list[] = 'pay';
@ -583,7 +598,6 @@ class Order extends ApiController
$list[] = 'arrive'; $list[] = 'arrive';
} }
$list[] = 'prepare'; $list[] = 'prepare';
} else { } else {
/* 狀態:已確認、付款中 */ /* 狀態:已確認、付款中 */
$list[] = 'unpay'; $list[] = 'unpay';
@ -666,7 +680,7 @@ class Order extends ApiController
// /* 售後 */ // /* 售後 */
//操作排序 //操作排序
$sort_arr = ['confirm', 'pay', 'prepare', 'split', 'to_delivery', 'ship', 'receive', 'unship', 'arrive','unarrive', 'unpay', 'finish' ,'return', 'cancel', 'invalid', 'remove', 'after_service']; $sort_arr = ['confirm', 'pay', 'prepare', 'split', 'to_delivery', 'ship', 'receive', 'unship', 'arrive', 'unarrive', 'unpay', 'finish', 'return', 'cancel', 'invalid', 'remove', 'after_service'];
// 使用 array_intersect 函數找到兩個 array 的交集 // 使用 array_intersect 函數找到兩個 array 的交集
$intersection = array_intersect($list, $sort_arr); $intersection = array_intersect($list, $sort_arr);
@ -714,7 +728,7 @@ class Order extends ApiController
$order = Db::name('order_info')->where('order_id', $order_id)->find(); $order = Db::name('order_info')->where('order_id', $order_id)->find();
$shipping_data = json_decode($order['shipping_data'], true); $shipping_data = json_decode($order['shipping_data'], true);
if(empty($shipping_data)){ if (empty($shipping_data)) {
return; return;
} }
$shipping = new ShippingStrategy('ecpay'); $shipping = new ShippingStrategy('ecpay');

@ -13,12 +13,14 @@ class SlashCard
->where('order_id', $order['order_id']) ->where('order_id', $order['order_id'])
->where('goods_id', 1) ->where('goods_id', 1)
->find(); ->find();
if ($is_main) { if ($is_main) {
$rtn = \app\service\Card::addUser([ $params = [
'order_sn' => $order['order_sn'], 'order_sn' => $order['order_sn'],
'user_id' => Db::name('users')->where('user_id', $order['user_id'])->value('sso_user_id'), 'user_id' => Db::name('users')->where('user_id', $order['user_id'])->value('sso_user_id'),
]); ];
$rtn = \app\service\Card::addUser($params);
if ($rtn['code'] != 200) { if ($rtn['code'] != 200) {
return ['code' => $rtn['code'], 'msg' => '更新slashcard失敗']; return ['code' => $rtn['code'], 'msg' => '更新slashcard失敗'];
} }
@ -27,4 +29,31 @@ class SlashCard
return ['code' => 201, 'msg' => '訂單無slashcard商品']; return ['code' => 201, 'msg' => '訂單無slashcard商品'];
} }
} }
public static function cancelUser($order)
{
//判斷是否為SlashCard商品
$is_main = Db::name('order_goods')
->where('order_id', $order['order_id'])
->where('goods_id', 1)
->find();
if ($is_main){
$params = [
'order_sn' => $order['order_sn'],
'user_id' => Db::name('users')->where('user_id', $order['user_id'])->value('sso_user_id'),
];
$rtn = \app\service\Card::cancelUser($params);
if ($rtn['code'] != 200 && $rtn['code'] != 201) {
return ['code' => $rtn['code'], 'msg' => '更新slashcard失敗'];
}
return $rtn;
}else{
return ['code' => 201, 'msg' => '訂單無slashcard商品'];
}
}
} }

@ -547,6 +547,7 @@ class EcpayShipping implements Ishipping
return FALSE; return FALSE;
} }
// $result['redirect_url'] = 'http://localhost:5173/m/order/shipping?is_return=1';
$result['redirect_url'] = getUrl() . '/m/order/shipping?is_return=1'; $result['redirect_url'] = getUrl() . '/m/order/shipping?is_return=1';
return $result; return $result;

Loading…
Cancel
Save