Просмотр исходного кода

新增获取贸易订单地址下拉列表接口

yzc 2 лет назад
Родитель
Сommit
71789ce7c9

+ 11 - 5
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -93,7 +93,7 @@ public class KwoTradeOrderController {
     @GetMapping("/detail")
     @Log(description = "贸易订单详情")
     public HttpResult detail(@RequestParam Long id) {
-        return HttpResult.ok(kwoTradeOrderService.detail(id));
+        return HttpResult.ok("贸易订单详情查询成功",kwoTradeOrderService.detail(id));
     }
 
     /**
@@ -185,11 +185,17 @@ public class KwoTradeOrderController {
         return HttpResult.ok("订单批量删除成功");
     }
 
-    @PostMapping(value = "/getAddressDropList", produces = MediaType.APPLICATION_JSON_VALUE)
+    /**
+     * @desc: 获取贸易订单地址下拉列表
+     * @author: yzc
+     * @date: 2023-08-02 17:26
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/getAddressDropList")
     @Log(description = "获取贸易订单地址下拉列表")
-    public HttpResult getAddressDropList(@RequestBody @Validated AddressDropListParam param) {
-        kwoTradeOrderService.getAddressDropList(param);
-        return HttpResult.ok("获取贸易订单地址下拉列表成功");
+    public HttpResult getAddressDropList() {
+        return HttpResult.ok("获取贸易订单地址下拉列表成功",kwoTradeOrderService.getAddressDropList());
     }
 
 }

+ 0 - 26
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddressDropListParam.java

@@ -1,26 +0,0 @@
-package com.sckw.order.model.vo.req;
-
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-/**
- * @desc: 贸易订单下拉列表请求参数
- * @author: yzc
- * @date: 2023-08-02 14:43
- */
-@Getter
-@Setter
-@ToString
-public class AddressDropListParam {
-
-    /**
-     * 1采购订单2销售订单
-     */
-    @NotNull(message = "订单类型不能为空")
-    @Range(min = 1, max =2,message = "非法订单类型")
-    private Integer orderType;
-
-}

+ 10 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/AddressDropListRes.java

@@ -1,5 +1,6 @@
 package com.sckw.order.model.vo.res;
 
+import com.sckw.system.api.model.dto.res.AreaTreeFrontResDto;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -7,6 +8,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @desc: 贸易订单地址下拉列表响应
@@ -23,6 +25,14 @@ public class AddressDropListRes implements Serializable {
     @Serial
     private static final long serialVersionUID = -1892537474089018495L;
 
+    /**
+     * 装货地址树
+     */
+    private List<AreaTreeFrontResDto> loadAddressList;
 
+    /**
+     * 卸货地址树
+     */
+    private List<AreaTreeFrontResDto> unloadAddressList;
 
 }

+ 15 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderAddressService.java

@@ -10,6 +10,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -76,4 +77,18 @@ public class KwoTradeOrderAddressService {
                 .set(KwoTradeOrderAddress::getDelFlag, Global.YES);
         kwoTradeOrderAddressMapper.update(null, wrapper);
     }
+
+    /**
+     * @desc: 根据orderIds查询
+     * @author: yzc
+     * @date: 2023-08-02 18:11
+     * @Param tOrderIds:
+     * @return: java.util.List<com.sckw.order.model.KwoTradeOrderAddress>
+     */
+    public List<KwoTradeOrderAddress> getByOrderIds(Collection<Long> tOrderIds) {
+        LambdaQueryWrapper<KwoTradeOrderAddress> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwoTradeOrderAddress::getTOrderId, tOrderIds).eq(KwoTradeOrderAddress::getDelFlag, Global.NO);
+        List<KwoTradeOrderAddress> list = kwoTradeOrderAddressMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
+    }
 }

+ 31 - 6
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -21,10 +21,7 @@ import com.sckw.order.dao.KwoTradeOrderMapper;
 import com.sckw.order.model.*;
 import com.sckw.order.model.dto.OrderCheckDTO;
 import com.sckw.order.model.vo.req.*;
