Procházet zdrojové kódy

渠道商家库-列表-添加分类、地区、潜力值检索

云殇忆 před 1 rokem
rodič
revize
2934220b45

+ 5 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/ChannelBo.java

@@ -2,9 +2,14 @@ package com.ruoyi.demo.entity.bo;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class ChannelBo {
     int pageSize = 10;
     int pageNum = 1;
     private String text;
+    private String[] typeCodeBys;
+    private String[] addrCodes;
+    private BigDecimal[] indexScore;
 }

+ 7 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/ChannelVo.java

@@ -3,6 +3,7 @@ package com.ruoyi.demo.entity.vo;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 @Data
 public class ChannelVo implements Serializable {
@@ -10,6 +11,12 @@ public class ChannelVo implements Serializable {
 
     private String wdName;
 
+    private String typeNameBy;
+
+    private String addrInfo;
+
+    private BigDecimal indexScore;
+
     private String contact;
 
     private String telephone;

+ 42 - 11
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/WdInfoServiceImpl.java

@@ -149,8 +149,8 @@ public class WdInfoServiceImpl implements WdInfoService {
     @Override
     public Page<ChannelVo> searchChannel(ChannelBo bo) {
         QueryWrapper<WdInfo> wdInfoQueryWrapper = new QueryWrapper<>();
-         wdInfoQueryWrapper.ne("dsw.channel_type", "无");
-        if (bo.getText() != null){
+        wdInfoQueryWrapper.ne("dsw.channel_type", "无");
+        if (bo.getText() != null) {
             wdInfoQueryWrapper.and(wrapper -> {
                 wrapper.like("dwi.wd_name", bo.getText())
                     .or()
@@ -159,28 +159,59 @@ public class WdInfoServiceImpl implements WdInfoService {
                     .like("dsw.telephone", bo.getText());
             });
         }
+        // 网点分类(犇云)
+        List<String> types = new ArrayList<>();
+        if (bo.getTypeCodeBys() != null)
+            if (bo.getTypeCodeBys().length > 0) {
+                for (String type : bo.getTypeCodeBys())
+                    types.addAll(categoryUtil.getAllOtherTypeBy(type));
+            } else
+                types = null;
+        else types = null;
+        if (types != null)
+            wdInfoQueryWrapper.in("type_code_by", types);
+
+        // 地区码
+        List<String> addrs = new ArrayList<>();
+        if (bo.getAddrCodes() != null)
+            if (bo.getAddrCodes().length > 0) {
+                for (String addr : bo.getAddrCodes())
+                    addrs.addAll(categoryUtil.getAllOtherAddrCode(addr));
+            } else
+                addrs = null;
+        else addrs = null;
+        if (addrs != null)
+            wdInfoQueryWrapper.in("addr_code", addrs);
+
+        // 潜力值
+        if (bo.getIndexScore() != null)
+            if (bo.getIndexScore().length == 2)
+                wdInfoQueryWrapper.ge("index_score", bo.getIndexScore()[0])
+                    .le("index_score", bo.getIndexScore()[1]);
+
         Page<WdInfo> page = new Page<>(bo.getPageNum(), bo.getPageSize());
         return wdInfoMapper.selectChannel(page, wdInfoQueryWrapper);
     }
 
     /**
      * 修改网点基本信息
+     *
      * @param wdInfoVo
      */
     @Override
     public void updateWdInfo(WdInfoVo wdInfoVo) {
         //1.修改网点基本信息
         UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("wd_id",wdInfoVo.getWdId())
-            .set("wd_name",wdInfoVo.getWdName())
-            .set("addr_info",wdInfoVo.getAddrInfo())
-            .set("addr_code",wdInfoVo.getAddrCode())
-            .set("lat",wdInfoVo.getLat())
-            .set("lng",wdInfoVo.getLng())
-            .set("type_code_by",wdInfoVo.getTypeCodeBy())
-            .set("type_name_by",wdInfoVo.getTypeNameBy())
+        updateWrapper.eq("wd_id", wdInfoVo.getWdId())
+            .set("wd_name", wdInfoVo.getWdName())
+            .set("addr_info", wdInfoVo.getAddrInfo())
+            .set("addr_code", wdInfoVo.getAddrCode())
+            .set("lat", wdInfoVo.getLat())
+            .set("lng", wdInfoVo.getLng())
+            .set("type_code_by", wdInfoVo.getTypeCodeBy())
+            .set("type_name_by", wdInfoVo.getTypeNameBy())
             .set("update_time", DateUtils.getTime());
-        wdInfoMapper.update(null,updateWrapper);
+        wdInfoMapper.update(null, updateWrapper);
 
     }
 }

+ 3 - 0
ruoyi-demo/src/main/resources/mapper/demo/WdInfoMapper.xml

@@ -60,6 +60,9 @@
         SELECT
             dwi.wd_img,
             dwi.wd_name,
+            dwi.addr_info,
+            dwi.type_name_by,
+            dsw.index_score,
             dsw.contact,
             dsw.telephone,
             channel_type