h888
Wayne 3 years ago
parent 910a400ae9
commit 4466400bc1

@ -38,7 +38,7 @@ class Order extends ApiController
->order('o.order_id', 'desc');
if ($is_search) {
if(!empty($search['user_id'])){
if (!empty($search['user_id'])) {
$do = $do->where('o.user_id', $search['user_id']);
}
if (!empty($search['order_sn'])) {
@ -47,7 +47,7 @@ class Order extends ApiController
if (!empty($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']);
}
}
@ -60,23 +60,23 @@ class Order extends ApiController
$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']];
if($value['shipping_status']==7){
$ss_status = '<font color="blue">'.$SName['ss'][$value['shipping_status']].'</font>';
}else{
$ss_status = $SName['ss'][$value['shipping_status']];
if ($value['shipping_status'] == 7) {
$ss_status = '<font color="blue">' . $SName['ss'][$value['shipping_status']] . '</font>';
} else {
$ss_status = $SName['ss'][$value['shipping_status']];
}
$os_status = $SName['os'][$value['order_status']];
if($value['pay_status']==3){
$ps_status = '<font color="red">'.$SName['ps'][$value['pay_status']].'</font>';
}else{
if ($value['pay_status'] == 3) {
$ps_status = '<font color="red">' . $SName['ps'][$value['pay_status']] . '</font>';
} else {
$ps_status = $SName['ps'][$value['pay_status']];
}
$result[$key]['status'] = $os_status .','. $ps_status .','. $ss_status;
if($value['pay_id']==0){
$result[$key]['status'] = $os_status . ',' . $ps_status . ',' . $ss_status;
if ($value['pay_id'] == 0) {
$result[$key]['pay_name'] = '貨到付款';
}
}
@ -124,7 +124,7 @@ class Order extends ApiController
$SName = getStatusName();
$order_info = Db::name('order_info')
->where('order_id', $id)->find();
->where('order_id', $id)->find();
$order_info['goods_item'] = $this->getOrderGoods($id);
$order_info['add_time'] = date('Y-m-d H:i:s', $order_info['add_time']);
@ -139,9 +139,9 @@ class Order extends ApiController
$order_info['shipping_time'] = '未發貨';
}
$order_info['confirm_time'] = date('Y-m-d H:i:s', $order_info['confirm_time']);
if($order_info['pay_id']!=0){
$order_info['pay_name'] = Db::name('payment')->where('pay_id', $order_info['pay_id'])->value('pay_name');
}else{
if ($order_info['pay_id'] != 0) {
$order_info['pay_name'] = Db::name('payment')->where('pay_id', $order_info['pay_id'])->value('pay_name');
} else {
$order_info['pay_name'] = '貨到付款';
}
$order_info['shipping_name'] = Db::name('shipping')->where('shipping_id', $order_info['shipping_id'])->value('shipping_name');
@ -245,7 +245,7 @@ class Order extends ApiController
$order_action[$key]['order_status'] = $SName['os'][$value['order_status']];
$order_action[$key]['shipping_status'] = $SName['ss'][$value['shipping_status']];
$order_action[$key]['pay_status'] = $SName['ps'][$value['pay_status']];
$order_action[$key]['log_time'] = date('Y-m-d H:i:s', $value['log_time']);
}
@ -265,6 +265,7 @@ class Order extends ApiController
return $this->Success('更新成功');
}
//變更訂單操作
public function updateOrderAction()
{
$params = input('post.');
@ -348,10 +349,12 @@ class Order extends ApiController
/* 返回 */
} elseif ($params['op'] == 'pay') {
/* 標記訂單為已確認、已付款,更新付款時間和已支付金額,如果是貨到付款,同時修改訂單為“收貨確認” */
$arr['order_id'] = $order['order_id'];
$arr['order_status'] = $order['order_status'];
$arr['shipping_status'] = $order['shipping_status'];
/* 標記訂單為已確認、已付款,更新付款時間和已支付金額 */
$arr['order_id'] = $order['order_id'];
$arr['order_status'] = $order['order_status'];
$arr['shipping_status'] = $order['shipping_status'];
if ($order['order_status'] != OS_CONFIRMED) {
$arr['order_status'] = OS_CONFIRMED;
$arr['confirm_time'] = time();
@ -396,27 +399,29 @@ class Order extends ApiController
/* 記錄log */
// order_action($order['order_sn'], OS_CONFIRMED, $order['shipping_status'], PS_PAYED, $action_note);
} elseif ($params['op'] == 'printcard') {
$arr['order_id'] = $order['order_id'];
$arr['order_id'] = $order['order_id'];
$arr['order_status'] = $order['order_status'];
$arr['pay_status'] = $order['pay_status'];
$arr['pay_status'] = $order['pay_status'];
if ($order['order_status'] != OS_CONFIRMED) {
$arr['order_status'] = OS_CONFIRMED;
$arr['confirm_time'] = time();
}
$arr['shipping_status'] = 5;
$arr['shipping_time'] = time();
//檢查是否貨到付款是的話更新card的資料
if($order['pay_id']==0){
// if ($order['pay_id'] == 0) {
$updateSlashUSer = \app\common\SlashCard::updateUser($order);
if($updateSlashUSer['code']!=200 && $updateSlashUSer['code']!=201){
if ($updateSlashUSer['code'] != 200 && $updateSlashUSer['code'] != 201) {
return $this->Error('更新SlashCard失敗');
}elseif($updateSlashUSer['code']==200){
$action['action_note'] = '更新Card為付費會員';
}elseif($updateSlashUSer['code']==201){
$action['action_note'] = 'Card重覆操作';
} 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);
if (!$rtn) {
return $this->Error('更新失敗');
@ -441,6 +446,16 @@ class Order extends ApiController
$arr['pay_status'] = $order['pay_status'];
$arr['shipping_status'] = SS_UNSHIPPED;
$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);
if (!$rtn) {
return $this->Error('更新失敗');
@ -452,6 +467,8 @@ class Order extends ApiController
$arr['shipping_status'] = SS_SHIPPED_ARRIVE;
// $arr['shipping_time'] = time();
$rtn = $this->updateStatus($arr, $action);
if (!$rtn) {
return $this->Error('更新失敗');
}
@ -468,13 +485,12 @@ class Order extends ApiController
} elseif ($params['op'] == 'finish') {
$arr['order_id'] = $order['order_id'];
$arr['order_status'] = OS_FINISHED;
$arr['pay_status'] = $order['pay_status'];
$arr['shipping_status'] = $order['shipping_status'];
$arr['pay_status'] = PS_PAYED;
$arr['shipping_status'] = SS_RECEIVED;
$rtn = $this->updateStatus($arr, $action);
if (!$rtn) {
return $this->Error('更新失敗');
}
}
@ -562,7 +578,6 @@ class Order extends ApiController
$list[] = 'arrive';
}
$list[] = 'prepare';
} elseif (PS_UNPAYED == $ps) {
$list[] = 'pay';
@ -583,7 +598,6 @@ class Order extends ApiController
$list[] = 'arrive';
}
$list[] = 'prepare';
} else {
/* 狀態:已確認、付款中 */
$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 的交集
$intersection = array_intersect($list, $sort_arr);
@ -713,8 +727,8 @@ class Order extends ApiController
$order_id = input('order_id');
$order = Db::name('order_info')->where('order_id', $order_id)->find();
$shipping_data = json_decode($order['shipping_data'], true);
if(empty($shipping_data)){
if (empty($shipping_data)) {
return;
}
$shipping = new ShippingStrategy('ecpay');

@ -13,12 +13,14 @@ class SlashCard
->where('order_id', $order['order_id'])
->where('goods_id', 1)
->find();
if ($is_main) {
$rtn = \app\service\Card::addUser([
$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::addUser($params);
if ($rtn['code'] != 200) {
return ['code' => $rtn['code'], 'msg' => '更新slashcard失敗'];
}
@ -27,4 +29,31 @@ class 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;
}
// $result['redirect_url'] = 'http://localhost:5173/m/order/shipping?is_return=1';
$result['redirect_url'] = getUrl() . '/m/order/shipping?is_return=1';
return $result;

Loading…
Cancel
Save