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

1.完成行业新品牌接口
2.完成获取渠道商家库接口

云殇忆 преди 1 година
родител
ревизия
e749ce2f1c

+ 1 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/BrandController.java

@@ -246,8 +246,7 @@ public class BrandController extends BaseController {
      */
     @GetMapping("/new")
     public R newBrand(ListQueryBody bo) {
-        List<String> addrCodes = bo.getAddrCode();
         List<String> industryCodes = bo.getIndustryCode();
-        return R.ok(brandService.searchNew(addrCodes, industryCodes));
+        return R.ok(brandService.searchNew(industryCodes));
     }
 }

+ 16 - 12
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/WdInfoController.java

@@ -1,17 +1,13 @@
 package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.demo.entity.vo.AddStatusVo;
+import com.ruoyi.demo.entity.bo.ChannelBo;
 import com.ruoyi.demo.entity.vo.ListQueryBody;
-import com.ruoyi.demo.entity.vo.OpcloseTimeVo;
 import com.ruoyi.demo.service.WdInfoService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -33,8 +29,7 @@ public class WdInfoController {
     public R addStatus(ListQueryBody body) {
         List<String> addrCode = body.getAddrCode();
         List<String> typeCode = body.getTypeCode(); // 网点类型
-        List<AddStatusVo> addStatusVos = wdInfoService.searchAddStatus(addrCode, typeCode);
-        return R.ok(addStatusVos);
+        return R.ok(wdInfoService.searchAddStatus(addrCode, typeCode));
     }
 
     /**
@@ -47,8 +42,7 @@ public class WdInfoController {
     public R openTime(@RequestBody ListQueryBody body) {
         List<String> addrCodes = body.getAddrCode();
         List<String> typeCodeBys = body.getTypeCodeBy();
-        List<OpcloseTimeVo> vos = wdInfoService.searchOpenTimes(addrCodes, typeCodeBys);
-        return R.ok(vos);
+        return R.ok(wdInfoService.searchOpenTimes(addrCodes, typeCodeBys));
     }
 
     /**
@@ -61,7 +55,17 @@ public class WdInfoController {
     public R closeTime(@RequestBody ListQueryBody body) {
         List<String> addrCodes = body.getAddrCode();
         List<String> typeCodeBys = body.getTypeCodeBy();
-        List<OpcloseTimeVo> vos = wdInfoService.searchCloseTimes(addrCodes, typeCodeBys);
-        return R.ok(vos);
+        return R.ok(wdInfoService.searchCloseTimes(addrCodes, typeCodeBys));
+    }
+
+    /**
+     * 获取渠道商家库列表
+     *
+     * @param bo
+     * @return
+     */
+    @GetMapping("/channelList")
+    public R channelList(ChannelBo bo){
+        return R.ok(wdInfoService.searchChannel(bo));
     }
 }

+ 4 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/StoreWd.java

