From a46a00bdc22da9ece8bb09ac7d6bcbdfbabdd6ab Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Thu, 31 Jul 2025 17:17:00 +0800 Subject: [PATCH] 退款订单-1 --- oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java | 97 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 78 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..10aa7b0 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,7 @@ 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.exception.BadRequestException; import com.oying.modules.sh.domain.OrderOperationLog; import com.oying.modules.sh.domain.vo.OrderResponse; import com.oying.modules.sh.mapper.OrderMapper; @@ -54,27 +53,87 @@ @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; 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: + userType = ConstantsKey.BUYER; + break; + case TWO: + username = response.getOrder().getUsername(); + OrderOperationLog log1 = new OrderOperationLog(); + log1.setOrderNum(response.getOrder().getOrderNum()); + log1.setUsername(username); + log1.setUserType(userType); + log1.setOperation(OrderStatusEnum.ONE.getKey()); + 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 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; + username = SecurityUtils.getCurrentUsername(); + OrderOperationLog log2 = new OrderOperationLog(); + log2.setOrderNum(response.getOrder().getOrderNum()); + log2.setUsername(username); + log2.setUserType(userType); + log2.setOperation(statusEnum.getKey()); + 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; + default: + } + if (username == null) { + username = SecurityUtils.getCurrentUsername(); + } 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