Browse Source

行为记录链接

Duan_xu 2 years ago
parent
commit
f1340e63b6

+ 7 - 0
src/main/java/com/caimei365/user/controller/ClubApi.java

@@ -518,4 +518,11 @@ public ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Intege
         return clubService.findGroups(leaderId);
     }
 
+
+    @ApiOperation("查询行为记录链接信息")
+    @GetMapping("/recordLinkage")
+    public ResponseJson<Map<String, Object>> recordLinkage(Integer clubId) {
+        return clubService.recordLinkage(clubId);
+    }
+
 }

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

@@ -26,6 +26,7 @@ public interface ClubMapper {
      */
     ClubVo getClubById(Integer clubId);
 
+
     /**
      * 修改机构信息保存用户
      *
@@ -267,6 +268,8 @@ public interface ClubMapper {
 
     void updateVisit(@Param("questionManId") String questionManId, @Param("clubId") String clubId);
 
+    void updateReport(@Param("questionManId") String questionManId, @Param("clubId") String clubId);
+
     List<VisitorRemarkVo> findConcactVisit(String questionManId);
 
     void concactVisit(RemarksVo remarksVo);
@@ -294,4 +297,8 @@ public interface ClubMapper {
     Integer findLeaderId(Integer serviceProviderId);
 
     List<CmRemarksVo> getCmRemarksList(String remarks);
+
+    ClubVo recordClubage(Integer clubId);
+
+    String serviceProviderNameage(Integer serviceProviderId);
 }

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

@@ -3,6 +3,7 @@ package com.caimei365.user.model.vo;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * Description
@@ -119,6 +120,11 @@ public class ClubVo implements Serializable {
      * 主打项目(mainpro)
      */
     private String mainProduct;
+
+    /**
+     * 主营业务列表,号隔开
+     */
+    private List<String> mainProducts;
     /**
      * 传真
      */
@@ -131,6 +137,12 @@ public class ClubVo implements Serializable {
      * 协销ID
      */
     private Integer serviceProviderId;
+
+    /*
+    *是否分配协销 0.待分配 1.已分配
+     */
+    private Integer spType;
+
     /**
      * 扫描状态 0待扫描 1 已扫描 2已上线
      */
@@ -155,4 +167,13 @@ public class ClubVo implements Serializable {
      *新分配机构状态 1.是 2.否
      */
     private Integer newDeal;
+    /**
+     * 行为记录链接描述
+     */
+    private String describe;
+    /**
+     * 是否有行为记录链接 1.是 0.否
+     */
+    private Integer recordCount;
+
 }

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

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

+ 2 - 0
src/main/java/com/caimei365/user/service/ClubService.java

@@ -25,6 +25,8 @@ public interface ClubService {
      */
     ResponseJson<Map<String, Object>> getClubUserInfo(Integer userId);
 
+    ResponseJson<Map<String, Object>> recordLinkage(Integer clubId);
+
     /**
      * 修改机构资料
      *

+ 40 - 1
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -99,6 +99,43 @@ public class ClubServiceImpl implements ClubService {
         return ResponseJson.success(map);
     }
 
+
+
+
+    @Override
+    public ResponseJson<Map<String, Object>> recordLinkage(Integer clubId) {
+        // 机构信息
+        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( "1".equals(club.getSpType())){
+        saleName= clubMapper.serviceProviderNameage(club.getServiceProviderId());
+        }
+
+        if (club == null) {
+            return ResponseJson.error("机构信息不存在", null);
+        }
+        if (null != club.getTownId()) {
+            TownVo town = baseMapper.getTown(club.getTownId());
+            CityVo city = baseMapper.getCity(town.getCityId());
+            ProvinceVo province = baseMapper.getProvince(city.getProvinceId());
+            club.setCityId(city.getCityId());
+            club.setProvinceId(province.getProvinceId());
+            club.setProvincialAddress(province.getName() + "" + city.getName() + "" + town.getName());
+        }
+        Map<String, Object> map = new HashMap(2);
+        map.put("club", club);
+        map.put("saleName",saleName);
+        return ResponseJson.success(map);
+    }
+
+
+
     /**
      * 修改机构资料
      *
@@ -540,7 +577,6 @@ public class ClubServiceImpl implements ClubService {
         return ResponseJson.success("删除成功");
     }
 
-
     @Override
     public ResponseJson<PaginationVo<RemarkVo>>associated(Integer manager,Integer serviceProviderId,Integer reportId,String keyWord, String startAddTime,
                                                           String endAddTime,
@@ -1435,6 +1471,7 @@ public class ClubServiceImpl implements ClubService {
         }
         //根据咨询人查cm_visitor_remarks赋值clubid,concactTime
         clubMapper.updateVisit(questionManId, clubId);
+        clubMapper.updateReport(questionManId,clubId);
         //cm_visitor_remarks搬运到cm_club_remarks,cm_visitor_remarks_file搬运到cm_club_remarks_file
         List<VisitorRemarkVo> visits = clubMapper.findConcactVisit(questionManId);
         visits.forEach(v -> {
@@ -1454,6 +1491,8 @@ public class ClubServiceImpl implements ClubService {
             remarksVo.setExtra(v.getExtra());
             remarksVo.setClubType(v.getClubType());
             remarksVo.setStatus(v.getStatus());
+            remarksVo.setProductId(v.getProductId());
+            remarksVo.setReportId(v.getReportId());
             clubMapper.concactVisit(remarksVo);
             if (null != imageList && imageList.size() > 0) {
                 imageList.forEach(i -> clubMapper.insertRemarksImage(remarksVo.getRemarksId(), i));

+ 61 - 4
src/main/resources/mapper/ClubMapper.xml

@@ -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,clubType,pinceSensitve,satisfied,followup,extra)
-        values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra})
+        insert into cm_club_remarks(clubId, serviceProviderId, remarks, addTime, questionMan, concactTime,consultType,clubType,pinceSensitve,satisfied,followup,extra,productID,reportID)
+        values (#{clubId}, #{serviceProviderId}, #{remarks}, #{addTime}, #{questionMan}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra},#{productId},#{reportId})
     </insert>
     <update id="updateClubUserByUpdateInfo">
         update user set
@@ -139,7 +139,9 @@
                spID                      as serviceProviderId,
                addTime,
                status,
-               lastCheckOrderDate
+               lastCheckOrderDate,
+               newDeal as newDeal
+
         from club
         where clubID = #{clubId}
     </select>
@@ -235,6 +237,14 @@
             concactTime = now()
         where questionManId = #{questionManId}
     </update>
+
+    <update id="updateReport">
+        update cm_club_report
+        set clubId  = #{clubId},
+            questionManId=null
+        where questionManId = #{questionManId}
+    </update>
+
     <select id="findAllBeansHistory" resultType="com.caimei365.user.model.vo.BeansHistoryVo">
         SELECT
         type,
@@ -446,7 +456,9 @@
                pinceSensitve,
                satisfied,
                followup,
-               extra
+               extra,
+               productID,
+               reportID
         from cm_visitor_remarks
         where questionManId = #{questionManId}
           and remarks is not null
@@ -727,4 +739,49 @@
         WHERE remarks like concat('%',#{remarks},'%')
         order by addtime DESC
     </select>
+
+    <select id="recordClubage" 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,
+               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,
+               c.mainpro                   as mainProduct,
+               c.fax,
+               c.info                      as profile,
+               c.spID                      as serviceProviderId,
+               c.addTime,
+               c.status,
+               c.lastCheckOrderDate,
+               c.newDeal as newDeal,
+               IF(c.spid IS NOT NULL,1,0) AS spType,
+               r.describe
+
+        from club c
+        LEFT JOIN record_link r ON r.`clubId`=c.`clubID`
+        where c.clubID = #{clubId}
+        ORDER BY r.id DESC
+        LIMIT 1
+
+    </select>
+
+    <select id="serviceProviderNameage">
+        select linkMan from `serviceprovider`
+        where serviceProviderID=#{serviceproviderId}
+    </select>
+
 </mapper>

+ 15 - 9
src/main/resources/mapper/ClubReport.xml

@@ -38,6 +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)
             <if test="keyWord != null and keyWord !=''">
                 AND (p.name LIKE concat('%',#{keyWord},'%')
@@ -66,10 +67,11 @@
                cmc.`auditText` as auditText
         FROM cm_club_report cmc
                  LEFT JOIN club c ON c.clubID = cmc.clubID
-                 LEFT JOIN cm_club_remarks ccr ON ccr.clubID = cmc.clubID
+                 LEFT JOIN cm_club_remarks ccr ON cmc.Id = ccr.reportId
                  LEFT JOIN product p ON p.productID = cmc.productID
                  LEFT JOIN shop s ON s.shopID = p.shopID
         WHERE cmc.id = #{reportId}
+          and cmc.clubID is not null
         ORDER BY cmc.`addTime` DESC
     </select>
 
@@ -88,10 +90,11 @@
             s.name          as shopName,
             cmc.`auditText` as auditText
         FROM cm_club_report cmc
-                 LEFT JOIN cm_visitor_remarks ccr ON ccr.questionManId = cmc.questionManId
+                 LEFT JOIN cm_visitor_remarks ccr ON cmc.Id = ccr.reportId
                  LEFT JOIN product p ON p.productID = cmc.productID
                  LEFT JOIN shop s ON s.shopID = p.shopID
         WHERE cmc.id = #{reportId}
+          and cmc.clubID is  null
         ORDER BY cmc.`addTime` DESC
     </select>
 
@@ -99,12 +102,12 @@
 
     <select id="reportRemarks" resultType="com.caimei365.user.model.vo.ReportVo">
         SELECT DISTINCT
-        cmc.id AS reportId ,cmc.productID as productId,ccr.serviceProviderID as serviceProviderId,  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,ccr.questionMan as questionMan
+        cmc.id AS reportId ,cmc.productID AS productId,ccr.serviceProviderID AS serviceProviderId,  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,ccr.questionMan AS questionMan
         FROM cm_club_report cmc
         LEFT JOIN club c ON c.clubId=cmc.clubId
-        LEFT JOIN cm_club_remarks ccr ON cmc.clubId = ccr.clubId
+        LEFT JOIN cm_club_remarks ccr ON cmc.Id = ccr.reportId
         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
@@ -132,14 +135,14 @@
         productName,cmc.`reportText` as reportText,cmc.status AS status,cmc.`auditText` as auditText
         FROM cm_club_report cmc
         LEFT JOIN club c ON c.clubId=cmc.clubId
-        LEFT JOIN cm_visitor_remarks ccr ON cmc.questionManId = ccr.questionManId
+        LEFT JOIN cm_visitor_remarks ccr ON cmc.Id = ccr.reportId
         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 product p ON p.productID = cmc.productID
         <where>
             and cmc.clubID is null
-            and reportID is not null
+#             and reportID is not null
             <if test="keyWord != null and keyWord != ''">
                 AND p.name LIKE concat('%',#{keyWord},'%')
                 or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%')
@@ -197,6 +200,7 @@
         LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
         <where>
             and cmc.id=#{reportId}
+            and cmc.clubID is not null
             <if test="teamId!=null">
                 and csg.teamId = #{teamId}
             </if>
@@ -266,6 +270,7 @@
         LEFT JOIN cm_club_report cmc ON cmc.Id = ccr.reportID
         <where>
             and cmc.id=#{reportId}
+            and cmc.clubID is null
             and reportID is not null
             <if test="teamId!=null">
                 and csg.teamId = #{teamId}
@@ -326,11 +331,12 @@
         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
         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 ccr.questionManId = cmc.questionManId
+        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},'%')

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

@@ -107,9 +107,10 @@
         c.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
         c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,
         c.mainpro as mainProduct, c.fax, c.info as profile, c.spID as serviceProviderId, c.addTime, c.status, c.lastCheckOrderDate,
-        u.userIdentity,c.newDeal as newDeal
+        u.userIdentity,c.newDeal as newDeal,IF(r.id IS NOT NULL,1,0) AS recordCount
         from club c
         left join user u on c.userID = u.userID
+        LEFT JOIN record_link r ON r.`clubId`=c.`clubID`
         where c.spID = #{serviceProviderId}
         <if test="status != null and status != 66">
             AND c.status = #{status}