From a1c22dc7beef7beee4e6bb702ac254cf9f172f8e Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 12 Sep 2025 15:08:40 +0800
Subject: [PATCH] 订单备货接单并行
---
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 61 insertions(+), 10 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java
index bf9450b..9e40a23 100644
--- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java
@@ -2,6 +2,8 @@
import com.alibaba.fastjson2.JSON;
import com.oying.exception.BadRequestException;
+import com.oying.modules.message.common.MsgStatusEnum;
+import com.oying.modules.message.service.MesMsgRecordService;
import com.oying.modules.sh.domain.OrderOperationLog;
import com.oying.modules.sh.domain.vo.OrderResponse;
import com.oying.modules.sh.mapper.OrderMapper;
@@ -35,6 +37,7 @@
private final OrderOperationLogMapper orderOperationLogMapper;
private final OrderMapper orderMapper;
+ private final MesMsgRecordService mesMsgRecordService;
@Override
public PageResult<OrderOperationLog> queryAll(OrderOperationLogQueryCriteria criteria, Page<Object> page) {
@@ -57,17 +60,11 @@
String userType = ConstantsKey.BUYER;
String username = null;
Timestamp time = new Timestamp(System.currentTimeMillis());
+ MsgStatusEnum msgStatusEnum = null;
switch (statusEnum) {
- case NINE:
- if (response.getOrder().getOrderStatus().equals(OrderStatusEnum.NINE.getKey())) {
- throw new BadRequestException("订单已取消");
- }
- if (response.getOrder().getOrderStatus() > OrderStatusEnum.TWO.getKey()) {
- throw new BadRequestException(OrderStatusEnum.getValue(response.getOrder().getOrderStatus()));
- }
case ZERO:
case ONE:
- case EIGHT:
+ case TEN:
userType = ConstantsKey.BUYER;
break;
case TWO:
@@ -90,13 +87,29 @@
orderOperationLogMapper.insert(log1);
response.getOrder().setOrderStatus(OrderStatusEnum.TWO.getKey());
response.getOrder().setOrderStatusDescribe(OrderStatusEnum.TWO.getValue());
- case FOUR:
- userType = ConstantsKey.MERCHANT;
+ msgStatusEnum = MsgStatusEnum.MERCHANT_ACCEPTED;
+ userType = ConstantsKey.BUYER;
break;
case THREE:
+ if (response.getOrder().getOrderStatus() > statusEnum.getKey()) {
+ statusEnum = OrderStatusEnum.find(response.getOrder().getOrderStatus());
+ }
+ msgStatusEnum = MsgStatusEnum.MERCHANT_PREPARED;
+ userType = ConstantsKey.BUYER;
+ break;
+ case FOUR:
orderMapper.updateRider(response.getOrder().getOrderNum(), SecurityUtils.getCurrentUserId(), SecurityUtils.getCurrentUsername(), cardName);
+ msgStatusEnum = MsgStatusEnum.RIDER_PENDING_ACCEPTANCE;
+ userType = ConstantsKey.RIDER;
+ break;
case FIVE:
+ msgStatusEnum = MsgStatusEnum.RIDER_ARRIVED;
+ userType = ConstantsKey.RIDER;
+ break;
case SIX:
+ msgStatusEnum = MsgStatusEnum.RIDER_PICKED_UP;
+ userType = ConstantsKey.RIDER;
+ break;
case SEVEN:
userType = ConstantsKey.RIDER;
username = SecurityUtils.getCurrentUsername();
@@ -115,9 +128,44 @@
log2.setOperationTime(time);
orderOperationLogMapper.insert(log2);
orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
+ msgStatusEnum = MsgStatusEnum.BUYER_ORDER_DELIVERED;
statusEnum = OrderStatusEnum.EIGHT;
break;
+ case EIGHT:
+ msgStatusEnum = MsgStatusEnum.BUYER_ORDER_COMPLETED;
+ userType = ConstantsKey.BUYER;
+ break;
+ case NINE:
+ if (response.getOrder().getOrderStatus().equals(OrderStatusEnum.NINE.getKey())) {
+ throw new BadRequestException("订单已取消");
+ }
+ if (response.getOrder().getOrderStatus() > OrderStatusEnum.TWO.getKey()) {
+ throw new BadRequestException(OrderStatusEnum.getValue(response.getOrder().getOrderStatus()));
+ }
+ msgStatusEnum = MsgStatusEnum.RIDER_ORDER_CANCELLED;
+ userType = ConstantsKey.BUYER;
+ break;
+ case ELEVEN:
+ userType = ConstantsKey.MERCHANT;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
+ break;
+ case TWELVE:
+ userType = ConstantsKey.BUYER;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
+ break;
+ case THIRTEEN:
+ userType = ConstantsKey.MERCHANT;
+ break;
+ case FOURTEEN:
+ userType = ConstantsKey.MERCHANT;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
+ break;
+ case FIFTEEN:
+ userType = ConstantsKey.BUYER;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
+ break;
default:
+ throw new BadRequestException("状态错误");
}
if (username == null) {
username = SecurityUtils.getCurrentUsername();
@@ -136,6 +184,9 @@
resources.setSnapshotData(JSON.toJSONString(map));
resources.setOperationTime(time);
orderOperationLogMapper.insert(resources);
+ if (msgStatusEnum != null) {
+// mesMsgRecordService.insertOrderMsg(response.getOrder(), msgStatusEnum, MesTypeEnum.ORDER);
+ }
orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
}
--
Gitblit v1.9.3