zhijiezhao 3 năm trước cách đây
mục cha
commit
dcfd80f992

+ 15 - 10
src/main/java/com/caimei365/user/controller/ClubApi.java

@@ -146,14 +146,16 @@ public class ClubApi {
     @ApiOperation("机构资料备注列表")
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销Id"),
+            @ApiImplicitParam(required = false, name = "keyWord", value = "模糊搜索关键词"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/remarks/list")
     public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId,
+                                                               String keyWord,
                                                                @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
-        return clubService.getRemarksList(serviceProviderId, pageNum, pageSize);
+        return clubService.getRemarksList(serviceProviderId, keyWord, pageNum, pageSize);
     }
 
     @ApiOperation("机构资料备注详情")
@@ -209,7 +211,7 @@ public class ClubApi {
             @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销id")
     })
     @GetMapping("/remarks/visitor/save")
-    public ResponseJson<Map<String,String>>  addVisitorClub(String name, String serviceProviderId) {
+    public ResponseJson<Map<String, String>> addVisitorClub(String name, String serviceProviderId) {
         if (null == name || "".equals(name)) {
             return ResponseJson.error("参数异常:咨询人姓名不能为空!", null);
         }
@@ -222,17 +224,19 @@ public class ClubApi {
     @ApiOperation("潜在用户列表")
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销id"),
+            @ApiImplicitParam(required = false, name = "keyWord", value = "模糊搜索关键词"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/remarks/visitor/list")
     public ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(String serviceProviderId,
+                                                                      String keyWord,
                                                                       @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                       @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
         if (null == serviceProviderId || "".equals(serviceProviderId)) {
             return ResponseJson.error("参数异常:协销id不能为空!", null);
         }
-        return clubService.getVisitorList(serviceProviderId, pageNum, pageSize);
+        return clubService.getVisitorList(serviceProviderId, keyWord, pageNum, pageSize);
     }
 
     /**
@@ -290,18 +294,19 @@ public class ClubApi {
     @ApiOperation("潜在用户咨询人记录列表")
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "questionManId", value = "咨询人id"),
+            @ApiImplicitParam(required = false, name = "keyWord", value = "模糊搜索关键词"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/remarks/visitor/recordlist")
-    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(
-                                                                            String questionManId,
-                                                                            @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                                            @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
+    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId,
+                                                                          String keyWord,
+                                                                          @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                                          @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
         if (null == questionManId || "".equals(questionManId)) {
             return ResponseJson.error("参数异常:协销id不能为空!", null);
         }
-        return clubService.getVisitorRecordList(questionManId,pageNum, pageSize);
+        return clubService.getVisitorRecordList(keyWord, questionManId, pageNum, pageSize);
     }
 
     @ApiOperation("删除潜在用户资料备注")
@@ -317,8 +322,8 @@ public class ClubApi {
             @ApiImplicitParam(required = true, name = "questionManId", value = "咨询人id")
     })
     @PostMapping("/remarks/concact/visit")
-    public ResponseJson concactVisitRemarks(String clubId,String questionManId) {
-        return clubService.concactVisitRemarks(clubId,questionManId);
+    public ResponseJson concactVisitRemarks(String clubId, String questionManId) {
+        return clubService.concactVisitRemarks(clubId, questionManId);
     }
 
 }

+ 6 - 0
src/main/java/com/caimei365/user/mapper/ClubMapper.java

@@ -271,4 +271,10 @@ public interface ClubMapper {
     void concactVisit(RemarksVo remarksVo);
 
     String findQuestionMan(String questionManId);
+
+    List<RemarksVo> getRemarksListByKey(@Param("keyWord") String keyWord, @Param("serviceProviderId") Integer serviceProviderId);
+
+    List<VisitorRemarkVo> getVisitorListByKey(@Param("serviceProviderId") String serviceProviderId, @Param("keyWord") String keyWord);
+
+    List<VisitorRemarkVo> getVisitRecordListByKey(@Param("keyWord")String keyWord,@Param("questionManId") String questionManId);
 }

+ 31 - 20
src/main/java/com/caimei365/user/service/ClubService.java

@@ -84,23 +84,24 @@ public interface ClubService {
 
     /**
      * 查看商品资料抵扣采美豆
-     * @param userId        用户Id
-     * @param archiveId     商品资料id
+     *
+     * @param userId    用户Id
+     * @param archiveId 商品资料id
      * @return
      */
     ResponseJson archiveDeduction(Integer userId, Integer archiveId);
 
     /**
      * 保存机构资料备注
-     * @param jsonParamsDto:{
-     *                     remarksId:           备注id,
-     *                     机构id:               机构id,
-     *                     questionMan:        咨询人姓名,
-     *                     serviceProviderId:   协销id,
-     *                     remarks:             文字备注,
-     *                     fileList:    [{fileName:"文件名称",ossName:"oss文件名称"},{fileName:"文件名称",ossName:"oss文件名称"}...]
-     *                     imageList:   ["图片","图片",...]
-     *                    }
+     *
+     * @param jsonParamsDto:{ remarksId:           备注id,
+     *                        机构id:               机构id,
+     *                        questionMan:        咨询人姓名,
+     *                        serviceProviderId:   协销id,
+     *                        remarks:             文字备注,
+     *                        fileList:    [{fileName:"文件名称",ossName:"oss文件名称"},{fileName:"文件名称",ossName:"oss文件名称"}...]
+     *                        imageList:   ["图片","图片",...]
+     *                        }
      * @return
      * @return
      */
@@ -108,49 +109,56 @@ public interface ClubService {
 
     /**
      * 获取机构资料备注列表
-     * @param serviceProviderId   协销id
-     * @param pageNum   页码
-     * @param pageSize  每页数量
+     *
+     * @param serviceProviderId 协销id
+     * @param pageNum           页码
+     * @param pageSize          每页数量
      * @return
      */
-    ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId, int pageNum, int pageSize);
+    ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId, String keyWord, int pageNum, int pageSize);
 
     /**
      * 获取机构资料备注详情
-     * @param remarksId     备注id
+     *
+     * @param remarksId 备注id
      * @return
      */
     ResponseJson<RemarkVo> getRemarksDetail(Integer remarksId);
 
     /**
      * 删除机构资料备注
-     * @param remarksId     备注id
+     *
+     * @param remarksId 备注id
      * @return
      */
     ResponseJson deleteClubRemarks(Integer remarksId);
 
     /**
      * 机构个人中心数据
+     *
      * @param userId 用户Id
      */
     ResponseJson<Map<String, Object>> getPersonalData(Integer userId);
 
     /**
      * 添加潜在用户姓名
+     *
      * @param name
      * @return
      */
-    ResponseJson<Map<String,String>>  saveVisitorName(String name,String serviceProviderId);
+    ResponseJson<Map<String, String>> saveVisitorName(String name, String serviceProviderId);
 
     /**
      * 获取潜在客户列表
+     *
      * @param serviceProviderId
      * @return
      */
-    ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(String serviceProviderId, int pageNum, int pageSize);
+    ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(String serviceProviderId, String keyWord, int pageNum, int pageSize);
 
     /**
      * 修改潜在客户咨询人姓名
+     *
      * @param serviceProviderId
      * @param questionMan
      * @param questionManId
@@ -160,6 +168,7 @@ public interface ClubService {
 
     /**
      * 新增/修改记录
+     *
      * @param visitor
      * @return
      */
@@ -167,17 +176,19 @@ public interface ClubService {
 
     /**
      * 潜在用户资料详情
+     *
      * @param remarksId
      * @return
      */
     ResponseJson<VisitRemarkVo> getVisitRemark(Integer remarksId);
 
-    ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId, int pageNum, int pageSize);
+    ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String keyWord,String questionManId, int pageNum, int pageSize);
 
     ResponseJson deleteVisitRemarks(String remarksId);
 
     /**
      * 同步潜在用户信息到机构
+     *
      * @param clubId
      * @param questionManId
      * @return

+ 28 - 13
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -440,13 +440,18 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-    public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId, int pageNum, int pageSize) {
+    public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId, String keyWord, int pageNum, int pageSize) {
         if (null == serviceProviderId) {
             return ResponseJson.error("参数异常,协销id不能为空", null);
         }
-        PageInfo<RemarksVo> PageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksList(serviceProviderId));
+        PageInfo<RemarksVo> pageInfo=null;
+        if (StringUtils.isNotBlank(keyWord)) {
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId));
+        } else {
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksList(serviceProviderId));
+        }
         ArrayList<RemarkVo> remarkVos = new ArrayList<>();
-        PageInfo.getList().forEach(r -> {
+        pageInfo.getList().forEach(r -> {
             RemarkVo remarkVo = new RemarkVo();
             List<String> strings = new ArrayList<>();
             String rk = null == r.getRemarks() ? "" : r.getRemarks();
@@ -463,10 +468,10 @@ public class ClubServiceImpl implements ClubService {
             remarkVo.setClubName(clubMapper.findClubName(r.getClubId()));
             remarkVos.add(remarkVo);
         });
-        PaginationVo<RemarkVo> pageVo= new PaginationVo<>(remarkVos);
-        pageVo.setTotalPage(PageInfo.getPages());
-        pageVo.setHasNextPage(PageInfo.isHasNextPage());
-        pageVo.setTotalRecord((int)PageInfo.getTotal());
+        PaginationVo<RemarkVo> pageVo = new PaginationVo<>(remarkVos);
+        pageVo.setTotalPage(pageInfo.getPages());
+        pageVo.setHasNextPage(pageInfo.isHasNextPage());
+        pageVo.setTotalRecord((int) pageInfo.getTotal());
         return ResponseJson.success(pageVo);
     }
 
@@ -639,12 +644,17 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-    public ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(String serviceProviderId, int pageNum, int pageSize) {
+    public ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(String serviceProviderId, String keyWord, int pageNum, int pageSize) {
         if (null == serviceProviderId) {
             return ResponseJson.error("参数异常,机构id不能为空", null);
         }
+        List<VisitorRemarkVo> remarksList=new ArrayList<>();
         PageHelper.startPage(pageNum, pageSize);
-        List<VisitorRemarkVo> remarksList = clubMapper.getVisitorList(serviceProviderId);
+        if(StringUtils.isNotBlank(keyWord)){
+            remarksList = clubMapper.getVisitorListByKey(serviceProviderId,keyWord);
+        }else{
+            remarksList = clubMapper.getVisitorList(serviceProviderId);
+        }
         return ResponseJson.success(new PaginationVo<>(remarksList));
     }
 
@@ -742,8 +752,13 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId, int pageNum, int pageSize) {
-        PageInfo<VisitorRemarkVo> remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getVisitRecordList(questionManId));
+    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String keyWord,String questionManId, int pageNum, int pageSize) {
+        PageInfo<VisitorRemarkVo> remarksList = null;
+        if(StringUtils.isNotBlank(keyWord)){
+            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getVisitRecordListByKey(keyWord,questionManId));
+        }else{
+            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getVisitRecordList(questionManId));
+        }
         ArrayList<VisitRemarkVo> remarkVos = new ArrayList<>();
         remarksList.getList().forEach(r -> {
             VisitRemarkVo visit = new VisitRemarkVo();
@@ -761,10 +776,10 @@ public class ClubServiceImpl implements ClubService {
             visit.setQuestionManId(r.getQuestionManId());
             remarkVos.add(visit);
         });
-        PaginationVo<VisitRemarkVo> pageVo= new PaginationVo<>(remarkVos);
+        PaginationVo<VisitRemarkVo> pageVo = new PaginationVo<>(remarkVos);
         pageVo.setTotalPage(remarksList.getPages());
         pageVo.setHasNextPage(remarksList.isHasNextPage());
-        pageVo.setTotalRecord((int)remarksList.getTotal());
+        pageVo.setTotalRecord((int) remarksList.getTotal());
         return ResponseJson.success(pageVo);
     }
 

+ 29 - 0
src/main/resources/mapper/ClubMapper.xml

@@ -416,4 +416,33 @@
         where questionManId = #{questionManId}
           AND questionMan IS NOT NULL
     </select>
+    <select id="getRemarksListByKey" resultType="com.caimei365.user.model.vo.RemarksVo">
+        select ccr.id as remarksId, ccr.remarks, ccr.addTime, ccr.questionMan, ccr.clubId
+        from cm_club_remarks ccr
+                 LEFT JOIN club c ON c.clubID = ccr.clubId
+        where ccr.serviceProviderId = #{serviceProviderId}
+            AND ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
+           OR c.name LIKE CONCAT('%', #{keyWord}, '%')
+           OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
+        order by addTime desc
+    </select>
+    <select id="getVisitorListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
+        SELECT questionManId, serviceProviderId, addTime as addDate, questionMan
+        FROM cm_visitor_remarks
+        WHERE serviceProviderId = #{serviceProviderId}
+          and questionMan LIKE CONCAT('%', #{keyWord}, '%')
+          and clubId is null
+        GROUP BY questionManId
+        ORDER BY addTime DESC
+    </select>
+    <select id="getVisitRecordListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
+        select id as remarksId, questionManId, remarks, addTime as addDate, questionMan
+        from cm_visitor_remarks
+        where questionManId = #{questionManId}
+          and questionMan LIKE CONCAT('%', #{keyWord}, '%')
+          OR remarks  LIKE CONCAT('%', #{keyWord}, '%')
+          AND remarks IS NOT NULL
+          and clubId is null
+        ORDER BY ADDTIME DESC
+    </select>
 </mapper>