|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace biz\order\classes;
|
|
|
|
|
|
+use biz\merchant\classes\MerchantAssetClass;
|
|
|
use common\components\stringUtil;
|
|
|
use common\components\util;
|
|
|
use common\services\xhOrderDayNumService;
|
|
|
@@ -11,65 +12,73 @@ use biz\base\classes\BaseClass;
|
|
|
|
|
|
class OrderSendClass extends BaseClass
|
|
|
{
|
|
|
-
|
|
|
- public static $baseFile = '\biz\order\models\OrderSend';
|
|
|
-
|
|
|
- //流程id与名称
|
|
|
- public static $actionId = ['placeOrder' => 10, 'printOrder' => 20, 'deliver' => 30, 'reach' => 40, 'finish' => 50];
|
|
|
- public static $action = [
|
|
|
- 10 => ['name' => '下单', 'sign' => 'placeOrder'],
|
|
|
- 20 => ['name' => '制单', 'sign' => 'printOrder',],
|
|
|
- 30 => ['name' => '发货', 'sign' => 'deliver'],
|
|
|
- 40 => ['name' => '送达', 'sign' => 'reach'],
|
|
|
- 50 => ['name' => '完成', 'sign' => 'finish'],
|
|
|
- ];
|
|
|
-
|
|
|
- //总流程数
|
|
|
- const TOTAL_FLOW = 4;
|
|
|
-
|
|
|
- //下单操作完成 shish 2019.12.13
|
|
|
- public static function placeOrder($data)
|
|
|
- {
|
|
|
- //下单完成
|
|
|
- $orderId = $data['orderId'];
|
|
|
- $payTime = $data['payTime'];
|
|
|
- $actionId = self::$actionId;
|
|
|
- $placeOrderId = $actionId['placeOrder'];
|
|
|
- $time = time();
|
|
|
- $data = ['actionId' => $placeOrderId, 'orderId' => $orderId, 'finishTime' => $payTime, 'addTime' => $time, 'inTurn' => $placeOrderId];
|
|
|
- self::add($data);
|
|
|
-
|
|
|
- OrderClass::updateById($orderId, ['currentFlow' => 1]);
|
|
|
-
|
|
|
- //制单未开始
|
|
|
- $printOrderId = $actionId['printOrder'];
|
|
|
- $data = ['actionId' => $printOrderId, 'orderId' => $orderId, 'finishTime' => 0, 'addTime' => $time, 'inTurn' => $printOrderId];
|
|
|
- self::add($data);
|
|
|
- }
|
|
|
-
|
|
|
- //当前待执行的动作 shish 2019.12.16
|
|
|
- public static function toDoActionId($id)
|
|
|
- {
|
|
|
- $action = self::getByCondition(['orderId' => $id], false, 'inTurn DESC');
|
|
|
- $actionId = 0;
|
|
|
- if (empty($action['finishTime'])) {
|
|
|
- $actionId = $action['actionId'];
|
|
|
- }
|
|
|
- return $actionId;
|
|
|
- }
|
|
|
-
|
|
|
- //免发货流程的处理 shish 2020.3.12
|
|
|
- public static function withoutSend($order)
|
|
|
- {
|
|
|
- $id = $order['id'];
|
|
|
- if ($order['status'] == OrderClass::ORDER_STATUS_COMPLETE) {
|
|
|
- util::fail('订单已完成');
|
|
|
- }
|
|
|
- self::deleteByCondition(['orderId' => $id]);
|
|
|
- //订单状态变更
|
|
|
- OrderClass::updateById($id, ['sendType' => 1, 'totalFlow' => OrderClass::ORDER_TOTAL_FLOW, 'currentFlow' => OrderClass::ORDER_TOTAL_FLOW]);
|
|
|
- OrderClass::complete($order);
|
|
|
- return OrderClass::ORDER_TOTAL_FLOW;
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
+ public static $baseFile = '\biz\order\models\OrderSend';
|
|
|
+
|
|
|
+ //流程id与名称
|
|
|
+ public static $actionId = ['placeOrder' => 10, 'printOrder' => 20, 'deliver' => 30, 'reach' => 40, 'finish' => 50];
|
|
|
+ public static $action = [
|
|
|
+ 10 => ['name' => '下单', 'sign' => 'placeOrder'],
|
|
|
+ 20 => ['name' => '制单', 'sign' => 'printOrder',],
|
|
|
+ 30 => ['name' => '发货', 'sign' => 'deliver'],
|
|
|
+ 40 => ['name' => '送达', 'sign' => 'reach'],
|
|
|
+ 50 => ['name' => '完成', 'sign' => 'finish'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ //总流程数
|
|
|
+ const TOTAL_FLOW = 4;
|
|
|
+
|
|
|
+ //下单操作完成 shish 2019.12.13
|
|
|
+ public static function placeOrder($data)
|
|
|
+ {
|
|
|
+ //下单完成
|
|
|
+ $orderId = $data['orderId'];
|
|
|
+ $payTime = $data['payTime'];
|
|
|
+ $actionId = self::$actionId;
|
|
|
+ $placeOrderId = $actionId['placeOrder'];
|
|
|
+ $time = time();
|
|
|
+ $data = ['actionId' => $placeOrderId, 'orderId' => $orderId, 'finishTime' => $payTime, 'addTime' => $time, 'inTurn' => $placeOrderId];
|
|
|
+ self::add($data);
|
|
|
+
|
|
|
+ OrderClass::updateById($orderId, ['currentFlow' => 1]);
|
|
|
+
|
|
|
+ //制单未开始
|
|
|
+ $printOrderId = $actionId['printOrder'];
|
|
|
+ $data = ['actionId' => $printOrderId, 'orderId' => $orderId, 'finishTime' => 0, 'addTime' => $time, 'inTurn' => $printOrderId];
|
|
|
+ self::add($data);
|
|
|
+ }
|
|
|
+
|
|
|
+ //当前待执行的动作 shish 2019.12.16
|
|
|
+ public static function toDoActionId($id)
|
|
|
+ {
|
|
|
+ $action = self::getByCondition(['orderId' => $id], false, 'inTurn DESC');
|
|
|
+ $actionId = 0;
|
|
|
+ if (empty($action['finishTime'])) {
|
|
|
+ $actionId = $action['actionId'];
|
|
|
+ }
|
|
|
+ return $actionId;
|
|
|
+ }
|
|
|
+
|
|
|
+ //免发货流程的处理 shish 2020.3.12
|
|
|
+ public static function withoutSend($order)
|
|
|
+ {
|
|
|
+ $id = $order['id'];
|
|
|
+ if ($order['status'] == OrderClass::ORDER_STATUS_COMPLETE) {
|
|
|
+ util::fail('订单已完成');
|
|
|
+ }
|
|
|
+ self::deleteByCondition(['orderId' => $id]);
|
|
|
+ //订单状态变更
|
|
|
+ OrderClass::updateById($id, ['sendType' => 1, 'totalFlow' => OrderClass::ORDER_TOTAL_FLOW, 'currentFlow' => OrderClass::ORDER_TOTAL_FLOW]);
|
|
|
+ OrderClass::complete($order);
|
|
|
+
|
|
|
+ //待发货订单-1,完成订单+1
|
|
|
+ $merchantId = $order['merchantId'];
|
|
|
+ $asset = MerchantAssetClass::getByMerchantId($merchantId, true);
|
|
|
+ $asset->finishOrder += 1;
|
|
|
+ $asset->unSendOrder -= 1;
|
|
|
+ $asset->save();
|
|
|
+
|
|
|
+ return OrderClass::ORDER_TOTAL_FLOW;
|
|
|
+ }
|
|
|
+
|
|
|
}
|