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 | 44 +++++++++++++++++++++- oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java | 3 + oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java | 32 ++++++++++++++++ oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java | 5 +- oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java | 3 + 5 files changed, 81 insertions(+), 6 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java b/oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java new file mode 100644 index 0000000..3320573 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java @@ -0,0 +1,32 @@ +package com.oying.modules.sh.domain.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * @author xin + * @description + * @date 2025/7/20 17:17 + */ +@Getter +@Setter +public class ReturnOrder { + + @NotBlank + @ApiModelProperty(value = "订单号") + private String orderNum; + @NotBlank + @ApiModelProperty(value = "退货类型") + private String reason; + @NotBlank + @ApiModelProperty(value = "备注:退货描述") + private String remark; + @ApiModelProperty(value = "图片地址,多张','分割") + private String photos; + List<ProductOrder> productOrders; + +} diff --git a/oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java b/oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java index c58992a..79a72cd 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java +++ b/oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java @@ -3,6 +3,7 @@ import com.oying.annotation.Log; import com.oying.modules.sh.domain.OrderReturn; import com.oying.modules.sh.domain.request.AuditOrderReturn; +import com.oying.modules.sh.domain.request.ReturnOrder; import com.oying.modules.sh.service.OrderReturnService; import com.oying.modules.sh.domain.dto.OrderReturnQueryCriteria; import com.oying.utils.R; @@ -53,7 +54,7 @@ @Log("新增退款订单") @ApiOperation("新增退款订单") @PreAuthorize("@el.check('orderReturn:add')") - public ResponseEntity<Object> createOrderReturn(@Validated @RequestBody OrderReturn resources) { + public ResponseEntity<Object> createOrderReturn(@Validated @RequestBody ReturnOrder resources) { orderReturnService.create(resources); return new ResponseEntity<>(R.success(), HttpStatus.CREATED); } diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java b/oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java index 2aa81cf..3ba6a84 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.oying.modules.sh.domain.request.AuditOrderReturn; +import com.oying.modules.sh.domain.request.ReturnOrder; import com.oying.utils.PageResult; /** @@ -36,7 +37,7 @@ * 创建 * @param resources / */ - void create(OrderReturn resources); + void create(ReturnOrder resources); /** * 编辑 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..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,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; @@ -55,15 +56,39 @@ 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(); + 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; @@ -73,13 +98,28 @@ 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(); } - Timestamp time = new Timestamp(System.currentTimeMillis()); OrderOperationLog resources = new OrderOperationLog(); resources.setOrderNum(response.getOrder().getOrderNum()); resources.setUsername(username); diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java index f8fe21d..7be0520 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java @@ -2,6 +2,7 @@ import com.oying.modules.sh.domain.OrderReturn; import com.oying.modules.sh.domain.request.AuditOrderReturn; +import com.oying.modules.sh.domain.request.ReturnOrder; import com.oying.utils.FileUtil; import com.oying.utils.enums.ReturnAuditEnum; import lombok.RequiredArgsConstructor; @@ -59,8 +60,8 @@ @Override @Transactional(rollbackFor = Exception.class) - public void create(OrderReturn resources) { - orderReturnMapper.insert(resources); + public void create(ReturnOrder resources) { + } @Override -- Gitblit v1.9.3