From 8bd3f6063098a4346fb8465da726793bf9684477 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Tue, 19 Aug 2025 22:21:57 +0800
Subject: [PATCH] 售后审核优化
---
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++---
1 files changed, 68 insertions(+), 6 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 1607580..a091f1b 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,6 +1,7 @@
package com.oying.modules.sh.service.impl;
import com.alibaba.fastjson2.JSON;
+import com.oying.exception.BadRequestException;
import com.oying.modules.sh.domain.OrderOperationLog;
import com.oying.modules.sh.domain.vo.OrderResponse;
import com.oying.modules.sh.mapper.OrderMapper;
@@ -46,8 +47,8 @@
}
@Override
- public List<OrderOperationLog> getByOrderNum(String orderNum) {
- return orderOperationLogMapper.getByOrderNum(orderNum);
+ public List<OrderOperationLog> getByOrderNum(String orderNum, String type) {
+ return orderOperationLogMapper.getByOrderNum(orderNum, type);
}
@Override
@@ -55,36 +56,97 @@
public synchronized void create(OrderResponse response, OrderStatusEnum statusEnum, String cardName) {
String userType = ConstantsKey.BUYER;
String username = null;
+ Timestamp time = new Timestamp(System.currentTimeMillis());
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 NINE:
userType = ConstantsKey.BUYER;
break;
case TWO:
username = response.getOrder().getUsername();
- case FOUR:
+ OrderOperationLog log1 = new OrderOperationLog();
+ log1.setOrderNum(response.getOrder().getOrderNum());
+ log1.setUsername(username);
+ log1.setUserType(userType);
+ log1.setOperation(OrderStatusEnum.ONE.getKey());
+ log1.setOperationType(OrderStatusEnum.ONE.getCode());
+ log1.setOperationDescribe(OrderStatusEnum.ONE.getValue());
+ log1.setRemark(username + ":" + time + ">" + OrderStatusEnum.ONE.getValue() + ":" + response.getOrder().getOrderNum());
+ Map<String, Object> map1 = new LinkedHashMap<>();
+ response.getOrder().setOrderStatus(OrderStatusEnum.ONE.getKey());
+ response.getOrder().setOrderStatusDescribe(OrderStatusEnum.ONE.getValue());
+ map1.put("order", response.getOrder());
+ map1.put("address", response.getAddress());
+ log1.setSnapshotData(JSON.toJSONString(map1));
+ log1.setOperationTime(time);
+ orderOperationLogMapper.insert(log1);
+ response.getOrder().setOrderStatus(OrderStatusEnum.TWO.getKey());
+ response.getOrder().setOrderStatusDescribe(OrderStatusEnum.TWO.getValue());
+ case THREE:
userType = ConstantsKey.MERCHANT;
break;
- case THREE:
+ case FOUR:
orderMapper.updateRider(response.getOrder().getOrderNum(), SecurityUtils.getCurrentUserId(), SecurityUtils.getCurrentUsername(), cardName);
case FIVE:
case SIX:
case SEVEN:
userType = ConstantsKey.RIDER;
+ username = SecurityUtils.getCurrentUsername();
+ OrderOperationLog log2 = new OrderOperationLog();
+ log2.setOrderNum(response.getOrder().getOrderNum());
+ log2.setUsername(username);
+ log2.setUserType(userType);
+ log2.setOperation(statusEnum.getKey());
+ log2.setOperationType(statusEnum.getCode());
+ log2.setOperationDescribe(statusEnum.getValue());
+ log2.setRemark(username + ":" + time + ">" + statusEnum.getValue() + ":" + response.getOrder().getOrderNum());
+ Map<String, Object> map2 = new LinkedHashMap<>();
+ map2.put("order", response.getOrder());
+ map2.put("address", response.getAddress());
+ log2.setSnapshotData(JSON.toJSONString(map2));
+ log2.setOperationTime(time);
+ orderOperationLogMapper.insert(log2);
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
+ statusEnum = OrderStatusEnum.EIGHT;
+ break;
+ case TEN:
+ case TWELVE:
+ userType = ConstantsKey.BUYER;
+ 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;
+ case ELEVEN:
+ userType = ConstantsKey.MERCHANT;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
+ break;
+ case THIRTEEN:
+ case FOURTEEN:
+ userType = ConstantsKey.MERCHANT;
+ orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
break;
default:
+ throw new BadRequestException("状态错误");
}
if (username == null) {
username = SecurityUtils.getCurrentUsername();
}
- Timestamp time = new Timestamp(System.currentTimeMillis());
OrderOperationLog resources = new OrderOperationLog();
resources.setOrderNum(response.getOrder().getOrderNum());
resources.setUsername(username);
resources.setUserType(userType);
resources.setOperation(statusEnum.getKey());
+ resources.setOperationType(statusEnum.getCode());
resources.setOperationDescribe(statusEnum.getValue());
resources.setRemark(username + ":" + time + ">" + statusEnum.getValue() + ":" + response.getOrder().getOrderNum());
Map<String, Object> map = new LinkedHashMap<>();
--
Gitblit v1.9.3