|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace bizHd\order\classes;
|
|
|
|
|
|
+use biz\shop\models\Shop;
|
|
|
use biz\sj\classes\MerchantAssetClass;
|
|
|
use biz\sj\classes\MerchantClass;
|
|
|
use bizHd\message\classes\InformAdminClass;
|
|
|
@@ -17,90 +18,90 @@ use bizHd\base\classes\BaseClass;
|
|
|
|
|
|
class OrderSendClass extends BaseClass
|
|
|
{
|
|
|
-
|
|
|
- public static $baseFile = '\bizHd\order\models\OrderSend';
|
|
|
-
|
|
|
- //流程id与名称
|
|
|
- public static $actionId = ['placeOrder' => 10, 'printOrder' => 20, 'deliver' => 30, 'reach' => 40];
|
|
|
- public static $action = [
|
|
|
- 10 => ['name' => '下单', 'sign' => 'placeOrder'],
|
|
|
- 20 => ['name' => '制单', 'sign' => 'printOrder',],
|
|
|
- 30 => ['name' => '发货', 'sign' => 'deliver'],
|
|
|
- 40 => ['name' => '送达', 'sign' => 'reach']
|
|
|
- ];
|
|
|
-
|
|
|
- //下单操作完成 ssh 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);
|
|
|
- }
|
|
|
-
|
|
|
- //当前待执行的动作 ssh 2019.12.16
|
|
|
- public static function toDoActionId($orderSn)
|
|
|
- {
|
|
|
- $action = self::getByCondition(['orderSn' => $orderSn], false, 'inTurn DESC');
|
|
|
- $actionId = 0;
|
|
|
- if (empty($action['finishTime'])) {
|
|
|
- $actionId = $action['actionId'];
|
|
|
- }
|
|
|
- return $actionId;
|
|
|
- }
|
|
|
-
|
|
|
- //免发货流程的处理 ssh 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, OrderClass::ORDER_TOTAL_FLOW);
|
|
|
-
|
|
|
- //待发货订单-1,完成订单+1
|
|
|
- $merchantId = $order['merchantId'];
|
|
|
- $asset = MerchantAssetClass::getByMerchantId($merchantId, true);
|
|
|
- $asset->finishOrder += 1;
|
|
|
- $asset->unSendOrder -= 1;
|
|
|
- $asset->save();
|
|
|
-
|
|
|
- return OrderClass::ORDER_TOTAL_FLOW;
|
|
|
- }
|
|
|
-
|
|
|
- //送达 ssh 2020.6.1
|
|
|
- public static function reach($order)
|
|
|
- {
|
|
|
- $id = $order['id'];
|
|
|
- //1 确认送达
|
|
|
- $option = 1;
|
|
|
- $time = time();
|
|
|
- $actionIdList = self::$actionId;
|
|
|
- $reachId = $actionIdList['reach'];
|
|
|
- OrderSendClass::updateByCondition(['orderId' => $id, 'actionId' => $reachId], ['option' => $option, 'finishTime' => $time]);
|
|
|
-
|
|
|
- $userId = $order['userId'];
|
|
|
- $user = UserClass::getById($userId);
|
|
|
- $merchantId = $order['merchantId'];
|
|
|
- $merchant = MerchantClass::getById($merchantId);
|
|
|
- //完成通知客户
|
|
|
- InformUserClass::sendComplete($user, $order, $merchant);
|
|
|
- //完成通知管理员
|
|
|
- InformAdminClass::sendComplete($order);
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
+ public static $baseFile = '\bizHd\order\models\OrderSend';
|
|
|
+
|
|
|
+ //流程id与名称
|
|
|
+ public static $actionId = ['placeOrder' => 10, 'printOrder' => 20, 'deliver' => 30, 'reach' => 40];
|
|
|
+ public static $action = [
|
|
|
+ 10 => ['name' => '下单', 'sign' => 'placeOrder'],
|
|
|
+ 20 => ['name' => '制单', 'sign' => 'printOrder',],
|
|
|
+ 30 => ['name' => '发货', 'sign' => 'deliver'],
|
|
|
+ 40 => ['name' => '送达', 'sign' => 'reach']
|
|
|
+ ];
|
|
|
+
|
|
|
+ //下单操作完成 ssh 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);
|
|
|
+ }
|
|
|
+
|
|
|
+ //当前待执行的动作 ssh 2019.12.16
|
|
|
+ public static function toDoActionId($orderSn)
|
|
|
+ {
|
|
|
+ $action = self::getByCondition(['orderSn' => $orderSn], false, 'inTurn DESC');
|
|
|
+ $actionId = 0;
|
|
|
+ if (empty($action['finishTime'])) {
|
|
|
+ $actionId = $action['actionId'];
|
|
|
+ }
|
|
|
+ return $actionId;
|
|
|
+ }
|
|
|
+
|
|
|
+ //免发货流程的处理 ssh 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, OrderClass::ORDER_TOTAL_FLOW);
|
|
|
+
|
|
|
+ //待发货订单-1,完成订单+1
|
|
|
+ $shopId = $order['shopId'];
|
|
|
+ $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
|
|
|
+ $shop->finishOrder += 1;
|
|
|
+ $shop->unSendOrder -= 1;
|
|
|
+ $shop->save();
|
|
|
+
|
|
|
+ return OrderClass::ORDER_TOTAL_FLOW;
|
|
|
+ }
|
|
|
+
|
|
|
+ //送达 ssh 2020.6.1
|
|
|
+ public static function reach($order)
|
|
|
+ {
|
|
|
+ $id = $order['id'];
|
|
|
+ //1 确认送达
|
|
|
+ $option = 1;
|
|
|
+ $time = time();
|
|
|
+ $actionIdList = self::$actionId;
|
|
|
+ $reachId = $actionIdList['reach'];
|
|
|
+ OrderSendClass::updateByCondition(['orderId' => $id, 'actionId' => $reachId], ['option' => $option, 'finishTime' => $time]);
|
|
|
+
|
|
|
+ $userId = $order['userId'];
|
|
|
+ $user = UserClass::getById($userId);
|
|
|
+ $merchantId = $order['merchantId'];
|
|
|
+ $merchant = MerchantClass::getById($merchantId);
|
|
|
+ //完成通知客户
|
|
|
+ InformUserClass::sendComplete($user, $order, $merchant);
|
|
|
+ //完成通知管理员
|
|
|
+ InformAdminClass::sendComplete($order);
|
|
|
+ }
|
|
|
+
|
|
|
}
|