OrderSendClass.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace biz\order\classes;
  3. use common\components\stringUtil;
  4. use common\components\util;
  5. use common\services\xhOrderDayNumService;
  6. use common\services\xhOrderMonthNumService;
  7. use Yii;
  8. use biz\base\classes\BaseClass;
  9. class OrderSendClass extends BaseClass
  10. {
  11. public static $baseFile = '\biz\order\models\OrderSend';
  12. //流程id与名称
  13. public static $actionId = ['placeOrder' => 10, 'printOrder' => 20, 'deliver' => 30, 'reach' => 40, 'finish' => 50];
  14. public static $action = [
  15. 10 => ['name' => '下单', 'sign' => 'placeOrder'],
  16. 20 => ['name' => '打单', 'sign' => 'printOrder',],
  17. 30 => ['name' => '发货', 'sign' => 'deliver'],
  18. 40 => ['name' => '送达', 'sign' => 'reach'],
  19. 50 => ['name' => '完成', 'sign' => 'finish'],
  20. ];
  21. //下单操作完成 shish 2019.12.13
  22. public static function placeOrder($data)
  23. {
  24. //下单完成
  25. $orderId = $data['orderId'];
  26. $payTime = $data['payTime'];
  27. $actionId = self::$actionId;
  28. $placeOrderId = $actionId['placeOrder'];
  29. $time = time();
  30. $data = ['actionId' => $placeOrderId, 'orderId' => $orderId, 'finishTime' => $payTime, 'addTime' => $time, 'inTurn' => $placeOrderId];
  31. self::add($data);
  32. //打单未开始
  33. $printOrderId = $actionId['printOrder'];
  34. $data = ['actionId' => $printOrderId, 'orderId' => $orderId, 'finishTime' => 0, 'addTime' => $time, 'inTurn' => $printOrderId];
  35. self::add($data);
  36. }
  37. //当前待执行的动作 shish 2019.12.16
  38. public static function toDoActionId($id)
  39. {
  40. $action = self::getByCondition(['orderId' => $id], false, 'inTurn DESC');
  41. $actionId = 0;
  42. if (empty($action['finishTime'])) {
  43. $actionId = $action['actionId'];
  44. }
  45. return $actionId;
  46. }
  47. //免发货流程的处理 shish 2020.3.12
  48. public static function withoutSend($id)
  49. {
  50. $actionList = self::$action;
  51. $time = time();
  52. foreach ($actionList as $actionId => $action) {
  53. $inTurn = $action['inTurn'];
  54. $data = ['actionId' => $actionId, 'orderId' => $id, 'finishTime' => $time, 'addTime' => $time, 'inTurn' => $actionId];
  55. self::add($data);
  56. }
  57. }
  58. }