-import com.sckw.order.model.vo.res.AddressInfoDetailRes;
-import com.sckw.order.model.vo.res.GoodsInfoDetailRes;
-import com.sckw.order.model.vo.res.OrderDetailRes;
-import com.sckw.order.model.vo.res.UnitInfoDetailRes;
+import com.sckw.order.model.vo.res.*;
 import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.WalletDto;
@@ -33,6 +30,7 @@ import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.product.api.model.KwpGoods;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.AreaTreeFrontResDto;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
@@ -44,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @desc: 交易订单(采购订单/销售订单)service
@@ -895,8 +894,34 @@ public class KwoTradeOrderService {
         kwoTradeOrderMapper.update(null, wrapper);
     }
 
-    public void getAddressDropList(AddressDropListParam param) {
+    /**
+     * @desc: 获取贸易订单地址下拉列表
+     * @author: yzc
+     * @date: 2023-08-02 17:28
+     * @return: com.sckw.order.model.vo.res.AddressDropListRes
+     */
+    public AddressDropListRes getAddressDropList() {
+        AddressDropListRes res = new AddressDropListRes();
         Long entId = LoginUserHolder.getEntId();
-//        List<AreaTreeFrontResDto> areaTreeFrontResDtos = remoteSystemService.queryAreaTreeFrontByCodeList();
+        //一级企业匹配筛选订单id
+        List<KwoTradeOrderUnit> unitInfo = kwoTradeOrderUnitService.getByTopEntId(entId);
+        if (CollectionUtils.isEmpty(unitInfo)) {
+            return res;
+        }
+        Set<Long> tOrderIds = unitInfo.stream().map(KwoTradeOrderUnit::getTOrderId).collect(Collectors.toSet());
+        //订单ids获取地址信息
+        List<KwoTradeOrderAddress> addressList = kwoTradeOrderAddressService.getByOrderIds(tOrderIds);
+        if (CollectionUtils.isEmpty(addressList)) {
+            return res;
+        }
+        //装卸货地址类型分组获取装卸货cityCodes
+        Map<String, List<Integer>> map = addressList.stream().collect(Collectors.
+                groupingBy(KwoTradeOrderAddress::getAddressType, Collectors.mapping(KwoTradeOrderAddress::getCityCode, Collectors.toList())));
+        //装货地址下拉列表树
+        List<AreaTreeFrontResDto> loadTree = remoteSystemService.queryAreaTreeFrontByCodeList(map.get(DictEnum.TORDER_ADDRESS_TYPE_1.getValue()));
+        //卸货地址下拉列表树
+        List<AreaTreeFrontResDto> unloadTree = remoteSystemService.queryAreaTreeFrontByCodeList(map.get(DictEnum.TORDER_ADDRESS_TYPE_2.getValue()));
+        res.setLoadAddressList(loadTree).setUnloadAddressList(unloadTree);
+        return res;
     }
 }

+ 14 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderUnitService.java

@@ -112,4 +112,18 @@ public class KwoTradeOrderUnitService {
                 .set(KwoTradeOrderUnit::getDelFlag, Global.YES);
         kwoTradeOrderUnitMapper.update(null, wrapper);
     }
+
+    /**
+     * @desc: 根据一级企业匹配
+     * @author: yzc
+     * @date: 2023-08-02 18:06
+     * @Param entId:
+     * @return: java.util.List<com.sckw.order.model.KwoTradeOrderUnit>
+     */
+    public List<KwoTradeOrderUnit> getByTopEntId(Long entId) {
+        LambdaQueryWrapper<KwoTradeOrderUnit> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwoTradeOrderUnit::getTopEntId, entId).eq(KwoTradeOrderUnit::getDelFlag, Global.NO);
+        List<KwoTradeOrderUnit> list = kwoTradeOrderUnitMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
+    }
 }