DeliveryOrderServices.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2022/7/24 22:03
  5. */
  6. namespace bizGhs\express\services;
  7. use bizGhs\express\classes\DeliveryOrderClass;
  8. use bizHd\base\services\BaseService;
  9. use common\components\util;
  10. use Yii;
  11. class DeliveryOrderServices extends BaseService
  12. {
  13. public static $baseFile = '\bizGhs\express\classes\DeliveryOrderClass';
  14. //新增即时配送订单
  15. public static function addOrder($sjId,$shopId,$expressId, $shopNo, $orderSn, $openId, $sender, $receiver, $cargo, $orderInfo, $shop)
  16. {
  17. $res = MiniExpressService::addOrder($expressId,$shopNo,$orderSn,$openId,$sender,$receiver,$cargo,$orderInfo,$shop);
  18. $expressData = MiniExpressService::getExpressInfo($expressId);
  19. $data = $res;
  20. $data['sjId'] = $sjId;
  21. $data['shopId'] = $shopId;
  22. $data['orderSn'] = $orderSn;
  23. $data['deliveryId'] = $expressData['deliveryId'];
  24. $data['deliveryName'] = $expressData['deliveryName'];
  25. $data['waybillId'] = $res['waybill_id'];
  26. $data['orderStatus'] = $res['order_status'];
  27. $data['finishCode'] = $res['finish_code'];
  28. $data['pickupCode'] = $res['pickup_code'];
  29. $data['dispatchDuration'] = $res['dispatch_duration'];
  30. $order = DeliveryOrderClass::addOrder($data);
  31. return $order;
  32. }
  33. //订单状态变更
  34. public static function updateOrder($shopId,$waybillId,$orderSn,array $data)
  35. {
  36. $orderStatus = $data['order_status'];
  37. $actionMsg = $data['action_msg']??'';
  38. $riderName = $data['rider_name']??'';
  39. $ridePhone = $data['ride_phone']??'';
  40. $expectedDeliveryTime = $data['expected_delivery_time']??false;
  41. $isPhoneEncrypted = $data['expected_delivery_time']??false;
  42. // 日志记录
  43. Yii::info("订单状态变更 : waybillId". $waybillId . " data= " . json_encode($data));
  44. if(!$orderStatus){
  45. util::fail("订单状态错误");
  46. }
  47. $orderStatusMap = array_keys(MiniExpressService::$orderStatusMap);
  48. if(!in_array($orderStatus,$orderStatusMap)){
  49. util::fail("订单状态异常");
  50. }
  51. $upData = [];
  52. $upData['orderStatus'] = $orderStatus;
  53. if($actionMsg){
  54. $upData['actionMsg'] = $actionMsg;
  55. }
  56. if($riderName){
  57. $upData['riderName'] = $riderName;
  58. }
  59. if($ridePhone){
  60. $upData['ridePhone'] = $ridePhone;
  61. }
  62. if($expectedDeliveryTime!==false){
  63. $upData['expectedDeliveryTime'] = $expectedDeliveryTime;
  64. }
  65. if($isPhoneEncrypted!==false){
  66. $upData['isPhoneEncrypted'] = $isPhoneEncrypted;
  67. }
  68. $where = [];
  69. $where['shopId'] = $shopId;
  70. $where['orderSn'] = $orderSn;
  71. $where['waybillId'] = $waybillId;
  72. $check = DeliveryOrderClass::getByCondition($where);
  73. if(!$check){
  74. util::fail("订单不存在");
  75. }
  76. $res = DeliveryOrderClass::getById($check['id'],$upData);
  77. return $res;
  78. }
  79. }