瀏覽代碼

(咨询记录)日常更新

Duan_xu 2 年之前
父節點
當前提交
437637a1d0

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

@@ -216,13 +216,19 @@ public class ClubApi {
 
     @ApiOperation("注册机构报备列表")
     @GetMapping("/report/List")
-    public ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubID,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return clubService.ClubReportList(serviceProviderId,clubID,pageNum,pageSize);
+    public ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return clubService.ClubReportList(serviceProviderId,clubId,keyWord,pageNum,pageSize);
+    }
+
+    @ApiOperation("未注册机构报备列表")
+    @GetMapping("/report/visitor/List")
+    public ResponseJson<PaginationVo<ReportVo>> visitorReportList(Integer questionManId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return clubService.visitorReportList(questionManId,keyWord,pageNum,pageSize);
     }
 
 
     @ApiOperation("报备详情")
-    @GetMapping("/report/DetailsList")
+    @GetMapping("/report/details")
     public ResponseJson<ReportVo> ClubReportList(Integer reportId) {
         return clubService.reportDetailsList(reportId);
     }
@@ -234,13 +240,57 @@ public class ClubApi {
         return clubService.saveClubReport(reportVo);
     }
 
+    @ApiOperation("未机构新建报备")
+    @PostMapping("/report/visitor/save")
+    public ResponseJson  addVisitorReport(ReportVo reportVo) {
+        return clubService.addVisitorReport(reportVo);
+    }
+
+
     @ApiOperation("咨询/报备关联商品")
     @GetMapping("/report/productList")
-    public ResponseJson<PaginationVo<ProductItemVo>> getproductList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return clubService.getproductList(pageNum,pageSize);
+    public ResponseJson<PaginationVo<ProductItemVo>> getproductList(String keyWord,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return clubService.getproductList(keyWord,pageNum,pageSize);
     }
 
+    @ApiOperation("机构报备列表")
+    @GetMapping("/report/reportRemarks")
+public ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Integer serviceProviderId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1")int pageNum, @RequestParam(value = "pageSize", defaultValue = "10")int pageSize){
 
+        return  clubService.reportRemarks(manager,serviceProviderId,keyWord,pageNum,pageSize);
+}
+
+    @ApiOperation("未注册机构报备列表")
+    @GetMapping("/report/visitor/reportRemarks")
+    public ResponseJson<PaginationVo<ReportVo>> visitorReportRemarks(Integer manager,Integer serviceProviderId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1")int pageNum, @RequestParam(value = "pageSize", defaultValue = "10")int pageSize){
+
+        return  clubService.visitorReportRemarks(manager,serviceProviderId,keyWord,pageNum,pageSize);
+    }
+
+    @ApiOperation("关联咨询记录列表")
+    @GetMapping("/report/associatedList")
+    public ResponseJson<PaginationVo<RemarksVo>>associated(Integer reportId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return clubService.associated(reportId,keyWord,pageNum,pageSize);
+    }
+
+    @ApiOperation("未注册关联咨询记录列表")
+    @GetMapping("/report/visitor/associatedList")
+    public ResponseJson<PaginationVo<RemarksVo>>visitorAssociated(Integer reportId,String keyWord,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return clubService.visitorAssociated(reportId,keyWord,pageNum,pageSize);
+    }
+
+
+    @ApiOperation("取消咨询记录和报备的关联")
+    @GetMapping("/report/disassociation")
+    public ResponseJson<PaginationVo<RemarksVo>>disassociation(Integer remarksId) {
+        return clubService.disassociation(remarksId);
+    }
+
+    @ApiOperation("未注册机构取消咨询记录和报备的关联")
+    @GetMapping("/report/visitor/disassociation")
+    public ResponseJson<PaginationVo<RemarksVo>>visitorDisassociation(Integer remarksId) {
+        return clubService.visitorDisassociation(remarksId);
+    }
 
 
     @ApiOperation("删除机构资料备注")
@@ -250,6 +300,7 @@ public class ClubApi {
         return clubService.deleteClubRemarks(clubRemarksDto.getRemarksId());
     }
 
+
     /**
      * 机构个人中心数据
      */

+ 22 - 3
src/main/java/com/caimei365/user/mapper/ClubReportMapper.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.mapper;
 
 import com.caimei365.user.model.vo.ProductItemVo;
