From 6681b64ff05626c6f10ad69e49a87c3969b72bb8 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Mon, 22 Sep 2025 12:57:34 +0800
Subject: [PATCH] 订单增加库存、减少库存

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 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 a091f1b..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());
+                msgStatusEnum = MsgStatusEnum.MERCHANT_ACCEPTED;
+                userType = ConstantsKey.BUYER;
+                break;
             case THREE:
-                userType = ConstantsKey.MERCHANT;
+                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,25 +128,41 @@
                 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 TEN:
-            case TWELVE:
+            case EIGHT:
+                msgStatusEnum = MsgStatusEnum.BUYER_ORDER_COMPLETED;
                 userType = ConstantsKey.BUYER;
-                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
                 break;
-            case FIFTEEN:
+            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;
-                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
                 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("状态错误");
@@ -155,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