|
@@ -280,44 +280,78 @@ public class SysStoreIntracityExpressController extends BaseController {
|
|
|
throw new ServiceException("未查询到洗衣订单");
|
|
|
}
|
|
|
switch (intracityExpressOrderStatusChangeDTO.getOrder_status()) {
|
|
|
- case 60000:
|
|
|
-// case 20000:
|
|
|
- case 20001://配送方取消订单
|
|
|
- {
|
|
|
- if (orderCloth.getOrderStatus().equals(ClothOrderStatusType.SENDING.getCode())) {
|
|
|
- orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
- .set(OrderCloth::getOrderStatus, ClothOrderStatusType.WAITING_TO_SEND.getCode())
|
|
|
- .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
- }
|
|
|
+ case 10000:
|
|
|
+ // 订单创建成功
|
|
|
+ this.updateSending(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.CREATE_ORDER_SUCCESS.getCode());
|
|
|
+ break;
|
|
|
+ case 20000:
|
|
|
+ // 商家取消订单
|
|
|
+ this.updateCancel(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.STORE_CANCEL.getCode());
|
|
|
+ break;
|
|
|
+ case 20001:
|
|
|
+ // 配送方取消订单
|
|
|
+ this.updateCancel(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.DELIVERY_CANCEL.getCode());
|
|
|
break;
|
|
|
- }
|
|
|
case 30000:
|
|
|
+ // 配送员接单
|
|
|
+ this.updateSending(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.RECEIVE_ORDER.getCode());
|
|
|
+ break;
|
|
|
case 40000:
|
|
|
+ // 配送员到店
|
|
|
+ this.updateSending(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.SENDING.getCode());
|
|
|
+ break;
|
|
|
case 50000:
|
|
|
- {
|
|
|
- if (orderDelivery.getClothOrderType().equals(ClothOrderDeliveryType.takeCloth.getCode())
|
|
|
- && orderCloth.getOrderStatus().equals(ClothOrderStatusType.WAITING_TO_SEND.getCode())) {
|
|
|
- orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
- .set(OrderCloth::getOrderStatus, ClothOrderStatusType.SENDING.getCode())
|
|
|
- .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
- }
|
|
|
+ // 配送中
|
|
|
+ this.updateSending(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.SENDING.getCode());
|
|
|
break;
|
|
|
- }
|
|
|
- case 70000://配送完成
|
|
|
- {
|
|
|
- if (orderDelivery.getClothOrderType().equals(ClothOrderDeliveryType.takeCloth.getCode())
|
|
|
- && orderCloth.getOrderStatus().equals(ClothOrderStatusType.SENDING.getCode())) {
|
|
|
- orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
- .set(OrderCloth::getOrderStatus, ClothOrderStatusType.FINISH.getCode())
|
|
|
- .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
- }
|
|
|
+ case 60000:
|
|
|
+ // 配送员撤单
|
|
|
+ this.updateCancel(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.SENDER_CANCEL.getCode());
|
|
|
+ break;
|
|
|
+ case 70000:
|
|
|
+ // 配送完成
|
|
|
+ this.updateSuccess(orderCloth, orderDelivery);
|
|
|
+ orderDelivery.setDeliveryStatus(OrderDeliveryStatusEnum.SEND_FINISH.getCode());
|
|
|
+ break;
|
|
|
+ case 90000:
|
|
|
+ // 配送异常
|
|
|
break;
|
|
|
- }
|
|
|
}
|
|
|
- orderDelivery.setDeliveryStatus(String.valueOf(intracityExpressOrderStatusChangeDTO.getOrder_status()));
|
|
|
orderDelivery.setDeliveryStatusMsg(OrderDeliveryStatusEnum.getLabelByCode(String.valueOf(intracityExpressOrderStatusChangeDTO.getOrder_status())));
|
|
|
orderDeliveryService.updateById(orderDelivery);
|
|
|
return new IntracityExpressOrderStatusChangeVO();
|
|
|
}
|
|
|
|
|
|
+ private void updateCancel(OrderCloth orderCloth, OrderDelivery orderDelivery) {
|
|
|
+ if (orderCloth.getOrderStatus().equals(ClothOrderStatusType.SENDING.getCode())) {
|
|
|
+ orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
+ .set(OrderCloth::getOrderStatus, ClothOrderStatusType.WAITING_TO_SEND.getCode())
|
|
|
+ .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateSuccess(OrderCloth orderCloth, OrderDelivery orderDelivery) {
|
|
|
+ if (orderDelivery.getClothOrderType().equals(ClothOrderDeliveryType.takeCloth.getCode())
|
|
|
+ && orderCloth.getOrderStatus().equals(ClothOrderStatusType.SENDING.getCode())) {
|
|
|
+ orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
+ .set(OrderCloth::getOrderStatus, ClothOrderStatusType.FINISH.getCode())
|
|
|
+ .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateSending(OrderCloth orderCloth, OrderDelivery orderDelivery) {
|
|
|
+ if (orderDelivery.getClothOrderType().equals(ClothOrderDeliveryType.takeCloth.getCode())
|
|
|
+ && orderCloth.getOrderStatus().equals(ClothOrderStatusType.WAITING_TO_SEND.getCode())) {
|
|
|
+ orderClothService.update(new UpdateWrapper<OrderCloth>().lambda()
|
|
|
+ .set(OrderCloth::getOrderStatus, ClothOrderStatusType.SENDING.getCode())
|
|
|
+ .eq(OrderCloth::getId, orderCloth.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|