Browse Source

行为记录链接

Duan_xu 2 years ago
parent
commit
f3993d17bb

+ 4 - 0
src/main/java/com/caimei365/user/mapper/ClubReportMapper.java

@@ -51,6 +51,10 @@ Integer visitorMan(String questionManId);
 
 void deleteReport(Integer reportId);
 
+String questionManNameage(@Param("reportId")Integer reportId,@Param("questionManId")String questionManId,@Param("serviceProviderId")Integer serviceProviderId);
+
+
+
 
 
 

+ 8 - 0
src/main/java/com/caimei365/user/model/vo/RemarkVo.java

@@ -121,4 +121,12 @@ public class RemarkVo implements Serializable {
      * 新分配机构状态 0.否,1.是
      */
     private Integer newDeal;
+    /**
+     * 报备ID
+     */
+    private Integer reportId;
+    /**
+     * 报备商品ID
+     */
+    private Integer productId;
 }

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

@@ -122,4 +122,5 @@ public class VisitRemarkVo  implements Serializable {
      * 新分配机构状态 0.否,1.是
      */
     private Integer newDeal;
+
 }

+ 68 - 11
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -21,6 +21,7 @@ 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;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -107,14 +108,17 @@ public class ClubServiceImpl implements ClubService {
         // 机构信息
         ClubVo club = clubMapper.recordClubage(clubId);
         String saleName="";
-        if (club.getMainProduct().contains("/")) {
-            List<String> list = Arrays.asList(club.getMainProduct().split("/"));
-            club.setMainProducts(list);
-        } else {
-            club.setMainProducts(Collections.singletonList(club.getMainProduct()));
+        if(!"".equals(club.getMainProduct()) && club.getMainProduct()!=null){
+            if (club.getMainProduct().contains("/")) {
+                List<String> list = Arrays.asList(club.getMainProduct().split("/"));
+                club.setMainProducts(list);
+            } else {
+                club.setMainProducts(Collections.singletonList(club.getMainProduct()));
+            }
+
         }
-       if( "1".equals(club.getSpType())){
-        saleName= clubMapper.serviceProviderNameage(club.getServiceProviderId());
+        if(club.getSpType()==1){
+            saleName= clubMapper.serviceProviderNameage(club.getServiceProviderId());
         }
 
         if (club == null) {
@@ -128,6 +132,8 @@ public class ClubServiceImpl implements ClubService {
             club.setProvinceId(province.getProvinceId());
             club.setProvincialAddress(province.getName() + "" + city.getName() + "" + town.getName());
         }
+        log.info("销售人名称"+saleName);
+        log.info("销售人id"+club.getServiceProviderId());
         Map<String, Object> map = new HashMap(2);
         map.put("club", club);
         map.put("saleName",saleName);
@@ -518,6 +524,9 @@ public class ClubServiceImpl implements ClubService {
     public ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubId,String keyWord, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
         List<ReportVo>reportList=clubReportMapper.reportList(serviceProviderId,clubId,keyWord);
+        reportList.forEach(r ->{
+            r.setQuestionMan(clubReportMapper.questionManNameage(null,"",serviceProviderId));
+        });
         return ResponseJson.success(new PaginationVo<>(reportList));
     }
 
@@ -525,6 +534,9 @@ public class ClubServiceImpl implements ClubService {
     public ResponseJson<PaginationVo<ReportVo>> visitorReportList(String questionManId,String keyWord, int pageNum,  int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
         List<ReportVo>reportList=clubReportMapper.visitorReportList(questionManId,keyWord);
+        reportList.forEach(r ->{
+            r.setQuestionMan(clubReportMapper.questionManNameage(null,questionManId,null));
+        });
         return ResponseJson.success(new PaginationVo<>(reportList));
     }
 
@@ -533,12 +545,14 @@ public class ClubServiceImpl implements ClubService {
     @Override
     public ResponseJson<ReportVo> reportDetailsList(Integer reportId) {
        ReportVo reportVo=clubReportMapper.reportDetailsList(reportId);
+        reportVo.setQuestionMan(clubReportMapper.questionManNameage(reportId,"",null));
         return ResponseJson.success(reportVo);
     }
 
     @Override
     public ResponseJson<ReportVo> visitorReportsList(Integer reportId) {
         ReportVo reportVo=clubReportMapper.visitorReportsList(reportId);
+        reportVo.setQuestionMan(clubReportMapper.questionManNameage(reportId,"",null));
         return ResponseJson.success(reportVo);
     }
 
@@ -721,6 +735,19 @@ public class ClubServiceImpl implements ClubService {
                 map.put("label", rk);
                 strings.add(map);
             }
+            if (StringUtils.isNotBlank(remarksVo.getConsult())) {
+                if (remarksVo.getConsult().contains(",")) {
+                    String[] split = remarksVo.getConsult().split(",");
+                    String Cons = "";
+                    for (String con : split) {
+                        Cons += clubMapper.findConsultById(con).getClassName() + ",";
+                    }
+                    Cons = Cons.substring(0, Cons.length() - 1);
+                    remarkVo.setConsultBack(Cons);
+                } else {
+                    remarkVo.setConsultBack(clubMapper.findConsultById(remarksVo.getConsult()).getClassName());
+                }
+            }
             remarkVo.setLeaderName(remarksVo.getLeaderName());
             remarkVo.setRecordName(remarksVo.getRecordName());
             remarkVo.setServiceProviderId(remarksVo.getServiceProviderId());
@@ -777,6 +804,7 @@ public class ClubServiceImpl implements ClubService {
         if (null == serviceProviderId) {
             return ResponseJson.error("参数异常,协销id不能为空", null);
         }
+//        List<RemarksVo> pageInfo = null;
         PageInfo<RemarksVo> pageInfo = null;
         Integer findLeader = clubMapper.findLeaderId(serviceProviderId);
         List<String> conss = new ArrayList<>();
@@ -787,6 +815,7 @@ public class ClubServiceImpl implements ClubService {
                 conss.add(consult);
             }
         }
+
         if (null != manager && 1 == manager) {
             //主管查所有注册客户咨询记录
             log.info("方法1 管理员");
@@ -801,6 +830,25 @@ public class ClubServiceImpl implements ClubService {
             List<String> finalConss2 = conss;
             pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> clubMapper.getRemarksListByKey(keyWord, serviceProviderId, startAddTime, endAddTime, pinceSensitve, leaderId, groupId, followup, satisfied, finalConss2,status,newDeal));
         }
+
+//        if (null != manager && 1 == manager) {
+//            //主管查所有注册客户咨询记录
+//            log.info("方法1 管理员");
+//            List<String> finalConss = conss;
+//            PageHelper.startPage(pageNum, pageSize);
+//            pageInfo =  clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, leaderId, groupId, followup, satisfied, pinceSensitve, finalConss,status,newDeal);
+//        } else if (null != findLeader && findLeader > 0) {
+//            log.info("方法2 协销组长");
+//            PageHelper.startPage(pageNum, pageSize);
+//            List<String> finalConss1 = conss;
+//            pageInfo =  clubMapper.findAllRemarks(keyWord, startAddTime, endAddTime, serviceProviderId, groupId, followup, satisfied, pinceSensitve, finalConss1,status,newDeal);
+//        } else {
+//            log.info("方法3 协销");
+//            PageHelper.startPage(pageNum, pageSize);
+//            List<String> finalConss2 = conss;
+//            pageInfo =  clubMapper.getRemarksListByKey(keyWord, serviceProviderId, startAddTime, endAddTime, pinceSensitve, leaderId, groupId, followup, satisfied, finalConss2,status,newDeal);
+//        }
+
         ArrayList<RemarkVo> remarkVos = new ArrayList<>();
         pageInfo.getList().forEach(r -> {
             RemarkVo remarkVo = new RemarkVo();
@@ -859,11 +907,13 @@ public class ClubServiceImpl implements ClubService {
             remarkVo.setNewDeal(r.getNewDeal());
             remarkVos.add(remarkVo);
         });
+
         PaginationVo<RemarkVo> pageVo = new PaginationVo<>(remarkVos);
         if (null != remarkVos && remarkVos.size() > 0) {
-            pageVo.setTotalRecord(remarkVos.size());
-            if (remarkVos.size() > pageSize) {
-                pageVo.setTotalPage((int) Math.ceil(MathUtil.div(remarkVos.size(), pageSize).doubleValue()));
+            pageVo.setTotalRecord((int)pageInfo.getTotal());
+            if (pageInfo.getSize() >= pageSize) {
+                pageVo.setTotalPage((int) Math.ceil(MathUtil.div(pageInfo.getTotal(), pageSize).doubleValue()));
+                log.info(">>>>>>>>>>>>>>>>>>>>"+MathUtil.div(pageInfo.getTotal(), pageSize).doubleValue());
                 pageVo.setHasNextPage(true);
             } else {
                 pageVo.setTotalPage(1);
@@ -874,7 +924,7 @@ public class ClubServiceImpl implements ClubService {
             pageVo.setHasNextPage(false);
             pageVo.setTotalRecord(0);
         }
-        return ResponseJson.success(pageVo);
+          return ResponseJson.success(pageVo);
     }
 
     @Override
@@ -924,6 +974,8 @@ public class ClubServiceImpl implements ClubService {
         remarkVo.setStatus(remarksVo.getStatus());
         remarkVo.setAuditText(remarksVo.getAuditText());
         remarkVo.setNewDeal(remarksVo.getNewDeal());
+        remarkVo.setProductId(remarksVo.getProductId());
+        remarkVo.setReportId(remarksVo.getReportId());
         if (StringUtils.isNotBlank(remarksVo.getConsult())) {
             if (remarkVo.getConsult().contains(",")) {
                 List<String> cons = Arrays.asList(remarkVo.getConsult().split(","));
@@ -959,6 +1011,9 @@ public class ClubServiceImpl implements ClubService {
             log.info("方法3 协销");
             pageInfo = clubReportMapper.visitorReportRemarks(teamId,serviceProviderId,keyWord);
         }
+        pageInfo.forEach(r ->{
+            r.setQuestionMan(clubReportMapper.questionManNameage(r.getReportId(),"",null));
+        });
         return ResponseJson.success(new PaginationVo<>(pageInfo));
     }
 
@@ -1326,6 +1381,8 @@ public class ClubServiceImpl implements ClubService {
         visit.setShopName(visitRemarksVo.getShopName());
         visit.setStatus(visitRemarksVo.getStatus());
         visit.setAuditText(visitRemarksVo.getAuditText());
+        visit.setProductId(visitRemarksVo.getProductId());
+        visit.setReportId(visitRemarksVo.getReportId());
 
         if (StringUtils.isNotBlank(visitRemarksVo.getConsult())) {
             if (visitRemarksVo.getConsult().contains(",")) {

+ 8 - 6
src/main/resources/mapper/ClubMapper.xml

@@ -310,7 +310,7 @@
         SELECT DISTINCT
          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,p.`mainImage` AS mainImage,p.name AS productName,s.name AS shopName,
-         cmc.`reportText` as reportText,cmc.`status` as status,cmc.`auditText` as auditText,c.newDeal as newDeal
+         cmc.`reportText` as reportText,cmc.`status` as status,cmc.`auditText` as auditText,c.newDeal as newDeal,p.productId as productId,cmc.ID as reportId
         FROM cm_club_remarks ccr
         LEFT JOIN club c ON ccr.clubId = c.clubId
         LEFT JOIN product p ON p.productID = ccr.productID
@@ -406,7 +406,7 @@
     <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
         select DISTINCT ccr.id as remarksId, ccr.questionManId, ccr.remarks, ccr.questionMan, ccr.addTime as addDate,IFNULL(ccr.consultType,'') as consult,ccr.clubType,ccr.pinceSensitve,ccr.satisfied,ccr.followup,ccr.extra,
                p.`mainImage` AS mainImage,p.name AS productName,s.name AS shopName,
-               cmc.`reportText` as reportText,cmc.`status` as status,cmc.`auditText` as auditText
+               cmc.`reportText` as reportText,cmc.`status` as status,cmc.`auditText` as auditText,p.productId as productId,cmc.ID as reportId
         from cm_visitor_remarks ccr
          LEFT JOIN club c ON ccr.clubId = c.clubId
          LEFT JOIN product p ON p.productID = ccr.productID
@@ -537,7 +537,7 @@
         left join cm_serviceteam_group csg on csg.serviceId = ccr.serviceProviderID
         left join cm_serviceteam_role csr on csr.id = csg.teamId
         left join serviceprovider s on ccr.serviceProviderID = s.serviceProviderID
-        LEFT JOIN cm_club_report cmc ON cmc.questionManId = ccr.questionManId
+        LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
         WHERE ccr.serviceProviderId = #{serviceProviderId}
         and ccr.remarks IS NOT NULL
         and ccr.clubId is null
@@ -687,7 +687,7 @@
         LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
         LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
         LEFT JOIN cm_serviceTeam_role csr ON csr.id = csg.teamId
-        LEFT JOIN cm_club_report cmc ON cmc.questionManId = ccr.questionManId
+        LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
         <where>
             and ccr.remarks IS NOT NULL
             and ccr.clubId is null
@@ -769,17 +769,19 @@
                c.lastCheckOrderDate,
                c.newDeal as newDeal,
                IF(c.spid IS NOT NULL,1,0) AS spType,
-               r.describe
+               r.describe,
+               u.userIdentity as userIdentity
 
         from club c
         LEFT JOIN record_link r ON r.`clubId`=c.`clubID`
+        left join user u on u.clubId = c.clubId
         where c.clubID = #{clubId}
         ORDER BY r.id DESC
         LIMIT 1
 
     </select>
 
-    <select id="serviceProviderNameage">
+    <select id="serviceProviderNameage" resultType="java.lang.String">
         select linkMan from `serviceprovider`
         where serviceProviderID=#{serviceproviderId}
     </select>

+ 25 - 6
src/main/resources/mapper/ClubReport.xml

@@ -38,8 +38,7 @@
         LEFT JOIN club c ON c.clubID = cmc.clubID
         LEFT JOIN product p ON cmc.productID = p.productID
         <where>
-            and cmc.clubID is not null
-            (cmc.`serviceProviderId`=#{serviceProviderId} and cmc.`clubID`=#{clubId} and cmc.clubID is not null)
+            and (cmc.`serviceProviderId`=#{serviceProviderId} and cmc.`clubID`=#{clubId} and cmc.clubID is not null)
             <if test="keyWord != null and keyWord !=''">
                 AND (p.name LIKE concat('%',#{keyWord},'%')
                 or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
@@ -130,7 +129,7 @@
 
     <select id="visitorReportRemarks" resultType="com.caimei365.user.model.vo.ReportVo">
         SELECT DISTINCT
-        cmc.id AS reportId , cmc.productID as productId,cmc.serviceProviderID as serviceProviderId,ccr.questionMan AS questionMan, c.name AS clubName,c.`newDeal` AS
+        cmc.id AS reportId , cmc.productID as productId,cmc.serviceProviderID as serviceProviderId,cmc.questionManId AS questionManId, c.name AS clubName,c.`newDeal` AS
         newDeal,cmc.reportName AS reportName,cmc.`addTime` AS ADDTIME,p.`mainImage` AS mainImage,p.name AS
         productName,cmc.`reportText` as reportText,cmc.status AS status,cmc.`auditText` as auditText
         FROM cm_club_report cmc
@@ -328,15 +327,13 @@
 
     <select id="visitorReportList" resultType="com.caimei365.user.model.vo.ReportVo">
         SELECT DISTINCT
-        cmc.id as reportId,cmc.productID as productId,cmc.reportName as reportName,ccr.questionMan AS questionMan,c.`name` as clubName,cmc.`addTime`,p.`name` as
+        cmc.id as reportId,cmc.productID as productId,cmc.reportName as reportName,ccr.questionMan AS questionMan,cmc.`addTime`,p.`name` as
         productName,p.`mainImage` as mainImage,cmc.`reportText`,cmc.status AS status,cmc.`auditText` as auditText
         FROM cm_club_report cmc
         LEFT JOIN cm_visitor_remarks ccr ON cmc.Id = ccr.reportID
         LEFT JOIN serviceprovider s ON cmc.serviceProviderId = s.serviceProviderID
-        LEFT JOIN club c ON c.clubID = cmc.clubID
         LEFT JOIN product p ON p.productID = cmc.productID
         <where>
-            and cmc.clubID is null
             and cmc.`questionManId`=#{questionManId} and cmc.clubID is  null
             <if test="keyWord != null and keyWord !=''">
                 AND (p.name LIKE concat('%',#{keyWord},'%')
@@ -351,4 +348,26 @@
         DELETE FROM cm_club_report WHERE id=#{reportId}
     </delete>
 
+    <select id="questionManNameage" resultType="java.lang.String">
+        SELECT ccr.questionMan FROM cm_club_report cmc
+        LEFT JOIN cm_visitor_remarks ccr ON cmc.questionManId = ccr.questionManId
+        <where>
+        <if test="reportId!=null">
+            cmc.id=#{reportId}
+        </if>
+            <if test="questionManId!='' and questionManId!=null">
+                cmc.questionManId=#{questionManId}
+            </if>
+            <if test="serviceProviderId!=null">
+                cmc.serviceProviderId=#{serviceProviderId}
+            </if>
+        </where>
+        LIMIT 1
+    </select>
+
+
+
+
+
+
 </mapper>

+ 2 - 2
src/main/resources/mapper/SellerMapper.xml

@@ -102,7 +102,7 @@
     </select>
 
     <select id="findClubs" resultType="com.caimei365.user.model.vo.ClubVo">
-        select c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile, c.contractEmail as contractEmail,
+        select DISTINCT c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile, c.contractEmail as contractEmail,
         c.contractPhone, c.linkMan, c.provinceID as proviceId, c.cityID as cityId, c.townID as townId,
         c.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
         c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,
@@ -127,7 +127,7 @@
         order by c.clubID desc
     </select>
     <select id="getAllClubList" resultType="com.caimei365.user.model.vo.ClubVo">
-        SELECT c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile, c.contractEmail as contractEmail,
+        SELECT DISTINCT c.clubID as clubId, c.userID as userId, c.name, c.sname as shortName, c.contractMobile, c.contractEmail as contractEmail,
         c.contractPhone, c.linkMan, c.provinceID as proviceId, c.cityID as cityId, c.townID as townId,
         c.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
         c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,