瀏覽代碼

异常订单添加异常类型检索

24282 1 年之前
父節點
當前提交
5c5cc56c14

+ 12 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderController.java

@@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.dto.OrderSelectDto;
 import com.sd.business.entity.order.dto.SkuSpecPriceDto;
+import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
 import com.sd.business.entity.order.vo.CompareVo;
 import com.sd.business.entity.order.vo.OrderInfoVo;
 import com.sd.business.entity.order.vo.SkuSpecPriceVo;
@@ -17,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 订单 前端控制器
@@ -121,4 +125,12 @@ public class OrderController {
         return orderService.compare(dto);
     }
 
+    /**
+     * 获取订单异常类型
+     */
+    @PostMapping("/getExceptionTypeList")
+    public List<Map<String, Object>> getExceptionTypeList() {
+        return OrderExceptionTypeEnum.getMapList();
+    }
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSelectDto.java

@@ -55,6 +55,11 @@ public class OrderSelectDto extends BaseSelectDto {
     private Integer exception;
 
     /**
+     * 异常类型
+     */
+    private Integer exceptionType;
+
+    /**
      * 对比字符串
      */
     private String compareStr;

+ 16 - 0
sd-business/src/main/java/com/sd/business/entity/order/enums/OrderExceptionTypeEnum.java

@@ -1,11 +1,15 @@
 package com.sd.business.entity.order.enums;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.ruoyi.common.exception.ServiceException;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Getter
 @AllArgsConstructor
@@ -44,6 +48,18 @@ public enum OrderExceptionTypeEnum {
         return orderExceptionTypeEnum;
     }
 
+    public static List<Map<String, Object>> getMapList() {
+        return Arrays.stream(values())
+                .filter(item -> ObjectUtil.notEqual(NORMAL, item))
+                .map(item -> {
+                    Map<String, Object> tempMap = new HashMap<>();
+                    tempMap.put("key", item.getKey());
+                    tempMap.put("value", item.getValue());
+                    return tempMap;
+                })
+                .collect(Collectors.toList());
+    }
+
     /**
      * 通过key获取名称
      */

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java

@@ -136,6 +136,11 @@ public class OrderInfo extends BasePo {
     private String exceptionType;
 
     /**
+     * 异常时间
+     */
+    private Date exceptionTime;
+
+    /**
      * 结算状态 1未结算 2已对账 3已结算
      */
     private Integer settlementStatus;

+ 3 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -151,6 +151,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
             }
         }
 
+        wrapper.apply(dto.getExceptionType() != null,
+                "find_in_set({0}, o.exception_type)", dto.getExceptionType());
+
         Page<OrderInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<OrderInfoVo> records = page.getRecords();
 

+ 1 - 0
sd-business/src/main/resources/mapper/order/OrderMapper.xml

@@ -19,6 +19,7 @@
                o.express_delivery_code,
                o.status,
                o.exception_type,
+               o.exception_time,
                o.settlement_status,
                o.source_platform,
                o.shop_name,

+ 2 - 0
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -182,6 +182,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
 
         // 赋值订单异常类型
         orderInfo.setExceptionType(OrderExceptionTypeEnum.NORMAL.getKey().toString());
+        orderInfo.setExceptionTime(ObjectUtil.defaultIfNull(orderInfo.getExceptionTime(), new Date()));
         if (orderInfo.getWlnStatus() == 10) {
             addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_CLOSURE);
         }
@@ -533,6 +534,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
     private void addExceptionType(OrderInfo orderInfo, OrderExceptionTypeEnum exceptionTypeEnum) {
         String exceptionType = orderInfo.getExceptionType();
         orderInfo.setExceptionType(orderService.addExceptionType(exceptionType, exceptionTypeEnum.getKey()));
+        orderInfo.setExceptionTime(ObjectUtil.defaultIfNull(orderInfo.getExceptionTime(), new Date()));
     }
 
     /**