| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace biz\order\classes;
- use common\components\stringUtil;
- use common\components\util;
- use common\services\xhOrderDayNumService;
- use common\services\xhOrderMonthNumService;
- use Yii;
- 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'],
- ];
-
- //下单操作完成 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);
-
- //打单未开始
- $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
-
- /**
- * @param $id
- * @author shish <shish@zhhinc.com>
- * @time ${DATE} ${TIME}
- */
- 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' => 0, 'totalFlow' => OrderClass::ORDER_TOTAL_FLOW, 'currentFlow' => OrderClass::ORDER_TOTAL_FLOW]);
- OrderClass::complete($id);
- // foreach ($actionList as $actionId => $action) {
- // if (isset($hasAction[$actionId])) {
- // //动作已经执行完成的不再执行
- // if (isset($hasAction[$actionId]['finishTime']) && !empty($hasAction[$actionId]['finishTime'])) {
- // continue;
- // }
- // //动作还未完成的操作完成
- // self::updateByCondition(['orderId' => $id, 'actionId' => $actionId], ['finishTime' => $time]);
- // continue;
- // }
- // //增加未完成的动作
- // $inTurn = $action['inTurn'];
- // $data = ['actionId' => $actionId, 'orderId' => $id, 'finishTime' => $time, 'addTime' => $time, 'inTurn' => $actionId];
- // self::add($data);
- // }
- return OrderClass::ORDER_TOTAL_FLOW;
- }
-
- }
|