Преглед на файлове

商品类型筛选逻辑更改

yzc преди 2 години
родител
ревизия
6f766f4d43

+ 7 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTransportDemandController.java

@@ -163,6 +163,13 @@ public class KwoTransportDemandController {
         return HttpResult.ok("批量删除成功");
     }
 
+    /**
+     * @desc: 运需广场列表
+     * @author: yzc
+     * @date: 2023-07-27 15:46
+     * @Param param:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
     @PostMapping(value = "/demandSquaresList", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult demandSquaresList(@RequestBody @Validated TransportDemandSquaresParam param) {
         return HttpResult.ok(kwoTransportDemandService.demandSquaresList(param));

+ 7 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/TransportDemandSquaresParam.java

@@ -5,8 +5,6 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 
-import java.util.List;
-
 /**
  * @desc: 运需广场列表请求参数
  * @author: yzc
@@ -23,9 +21,14 @@ public class TransportDemandSquaresParam extends PageRequest {
     private String keywords;
 
     /**
-     * 商品类型集合
+     * 商品类型type
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
      */
-    private List<String> goodsTypes;
+    private String goodsTypeValue;
 
     /**
      * 装货地区code

+ 9 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java

@@ -27,6 +27,7 @@ import com.sckw.order.model.vo.res.TransportDemandListRes;
 import com.sckw.order.model.vo.res.TransportDemandSquaresListRes;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -374,8 +375,14 @@ public class KwoTransportDemandService {
     public PageResult demandSquaresList(TransportDemandSquaresParam param) {
         Page<KwoTransportDemand> page = new Page<>(param.getPage(), param.getPageSize());
         LambdaQueryWrapper<KwoTransportDemand> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(CollectionUtils.isNotEmpty(param.getGoodsTypes()), KwoTransportDemand::getGoodsType, param.getGoodsTypes())
-                .eq(KwoTransportDemand::getStatus, Integer.valueOf(DictEnum.TRANSPORT_DEMAND_STATUS_1.getValue()))
+        if (StringUtils.isNotBlank(param.getGoodsType()) && StringUtils.isNotBlank(param.getGoodsTypeValue())) {
+            List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(param.getGoodsType(), param.getGoodsTypeValue());
+            if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                wrapper.in(KwoTransportDemand::getGoodsType, goodsTypes);
+            }
+        }
+        wrapper.eq(KwoTransportDemand::getStatus, Integer.valueOf(DictEnum.TRANSPORT_DEMAND_STATUS_1.getValue()))
                 .eq(KwoTransportDemand::getDelFlag, Global.NO);
         Integer loadCode = param.getLoadAreaCode();
         if (Objects.nonNull(loadCode) && Objects.nonNull(param.getLoadAreaLevel())) {

+ 7 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/BuildingMaterialsMarketListParam.java

@@ -23,9 +23,14 @@ public class BuildingMaterialsMarketListParam extends PageRequest {
     private String keywords;
 
     /**
-     * 商品类型集合(不限为空)
+     * 商品类型type
      */
-    private List<String> goodsTypes;
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
 
     /**
      * 区域code

+ 5 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsListParam.java

@@ -44,6 +44,11 @@ public class GoodsListParam {
      */
     private String goodsType;
 
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
     /**
      * 交易方式
      */

+ 6 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectGoodsListParam.java

@@ -41,10 +41,15 @@ public class SelectGoodsListParam extends PageRequest {
     private Integer status;
 
     /**
-     * 商品类型
+     * 商品类型type
      */
     private String goodsType;
 
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
     /**
      * 交易方式
      */

+ 19 - 6
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -25,6 +25,7 @@ import com.sckw.product.model.vo.req.*;
 import com.sckw.product.model.vo.res.*;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -409,13 +410,13 @@ public class KwpGoodsService {
         List<Long> userIds = new ArrayList<>();
         goodsLists.forEach(e -> {
             goodsIds.add(e.getId());
-            if (Objects.nonNull(e.getSupplyEntId())){
+            if (Objects.nonNull(e.getSupplyEntId())) {
                 supplyEntIds.add(e.getSupplyEntId());
             }
-            if (Objects.nonNull(e.getManager())){
+            if (Objects.nonNull(e.getManager())) {
                 userIds.add(e.getManager());
             }
-            if (Objects.nonNull(e.getCreateBy())){
+            if (Objects.nonNull(e.getCreateBy())) {
                 userIds.add(e.getCreateBy());
             }
         });
@@ -475,8 +476,14 @@ public class KwpGoodsService {
             }
             wrapper.ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
                     .eq(StringUtils.isNotBlank(params.getTrading()), KwpGoods::getTrading, params.getTrading())
-                    .eq(StringUtils.isNotBlank(params.getGoodsType()), KwpGoods::getGoodsType, params.getGoodsType())
                     .eq(Objects.nonNull(params.getStatus()) && isPage, KwpGoods::getStatus, params.getStatus());
+            if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
+                List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
+                if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                    List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                    wrapper.in(KwpGoods::getGoodsType, goodsTypes);
+                }
+            }
             if (StringUtils.isNotBlank(params.getKeywords())) {
                 List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByName(params.getKeywords());
                 List<Long> entIds = entList.stream().map(EntCacheResDto::getId).toList();
@@ -642,8 +649,14 @@ public class KwpGoodsService {
     public PageResult buildingMaterialsMarketList(BuildingMaterialsMarketListParam params) {
         Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(CollectionUtils.isNotEmpty(params.getGoodsTypes()), KwpGoods::getGoodsType, params.getGoodsTypes())
-                .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
+        if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
+            List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
+            if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                wrapper.in(KwpGoods::getGoodsType, goodsTypes);
+            }
+        }
+        wrapper.in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
                 .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode()).eq(KwpGoods::getDelFlag, Global.NO);
         if (Objects.nonNull(params.getAreaCode()) && Objects.nonNull(params.getAreaLevel())) {
             switch (params.getAreaLevel()) {