@@ -39,9 +39,12 @@ public class StoreWd implements Serializable {
     private String businessTime;
     @TableField("telephone")
     private String telephone;
-
     @TableField("contact")
     private String contact;
+
+    @TableField("channel_type")
+    private String channelType;
+
     @TableField("opentime")
     private String opentime;
     @TableField("closetime")

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

@@ -0,0 +1,10 @@
+package com.ruoyi.demo.entity.bo;
+
+import lombok.Data;
+
+@Data
+public class ChannelBo {
+    int pageSize = 10;
+    int pageNum = 1;
+    private String text;
+}

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

@@ -0,0 +1,12 @@
+package com.ruoyi.demo.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ChannelVo {
+    private String wdImg;
+    private String wdName;
+    private String contact;
+    private String telephone;
+    private String channelType;
+}

+ 3 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/BrandMapper.java

@@ -20,4 +20,7 @@ public interface BrandMapper extends BaseMapper<Brand> {
     List<Brand> list(BrandVo brandVo);
 
     void recoverBrand(String brandId);
+
+    // 按年统计品牌数量
+    Integer selectCountByYear(@Param("year") String year, @Param("industryCodes") List<String> industryCodes);
 }

+ 3 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/StoreWdOpcloseDao.java

@@ -3,6 +3,7 @@ package com.ruoyi.demo.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.demo.entity.StoreWdOpclose;
 import com.ruoyi.demo.entity.vo.OpcloseTimeVo;
+import com.ruoyi.demo.entity.vo.TimeVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -10,9 +11,9 @@ import java.util.List;
 
 @Mapper
 public interface StoreWdOpcloseDao extends BaseMapper<StoreWdOpclose> {
-    List<OpcloseTimeVo> selectWdOpenTimes(@Param("addrCodes") List<String> addrCodes, @Param("typeCodeBys") List<String> typeCodeBys);
+    List<TimeVo> selectWdOpenTimes(@Param("addrCodes") List<String> addrCodes, @Param("typeCodeBys") List<String> typeCodeBys);
 
-    List<OpcloseTimeVo> selectWdCloseTimes(@Param("addrCodes") List<String> addrCodes, @Param("typeCodeBys") List<String> typeCodeBys);
+    List<TimeVo> selectWdCloseTimes(@Param("addrCodes") List<String> addrCodes, @Param("typeCodeBys") List<String> typeCodeBys);
 
     List<OpcloseTimeVo> selectBrandOpenTimes(@Param("brandIds") List<String> brandIds, @Param("addrCodes") List<String> addrCodes, @Param("typeCodeBys") List<String> typeCodeBys);
 

+ 6 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/WdInfoMapper.java

@@ -1,9 +1,13 @@
 package com.ruoyi.demo.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.demo.entity.WdInfo;
 import com.ruoyi.demo.entity.vo.AddStatusVo;
+import com.ruoyi.demo.entity.vo.ChannelVo;
 import com.ruoyi.demo.entity.vo.WdInfoVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -17,4 +21,6 @@ public interface WdInfoMapper extends BaseMapper<WdInfo> {
     void recoverWd(String wdId);
 
     List<AddStatusVo> searchAddStatusByMulti(@Param("times") List<String> times, @Param("addrCodes") List<String> addrCodes, @Param("wdTypeCodes") List<String> wdTypeCodes);
+
+    Page<ChannelVo> selectChannel(Page<WdInfo> page, @Param(Constants.WRAPPER) QueryWrapper<WdInfo> queryWrapper);
 }

+ 1 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/BrandService.java

@@ -46,5 +46,5 @@ public interface BrandService {
 
     List<BrandCityTier> getCityTier(String brandId);
 
-    List<TimeVo> searchNew(List<String> addrCodes, List<String> industryCodes);
+    List<TimeVo> searchNew(List<String> industryCodes);
 }

+ 8 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/service/WdInfoService.java

@@ -1,14 +1,19 @@
 package com.ruoyi.demo.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.demo.entity.bo.ChannelBo;
 import com.ruoyi.demo.entity.vo.AddStatusVo;
-import com.ruoyi.demo.entity.vo.OpcloseTimeVo;
+import com.ruoyi.demo.entity.vo.ChannelVo;
+import com.ruoyi.demo.entity.vo.TimeVo;
 
 import java.util.List;
 
 public interface WdInfoService {
     List<AddStatusVo> searchAddStatus(List<String> addrCodes, List<String> typeCodes);
 
-    List<OpcloseTimeVo> searchOpenTimes(List<String> addrCodes, List<String> typeCodeBys);
+    List<TimeVo> searchOpenTimes(List<String> addrCodes, List<String> typeCodeBys);
 
-    List<OpcloseTimeVo> searchCloseTimes(List<String> addrCodes, List<String> typeCodeBys);
+    List<TimeVo> searchCloseTimes(List<String> addrCodes, List<String> typeCodeBys);
+
+    Page<ChannelVo> searchChannel(ChannelBo bo);
 }

+ 12 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BrandServiceImpl.java

@@ -535,7 +535,17 @@ public class BrandServiceImpl implements BrandService {
     }
 
     @Override
-    public List<TimeVo> searchNew(List<String> addrCodes, List<String> industryCodes) {
-        return null;
+    public List<TimeVo> searchNew(List<String> industryCodes) {
+        /* 补齐行业分类码,目前行业分类为空,这里作保留
+
+         */
+        List<TimeVo> vos = new ArrayList<>();
+        for (int i = 0; i < 3; i++) {
+            TimeVo timeVo = new TimeVo();
+            timeVo.setTime(LocalDateTime.now(ZoneId.of("Asia/Shanghai")).plusYears(-i).format(DateTimeFormatter.ofPattern("yyyy")));
+            timeVo.setCount(brandMapper.selectCountByYear(timeVo.getTime(), null));
+            vos.add(timeVo);
+        }
+        return vos;
     }
 }

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

@@ -1,7 +1,12 @@
 package com.ruoyi.demo.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.bo.ChannelBo;
 import com.ruoyi.demo.entity.vo.AddStatusVo;
-import com.ruoyi.demo.entity.vo.OpcloseTimeVo;
+import com.ruoyi.demo.entity.vo.ChannelVo;
+import com.ruoyi.demo.entity.vo.TimeVo;
 import com.ruoyi.demo.mapper.StoreWdOpcloseDao;
 import com.ruoyi.demo.mapper.WdInfoMapper;
 import com.ruoyi.demo.mapper.WdOpcloseDao;
@@ -60,7 +65,7 @@ public class WdInfoServiceImpl implements WdInfoService {
     }
 
     @Override
-    public List<OpcloseTimeVo> searchOpenTimes(List<String> addrCodes, List<String> typeCodeBys) {
+    public List<TimeVo> searchOpenTimes(List<String> addrCodes, List<String> typeCodeBys) {
         // 补齐地址码和类型码
         List<String> addrs = new ArrayList<>();
         if (addrCodes != null || !addrCodes.isEmpty()) {
@@ -75,18 +80,18 @@ public class WdInfoServiceImpl implements WdInfoService {
         } else
             types = null;
 
-        List<OpcloseTimeVo> vos = storeWdOpcloseDao.selectWdOpenTimes(addrs, types);
+        List<TimeVo> vos = storeWdOpcloseDao.selectWdOpenTimes(addrs, types);
         // 初始化
-        List<OpcloseTimeVo> rvos = new ArrayList<>();
+        List<TimeVo> rvos = new ArrayList<>();
         for (int i = 0; i < 24; i += 2) {
-            OpcloseTimeVo vo = new OpcloseTimeVo();
+            TimeVo vo = new TimeVo();
             vo.setTime(i + ":00~" + (i + 2) + ":00");
             vo.setCount(0);
             rvos.add(vo);
         }
         // 赋值
         vos.forEach(vo -> {
-            for (OpcloseTimeVo rvo : rvos) {
+            for (TimeVo rvo : rvos) {
                 String[] times = rvo.getTime().split("~");
                 if (compareTime(vo.getTime(), times[0]) < 0 || compareTime(times[1], vo.getTime()) < 0)
                     continue;
@@ -97,7 +102,7 @@ public class WdInfoServiceImpl implements WdInfoService {
     }
 
     @Override
-    public List<OpcloseTimeVo> searchCloseTimes(List<String> addrCodes, List<String> typeCodeBys) {
+    public List<TimeVo> searchCloseTimes(List<String> addrCodes, List<String> typeCodeBys) {
         // 补齐地址码和类型码
         List<String> addrs = new ArrayList<>();
         if (addrCodes != null || !addrCodes.isEmpty()) {
@@ -112,18 +117,18 @@ public class WdInfoServiceImpl implements WdInfoService {
         } else
             types = null;
 
-        List<OpcloseTimeVo> vos = storeWdOpcloseDao.selectWdCloseTimes(addrs, types);
+        List<TimeVo> vos = storeWdOpcloseDao.selectWdCloseTimes(addrs, types);
         // 初始化
-        List<OpcloseTimeVo> rvos = new ArrayList<>();
+        List<TimeVo> rvos = new ArrayList<>();
         for (int i = 0; i < 24; i += 2) {
-            OpcloseTimeVo vo = new OpcloseTimeVo();
+            TimeVo vo = new TimeVo();
             vo.setTime(i + ":00~" + (i + 2) + ":00");
             vo.setCount(0);
             rvos.add(vo);
         }
         // 赋值
         vos.forEach(vo -> {
-            for (OpcloseTimeVo rvo : rvos) {
+            for (TimeVo rvo : rvos) {
                 String[] times = rvo.getTime().split("~");
                 if (compareTime(vo.getTime(), times[0]) < 0 || compareTime(times[1], vo.getTime()) < 0)
                     continue;
@@ -132,4 +137,21 @@ public class WdInfoServiceImpl implements WdInfoService {
         });
         return rvos;
     }
+
+    @Override
+    public Page<ChannelVo> searchChannel(ChannelBo bo) {
+        QueryWrapper<WdInfo> wdInfoQueryWrapper = new QueryWrapper<>();
+         wdInfoQueryWrapper.ne("dsw.channel_type", "无");
+        if (bo.getText() != null){
+            wdInfoQueryWrapper.and(wrapper -> {
+                wrapper.like("dwi.wd_name", bo.getText())
+                    .or()
+                    .like("dsw.contact", bo.getText())
+                    .or()
+                    .like("dsw.telephone", bo.getText());
+            });
+        }
+        Page<WdInfo> page = new Page<>(bo.getPageNum(), bo.getPageSize());
+        return wdInfoMapper.selectChannel(page, wdInfoQueryWrapper);
+    }
 }

+ 14 - 0
ruoyi-demo/src/main/resources/mapper/demo/BrandMapper.xml

@@ -95,4 +95,18 @@
     <update id="recoverBrand" parameterType="java.lang.String" >
         update ddt_brand set show_delete = 0 where brand_id = #{brand_id}
     </update>
+    <select id="selectCountByYear" resultType="java.lang.Integer">
+    SELECT
+        COUNT(*)
+    FROM
+        `ddt_brand`
+    WHERE
+        show_delete = 0
+      AND DATE_FORMAT(create_date, '%Y') = #{year}
+    <if test="industryCodes != null">
+        <foreach collection="industryCodes" item="code" open="AND industry_code in (" separator="," close=")">
+            #{code,jdbcType=VARCHAR}
+        </foreach>
+    </if>;
+</select>
 </mapper>

+ 2 - 2
ruoyi-demo/src/main/resources/mapper/demo/StoreWdOpcloseMapper.xml

@@ -3,7 +3,7 @@
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.demo.mapper.StoreWdOpcloseDao">
-    <select id="selectWdOpenTimes" resultType="com.ruoyi.demo.entity.vo.OpcloseTimeVo">
+    <select id="selectWdOpenTimes" resultType="com.ruoyi.demo.entity.vo.TimeVo">
         SELECT
             start_time time,
 	        COUNT(*) count
@@ -26,7 +26,7 @@
         ORDER BY
             count DESC;
     </select>
-    <select id="selectWdCloseTimes" resultType="com.ruoyi.demo.entity.vo.OpcloseTimeVo">
+    <select id="selectWdCloseTimes" resultType="com.ruoyi.demo.entity.vo.TimeVo">
         SELECT
             end_time time,
             COUNT(*) count

+ 11 - 1
ruoyi-demo/src/main/resources/mapper/demo/WdInfoMapper.xml

@@ -54,8 +54,18 @@
             wd_type_code,
             time
     </select>
-
     <update id="recoverWd" parameterType="java.lang.String">
         update ddt_wd_info set show_delete = 0 where wd_id = #{wdId}
     </update>
+    <select id="selectChannel" resultType="com.ruoyi.demo.entity.vo.ChannelVo">
+        SELECT
+            dwi.wd_img,
+            dwi.wd_name,
+            dsw.contact,
+            dsw.telephone,
+            channel_type
+        FROM
+            `ddt_wd_info` dwi
+                LEFT JOIN `ddt_store_wd` dsw ON dwi.wd_id = dsw.wd_id ${ew.customSqlSegment}
+    </select>
 </mapper>