Bläddra i källkod

Merge remote-tracking branch 'remotes/origin/developer' into developerA

Aslee 2 år sedan
förälder
incheckning
99cac66c87

+ 1 - 1
src/main/java/com/caimei365/user/controller/BaseApi.java

@@ -64,7 +64,7 @@ public class BaseApi {
      * spi旧接口:/user/activateCodeByReg
      *
      * @param mobile           手机号
-     * @param activateCodeType 1:找回密码,2:注册机构,3:供应商注册,4:修改手机号-旧手机验证码,5:修改手机号-新手机验证码
+     * @param activateCodeType 1:找回密码,2:注册机构,3:供应商注册,4:修改手机号-旧手机验证码,5:修改手机号-新手机验证码,6.发布二手验证码
      * @param platformType     0:www,1:crm/h5,2:小程序
      * @param isCheckCaptcha   是否检查图片验证码,0:检查,1:不检查
      * @param imgCode          图片验证码

+ 35 - 5
src/main/java/com/caimei365/user/controller/ClubApi.java

@@ -153,6 +153,11 @@ public class ClubApi {
             @ApiImplicitParam(required = false, name = "leaderId", value = "管理员协销id"),
             @ApiImplicitParam(required = false, name = "groupId", value = "组员协销id"),
             @ApiImplicitParam(required = false, name = "manager", value = "是否是协销总管理员标记 1是,2否"),
+            @ApiImplicitParam(required = false, name = "clubType", value = "机构类型"),
+            @ApiImplicitParam(required = false, name = "pinceSensitve", value = "价格敏感度  1敏感,2适中,3不敏感,4不明确"),
+            @ApiImplicitParam(required = false, name = "satisfied", value = "意向程度   1意向强烈,2意向一般,3意向平淡,4随便看看"),
+            @ApiImplicitParam(required = false, name = "followup", value = "跟进状态   1跟进中,2跟进完成,3已放弃"),
+            @ApiImplicitParam(required = false, name = "extra", value = "额外说明"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
@@ -163,11 +168,26 @@ public class ClubApi {
                                                                String endAddTime,
                                                                String consult,
                                                                Integer leaderId,
-                                                               Integer groupId,
                                                                Integer manager,
+                                                               String clubType,
+                                                               Integer pinceSensitve,
+                                                               Integer satisfied,
+                                                               Integer followup,
+                                                               String extra,
+                                                               Integer groupId,
                                                                @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
-        return clubService.getRemarksList(serviceProviderId, keyWord, startAddTime, endAddTime, consult, leaderId, groupId,manager, pageNum, pageSize);
+        return clubService.getRemarksList(serviceProviderId, keyWord, startAddTime, endAddTime, consult, leaderId, manager, clubType, pinceSensitve, satisfied, followup, extra, groupId, pageNum, pageSize);
+    }
+
+    @ApiOperation("关键词库联想查询")
+    @ApiImplicitParam(required = true, name = "remarks", value = "联想词")
+    @GetMapping("/remarks/cmremarkslist")
+    public ResponseJson getCmRemarksList(String remarks) {
+        if (null == remarks || remarks=="") {
+            return ResponseJson.error("参数异常,关键词不能为空!", null);
+        }
+        return clubService.getCmRemarksList(remarks);
     }
 
     @ApiOperation("机构资料备注详情")
@@ -243,7 +263,7 @@ public class ClubApi {
     })
     @GetMapping("/remarks/visitor/list")
     public ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(Integer serviceProviderId,
-//                                                                      String keyWord,
+
 //                                                                      String startAddTime,
 //                                                                      String endAddTime,
 //                                                                      String consult,
@@ -256,7 +276,7 @@ public class ClubApi {
             return ResponseJson.error("参数异常:协销id不能为空!", null);
         }
 //        keyWord, startAddTime, endAddTime, consult, leaderId, groupId,manager,
-        return clubService.getVisitorList(serviceProviderId,  pageNum, pageSize);
+        return clubService.getVisitorList(serviceProviderId,pageNum, pageSize);
     }
 
     /**
@@ -316,6 +336,11 @@ public class ClubApi {
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "questionManId", value = "咨询人id"),
             @ApiImplicitParam(required = false, name = "keyWord", value = "模糊搜索关键词"),
+            @ApiImplicitParam(required = false, name = "clubType", value = "机构类型"),
+            @ApiImplicitParam(required = false, name = "pinceSensitve", value = "价格敏感度  1敏感,2适中,3不敏感,4不明确"),
+            @ApiImplicitParam(required = false, name = "satisfied", value = "意向程度   1意向强烈,2意向一般,3意向平淡,4随便看看"),
+            @ApiImplicitParam(required = false, name = "followup", value = "跟进状态   1跟进中,2跟进完成,3已放弃"),
+            @ApiImplicitParam(required = false, name = "extra", value = "额外说明"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
@@ -329,12 +354,17 @@ public class ClubApi {
                                                                           Integer leaderId,
                                                                           Integer groupId,
                                                                           Integer manager,
+                                                                          String clubType,
+                                                                          Integer pinceSensitve,
+                                                                          Integer satisfied,
+                                                                          Integer followup,
+                                                                          String extra,
                                                                           @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                           @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
         if (null == serviceProviderId) {
             return ResponseJson.error("参数异常:协销id不能为空!", null);
         }
-        return clubService.getVisitorRecordList(questionManId,keyWord,serviceProviderId,startAddTime,endAddTime,consult,leaderId,groupId,manager,pageNum, pageSize);
+        return clubService.getVisitorRecordList(questionManId, keyWord, serviceProviderId, startAddTime, endAddTime, consult, leaderId, groupId, manager,clubType,pinceSensitve, satisfied,followup,extra, pageNum, pageSize);
     }
 
     @ApiOperation("删除潜在用户资料备注")

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

@@ -273,9 +273,9 @@ public interface ClubMapper {
 
     String findQuestionMan(String questionManId);
 
-    List<RemarksVo> getRemarksListByKey(@Param("keyWord") String keyWord, @Param("serviceProviderId") Integer serviceProviderId,@Param("startAddTime")String startAddTime,@Param("endAddTime")String endAddTime, @Param("con")List<String> con);
+    List<RemarksVo> getRemarksListByKey(@Param("keyWord") String keyWord, @Param("serviceProviderId") Integer serviceProviderId,@Param("startAddTime")String startAddTime,@Param("endAddTime")String endAddTime,@Param("pinceSensitve") Integer pinceSensitve,@Param("leaderId") Integer leaderId, @Param("groupId") Integer groupId,@Param("followup") Integer followup,@Param("satisfied") Integer satisfied, @Param("con")List<String> con);
 
-    List<VisitorRemarkVo> getVisitorListByKey(@Param("serviceProviderId") Integer serviceProviderId, @Param("keyWord") String keyWord,@Param("startAddTime")String startAddTime,@Param("endAddTime")String endAddTime,@Param("con")List<String> con);
+    List<VisitorRemarkVo> getVisitorListByKey(@Param("serviceProviderId") Integer serviceProviderId, @Param("keyWord") String keyWord,@Param("startAddTime")String startAddTime,@Param("endAddTime")String endAddTime,Integer pinceSensitve,@Param("followup") Integer followup,@Param("satisfied") Integer satisfied,@Param("con")List<String> con);
     //, @Param("questionManId") String questionManId
     List<VisitorRemarkVo> getVisitRecordListByKey(@Param("keyWord") String keyWord);
 
@@ -287,9 +287,11 @@ public interface ClubMapper {
 
     ConsultVo findConsultById(String string);
 
-    List<RemarksVo> findAllRemarks(@Param("keyWord") String keyWord, @Param("startAddTime") String startAddTime, @Param("endAddTime") String endAddTime, @Param("leaderId") Integer leaderId, @Param("groupId") Integer groupId, @Param("con")List<String> con);
+    List<RemarksVo> findAllRemarks(@Param("keyWord") String keyWord, @Param("startAddTime") String startAddTime, @Param("endAddTime") String endAddTime, @Param("leaderId") Integer leaderId, @Param("groupId") Integer groupId,@Param("followup") Integer followup,@Param("satisfied") Integer satisfied,@Param("pinceSensitve") Integer pinceSensitve, @Param("con")List<String> con);
 
-    List<VisitorRemarkVo> getAllVisitRemark(@Param("keyWord") String keyWord, @Param("startAddTime") String startAddTime, @Param("endAddTime") String endAddTime, @Param("leaderId") Integer leaderId, @Param("groupId") Integer groupId,@Param("con")List<String> con);
+    List<VisitorRemarkVo> getAllVisitRemark(@Param("keyWord") String keyWord, @Param("startAddTime") String startAddTime, @Param("endAddTime") String endAddTime, @Param("leaderId") Integer leaderId, @Param("groupId") Integer groupId,@Param("followup") Integer followup,@Param("satisfied") Integer satisfied,@Param("pinceSensitve") Integer pinceSensitve,@Param("con")List<String> con);
 
     Integer findLeaderId(Integer serviceProviderId);
+
+    List<CmRemarksVo> getCmRemarksList(String remarks);
 }

+ 21 - 0
src/main/java/com/caimei365/user/model/po/ClubRemarksPo.java

@@ -41,4 +41,25 @@ public class ClubRemarksPo implements Serializable {
 
     @ApiModelProperty("添加时间")
     private Date addTime;
+
+    /**
+     * 机构类型
+     */
+    private String clubType;
+    /**
+     * 价格敏感度
+     */
+    private Integer pinceSensitve;
+    /**
+     * 意向程度
+     */
+    private Integer satisfied;
+    /**
+     * 跟进状态
+     */
+    private Integer followup;
+    /**
+     * 额外说明
+     */
+    private String extra;
 }

+ 33 - 0
src/main/java/com/caimei365/user/model/vo/CmRemarksVo.java

@@ -0,0 +1,33 @@
+package com.caimei365.user.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/5/13
+ */
+@Data
+public class CmRemarksVo {
+
+    /**
+     * 关键词ID
+     */
+    private Integer remarksId;
+
+    /**
+     * 关键词
+     */
+    private String remarks;
+
+    /**
+     * 添加时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addtime;
+
+}

+ 1 - 1
src/main/java/com/caimei365/user/model/vo/PaginationVo.java

@@ -19,7 +19,7 @@ public class PaginationVo<T> implements Serializable {
     private int pageNum = 1;
     /** 每页大小 */
     @Builder.Default
-    private int pageSize = 10;
+    private int pageSize = 20;
     /** 总记录数 */
     private int totalRecord;
     /** 总页数 */

+ 27 - 1
src/main/java/com/caimei365/user/model/vo/RemarkVo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Data
 public class RemarkVo implements Serializable {
@@ -17,7 +18,7 @@ public class RemarkVo implements Serializable {
     /**
      * 关键词列表
      */
-    private List<String> remarks;
+    private List<Map<String,String>> remarks;
     /**
      * 添加时间
      */
@@ -67,4 +68,29 @@ public class RemarkVo implements Serializable {
      * 咨询类别回显
      */
     private String consultBack;
+
+    /**
+     * 机构类型
+     */
+    private String clubType;
+    /**
+     * 价格敏感度
+     */
+    private Integer pinceSensitve;
+    /**
+     * 意向程度
+     */
+    private Integer satisfied;
+    /**
+     * 跟进状态
+     */
+    private Integer followup;
+    /**
+     * 额外说明
+     */
+    private String extra;
+    /**
+     * 非持久化字段旧协销名
+     */
+//    private String oldName;以后可能会用到
 }

+ 25 - 0
src/main/java/com/caimei365/user/model/vo/RemarksVo.java

@@ -71,4 +71,29 @@ public class RemarksVo implements Serializable {
      * 管理员姓名
      */
     private String leaderName;
+
+    /**
+     * 机构类型
+     */
+    private String clubType;
+    /**
+     * 价格敏感度
+     */
+    private Integer pinceSensitve;
+    /**
+     * 意向程度
+     */
+    private Integer satisfied;
+    /**
+     * 跟进状态
+     */
+    private Integer followup;
+    /**
+     * 额外说明
+     */
+    private String extra;
+    /**
+     * 非持久化字段旧协销名
+     */
+//    private String oldName;以后可能会用上
 }

+ 22 - 1
src/main/java/com/caimei365/user/model/vo/VisitRemarkVo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Data
 public class VisitRemarkVo  implements Serializable {
@@ -34,7 +35,7 @@ public class VisitRemarkVo  implements Serializable {
     /**
      * 关键词列表
      */
-    private List<String> remarks;
+    private List<Map<String, String>> remarks;
     /**
      * 咨询类别
      */
@@ -65,4 +66,24 @@ public class VisitRemarkVo  implements Serializable {
      * 文件列表
      */
     private List<RemarksFileVo> fileList;
+    /**
+     * 机构类型
+     */
+    private String clubType;
+    /**
+     * 价格敏感度
+     */
+    private Integer pinceSensitve;
+    /**
+     * 意向程度
+     */
+    private Integer satisfied;
+    /**
+     * 跟进状态
+     */
+    private Integer followup;
+    /**
+     * 额外说明
+     */
+    private String extra;
 }

+ 21 - 0
src/main/java/com/caimei365/user/model/vo/VisitorRemarkVo.java

@@ -72,4 +72,25 @@ public class VisitorRemarkVo implements Serializable {
      * 记录人
      */
     private String recordName;
+
+    /**
+     * 机构类型
+     */
+    private String clubType;
+    /**
+     * 价格敏感度
+     */
+    private Integer pinceSensitve;
+    /**
+     * 意向程度
+     */
+    private Integer satisfied;
+    /**
+     * 跟进状态
+     */
+    private Integer followup;
+    /**
+     * 额外说明
+     */
+    private String extra;
 }

+ 9 - 3
src/main/java/com/caimei365/user/service/ClubService.java

@@ -123,7 +123,12 @@ public interface ClubService {
                                                         String consult,
                                                         Integer leaderId,
                                                         Integer manager,
-                                                        Integer groupId,int pageNum, int pageSize);
+                                                        String clubType,
+                                                        Integer pinceSensitve,
+                                                        Integer satisfied,
+                                                        Integer followup,
+                                                        String extra,
+                                                        Integer groupId, int pageNum, int pageSize);
 
     /**
      * 获取机构资料备注详情
@@ -163,7 +168,6 @@ public interface ClubService {
      * @return
      */
     ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(Integer serviceProviderId,
-//                                                               String keyWord,
 //                                                               String startAddTime,
 //                                                               String endAddTime,
 //                                                               String consult,
@@ -198,7 +202,7 @@ public interface ClubService {
      */
     ResponseJson<VisitRemarkVo> getVisitRemark(Integer remarksId);
 
-    ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId,String keyWord,Integer serviceProviderId,String startAddTime,String endAddTime,String consult,Integer leaderId,Integer groupId,Integer manager, int pageNum, int pageSize);
+    ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId, String keyWord, Integer serviceProviderId, String startAddTime, String endAddTime, String consult, Integer leaderId, Integer groupId, Integer manager, String clubType, Integer pinceSensitve,Integer satisfied,Integer followup, String extra, int pageNum, int pageSize);
 
     ResponseJson deleteVisitRemarks(String remarksId);
 
@@ -216,4 +220,6 @@ public interface ClubService {
     ResponseJson findTeams();
 
     ResponseJson findGroups(Integer leaderId);
+
+    ResponseJson getCmRemarksList(String remarks);
 }

+ 18 - 9
src/main/java/com/caimei365/user/service/impl/BaseServiceImpl.java

@@ -150,7 +150,7 @@ public class BaseServiceImpl implements BaseService {
                 return ResponseJson.error("该手机号尚未注册");
             }
             // 找回密码
-            String content = "验证码"+randomCode+",您正在尝试修改登录密码,请妥善保管账户信息。";
+            String content = "验证码" + randomCode + ",您正在尝试修改登录密码,请妥善保管账户信息。";
             sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
             codeTypeTxt = "找回密码";
         } else if (2 == activateCodeType || 3 == activateCodeType) {
@@ -159,12 +159,12 @@ public class BaseServiceImpl implements BaseService {
             }
             if (2 == activateCodeType) {
                 // 机构用户(自主)注册
-                String content = "欢迎注册采美365网,您的短信验证码为:"+randomCode+",该验证码 5 分钟内有效,请勿泄漏于他人。";
+                String content = "欢迎注册采美365网,您的短信验证码为:" + randomCode + ",该验证码 5 分钟内有效,请勿泄漏于他人。";
                 sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
                 codeTypeTxt = "机构(自主)注册";
             } else if (3 == activateCodeType) {
                 // 供应商(自主)注册
-                String content = "欢迎注册采美365网供应商账号,您的短信验证码为:"+randomCode+",该验证码 5 分钟内有效,请勿泄漏于他人。";
+                String content = "欢迎注册采美365网供应商账号,您的短信验证码为:" + randomCode + ",该验证码 5 分钟内有效,请勿泄漏于他人。";
                 sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
                 codeTypeTxt = "供应商(自主)注册";
             } else {
@@ -172,7 +172,7 @@ public class BaseServiceImpl implements BaseService {
             }
         } else if (4 == activateCodeType) {
             // 您正在更换联系人手机号,您的验证码为:${code}。
-            String content = "验证码"+randomCode+",您正在尝试变更重要信息,请妥善保管账户信息。";
+            String content = "验证码" + randomCode + ",您正在尝试变更重要信息,请妥善保管账户信息。";
             sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
             codeTypeTxt = "更换联系人(旧手机号验证码)";
         } else if (5 == activateCodeType) {
@@ -180,14 +180,23 @@ public class BaseServiceImpl implements BaseService {
                 return ResponseJson.error("该手机号已被使用");
             }
             // 您正在更换联系人手机号,您的验证码为:${code}。
-            String content = "验证码"+randomCode+",您正在尝试变更重要信息,请妥善保管账户信息。";
+            String content = "验证码" + randomCode + ",您正在尝试变更重要信息,请妥善保管账户信息。";
             sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
             codeTypeTxt = "更换联系人(新手机号验证码)";
+        } else if (6 == activateCodeType) {
+            String content = "您正在采美平台发布二手商品,您的验证码为:" + randomCode + ",10分钟内有效,请勿泄露他人。";
+            sendFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
+            codeTypeTxt = "更换联系人(旧手机号验证码)";
         } else {
             return ResponseJson.error("参数错误:activateCodeType");
         }
         if (sendFlag) {
-            redisService.set("code:" + mobile, randomCode, 1800L);
+            if (6 == activateCodeType) {
+                //二手验证码10分钟有效期
+                redisService.set("code:" + mobile, randomCode, 600L);
+            } else {
+                redisService.set("code:" + mobile, randomCode, 1800L);
+            }
             log.info(codeTypeTxt + ",发送到:" + mobile + "的短信验证码为: " + randomCode);
         } else {
             log.info(codeTypeTxt + ",验证码发送失败!");
@@ -261,7 +270,7 @@ public class BaseServiceImpl implements BaseService {
         }
         String userName = baseMapper.getUserNameByUserId(userId);
         // 欢迎成为${name}的运营人员,您的邀请码为${code}。
-        String content = "欢迎成为"+userName+"的运营人员,您的邀请码为"+randomCode+"。您可使用以下两种方式激活您的身份:1. 您可在微信搜索“采美采购商城”小程序,使用邀请码登录并绑定微信;2. 进入“采美采购商城”小程序后,使用邀请码登录并绑定微信。绑定微信后,您可通过微信授权直接登录“采美采购商城”小程序或微信扫码直接登录采美365网站。";
+        String content = "欢迎成为" + userName + "的运营人员,您的邀请码为" + randomCode + "。您可使用以下两种方式激活您的身份:1. 您可在微信搜索“采美采购商城”小程序,使用邀请码登录并绑定微信;2. 进入“采美采购商城”小程序后,使用邀请码登录并绑定微信。绑定微信后,您可通过微信授权直接登录“采美采购商城”小程序或微信扫码直接登录采美365网站。";
         boolean smsFlag = isBeta || remoteCallService.remoteSendSms(0, 1, mobile, content);
         if (!smsFlag) {
             // 短信发送失败重试一次
@@ -394,8 +403,8 @@ public class BaseServiceImpl implements BaseService {
         //重新设置密码后将登录失败表中近30分钟记录置为删除
         Calendar c = Calendar.getInstance();
         c.setTime(new Date());
-        c.add(Calendar.MINUTE,-30);
-        loginMapper.updateLoginFailRecord(dbUserId,c.getTime());
+        c.add(Calendar.MINUTE, -30);
+        loginMapper.updateLoginFailRecord(dbUserId, c.getTime());
         return ResponseJson.success("密码修改成功", "");
     }
 

+ 185 - 49
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -2,20 +2,16 @@ package com.caimei365.user.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
 import com.caimei365.user.components.RedisService;
 import com.caimei365.user.mapper.BaseMapper;
 import com.caimei365.user.mapper.ClubMapper;
 import com.caimei365.user.mapper.RegisterMapper;
 import com.caimei365.user.mapper.SuperVipMapper;
 import com.caimei365.user.model.ResponseJson;
-import com.caimei365.user.model.dto.ClubRemarksDto;
 import com.caimei365.user.model.dto.ClubUpdateDto;
 import com.caimei365.user.model.dto.SuperVipDto;
 import com.caimei365.user.model.po.SuperVipPo;
 import com.caimei365.user.model.dto.JsonParamsDto;
-import com.caimei365.user.model.po.RemarksFilePo;
 import com.caimei365.user.model.po.ClubRemarksPo;
 import com.caimei365.user.model.po.UserBeansHistoryPo;
 import com.caimei365.user.model.po.UserPo;
@@ -24,12 +20,10 @@ import com.caimei365.user.service.ClubService;
 import com.caimei365.user.utils.ImageUtils;
 import com.caimei365.user.utils.MathUtil;
 import com.caimei365.user.utils.OssUtil;
-import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -390,21 +384,50 @@ public class ClubServiceImpl implements ClubService {
             String remarks = jsonObject.getString("remarks");
             String consult = jsonObject.getString("consult");
             String questionMan = jsonObject.getString("questionMan");
+
+            String clubType = jsonObject.getString("clubType");
+            Integer pinceSensitve = jsonObject.getInteger("pinceSensitve");
+            Integer satisfied = jsonObject.getInteger("satisfied");
+            Integer followup = jsonObject.getInteger("followup");
+            String extra = jsonObject.getString("extra");
             if (null == clubId) {
                 return ResponseJson.error("参数异常,机构id不能为空");
             }
             if (null == serviceProviderId) {
                 return ResponseJson.error("参数异常,协销id不能为空");
             }
-            // 是否新增备注
+
+
+            log.info("【保存机构资料备注解析关键词1】:", remarks);
+
             boolean newRemarks = null == remarksId;
             ClubRemarksPo clubRemarksPo = new ClubRemarksPo();
+
+            List<String> strings = new ArrayList<>();
+            String rk = null == remarks ? "" : remarks;
+            if (!rk.contains(",")) {
+                String[] split = rk.split(",");
+                strings = Arrays.asList(split);
+            } else {
+                strings.add(rk);
+            }
+            if (strings == null) {
+                return ResponseJson.error("添加关键词为空!", null);
+            }
+//                clubRemarksPo.setRemarks(StringUtils.strip(strings.toString(), "[]"));
+//            }
+            // 是否新增备注
             clubRemarksPo.setRemarksId(remarksId);
             clubRemarksPo.setClubId(clubId);
             clubRemarksPo.setServiceProviderId(serviceProviderId);
-            clubRemarksPo.setRemarks(remarks);
             clubRemarksPo.setQuestionMan(questionMan);
             clubRemarksPo.setConsult(consult);
+            clubRemarksPo.setRemarks(StringUtils.strip(strings.toString(), "[]").replace("\"", ""));//去除符号
+            clubRemarksPo.setClubType(clubType);
+            clubRemarksPo.setPinceSensitve(pinceSensitve);
+            clubRemarksPo.setSatisfied(satisfied);
+            clubRemarksPo.setFollowup(followup);
+            clubRemarksPo.setExtra(extra);
             if (newRemarks) {
                 // 新增备注
                 clubMapper.insertRemarks(clubRemarksPo);
@@ -439,7 +462,7 @@ public class ClubServiceImpl implements ClubService {
         } catch (Exception e) {
             log.info("保存机构资料备注参数:" + jsonParamsDto.toString());
             log.error("【保存机构资料备注】>>>参数解析异常try-catch:", e);
-            return ResponseJson.error("保存机构资料备注参数解析异常!", null);
+            return ResponseJson.error("保存机构资料备注参数解析异常!", jsonParamsDto.toString());
         }
     }
 
@@ -450,8 +473,13 @@ public class ClubServiceImpl implements ClubService {
                                                                String endAddTime,
                                                                String consult,
                                                                Integer leaderId,
-                                                               Integer groupId,
                                                                Integer manager,
+                                                               String clubType,
+                                                               Integer pinceSensitve,
+                                                               Integer satisfied,
+                                                               Integer followup,
+                                                               String extra,
+                                                               Integer groupId,
                                                                int pageNum, int pageSize) {
         if (null == serviceProviderId) {
             return ResponseJson.error("参数异常,协销id不能为空", null);
@@ -459,34 +487,51 @@ public class ClubServiceImpl implements ClubService {
         PageInfo<RemarksVo> pageInfo = null;
         Integer findLeader = clubMapper.findLeaderId(serviceProviderId);
         List<String> conss = new ArrayList<>();
-        if(StringUtils.isNotBlank(consult)){
-            if(consult.contains(",")){
+        if (StringUtils.isNotBlank(consult)) {
+            if (consult.contains(",")) {
                 conss = Arrays.asList(consult.split(","));
-            }else{
+            } else {
                 conss.add(consult);
             }
         }
         if (null != manager && 1 == manager) {
             //主管查所有注册客户咨询记录
+            log.info("方法1 所有");
             List<String> finalConss = conss;
-            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, leaderId, groupId, finalConss));
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, leaderId, groupId, followup, satisfied, pinceSensitve, finalConss));
         } else if (null != findLeader && findLeader > 0) {
+            log.info("方法2 小组");
             List<String> finalConss1 = conss;
-            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, serviceProviderId, groupId, finalConss1));
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, serviceProviderId, groupId, followup, satisfied, pinceSensitve, finalConss1));
         } else {
+            log.info("方法3 协销");
             List<String> finalConss2 = conss;
-            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId,startAddTime,endAddTime, finalConss2));
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId, startAddTime, endAddTime, pinceSensitve, leaderId, groupId, followup, satisfied, finalConss2));
         }
         ArrayList<RemarkVo> remarkVos = new ArrayList<>();
         pageInfo.getList().forEach(r -> {
             RemarkVo remarkVo = new RemarkVo();
-            List<String> strings = new ArrayList<>();
+            List<Map<String, String>> strings = new ArrayList<>();
             String rk = null == r.getRemarks() ? "" : r.getRemarks();
-            if (rk.contains(",")) {
+            if (rk.contains(",")) {
+                String[] split = rk.split(",");
+                split = rk.split(",");
+                for (String remark : split) {
+                    HashMap<String, String> map = new HashMap<>();
+                    map.put("label", remark);
+                    strings.add(map);
+                }
+            } else if (rk.contains(",")) {
                 String[] split = rk.split(",");
-                strings = Arrays.asList(split);
+                for (String remark : split) {
+                    HashMap<String, String> map = new HashMap<>();
+                    map.put("label", remark);
+                    strings.add(map);
+                }
             } else {
-                strings.add(rk);
+                HashMap<String, String> map = new HashMap<>();
+                map.put("label", rk);
+                strings.add(map);
             }
             if (StringUtils.isNotBlank(r.getConsult())) {
                 if (r.getConsult().contains(",")) {
@@ -511,6 +556,12 @@ public class ClubServiceImpl implements ClubService {
             remarkVo.setClubName(clubMapper.findClubName(r.getClubId()));
             remarkVo.setClubName(r.getClubName());
             remarkVo.setConsult(r.getConsult());
+            remarkVo.setClubType(r.getClubType());
+            remarkVo.setExtra(r.getExtra());
+            remarkVo.setSatisfied(r.getSatisfied());
+            remarkVo.setPinceSensitve(r.getPinceSensitve());
+            remarkVo.setFollowup(r.getFollowup());
+//            remarkVo.setOldName(r.getOldName());
             remarkVos.add(remarkVo);
         });
         PaginationVo<RemarkVo> pageVo = new PaginationVo<>(remarkVos);
@@ -540,13 +591,19 @@ public class ClubServiceImpl implements ClubService {
         List<String> imageList = clubMapper.getRemarksImageList(remarksId);
         List<RemarksFileVo> fileList = clubMapper.getRemarksFileList(remarksId);
         fileList.forEach(file -> file.setFileUrl(OssUtil.getOssUrl(file.getOssName())));
-        List<String> strings = new ArrayList<>();
+        List<Map<String, String>> strings = new ArrayList<>();
         String rk = null == remarksVo.getRemarks() ? "" : remarksVo.getRemarks();
-        if (rk.contains(",")) {
-            String[] split = rk.split(",");
-            strings = Arrays.asList(split);
+        if (rk.contains(",")) {
+            String[] split = rk.split(",");
+            for (String remark : split) {
+                HashMap<String, String> map = new HashMap<>();
+                map.put("label", remark);
+                strings.add(map);
+            }
         } else {
-            strings.add(rk);
+            HashMap<String, String> map = new HashMap<>();
+            map.put("label", rk);
+            strings.add(map);
         }
         RemarkVo remarkVo = new RemarkVo();
         remarkVo.setClubId(remarksVo.getClubId());
@@ -558,7 +615,12 @@ public class ClubServiceImpl implements ClubService {
         remarkVo.setImageList(imageList);
         remarkVo.setAddTime(remarksVo.getAddTime());
         remarkVo.setConsult(remarksVo.getConsult());
-        if (StringUtils.isNotBlank(remarkVo.getConsult())) {
+        remarkVo.setClubType(remarksVo.getClubType());
+        remarkVo.setPinceSensitve(remarksVo.getPinceSensitve());
+        remarkVo.setSatisfied(remarksVo.getSatisfied());
+        remarkVo.setFollowup(remarksVo.getFollowup());
+        remarkVo.setExtra(remarksVo.getExtra());
+        if (StringUtils.isNotBlank(remarksVo.getConsult())) {
             if (remarkVo.getConsult().contains(",")) {
                 List<String> cons = Arrays.asList(remarkVo.getConsult().split(","));
                 String Cons = "";
@@ -715,7 +777,6 @@ public class ClubServiceImpl implements ClubService {
 
     @Override
     public ResponseJson<PaginationVo<VisitorRemarkVo>> getVisitorList(Integer serviceProviderId,
-//                                                                      String keyWord,
 //                                                                      String startAddTime,
 //                                                                      String endAddTime,
 //                                                                      String consult,
@@ -779,21 +840,54 @@ public class ClubServiceImpl implements ClubService {
             Integer serviceProviderId = jsonObject.getInteger("serviceProviderId");
             String remarks = jsonObject.getString("remarks");
             String consult = jsonObject.getString("consult");
+
+            String clubType = jsonObject.getString("clubType");
+            Integer pinceSensitve = jsonObject.getInteger("pinceSensitve");
+            Integer satisfied = jsonObject.getInteger("satisfied");
+            Integer followup = jsonObject.getInteger("followup");
+            String extra = jsonObject.getString("extra");
+
             if (null == questionManId) {
                 return ResponseJson.error("参数异常,咨询人id不能为空");
             }
             if (null == serviceProviderId) {
                 return ResponseJson.error("参数异常,协销id不能为空");
             }
-            // 是否新增备注
+//            JSONArray remarks;
+//
+//            remarks = parseArray(visitor.getParams());
+
+            if (remarks.isEmpty()) {
+                return ResponseJson.error("添加关键词异常!", null);
+            }
             boolean newRemarks = null == remarksId;
             VisitorRemarkVo visitorRemarkVo = new VisitorRemarkVo();
+            List<String> strings = new ArrayList<>();
+            String rk = null == remarks ? "" : remarks;
+            if (!rk.contains(",")) {
+                String[] split = rk.split(",");
+                strings = Arrays.asList(split);
+            } else {
+                strings.add(rk);
+            }
+            if (strings == null) {
+                return ResponseJson.error("strings添加关键词为空!", null);
+            }
+            visitorRemarkVo.setRemarks(StringUtils.strip(strings.toString(), "[]").replace("\"", ""));//去除符号
+//            }
+            // 是否新增备注
             visitorRemarkVo.setRemarksId(remarksId);
             visitorRemarkVo.setQuestionManId(questionManId);
             visitorRemarkVo.setServiceProviderId(serviceProviderId);
-            visitorRemarkVo.setRemarks(remarks);
+
             visitorRemarkVo.setConsult(consult);
             visitorRemarkVo.setQuestionMan(clubMapper.findQuestionMan(questionManId));
+
+            visitorRemarkVo.setClubType(clubType);
+            visitorRemarkVo.setPinceSensitve(pinceSensitve);
+            visitorRemarkVo.setSatisfied(satisfied);
+            visitorRemarkVo.setFollowup(followup);
+            visitorRemarkVo.setExtra(extra);
             if (newRemarks) {
                 // 新增备注
                 clubMapper.insertVisitorRemark(visitorRemarkVo);
@@ -841,13 +935,19 @@ public class ClubServiceImpl implements ClubService {
         List<String> imageList = clubMapper.getVisitRemarksImageList(remarksId);
         List<RemarksFileVo> fileList = clubMapper.getVisitRemarksFileList(remarksId);
         fileList.forEach(file -> file.setFileUrl(OssUtil.getOssUrl(file.getOssName())));
-        List<String> strings = new ArrayList<>();
+        List<Map<String, String>> strings = new ArrayList<>();
         String rk = null == visitRemarksVo.getRemarks() ? "" : visitRemarksVo.getRemarks();
-        if (rk.contains(",")) {
-            String[] split = rk.split(",");
-            strings = Arrays.asList(split);
+        if (rk.contains(",")) {
+            String[] split = rk.split(",");
+            for (String remark : split) {
+                HashMap<String, String> map = new HashMap<>();
+                map.put("label", remark);
+                strings.add(map);
+            }
         } else {
-            strings.add(rk);
+            HashMap<String, String> map = new HashMap<>();
+            map.put("label", rk);
+            strings.add(map);
         }
         VisitRemarkVo visit = new VisitRemarkVo();
         visit.setConsult(visitRemarksVo.getConsult());
@@ -858,6 +958,12 @@ public class ClubServiceImpl implements ClubService {
         visit.setAddDate(visitRemarksVo.getAddDate());
         visit.setImageList(imageList);
         visit.setFileList(fileList);
+        visit.setClubType(visitRemarksVo.getClubType());
+        visit.setFollowup(visitRemarksVo.getFollowup());
+        visit.setSatisfied(visitRemarksVo.getSatisfied());
+        visit.setPinceSensitve(visitRemarksVo.getPinceSensitve());
+        visit.setExtra(visitRemarksVo.getExtra());
+
         if (StringUtils.isNotBlank(visitRemarksVo.getConsult())) {
             if (visitRemarksVo.getConsult().contains(",")) {
                 List<String> cons = Arrays.asList(visitRemarksVo.getConsult().split(","));
@@ -875,13 +981,13 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId, String keyWord, Integer serviceProviderId, String startAddTime, String endAddTime, String consult, Integer leaderId, Integer groupId, Integer manager, int pageNum, int pageSize) {
+    public ResponseJson<PaginationVo<VisitRemarkVo>> getVisitorRecordList(String questionManId, String keyWord, Integer serviceProviderId, String startAddTime, String endAddTime, String consult, Integer leaderId, Integer groupId, Integer manager, String clubType, Integer pinceSensitve, Integer satisfied, Integer followup, String extra, int pageNum, int pageSize) {
         PageInfo<VisitorRemarkVo> remarksList = null;
         List<String> conss = new ArrayList<>();
-        if(StringUtils.isNotBlank(consult)){
-            if(consult.contains(",")){
+        if (StringUtils.isNotBlank(consult)) {
+            if (consult.contains(",")) {
                 conss = Arrays.asList(consult.split(","));
-            }else{
+            } else {
                 conss.add(consult);
             }
         }
@@ -889,24 +995,38 @@ public class ClubServiceImpl implements ClubService {
         if (null != manager && 1 == manager) {
             //主管查所有注册客户咨询记录
             List<String> finalConss = conss;
-            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getAllVisitRemark(keyWord, startAddTime, endAddTime, leaderId, groupId, finalConss));
-        } else  if (null != findLeader && findLeader > 0) {
+            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getAllVisitRemark(keyWord, startAddTime, endAddTime, leaderId, groupId, pinceSensitve, satisfied, followup, finalConss));
+        } else if (null != findLeader && findLeader > 0) {
             List<String> finalConss1 = conss;
-            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getAllVisitRemark(keyWord, startAddTime, endAddTime, serviceProviderId, groupId, finalConss1));
-        }else {
+            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getAllVisitRemark(keyWord, startAddTime, endAddTime, leaderId, groupId, pinceSensitve, satisfied, followup, finalConss1));
+        } else {
             List<String> finalConss2 = conss;
-            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() ->clubMapper.getVisitorListByKey(serviceProviderId, keyWord,startAddTime, endAddTime, finalConss2));
+            remarksList = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getVisitorListByKey(serviceProviderId, keyWord, startAddTime, endAddTime, pinceSensitve, satisfied, followup, finalConss2));
         }
         ArrayList<VisitRemarkVo> remarkVos = new ArrayList<>();
         remarksList.getList().forEach(r -> {
             VisitRemarkVo visit = new VisitRemarkVo();
-            List<String> strings = new ArrayList<>();
+            List<Map<String, String>> strings = new ArrayList<>();
             String rk = null == r.getRemarks() ? "" : r.getRemarks();
-            if (rk.contains(",")) {
+            if (rk.contains(",")) {
+                String[] split = rk.split(",");
+                split = rk.split(",");
+                for (String remark : split) {
+                    HashMap<String, String> map = new HashMap<>();
+                    map.put("label", remark);
+                    strings.add(map);
+                }
+            } else if (rk.contains(",")) {
                 String[] split = rk.split(",");
-                strings = Arrays.asList(split);
+                for (String remark : split) {
+                    HashMap<String, String> map = new HashMap<>();
+                    map.put("label", remark);
+                    strings.add(map);
+                }
             } else {
-                strings.add(rk);
+                HashMap<String, String> map = new HashMap<>();
+                map.put("label", rk);
+                strings.add(map);
             }
             if (StringUtils.isNotBlank(r.getConsult())) {
                 if (r.getConsult().contains(",")) {
@@ -921,9 +1041,9 @@ public class ClubServiceImpl implements ClubService {
                     visit.setConsultBack(clubMapper.findConsultById(r.getConsult()).getClassName());
                 }
             }
-            if(StringUtils.isBlank(r.getQuestionMan())){
+            if (StringUtils.isBlank(r.getQuestionMan())) {
                 visit.setQuestionMan(clubMapper.findQuestionMan(r.getQuestionManId()));
-            }else{
+            } else {
                 visit.setQuestionMan(r.getQuestionMan());
             }
             visit.setLeaderName(r.getLeaderName());
@@ -934,6 +1054,11 @@ public class ClubServiceImpl implements ClubService {
             visit.setServiceProviderId(r.getServiceProviderId());
             visit.setRecordName(r.getRecordName());
             visit.setConsult(r.getConsult());
+            visit.setClubType(r.getClubType());
+            visit.setPinceSensitve(r.getPinceSensitve());
+            visit.setSatisfied(r.getSatisfied());
+            visit.setFollowup(r.getFollowup());
+            visit.setExtra(r.getExtra());
             remarkVos.add(visit);
         });
         PaginationVo<VisitRemarkVo> pageVo = new PaginationVo<>(remarkVos);
@@ -993,6 +1118,11 @@ public class ClubServiceImpl implements ClubService {
             remarksVo.setAddTime(v.getAddDate());
             remarksVo.setServiceProviderId(v.getServiceProviderId());
             remarksVo.setConsult(v.getConsult());
+            remarksVo.setPinceSensitve(v.getPinceSensitve());
+            remarksVo.setSatisfied(v.getSatisfied());
+            remarksVo.setFollowup(v.getFollowup());
+            remarksVo.setExtra(v.getExtra());
+            remarksVo.setClubType(v.getClubType());
             clubMapper.concactVisit(remarksVo);
             if (null != imageList && imageList.size() > 0) {
                 imageList.forEach(i -> clubMapper.insertRemarksImage(remarksVo.getRemarksId(), i));
@@ -1036,4 +1166,10 @@ public class ClubServiceImpl implements ClubService {
         List<TeamGroupVo> groups = clubMapper.findGroups(leaderId);
         return ResponseJson.success(groups);
     }
+
+    @Override
+    public ResponseJson getCmRemarksList(String remarks) {
+        List<CmRemarksVo> remarklist = clubMapper.getCmRemarksList(remarks);
+        return ResponseJson.success(remarklist);
+    }
 }

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -9,7 +9,7 @@ spring:
     config:                             # Config客户端配置
       profile: @activatedProperties@    # 启用配置后缀名称
       label: master                     # 分支名称
-      # uri: http://localhost:18001      # 配置中心地址(本地)
+       #uri: http://localhost:18001      # 配置中心地址(本地)
       # uri: http://47.119.112.46:18001  # 配置中心地址(测试环境)
       uri: http://120.79.162.1:18001     # 配置中心地址(正式环境)
       name: user                        # 配置文件名称

+ 120 - 38
src/main/resources/mapper/ClubMapper.xml

@@ -3,8 +3,8 @@
 <mapper namespace="com.caimei365.user.mapper.ClubMapper">
     <insert id="insertRemarks" parameterType="com.caimei365.user.model.po.ClubRemarksPo" keyProperty="remarksId"
             useGeneratedKeys="true">
-        insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan,consultType)
-        values (#{clubId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan},#{consult})
+        insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan,consultType,clubType,pinceSensitve,satisfied,followup,extra)
+        values (#{clubId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan},#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra})
     </insert>
     <insert id="insertRemarksImage">
         insert into cm_club_remarks_file(remarksId, fileType, imageUrl)
@@ -19,8 +19,8 @@
         values (#{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{concactTime})
     </insert>
     <insert id="insertVisitorRemark" keyProperty="remarksId" useGeneratedKeys="true">
-        insert into cm_visitor_remarks(questionMan, questionManId, serviceProviderId, remarks, addTime,consultType)
-        values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(),#{consult})
+        insert into cm_visitor_remarks(questionMan, questionManId, serviceProviderId, remarks, addTime,consultType,clubType,pinceSensitve,satisfied,followup,extra)
+        values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra})
     </insert>
     <insert id="insertVisitorRemarksImage">
         insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
@@ -32,8 +32,8 @@
     </insert>
     <insert id="concactVisit" parameterType="com.caimei365.user.model.vo.RemarksVo" keyProperty="remarksId"
             useGeneratedKeys="true">
-        insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, concactTime,consultType)
-        values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(),#{consult})
+        insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, concactTime,consultType,clubType,pinceSensitve,satisfied,followup,extra)
+        values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra})
     </insert>
     <update id="updateClubUserByUpdateInfo">
         update user set
@@ -200,8 +200,13 @@
         update cm_club_remarks
         set remarks     = #{remarks},
             questionMan = #{questionMan},
-            consultType = #{consult}
-        where id = #{remarksId}
+            consultType = #{consult},
+            clubType=#{clubType},
+            pinceSensitve=#{pinceSensitve},
+            satisfied=#{satisfied},
+            followup=#{followup},
+            extra=#{extra}
+         where id = #{remarksId}
     </update>
     <update id="updateQuestionMan">
         update cm_visitor_remarks
@@ -212,7 +217,12 @@
     <update id="updateVisitorRemark">
         update cm_visitor_remarks
         set remarks = #{remarks},
-            consultType = #{consult}
+            consultType = #{consult},
+            clubType=#{clubType},
+            pinceSensitve=#{pinceSensitve},
+            satisfied=#{satisfied},
+            followup=#{followup},
+            extra=#{extra}
         where id = #{remarksId}
     </update>
     <update id="updateVisit">
@@ -283,7 +293,7 @@
         order by addTime desc
     </select>
     <select id="getRemarks" resultType="com.caimei365.user.model.vo.RemarksVo">
-        select ccr.id as remarksId, ccr.remarks, ccr.questionMan, ccr.addTime, ccr.clubId, c.userID,IFNULL(ccr.consultType,'')as consult
+        select ccr.id as remarksId, ccr.remarks, ccr.questionMan, ccr.addTime, ccr.clubId, c.userID,IFNULL(ccr.consultType,'')as consult,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra
         from cm_club_remarks ccr
                  left join club c on ccr.clubId = c.clubId
         where id = #{remarksId}
@@ -373,7 +383,7 @@
         ORDER BY addTime DESC
     </select>
     <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
-        select id as remarksId, questionManId, remarks, questionMan, addTime as addDate,IFNULL(consultType,'') as consult
+        select id as remarksId, questionManId, remarks, questionMan, addTime as addDate,IFNULL(consultType,'') as consult,clubType,pinceSensitve,satisfied,followup,extra
         from cm_visitor_remarks
         where id = #{remarksId}
           AND remarks IS NOT NULL
@@ -413,7 +423,12 @@
                questionMan,
                clubId,
                consultType as consult,
-               concactTime
+               concactTime,
+               clubType,
+               pinceSensitve,
+               satisfied,
+               followup,
+               extra
         from cm_visitor_remarks
         where questionManId = #{questionManId}
           and remarks is not null
@@ -425,23 +440,49 @@
           AND questionMan IS NOT NULL
     </select>
     <select id="getRemarksListByKey" resultType="com.caimei365.user.model.vo.RemarksVo">
-        select DISTINCT
-               ccr.id as remarksId, ccr.remarks, ccr.addTime, ccr.questionMan, ccr.clubId,c.Name as clubName,ccr.serviceProviderId,
-        (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,ifnull(ccr.consultType,'') as consult
-        from cm_club_remarks ccr
-        LEFT JOIN club c ON c.clubID = ccr.clubId
-        where ccr.serviceProviderId = #{serviceProviderId}
+
+        SELECT DISTINCT
+        ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId,
+        csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
+        ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
+        (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
+        (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderID) AS recordName
+#         (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
+        FROM cm_club_remarks ccr
+        LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
+        LEFT JOIN club c ON c.clubId=ccr.clubId
+        LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
+        LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
+        where ccr.serviceProviderId=#{serviceProviderId}
+
         <if test="keyWord != null and keyWord != ''">
-           AND ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
-           OR c.name LIKE CONCAT('%', #{keyWord}, '%')
-           OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
+           AND (ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
+           OR c.Name LIKE CONCAT('%', #{keyWord}, '%')
+           OR ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%'))
+        </if>
+        <if test="leaderId != null and leaderId>0">
+            and csr.leaderId = #{leaderId}
         </if>
-        <if test="startAddTime !=''">
+        <if test="groupId != null and groupId>0">
+            and ccr.serviceProviderId = #{groupId}
+        </if>
+        <if test="startAddTime !='' and startAddTime != null">
             and ccr.addTime <![CDATA[  >  ]]> #{startAddTime}
         </if>
-        <if test="endAddTime != ''">
+        <if test="endAddTime != '' and endAddTime != null">
             and ccr.addTime <![CDATA[  <  ]]> #{endAddTime}
         </if>
+
+        <if test="pinceSensitve != '' and pinceSensitve != null">
+            and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
+        </if>
+        <if test="satisfied != '' and satisfied != null">
+            and ccr.satisfied LIKE concat('%',#{satisfied},'%')
+        </if>
+
+        <if test="followup != '' and followup != null">
+            and ccr.followup LIKE concat('%',#{followup},'%')
+        </if>
         <if test="con != null and con.size > 0">
            and
               <foreach collection="con" item="item" index="index"  open="(" close=")" separator="OR">
@@ -453,7 +494,7 @@
     <select id="getVisitorListByKey" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
         SELECT DISTINCT
         ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.addTime as addDate, ccr.questionMan,IFNULL(ccr.consultType,'') as consult,
-        ccr.serviceProviderId,
+        ccr.serviceProviderId,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra,
         (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,
         (select name from serviceprovider s where s.serviceProviderID = csr.leaderId) as leaderName
         FROM cm_visitor_remarks ccr
@@ -464,14 +505,24 @@
         and ccr.remarks IS NOT NULL
         and ccr.clubId is null
         <if test="keyWord != null and keyWord != ''">
-          and ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
-          or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
+          and (ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
+          or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%'))
         </if>
-        <if test="startAddTime !=''">
-            and ccr.addTime <![CDATA[  >  ]]> #{startAddTime}
+        <if test="startAddTime !='' and startAddTime != null">
+            and ccr.addTime <![CDATA[  >=  ]]> #{startAddTime}
         </if>
-        <if test="endAddTime != ''">
-            and ccr.addTime <![CDATA[  <  ]]> #{endAddTime}
+        <if test="endAddTime != '' and endAddTime != null">
+            and ccr.addTime <![CDATA[  <=  ]]> #{endAddTime}
+        </if>
+        <if test="pinceSensitve != '' and pinceSensitve!=null">
+            and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
+        </if>
+        <if test="satisfied != '' and satisfied!=null">
+            and ccr.satisfied LIKE concat('%',#{satisfied},'%')
+        </if>
+
+        <if test="followup != '' and followup!=null">
+            and ccr.followup LIKE concat('%',#{followup},'%')
         </if>
         <if test="con != null and con.size > 0">
             and
@@ -532,8 +583,10 @@
         SELECT DISTINCT
                ccr.id AS remarksId, ccr.remarks,ccr.addTime,ccr.questionMan,ccr.serviceProviderId as serviceProviderId,
         csr.leaderId AS leaderId,IFNULL(ccr.consultType,'') as consult, c.Name as clubName,
+        ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
         (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID= csr.leaderId) AS leaderName,
-        (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName
+        (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderID) AS recordName
+#         (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
         FROM cm_club_remarks ccr
         LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
         LEFT JOIN club c ON c.clubId=ccr.clubId
@@ -541,8 +594,9 @@
         LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
         <where>
             <if test="keyWord != null and keyWord !=''">
-                AND ccr.remarks LIKE concat('%',#{keyWord},'%')
+                AND (ccr.remarks LIKE concat('%',#{keyWord},'%')
                 or ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
+                or c.Name LIKE CONCAT('%', #{keyWord}, '%'))
             </if>
             <if test="leaderId != null and leaderId>0">
                 and csr.leaderId = #{leaderId}
@@ -550,16 +604,28 @@
             <if test="groupId != null and groupId>0">
                 and ccr.serviceProviderId = #{groupId}
             </if>
-            <if test="startAddTime !=''">
+            <if test="startAddTime !='' and startAddTime !=null">
                 and ccr.addTime <![CDATA[  >  ]]> #{startAddTime}
             </if>
-            <if test="endAddTime != ''">
+            <if test="endAddTime != '' and endAddTime!=null">
                 and ccr.addTime <![CDATA[  <  ]]> #{endAddTime}
             </if>
+
+            <if test="pinceSensitve != '' and pinceSensitve!=null">
+                and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
+            </if>
+            <if test="satisfied != '' and satisfied!=null">
+                and ccr.satisfied LIKE concat('%',#{satisfied},'%')
+            </if>
+
+            <if test="followup != '' and followup !=null">
+                and ccr.followup LIKE concat('%',#{followup},'%')
+            </if>
+
             <if test="con != null and con.size > 0">
                 and
                 <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
-                    ccr.consultType LIKE CONCAT('%',#{item},'%')
+                    ccr.consultType LIKE CONCAT('%',#{consultType},'%')
                 </foreach>
             </if>
         </where>
@@ -568,6 +634,7 @@
     <select id="getAllVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
         SELECT DISTINCT
         ccr.id AS remarksId, ccr.remarks,ccr.addTime as addDate,ccr.questionMan,IFNULL(ccr.consultType,'') as consult,ccr.serviceProviderId,ccr.questionManId,
+        ccr.clubType AS clubType,ccr.pinceSensitve AS pinceSensitve,ccr.satisfied AS satisfied,ccr.followup AS followup,ccr.extra AS extra,
         (SELECT NAME FROM serviceprovider s WHERE s.serviceProviderID = csr.leaderId) AS leaderName,
         (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName
         FROM cm_visitor_remarks ccr
@@ -587,12 +654,22 @@
             <if test="groupId != null and groupId > 0">
                 and ccr.serviceProviderId = #{groupId}
             </if>
-            <if test="startAddTime !=''">
+            <if test="startAddTime !='' and startAddTime !=null">
                 and ccr.addTime <![CDATA[  >  ]]> #{startAddTime}
             </if>
-            <if test="endAddTime != ''">
+            <if test="endAddTime != '' and endAddTime!=null">
                 and ccr.addTime <![CDATA[  <  ]]> #{endAddTime}
             </if>
+            <if test="pinceSensitve != '' and pinceSensitve!=null">
+                and ccr.pinceSensitve LIKE concat('%',#{pinceSensitve},'%')
+            </if>
+            <if test="satisfied != '' and satisfied!=null">
+                and ccr.satisfied LIKE concat('%',#{satisfied},'%')
+            </if>
+
+            <if test="followup != '' and followup !=null">
+                and ccr.followup LIKE concat('%',#{followup},'%')
+            </if>
             <if test="con != null and con.size > 0">
                 and
                 <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
@@ -600,11 +677,16 @@
                 </foreach>
             </if>
         </where>
-        ORDER BY ccr.ADDTIME DESC
+        ORDER BY ccr.addtime DESC
     </select>
     <select id="findLeaderId" resultType="java.lang.Integer">
         SELECT leaderId FROM cm_serviceteam_role csr
         LEFT JOIN serviceprovider s ON s.serviceProviderId=csr.leaderId
         WHERE s.serviceProviderID = #{serviceProviderId}
     </select>
+    <select id="getCmRemarksList" resultType="com.caimei365.user.model.vo.CmRemarksVo">
+        SELECT remarks FROM cm_remarks csr
+        WHERE remarks like concat('%',#{remarks},'%')
+        order by addtime DESC
+    </select>
 </mapper>