+import com.caimei365.user.model.vo.RemarksVo;
 import com.caimei365.user.model.vo.ReportVo;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -17,16 +18,34 @@ public interface ClubReportMapper {
 
 void addClubReport(ReportVo reportVo);
 
-List<ProductItemVo> productList();
+List<ProductItemVo> productList(String keyWord);
 
-List<ReportVo> reportList(Integer serviceProviderId,Integer clubID);
+List<ReportVo> reportList(Integer serviceProviderId,Integer clubId,String keyWord);
 
 ReportVo reportDetailsList(Integer reportId);
 
-List<ReportVo>reportRemarks(Integer teamId);
+List<ReportVo>reportRemarks(Integer teamId,Integer serviceProviderId,String keyWord);
+
+List<ReportVo>visitorReportRemarks(Integer teamId,Integer serviceProviderId,String keyWord);
 
 Integer reportLeaderId(Integer serviceProviderId);
 
+String roeprtNa(Integer serviceProviderId);
+
+List<RemarksVo> associated(Integer reportId,String keyWord);
+
+List<RemarksVo> visitorAssociated(Integer reportId,String keyWord);
+
+void disassociation(Integer remarksId);
+
+void visitorDisassociation(Integer remarksId);
+
+List<ReportVo>visitorReportList(Integer questionManId,String keyWord);
+
+void addVisitorReport(ReportVo reportVo);
+
+String visitorMan(Integer questionManId);
+
 
 
 }

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

@@ -151,4 +151,8 @@ public class ClubVo implements Serializable {
      * 最后查看订单时间
      */
     private Date lastCheckOrderDate;
+    /**
+     *新分配机构状态 1.是 2.否
+     */
+    private Integer newDeal;
 }

+ 10 - 2
src/main/java/com/caimei365/user/model/vo/ReportVo.java

@@ -13,9 +13,11 @@ import java.io.Serializable;
 @Data
 public class ReportVo implements Serializable {
 
-    private Integer productID;//商品id
+    private Integer reportId;
 
-    private Integer clubID;//机构ID
+    private Integer productId;//商品id
+
+    private Integer clubId;//机构ID
 
     private String reportName;//咨询人
 
@@ -41,6 +43,12 @@ public class ReportVo implements Serializable {
 
     private String linkMan;//联系人
 
+    private Integer serviceProviderId;//协销ID
+
+    private Integer questionManId;//咨询人ID
+
+    private String questionMan;//咨询人名称
+
 
 
 }

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

@@ -86,4 +86,40 @@ public class VisitRemarkVo  implements Serializable {
      * 额外说明
      */
     private String extra;
+    /**
+     *报备审核状态 0.全部 1.待审核 2.已审核 3.审核未通过
+     */
+    private Integer status;
+    /**
+     * 报备ID
+     */
+    private Integer reportId;
+    /**
+     * 报备商品ID
+     */
+    private Integer productId;
+    /**
+     * 商品主图
+     */
+    private String mainImage;
+    /**
+     * 商品名称
+     */
+    private String productName;
+    /**
+     * 供应商名称
+     */
+    private String shopName;
+    /**
+     * 报备事由
+     */
+    private String reportText;
+    /**
+     * 审核备注
+     */
+    private String auditText;
+    /**
+     * 新分配机构状态 0.否,1.是
+     */
+    private Integer newDeal;
 }

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

@@ -93,4 +93,40 @@ public class VisitorRemarkVo implements Serializable {
      * 额外说明
      */
     private String extra;
+    /**
+     *报备审核状态 0.全部 1.待审核 2.已审核 3.审核未通过
+     */
+    private Integer status;
+    /**
+     * 报备ID
+     */
+    private Integer reportId;
+    /**
+     * 报备商品ID
+     */
+    private Integer productId;
+    /**
+     * 商品主图
+     */
+    private String mainImage;
+    /**
+     * 商品名称
+     */
+    private String productName;
+    /**
+     * 供应商名称
+     */
+    private String shopName;
+    /**
+     * 报备事由
+     */
+    private String reportText;
+    /**
+     * 审核备注
+     */
+    private String auditText;
+    /**
+     * 新分配机构状态 0.否,1.是
+     */
+    private Integer newDeal;
 }

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

@@ -7,6 +7,7 @@ import com.caimei365.user.model.dto.JsonParamsDto;
 import com.caimei365.user.model.vo.*;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -111,12 +112,25 @@ public interface ClubService {
 
     ResponseJson saveClubReport(ReportVo reportVo);
 
-    ResponseJson<PaginationVo<ProductItemVo>> getproductList(int pageNum,int pageSize);
+    ResponseJson<PaginationVo<ProductItemVo>> getproductList(String keyWord,int pageNum,int pageSize);
 
-    ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubID,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize);
+    ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubId,String keyWord, int pageNum,  int pageSize);
+
+    ResponseJson<PaginationVo<ReportVo>> visitorReportList(Integer questionManId,String keyWord, int pageNum,  int pageSize);
+
+    ResponseJson addVisitorReport(ReportVo reportVo);
 
     ResponseJson<ReportVo> reportDetailsList(Integer reportId);
 
