xin
4 days ago a46a00bdc22da9ece8bb09ac7d6bcbdfbabdd6ab
退款订单-1
1 files added
4 files modified
87 ■■■■■ changed files
oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java 32 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/rest/OrderReturnController.java 3 ●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/OrderReturnService.java 3 ●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java 44 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderReturnServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/domain/request/ReturnOrder.java
New file
@@ -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;
}
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);
    }
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);
    /**
    * 编辑
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);
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