|
|
@@ -7,6 +7,7 @@ use biz\goods\classes\CategoryClass;
|
|
|
use biz\goods\classes\UsageClass;
|
|
|
use biz\merchant\services\MerchantCapitalService;
|
|
|
use biz\order\classes\OrderClass;
|
|
|
+use biz\order\classes\OrderExpressClass;
|
|
|
use biz\order\classes\OrderSendClass;
|
|
|
use biz\order\models\Order;
|
|
|
use biz\promote\services\CouponRightService;
|
|
|
@@ -33,7 +34,7 @@ class OrderSendService extends BaseService
|
|
|
if ($printOrderId != $currentId) {
|
|
|
util::fail('当前流程无法操作');
|
|
|
}
|
|
|
- //1有配送单 2 填单并打单 3 不需要配送单
|
|
|
+ //1有配送单 2 填单并打单
|
|
|
if (in_array($option, [1, 2]) == false) {
|
|
|
util::fail('操作无效');
|
|
|
}
|
|
|
@@ -61,29 +62,35 @@ class OrderSendService extends BaseService
|
|
|
if ($deliverId != $currentId) {
|
|
|
util::fail('当前流程无法操作');
|
|
|
}
|
|
|
- //1 确认发货
|
|
|
- if (in_array($option, [1]) == false) {
|
|
|
- util::fail('操作无效');
|
|
|
- }
|
|
|
$time = time();
|
|
|
- OrderSendClass::updateByCondition(['orderId' => $id, 'actionId' => $deliverId], ['option' => $option, 'finishTime' => $time]);
|
|
|
- OrderClass::updateById($id, ['status' => 2, 'currentFlow' => 3]);
|
|
|
|
|
|
$sendType = isset($data['sendType']) ? $data['sendType'] : 1;
|
|
|
- //使用快递
|
|
|
- $sendInfo = [];
|
|
|
+
|
|
|
+ //1 自己送 2代送
|
|
|
if ($sendType == 2) {
|
|
|
- $sendSide = $data['sendSide'];
|
|
|
- $sendTime = $data['sendTime'];
|
|
|
+ $side = $data['sendSide'];
|
|
|
+ $sendTime = strtotime(date("Y-m-d") . ' ' . $data['sendTime']);
|
|
|
+ if ($sendTime < ($time + 30 * 60)) {
|
|
|
+ util::fail('请选择30分钟之后的时间');
|
|
|
+ }
|
|
|
+ $sendInfo = [
|
|
|
+ 'side' => $side,
|
|
|
+ 'sendTime' => $sendTime,
|
|
|
+ 'addTime' => $time,
|
|
|
+ 'sendTip' => 0,
|
|
|
+ 'merchantId' => $data['merchantId'],
|
|
|
+ 'orderId' => $id,
|
|
|
+ 'cost' => 6,
|
|
|
+ 'tip' => 0,
|
|
|
+ 'distance' => 7,
|
|
|
+ 'sendTime' => $sendTime,
|
|
|
+ 'side' => $side,
|
|
|
+ ];
|
|
|
+ OrderExpressClass::add($sendInfo);
|
|
|
}
|
|
|
- $sendInfo = [
|
|
|
- 'sendSideName' => '达达',
|
|
|
- 'sendDistance' => 5.5,
|
|
|
- 'sendCost' => 20,
|
|
|
- 'sendTip' => 5,
|
|
|
- 'sendTime' => '1576549653',
|
|
|
- 'sendStatus' => 0,
|
|
|
- ];
|
|
|
+
|
|
|
+ OrderSendClass::updateByCondition(['orderId' => $id, 'actionId' => $deliverId], ['option' => $option, 'finishTime' => $time]);
|
|
|
+ OrderClass::updateById($id, ['status' => 2, 'currentFlow' => 3, 'sendType' => $sendType]);
|
|
|
|
|
|
//进入送达流程
|
|
|
$reachId = $actionIdList['reach'];
|
|
|
@@ -112,7 +119,7 @@ class OrderSendService extends BaseService
|
|
|
$time = time();
|
|
|
OrderSendClass::updateByCondition(['orderId' => $id, 'actionId' => $reachId], ['option' => $option, 'finishTime' => $time]);
|
|
|
OrderClass::updateById($id, ['status' => 5, 'currentFlow' => 4]);
|
|
|
-
|
|
|
+
|
|
|
util::complete();
|
|
|
}
|
|
|
|
|
|
@@ -137,17 +144,7 @@ class OrderSendService extends BaseService
|
|
|
}
|
|
|
}
|
|
|
if ($actionId == $idList['deliver']) {
|
|
|
- $list[$key]['sendInfo'] = [];
|
|
|
- if ($order['sendType'] == 2) {
|
|
|
- $list[$key]['sendInfo'] = [
|
|
|
- 'sendSideName' => '达达',
|
|
|
- 'sendDistance' => 5.5,
|
|
|
- 'sendCost' => 20,
|
|
|
- 'sendTip' => 5,
|
|
|
- 'sendTime' => '1576549653',
|
|
|
- 'sendStatus' => 0,
|
|
|
- ];
|
|
|
- }
|
|
|
+ $list[$key]['sendInfo'] = $order['sendType'] == 3 ? OrderExpressClass::getExpress($orderId) : [];
|
|
|
}
|
|
|
if ($actionId == $idList['finish']) {
|
|
|
$list[$key]['classify'] = [];
|