+    ResponseJson<PaginationVo<RemarksVo>>associated(Integer reportId,String keyWord, int pageNum,int pageSize);
+
+    ResponseJson<PaginationVo<RemarksVo>>visitorAssociated(Integer reportId,String keyWord, int pageNum,  int pageSize);
+
+    ResponseJson disassociation(Integer remarksId);
+
+    ResponseJson visitorDisassociation(Integer remarksId);
+
+
         /**
          * 获取机构资料备注列表
          *
@@ -232,5 +246,7 @@ public interface ClubService {
 
     ResponseJson getCmRemarksList(String remarks);
 
-    ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Integer serviceProviderId,int pageNum, int pageSize);
+    ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Integer serviceProviderId,String keyWord,int pageNum, int pageSize);
+
+    ResponseJson<PaginationVo<ReportVo>> visitorReportRemarks(Integer manager,Integer serviceProviderId,String keyWord,int pageNum, int pageSize);
 }

+ 80 - 10
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -390,8 +390,8 @@ public class ClubServiceImpl implements ClubService {
             Integer satisfied = jsonObject.getInteger("satisfied");
             Integer followup = jsonObject.getInteger("followup");
             String extra = jsonObject.getString("extra");
-            Integer productID = jsonObject.getInteger("productID");
-            Integer reportID = jsonObject.getInteger("reportID");
+            Integer productID = jsonObject.getInteger("productId");
+            Integer reportID = jsonObject.getInteger("reportId");
             if (null == clubId) {
                 return ResponseJson.error("参数异常,机构id不能为空");
             }
@@ -471,19 +471,28 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-    public  ResponseJson<PaginationVo<ProductItemVo>> getproductList(int pageNum,  int pageSize){
+    public  ResponseJson<PaginationVo<ProductItemVo>> getproductList(String keyWord,int pageNum,  int pageSize){
         PageHelper.startPage(pageNum, pageSize);
-        List<ProductItemVo> productList=clubReportMapper.productList();
+        List<ProductItemVo> productList=clubReportMapper.productList(keyWord);
         return ResponseJson.success(new PaginationVo<>(productList));
     }
 
     @Override
-    public ResponseJson<PaginationVo<ReportVo>> ClubReportList(Integer serviceProviderId,Integer clubID,@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+    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);
+        List<ReportVo>reportList=clubReportMapper.reportList(serviceProviderId,clubId,keyWord);
         return ResponseJson.success(new PaginationVo<>(reportList));
     }
 
+    @Override
+    public ResponseJson<PaginationVo<ReportVo>> visitorReportList(Integer questionManId,String keyWord, int pageNum,  int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<ReportVo>reportList=clubReportMapper.visitorReportList(questionManId,keyWord);
+        return ResponseJson.success(new PaginationVo<>(reportList));
+    }
+
+
+
     @Override
     public ResponseJson<ReportVo> reportDetailsList(Integer reportId) {
        ReportVo reportVo=clubReportMapper.reportDetailsList(reportId);
@@ -492,10 +501,44 @@ public class ClubServiceImpl implements ClubService {
 
         @Override
     public ResponseJson saveClubReport(ReportVo reportVo) {
+        reportVo.setReportName(clubReportMapper.roeprtNa(reportVo.getServiceProviderId()));
         clubReportMapper.addClubReport(reportVo);
            return ResponseJson.success("保存成功");
     }
 
+    @Override
+    public ResponseJson addVisitorReport(ReportVo reportVo) {
+        reportVo.setReportName(clubReportMapper.visitorMan(reportVo.getQuestionManId()));
+        clubReportMapper.addVisitorReport(reportVo);
+        return ResponseJson.success("保存成功");
+    }
+
+    @Override
+    public ResponseJson disassociation(Integer remarksId){
+        clubReportMapper.disassociation(remarksId);
+        return ResponseJson.success("取消成功");
+    }
+
+    @Override
+    public ResponseJson visitorDisassociation(Integer remarksId){
+        clubReportMapper.visitorDisassociation(remarksId);
+        return ResponseJson.success("取消成功");
+    }
+
+
+    @Override
+    public ResponseJson<PaginationVo<RemarksVo>>associated(Integer reportId,String keyWord, int pageNum,  int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<RemarksVo>reportList=clubReportMapper.associated(reportId,keyWord);
+        return ResponseJson.success(new PaginationVo<>(reportList));
+    }
+
+    @Override
+    public ResponseJson<PaginationVo<RemarksVo>>visitorAssociated(Integer reportId,String keyWord, int pageNum,  int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<RemarksVo>reportList=clubReportMapper.visitorAssociated(reportId,keyWord);
+        return ResponseJson.success(new PaginationVo<>(reportList));
+    }
 
     @Override
     public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId,
@@ -674,22 +717,42 @@ public class ClubServiceImpl implements ClubService {
     }
 
     @Override
-   public ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Integer serviceProviderId,int pageNum, int pageSize){
+   public ResponseJson<PaginationVo<ReportVo>> visitorReportRemarks(Integer manager,Integer serviceProviderId,String keyWord,int pageNum, int pageSize){
         Integer teamId= clubReportMapper.reportLeaderId(serviceProviderId);
         List<ReportVo> pageInfo = null;
         PageHelper.startPage(pageNum, pageSize);
         if (null != manager && 1 == manager) {
             //主管查所有注册客户咨询记录
             log.info("方法1 管理员");
+            pageInfo = clubReportMapper.visitorReportRemarks(teamId,serviceProviderId,keyWord);
+        } else if (null != teamId && teamId > 0) {
+            log.info("方法2 协销组长");
 
-            pageInfo = clubReportMapper.reportRemarks(teamId);
+            pageInfo = clubReportMapper.visitorReportRemarks(teamId,serviceProviderId,keyWord);
+        } else {
+            log.info("方法3 协销");
+            pageInfo = clubReportMapper.visitorReportRemarks(teamId,serviceProviderId,keyWord);
+        }
+        return ResponseJson.success(new PaginationVo<>(pageInfo));
+    }
+
+
+    @Override
+    public ResponseJson<PaginationVo<ReportVo>> reportRemarks(Integer manager,Integer serviceProviderId,String keyWord,int pageNum, int pageSize){
+        Integer teamId= clubReportMapper.reportLeaderId(serviceProviderId);
+        List<ReportVo> pageInfo = null;
+        PageHelper.startPage(pageNum, pageSize);
+        if (null != manager && 1 == manager) {
+            //主管查所有注册客户咨询记录
+            log.info("方法1 管理员");
+            pageInfo = clubReportMapper.reportRemarks(teamId,serviceProviderId,keyWord);
         } else if (null != teamId && teamId > 0) {
             log.info("方法2 协销组长");
 
-            pageInfo = clubReportMapper.reportRemarks(teamId);
+            pageInfo = clubReportMapper.reportRemarks(teamId,serviceProviderId,keyWord);
         } else {
             log.info("方法3 协销");
-            pageInfo = clubReportMapper.reportRemarks(teamId);
+            pageInfo = clubReportMapper.reportRemarks(teamId,serviceProviderId,keyWord);
         }
         return ResponseJson.success(new PaginationVo<>(pageInfo));
     }
@@ -1025,6 +1088,13 @@ public class ClubServiceImpl implements ClubService {
         visit.setPinceSensitve(visitRemarksVo.getPinceSensitve());
         visit.setExtra(visitRemarksVo.getExtra());
 
+        visit.setMainImage(visitRemarksVo.getMainImage());
+        visit.setReportText(visitRemarksVo.getReportText());
+        visit.setProductName(visitRemarksVo.getProductName());
+        visit.setShopName(visitRemarksVo.getShopName());
+        visit.setStatus(visitRemarksVo.getStatus());
+        visit.setAuditText(visitRemarksVo.getAuditText());
+
         if (StringUtils.isNotBlank(visitRemarksVo.getConsult())) {
             if (visitRemarksVo.getConsult().contains(",")) {
                 List<String> cons = Arrays.asList(visitRemarksVo.getConsult().split(","));

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

@@ -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,clubType,pinceSensitve,satisfied,followup,extra)
-        values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra})
+        insert into cm_visitor_remarks(questionMan, questionManId, serviceProviderId, remarks, addTime,consultType,clubType,pinceSensitve,satisfied,followup,extra,reportID,productID)
+        values (#{questionMan}, #{questionManId}, #{serviceProviderId}, #{remarks}, now(),#{consult}, #{clubType}, #{pinceSensitve}, #{satisfied}, #{followup}, #{extra},#{reportId},#{productId})
     </insert>
     <insert id="insertVisitorRemarksImage">
         insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
@@ -224,7 +224,9 @@
             pinceSensitve=#{pinceSensitve},
             satisfied=#{satisfied},
             followup=#{followup},
-            extra=#{extra}
+            extra=#{extra},
+            reportID=#{reportId},
+            productID=#{productId}
         where id = #{remarksId}
     </update>
     <update id="updateVisit">
@@ -390,8 +392,14 @@
         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,clubType,pinceSensitve,satisfied,followup,extra
-        from cm_visitor_remarks
+        select 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
+        from cm_visitor_remarks ccr
+         LEFT JOIN club c ON ccr.clubId = c.clubId
+         LEFT JOIN product p ON p.productID = ccr.productID
+         LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
+         LEFT JOIN shop s ON s.shopID = p.shopID
         where id = #{remarksId}
           AND remarks IS NOT NULL
           and clubId is null
@@ -648,11 +656,12 @@
         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
+        (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.serviceProviderId) AS recordName,cmc.status as status
         FROM cm_visitor_remarks ccr
         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.ID = ccr.reportID
         <where>
             and ccr.remarks IS NOT NULL
             and ccr.clubId is null
@@ -682,6 +691,9 @@
             <if test="followup != '' and followup !=null">
                 and ccr.followup LIKE concat('%',#{followup},'%')
             </if>
+             <if test="status!=null">
+                and cmc.status=#{status}
+             </if>
             <if test="con != null and con.size > 0">
                 and
                 <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">

+ 146 - 12
src/main/resources/mapper/ClubReport.xml

@@ -3,14 +3,26 @@
 <mapper namespace="com.caimei365.user.mapper.ClubReportMapper">
 
     <insert id="addClubReport">
-        INSERT INTO cm_club_report (clubID,productID,reportName,reportText,addTime,status)  VALUES(#{clubID},#{productID},#{reportName},#{reportText},now(),2)
+        INSERT INTO cm_club_report (clubID,productID,reportName,reportText,addTime,status)  VALUES(#{clubId},#{productId},#{reportName},#{reportText},now(),2)
+    </insert>
+
+    <insert id="addVisitorReport">
+        INSERT INTO cm_club_report (productID,reportName,reportText,addTime,status)  VALUES(#{productId},#{reportName},#{reportText},now(),2)
     </insert>
 
 
     <select id="productList"  resultType="com.caimei365.user.model.vo.ProductItemVo">
         SELECT p.productID,p.mainImage as image,p.name,p.price,s.name as shopName FROM `product` p
         LEFT JOIN shop s ON s.shopID = p.shopID
-        WHERE p.validFlag=2 OR p.validFlag=9
+        LEFT JOIN cm_club_report cmc ON p.productID = cmc.productID
+        <where>
+         (p.validFlag=9 or p.validFlag=2)
+        <if test="keyWord != null and keyWord !=''">
+           and p.name LIKE concat('%',#{keyWord},'%')
+        </if>
+
+
+        </where>
     </select>
 
 <select id="reportList" resultType="com.caimei365.user.model.vo.ReportVo">
@@ -19,8 +31,14 @@
     LEFT JOIN cm_club_remarks ccr ON ccr.reportID = cmc.id
     LEFT JOIN club c ON c.clubID = cmc.clubID
     LEFT JOIN product p ON p.productID = cmc.productID
-    WHERE ccr.`serviceProviderId`=#{serviceProviderId}
-          AND cmc.`clubID`=#{clubID}
+    <where>
+         (ccr.`serviceProviderId`=#{serviceProviderId} OR cmc.`clubID`=#{clubId})
+        <if test="keyWord != null and keyWord !=''">
+            AND (p.name LIKE concat('%',#{keyWord},'%')
+            or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
+        </if>
+
+</where>
 </select>
 
     <select id="reportDetailsList" resultType="com.caimei365.user.model.vo.ReportVo">
@@ -33,22 +51,55 @@
     </select>
 
     <select id="reportRemarks" resultType="com.caimei365.user.model.vo.ReportVo">
-        SELECT DISTINCT
-           cmc.id AS reportId , 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`
+        SELECT
+        ccr.serviceProviderID, cmc.id AS reportId , 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`
         FROM cm_club_report cmc
-                 LEFT JOIN club c ON c.clubId=cmc.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
-                 LEFT JOIN product p ON p.productID = cmc.productID
+        LEFT JOIN club c ON c.clubId=cmc.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
+        LEFT JOIN product p ON p.productID = cmc.productID
                     <where>
+                        <if test="keyWord != null and keyWord !=''">
+                            AND (p.name LIKE concat('%',#{keyWord},'%')
+                            or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
+                        </if>
                         <if test="teamId!=null">
                            and csg.teamId = #{teamId}
                         </if>
+                        <if test="teamId==null and serviceProviderId!=null">
+                          and ccr.serviceProviderId=#{serviceProviderId}
+                        </if>
                     </where>
     </select>
 
+    <select id="visitorReportRemarks" resultType="com.caimei365.user.model.vo.ReportVo">
+        SELECT
+        ccr.serviceProviderID, cmc.id AS reportId , 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`
+        FROM cm_club_report cmc
+        LEFT JOIN club c ON c.clubId=cmc.clubId
+        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>
+            <if test="keyWord != null and keyWord !=''">
+                AND (p.name LIKE concat('%',#{keyWord},'%')
+                or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
+            </if>
+            <if test="teamId!=null">
+                and csg.teamId = #{teamId}
+            </if>
+            <if test="teamId==null and serviceProviderId!=null">
+                and ccr.serviceProviderId=#{serviceProviderId}
+            </if>
+        </where>
+    </select>
+
+
+
     <select id="reportLeaderId" resultType="java.lang.Integer">
         SELECT id FROM cm_serviceteam_role csr
         LEFT JOIN serviceprovider s ON s.serviceProviderId=csr.leaderId
@@ -56,4 +107,87 @@
     </select>
 
 
+
+    <select id="roeprtNa" resultType="java.lang.String">
+        SELECT NAME FROM serviceprovider WHERE serviceProviderID=#{serviceProviderId}
+    </select>
+
+    <select id="visitorMan" resultType="java.lang.String">
+        SELECT questionMan FROM cm_visitor_remarks WHERE questionManId=#{questionManId}
+    </select>
+
+
+    <select id="associated" resultType="com.caimei365.user.model.vo.RemarksVo">
+        SELECT
+            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,c.newDeal AS newDeal,cmc.status AS STATUS
+#         (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
+                 LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
+        <where>
+        and cmc.id=#{reportId}
+            <if test="keyWord != null and keyWord !=''">
+                and cmc.reportText LIKE CONCAT('%', #{keyWord}, '%')
+            </if>
+          </where>
+    </select>
+
+
+    <select id="visitorAssociated" resultType="com.caimei365.user.model.vo.RemarksVo">
+        SELECT
+            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,c.newDeal AS newDeal,cmc.status AS STATUS
+#         (SELECT linkMan FROM serviceprovider s WHERE s.serviceProviderID = ccr.oldserviceProviderId) AS oldName
+        FROM cm_visitor_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
+                 LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
+        <where>
+            and cmc.id=#{reportId}
+            <if test="keyWord != null and keyWord !=''">
+                and cmc.reportText LIKE CONCAT('%', #{keyWord}, '%')
+            </if>
+        </where>
+    </select>
+
+
+
+    <update id="disassociation">
+        UPDATE cm_club_remarks SET reportId=NULL WHERE Id=#{remarksId}
+    </update>
+
+    <update id="visitorDisassociation">
+        UPDATE cm_visitor_remarks SET reportId=NULL WHERE Id=#{remarksId}
+    </update>
+
+
+    <select id="visitorReportList" resultType="com.caimei365.user.model.vo.ReportVo">
+        SELECT ccr.questionMan as questionMan,c.`name` as clubName,cmc.`addTime`,p.`name` as productName,p.`mainImage` as mainImage,cmc.`reportText`
+        FROM cm_club_report cmc
+        LEFT JOIN cm_club_remarks ccr ON ccr.reportID = cmc.id
+        LEFT JOIN club c ON c.clubID = cmc.clubID
+        LEFT JOIN product p ON p.productID = cmc.productID
+        <where>
+            and ccr.`questionManId`=#{questionManId}
+            <if test="keyWord != null and keyWord !=''">
+                AND (p.name LIKE concat('%',#{keyWord},'%')
+                or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
+            </if>
+
+        </where>
+    </select>
+
+
 </mapper>

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

@@ -107,7 +107,7 @@
         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
+        u.userIdentity,c.newDeal as newDeal
         from club c
         left join user u on c.userID = u.userID
         where c.spID = #{serviceProviderId}