|
|
@@ -634,10 +634,11 @@ class IntraCityController extends BaseController
|
|
|
$eo = ExpressOrderClass::getByCondition(['storeOrderId'=>$storeOrderId, 'wxStoreId'=>$wxStoreId], true, false);
|
|
|
if (empty($eo)) {
|
|
|
Yii::error('订单不存在.store_order_id: '.$storeOrderId.',wx_store_id: '.$wxStoreId);
|
|
|
- return [
|
|
|
+ echo Json::encode([
|
|
|
'return_code' => 1,
|
|
|
'return_msg' => '系统错误'
|
|
|
- ];
|
|
|
+ ]);
|
|
|
+ exit();
|
|
|
}
|
|
|
|
|
|
$orderStatus = intval($callbackData['order_status']);
|
|
|
@@ -645,41 +646,59 @@ class IntraCityController extends BaseController
|
|
|
case IntraCityExpress::ORDER_STATUS_CREATED: // 订单创建成功
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_CREATED;
|
|
|
$eo->status = ExpressOrder::STATUS_CREATED;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 配送中|已发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>3, 'sendStatus'=>1]);
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_CANCELED_BY_MERCHANT: // 商家取消订单
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_CANCELED_BY_MERCHANT;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 待配送|未发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>2, 'sendStatus'=>0]);
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_CANCELED_BY_DELIVERY: // 配送方取消订单
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_CANCELED_BY_DELIVERY;
|
|
|
+ $eo->status = ExpressOrder::STATUS_CANCELED;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 待配送|未发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>2, 'sendStatus'=>0]);
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_ACCEPTED: // 配送员接单
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_ACCEPTED;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 配送中|已发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>3, 'sendStatus'=>1]); //订单创建时已执行了,这儿重复更新
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_ARRIVED: // 配送员到店
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_ARRIVED;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 配送中|已发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>3, 'sendStatus'=>1]); //订单创建时已执行了,这儿重复更新
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_DELIVERING: // 配送中
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_DELIVERING;
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_WITHDRAWN: // 配送员撤单
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_WITHDRAWN;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 待配送|未发货
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>2, 'sendStatus'=>0]);
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_COMPLETED: // 配送完成
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_COMPLETED;
|
|
|
$eo->status = ExpressOrder::STATUS_COMPLETED;
|
|
|
+ // 更新 xhOrder 表的订单状态与配送状态 -- 已完成|已送达
|
|
|
+ OrderClass::updateById($storeOrderId, ['status'=>4, 'sendStatus'=>2]);
|
|
|
break;
|
|
|
case IntraCityExpress::ORDER_STATUS_EXCEPTION: // 配送异常
|
|
|
$eo->order_status = ExpressOrder::ORDER_STATUS_EXCEPTION;
|
|
|
+ noticeUtil::push('同城配送异常 --- store_order_id(orderId):'.$storeOrderId.',wx_store_id:'.$wxStoreId);
|
|
|
break;
|
|
|
}
|
|
|
$re = $eo->save();
|
|
|
if (!$re) {
|
|
|
noticeUtil::push('同城配送回调更新订单状态失败. store_order_id:'.$storeOrderId.',wx_store_id:'.$wxStoreId.',status:'.$eo->status);
|
|
|
Yii::error('更新订单状态失败. store_order_id:'.$storeOrderId.',wx_store_id:'.$wxStoreId.',status:'.$eo->status);
|
|
|
- return [
|
|
|
+ $re = [
|
|
|
'return_code' => 0,
|
|
|
'return_msg' => 'OK'
|
|
|
];
|
|
|
+ echo Json::encode($re);
|
|
|
+ exit();
|
|
|
}
|
|
|
|
|
|
$result = [
|