瀏覽代碼

客户咨询记录

Duan_xu 3 年之前
父節點
當前提交
ccc878052d

+ 2 - 2
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("pinceSensitve") Integer pinceSensitve, @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("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);
 

+ 2 - 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;
     /**
      * 添加时间
      */

+ 2 - 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;
     /**
      * 咨询类别
      */

+ 76 - 60
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -381,7 +381,7 @@ public class ClubServiceImpl implements ClubService {
             Integer clubId = jsonObject.getInteger("clubId");
             Integer remarksId = jsonObject.getInteger("remarksId");
             Integer serviceProviderId = jsonObject.getInteger("serviceProviderId");
-         //   String remarks = jsonObject.getString("remarks");
+            String remarks = jsonObject.getString("remarks");
             String consult = jsonObject.getString("consult");
             String questionMan = jsonObject.getString("questionMan");
 
@@ -396,23 +396,15 @@ public class ClubServiceImpl implements ClubService {
             if (null == serviceProviderId) {
                 return ResponseJson.error("参数异常,协销id不能为空");
             }
-            JSONArray logistics;
-            try {
-                logistics = parseArray(jsonParamsDto.getParams());
-            } catch (Exception e) {
-                log.error("【添加备注】>>>参数解析异常try-catch:", e);
-                return ResponseJson.error("添加关键词解析异常!", null);
-            }
-            if (logistics.isEmpty()) {
-                return ResponseJson.error("添加关键词异常!", null);
-            }
+
+
+            log.info("【保存机构资料备注解析关键词1】:", remarks);
+
             boolean newRemarks = null == remarksId;
             ClubRemarksPo clubRemarksPo = new ClubRemarksPo();
-            for (Object logisticObj: logistics) {
-                JSONObject logistic = (JSONObject) logisticObj;
-                String remarkss = (String) logistic.get("remarks");
+
                 List<String> strings = new ArrayList<>();
-                String rk = null == remarkss ? "" : remarkss;
+                String rk = null == remarks ? "" : remarks;
                 if (!rk.contains(",")) {
                     String[] split = rk.split(",");
                     strings = Arrays.asList(split);
@@ -420,15 +412,15 @@ public class ClubServiceImpl implements ClubService {
                     strings.add(rk);
                 }
                 if(strings==null){ return ResponseJson.error("添加关键词为空!", null);}
-                clubRemarksPo.setRemarks(strings.toString());
-            }
+//                clubRemarksPo.setRemarks(StringUtils.strip(strings.toString(), "[]"));
+//            }
             // 是否新增备注
             clubRemarksPo.setRemarksId(remarksId);
             clubRemarksPo.setClubId(clubId);
             clubRemarksPo.setServiceProviderId(serviceProviderId);
             clubRemarksPo.setQuestionMan(questionMan);
             clubRemarksPo.setConsult(consult);
-
+            clubRemarksPo.setRemarks(StringUtils.strip(strings.toString(), "[]").replace("\"",""));//去除符号
             clubRemarksPo.setClubType(clubType);
             clubRemarksPo.setPinceSensitve(pinceSensitve);
             clubRemarksPo.setSatisfied(satisfied);
@@ -468,7 +460,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());
         }
     }
 
@@ -509,18 +501,25 @@ public class ClubServiceImpl implements ClubService {
             pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, serviceProviderId, groupId, followup, satisfied, pinceSensitve, finalConss1));
         } else {
             List<String> finalConss2 = conss;
-            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId, startAddTime, endAddTime, pinceSensitve, finalConss2));
+            pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId, startAddTime, endAddTime, pinceSensitve,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(",")) {
-                String[] split = rk.split(",");
-                strings = Arrays.asList(split);
+            if (rk.contains(",")) {
+                String[] split = rk.split(",");
+                log.info("输出》》》》》》》》》》",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(",")) {
@@ -579,13 +578,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());
@@ -820,7 +825,7 @@ public class ClubServiceImpl implements ClubService {
             String questionManId = jsonObject.getString("questionManId");
             Integer remarksId = jsonObject.getInteger("remarksId");
             Integer serviceProviderId = jsonObject.getInteger("serviceProviderId");
-          //  String remarks = jsonObject.getString("remarks");
+            String remarks = jsonObject.getString("remarks");
             String consult = jsonObject.getString("consult");
 
             String clubType = jsonObject.getString("clubType");
@@ -835,33 +840,26 @@ public class ClubServiceImpl implements ClubService {
             if (null == serviceProviderId) {
                 return ResponseJson.error("参数异常,协销id不能为空");
             }
+//            JSONArray remarks;
+//
+//            remarks = parseArray(visitor.getParams());
 
-            JSONArray logistics;
-            try {
-                logistics = parseArray(visitor.getParams());
-            } catch (Exception e) {
-                log.error("【添加备注】>>>参数解析异常try-catch:", e);
-                return ResponseJson.error("获取关键词解析异常!", null);
-            }
-            if (logistics.isEmpty()) {
-                return ResponseJson.error("获取关键词异常!", null);
+            if (remarks.isEmpty()) {
+                return ResponseJson.error("添加关键词异常!", null);
             }
             boolean newRemarks = null == remarksId;
             VisitorRemarkVo visitorRemarkVo = new VisitorRemarkVo();
-            for (Object logisticObj: logistics) {
-                JSONObject logistic = (JSONObject) logisticObj;
-                String remarkss = (String) logistic.get("remarks");
                 List<String> strings = new ArrayList<>();
-                String rk = null == remarkss ? "" : remarkss;
-                if (!rk.contains("")) {
-                    String[] split = rk.split("");
+                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);}
-                visitorRemarkVo.setRemarks(strings.toString());
-            }
+                if(strings==null){ return ResponseJson.error("strings添加关键词为空!", null);}
+            visitorRemarkVo.setRemarks(StringUtils.strip(strings.toString(), "[]").replace("\"",""));//去除符号
+//            }
             // 是否新增备注
             visitorRemarkVo.setRemarksId(remarksId);
             visitorRemarkVo.setQuestionManId(questionManId);
@@ -922,13 +920,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());
@@ -982,18 +986,25 @@ public class ClubServiceImpl implements ClubService {
             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(",")) {
-                String[] split = rk.split(",");
-                strings = Arrays.asList(split);
+            if (rk.contains(",")) {
+                String[] split = rk.split(",");
+                log.info("输出》》》》》》》》》》",split.toString());
+                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(",")) {
@@ -1021,6 +1032,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);

+ 21 - 11
src/main/resources/mapper/ClubMapper.xml

@@ -386,8 +386,8 @@
         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
-#           and clubId is null
+          AND remarks IS NOT NULL
+          and clubId is null
     </select>
     <select id="getVisitRemarksImageList" resultType="java.lang.String">
         select imageUrl
@@ -463,13 +463,13 @@
         <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="satisfied != '' and satisfied!=null">
+            and ccr.satisfied LIKE concat('%',#{satisfied},'%')
+        </if>
 
-<!--        <if test="followup != '' and !=null">-->
-<!--            and ccr.followup LIKE concat('%',#{followup},'%')-->
-<!--        </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">
@@ -481,7 +481,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
@@ -495,12 +495,22 @@
           and ccr.questionMan LIKE CONCAT('%', #{keyWord}, '%')
           or ccr.remarks LIKE CONCAT('%', #{keyWord}, '%')
         </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">