From 7ece553fd95f30dcfafa66f667ef9d0c064a22e6 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Sat, 19 Jul 2025 16:27:12 +0800
Subject: [PATCH] Merge branch 'pxb' into xin

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 38 insertions(+), 19 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 a35bddc..1607580 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
@@ -1,8 +1,6 @@
 package com.oying.modules.sh.service.impl;
 
 import com.alibaba.fastjson2.JSON;
-import com.oying.modules.sh.domain.Order;
-import com.oying.modules.sh.domain.OrderAddressSnapshot;
 import com.oying.modules.sh.domain.OrderOperationLog;
 import com.oying.modules.sh.domain.vo.OrderResponse;
 import com.oying.modules.sh.mapper.OrderMapper;
@@ -54,27 +52,48 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void create(OrderOperationLog resources) {
-        orderOperationLogMapper.insert(resources);
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void create(Order order, OrderAddressSnapshot addressSnapshot) {
-        OrderResponse response = new OrderResponse();
-        response.setOrder(order);
-        response.setAddress(addressSnapshot);
-        String username = SecurityUtils.getCurrentUsername();
+    public synchronized void create(OrderResponse response, OrderStatusEnum statusEnum, String cardName) {
+        String userType = ConstantsKey.BUYER;
+        String username = null;
+        switch (statusEnum) {
+            case ZERO:
+            case ONE:
+            case EIGHT:
+            case NINE:
+                userType = ConstantsKey.BUYER;
+                break;
+            case TWO:
+                username = response.getOrder().getUsername();
+            case FOUR:
+                userType = ConstantsKey.MERCHANT;
+                break;
+            case THREE:
+                orderMapper.updateRider(response.getOrder().getOrderNum(), SecurityUtils.getCurrentUserId(), SecurityUtils.getCurrentUsername(), cardName);
+            case FIVE:
+            case SIX:
+            case SEVEN:
+                userType = ConstantsKey.RIDER;
+                break;
+            default:
+        }
+        if (username == null) {
+            username = SecurityUtils.getCurrentUsername();
+        }
         Timestamp time = new Timestamp(System.currentTimeMillis());
         OrderOperationLog resources = new OrderOperationLog();
-        resources.setOrderNum(order.getOrderNum());
+        resources.setOrderNum(response.getOrder().getOrderNum());
         resources.setUsername(username);
-        resources.setUserType(ConstantsKey.BUYER);
-        resources.setOperation(OrderStatusEnum.ZERO.getKey());
-        resources.setOperationDescribe(OrderStatusEnum.ZERO.getValue());
-        resources.setRemark(username + ":" + time + ">" + OrderStatusEnum.ZERO.getValue() + ":" + order.getOrderNum());
-        resources.setSnapshotData(JSON.toJSONString(response));
+        resources.setUserType(userType);
+        resources.setOperation(statusEnum.getKey());
+        resources.setOperationDescribe(statusEnum.getValue());
+        resources.setRemark(username + ":" + time + ">" + statusEnum.getValue() + ":" + response.getOrder().getOrderNum());
+        Map<String, Object> map = new LinkedHashMap<>();
+        map.put("order", response.getOrder());
+        map.put("address", response.getAddress());
+        resources.setSnapshotData(JSON.toJSONString(map));
         resources.setOperationTime(time);
+        orderOperationLogMapper.insert(resources);
+        orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
     }
 
     @Override

--
Gitblit v1.9.3