|
|
@@ -6,10 +6,10 @@ use biz\wx\classes\WxMessageClass;
|
|
|
use biz\wx\classes\WxOpenClass;
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\express\classes\GhsExpressOrderClass;
|
|
|
+use bizGhs\shop\classes\ShopAdminClass;
|
|
|
use bizHd\order\classes\OrderGoodsClass;
|
|
|
use bizGhs\order\classes\OrderItemClass;
|
|
|
use bizHd\purchase\classes\PurchaseClass;
|
|
|
-use bizHd\saas\classes\StaffClass;
|
|
|
use common\components\dict;
|
|
|
use common\components\imgUtil;
|
|
|
use common\components\orderSn;
|
|
|
@@ -414,10 +414,10 @@ class IntraCityController extends BaseController
|
|
|
if ($order->status != 2) {
|
|
|
util::fail('待发货订单才能发跑腿,请刷新页面');
|
|
|
}
|
|
|
- // 不能创建配送的几种配送状态
|
|
|
- $notCanCreateSendStatus = [-1, 3];
|
|
|
+ //如果不是没鹛跑腿和取消了,则不能再叫跑腿,有多处,关键词no_call_express
|
|
|
+ $notCanCreateSendStatus = [-2, 3];
|
|
|
if (!in_array($order->sendStatus, $notCanCreateSendStatus)) {
|
|
|
- util::fail('不能叫跑腿,请刷新页面');
|
|
|
+ util::fail('不能叫跑腿,请刷新页面,编号800');
|
|
|
}
|
|
|
$cgId = $order->purchaseId ?? 0;
|
|
|
$cgInfo = PurchaseClass::getById($cgId, true);
|
|
|
@@ -447,7 +447,7 @@ class IntraCityController extends BaseController
|
|
|
$miniOpenId = '';
|
|
|
$customShopAdminId = $order->customShopAdminId ?? 0;
|
|
|
if (!empty($customShopAdminId)) {
|
|
|
- $customStaff = StaffClass::getById($customShopAdminId, true);
|
|
|
+ $customStaff = ShopAdminClass::getById($customShopAdminId, true);
|
|
|
$customStaffAdminId = $customStaff->adminId ?? '';
|
|
|
if (!empty($customStaffAdminId)) {
|
|
|
$customAdmin = AdminClass::getById($customStaffAdminId, true);
|
|
|
@@ -507,7 +507,7 @@ class IntraCityController extends BaseController
|
|
|
'user_phone' => $customMobile,
|
|
|
'order_seq' => $sendNum, // 用于配送员快速寻找到匹配的商品(非必传) -- 对应 xhOrder 表的 sendNum
|
|
|
'verify_code_type' => 0,
|
|
|
- 'order_detail_path' => '/admin/order/detail?id=' . $cgId,
|
|
|
+ 'order_detail_path' => '/pagesPurchase/purDetails?id=' . $cgId,
|
|
|
'callback_url' => $callbackUrl, // 订单状态回调地址(非必传)
|
|
|
'use_sandbox' => 0,
|
|
|
'cargo' => $cargo
|
|
|
@@ -530,20 +530,38 @@ class IntraCityController extends BaseController
|
|
|
'distance' => $result['distance'] ?? 0,
|
|
|
'fee' => $result['fee'] ?? 0,
|
|
|
'fetchCode' => $result['fetch_code'] ?? '',
|
|
|
- 'orderSeq' => $result['order_seq'] ?? ''
|
|
|
+ 'orderSeq' => $result['order_seq'] ?? '',
|
|
|
+ 'status' => 1,//有订单可以取消
|
|
|
+ 'orderStatus' => 0,//已提交申请,待确认
|
|
|
];
|
|
|
GhsExpressOrderClass::add($data);
|
|
|
$sendDistance = $data['distance'] ?? 0;
|
|
|
$deliveryId = $data['deliveryId'] ?? '';
|
|
|
- //更新订单配送状态
|
|
|
+ //更新订单
|
|
|
$order->sendDistance = $sendDistance;
|
|
|
- $order->sendStatus = 0;
|
|
|
+ $order->sendStatus = -1;//已提交申请,待确认
|
|
|
$order->deliveryId = $deliveryId;
|
|
|
+ $order->sendType = 2;
|
|
|
$order->save();
|
|
|
$cgInfo->sendDistance = $sendDistance;
|
|
|
- $cgInfo->sendStatus = 0;
|
|
|
+ $cgInfo->sendStatus = -1;//已提交申请,待确认
|
|
|
$cgInfo->deliveryId = $deliveryId;
|
|
|
+ $cgInfo->sendType = 2;
|
|
|
$cgInfo->save();
|
|
|
+
|
|
|
+ $params = [
|
|
|
+ 'fhType' => 0,
|
|
|
+ 'fhWl' => '',
|
|
|
+ 'fhWlNo' => '',
|
|
|
+ 'staffId' => 0,
|
|
|
+ 'staffName' => '',
|
|
|
+ ];
|
|
|
+ //确认发货,花店会增加路上库存
|
|
|
+ OrderClass::orderSend($order, $params);
|
|
|
+ $totalFee = $result['fee'] ?? 0;
|
|
|
+ $ghsName = $cgInfo->ghsName ?? '';
|
|
|
+ noticeUtil::push("批发订单,发跑跑腿,获取运费:{$totalFee} 重量:{$weight} 距离:{$sendDistance} 订单号:{$orderId} 供货商:{$ghsName} 客户:{$customName} 客户手机:{$customMobile}", '15280215347');
|
|
|
+
|
|
|
util::success(['fee' => $data['fee']], '订单创建成功');
|
|
|
} else {
|
|
|
noticeUtil::push("批发 -- " . $this->mainId . ",订单创建失败:" . json_encode($result));
|
|
|
@@ -628,9 +646,9 @@ class IntraCityController extends BaseController
|
|
|
if ($order->status != 3) {
|
|
|
util::fail('不能取消');
|
|
|
}
|
|
|
- if (in_array($order->sendStatus, [-1, 2, 3])) {
|
|
|
+ if (in_array($order->sendStatus, [-2, 2, 3])) {
|
|
|
//订单 没叫跑腿、已送达、已取消
|
|
|
- util::fail('不能取消哈');
|
|
|
+ util::fail('不能取消哈,编号666');
|
|
|
}
|
|
|
$cgId = $order->purchaseId ?? 0;
|
|
|
$cg = PurchaseClass::getById($cgId, true);
|
|
|
@@ -667,14 +685,8 @@ class IntraCityController extends BaseController
|
|
|
|
|
|
util::success($result, "订单取消成功");
|
|
|
} else {
|
|
|
- if ($result['errcode'] == 934018) { // 93401 -- 订单已取消,请勿重复操作
|
|
|
- // 更新订单状态
|
|
|
- OrderClass::updateById($orderId, ['sendStatus' => 3]);//设置为取消状态
|
|
|
- util::success($result, "订单取消成功");
|
|
|
- }
|
|
|
-
|
|
|
Yii::error("订单取消失败:" . ($result['errmsg'] ?? '未知错误'), 'intracity');
|
|
|
- util::fail('订单取消失败: ' . $result['errcode']);
|
|
|
+ util::fail('取消失败,编号6693');
|
|
|
}
|
|
|
} catch (\Exception $e) {
|
|
|
Yii::error("订单取消异常:" . $e->getMessage(), 'intraCity');
|
|
|
@@ -751,22 +763,13 @@ class IntraCityController extends BaseController
|
|
|
switch ($orderStatus) {
|
|
|
// 订单创建成功,已叫跑腿,等跑腿接单
|
|
|
case IntraCityExpress::ORDER_STATUS_CREATED:
|
|
|
- if ($order->status == 2) {
|
|
|
+ if ($order->status == 3) {
|
|
|
$eo->orderStatus = 1;//已叫跑腿,等跑腿接单
|
|
|
$eo->save();
|
|
|
$order->sendStatus = 0;//已叫跑腿,等跑腿接单
|
|
|
$order->save();
|
|
|
$cg->sendStatus = 0;//已叫跑腿,等跑腿接单
|
|
|
$cg->save();
|
|
|
- $params = [
|
|
|
- 'fhType' => 0,
|
|
|
- 'fhWl' => '',
|
|
|
- 'fhWlNo' => '',
|
|
|
- 'staffId' => 0,
|
|
|
- 'staffName' => '',
|
|
|
- ];
|
|
|
- //花店会增加路上库存
|
|
|
- OrderClass::orderSend($order, $params);
|
|
|
}
|
|
|
break;
|
|
|
// 配送员接单
|
|
|
@@ -827,8 +830,8 @@ class IntraCityController extends BaseController
|
|
|
$cg->save();
|
|
|
$params = ['staffId' => 0, 'staffName' => ''];
|
|
|
OrderClass::cancelOrderSend($order, $params);
|
|
|
+ $msg = '取消配送,订单编号 ';
|
|
|
}
|
|
|
- $msg = '取消配送,订单编号 ';
|
|
|
break;
|
|
|
// 配送方取消订单
|
|
|
case IntraCityExpress::ORDER_STATUS_CANCELED_BY_DELIVERY:
|
|
|
@@ -843,8 +846,8 @@ class IntraCityController extends BaseController
|
|
|
$cg->save();
|
|
|
$params = ['staffId' => 0, 'staffName' => ''];
|
|
|
OrderClass::cancelOrderSend($order, $params);
|
|
|
+ $msg = '配送方取消配送,订单编号 ';
|
|
|
}
|
|
|
- $msg = '配送方取消配送,订单编号 ';
|
|
|
break;
|
|
|
// 配送员撤单
|
|
|
case IntraCityExpress::ORDER_STATUS_WITHDRAWN:
|
|
|
@@ -864,8 +867,8 @@ class IntraCityController extends BaseController
|
|
|
$cg->save();
|
|
|
$params = ['staffId' => 0, 'staffName' => ''];
|
|
|
OrderClass::cancelOrderSend($order, $params);
|
|
|
+ $msg = '订单配送异常,订单编号 ';
|
|
|
}
|
|
|
- $msg = '订单配送异常,订单编号 ';
|
|
|
break;
|
|
|
}
|
|
|
// ====================== 事务提交
|