浏览代码

Merge remote-tracking branch 'origin/master'

fgd 1 年之前
父节点
当前提交
e3b038042c

+ 20 - 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,20 @@ public class OrderController {
         return orderService.compare(dto);
     }
 
+    /**
+     * 获取订单异常类型
+     */
+    @PostMapping("/getExceptionTypeList")
+    public List<Map<String, Object>> getExceptionTypeList() {
+        return OrderExceptionTypeEnum.getMapList();
+    }
+
+    /**
+     * 获取万里牛单号
+     */
+    @PostMapping("/getOrderWlnCodeStr")
+    public String getOrderWlnCodeStr(@RequestBody OrderSelectDto dto) {
+        return orderService.getOrderWlnCodeStr(dto);
+    }
+
 }

+ 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;

+ 7 - 1
sd-business/src/main/java/com/sd/business/service/order/OrderService.java

@@ -85,10 +85,16 @@ public interface OrderService extends BaseService<OrderInfo> {
 
     /**
      * 获取订单bom的出库数量
+     *
      * @param bomSpecId bom规格id
-     * @param days 查询多少天前的数据
+     * @param days      查询多少天前的数据
      * @return
      */
     BigDecimal getOrderBomSpecOutStorageQuantity(Long bomSpecId, Integer days);
 
+    /**
+     * 获取万里牛单号
+     */
+    String getOrderWlnCodeStr(OrderSelectDto dto);
+
 }

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

@@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -151,6 +152,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();
 
@@ -658,6 +662,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         }
     }
 
+    @Override
+    public String getOrderWlnCodeStr(OrderSelectDto dto) {
+        dto.setPageNum(1);
+        dto.setPageSize(999999999);
+        Page<OrderInfoVo> page = getPage(dto);
+        List<String> wlnCodeList = page.getRecords().stream().map(OrderInfo::getWlnCode).collect(Collectors.toList());
+        return JSON.toJSONString(wlnCodeList);
+    }
+
     /**
      * 删除订单以及订单关联数据
      */

+ 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,

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

@@ -533,6 +533,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()));
     }
 
     /**