Parcourir la source

(咨询记录)日常更新

Duan_xu il y a 2 ans
Parent
commit
437637a1d0

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

@@ -216,13 +216,19 @@ public class ClubApi {
 
 
     @ApiOperation("注册机构报备列表")
     @ApiOperation("注册机构报备列表")
     @GetMapping("/report/List")
     @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("报备详情")
     @ApiOperation("报备详情")
-    @GetMapping("/report/DetailsList")
+    @GetMapping("/report/details")
     public ResponseJson<ReportVo> ClubReportList(Integer reportId) {
     public ResponseJson<ReportVo> ClubReportList(Integer reportId) {
         return clubService.reportDetailsList(reportId);
         return clubService.reportDetailsList(reportId);
     }
     }
@@ -234,13 +240,57 @@ public class ClubApi {
         return clubService.saveClubReport(reportVo);
         return clubService.saveClubReport(reportVo);
     }
     }
 
 
+    @ApiOperation("未机构新建报备")
+    @PostMapping("/report/visitor/save")
+    public ResponseJson  addVisitorReport(ReportVo reportVo) {
+        return clubService.addVisitorReport(reportVo);
+    }
+
+
     @ApiOperation("咨询/报备关联商品")
     @ApiOperation("咨询/报备关联商品")
     @GetMapping("/report/productList")
     @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("删除机构资料备注")
     @ApiOperation("删除机构资料备注")
@@ -250,6 +300,7 @@ public class ClubApi {
         return clubService.deleteClubRemarks(clubRemarksDto.getRemarksId());
         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;
 package com.caimei365.user.mapper;
 
 
 import com.caimei365.user.model.vo.ProductItemVo;
 import com.caimei365.user.model.vo.ProductItemVo;
+import com.caimei365.user.model.vo.RemarksVo;
 import com.caimei365.user.model.vo.ReportVo;
 import com.caimei365.user.model.vo.ReportVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
@@ -17,16 +18,34 @@ public interface ClubReportMapper {
 
 
 void addClubReport(ReportVo reportVo);
 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);
 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);
 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;
     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
 @Data
 public class ReportVo implements Serializable {
 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;//咨询人
     private String reportName;//咨询人
 
 
@@ -41,6 +43,12 @@ public class ReportVo implements Serializable {
 
 
     private String linkMan;//联系人
     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;
     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;
     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 com.caimei365.user.model.vo.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -111,12 +112,25 @@ public interface ClubService {
 
 
     ResponseJson saveClubReport(ReportVo reportVo);
     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<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 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 satisfied = jsonObject.getInteger("satisfied");
             Integer followup = jsonObject.getInteger("followup");
             Integer followup = jsonObject.getInteger("followup");
             String extra = jsonObject.getString("extra");
             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) {
             if (null == clubId) {
                 return ResponseJson.error("参数异常,机构id不能为空");
                 return ResponseJson.error("参数异常,机构id不能为空");
             }
             }
@@ -471,19 +471,28 @@ public class ClubServiceImpl implements ClubService {
     }
     }
 
 
     @Override
     @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);
         PageHelper.startPage(pageNum, pageSize);
-        List<ProductItemVo> productList=clubReportMapper.productList();
+        List<ProductItemVo> productList=clubReportMapper.productList(keyWord);
         return ResponseJson.success(new PaginationVo<>(productList));
         return ResponseJson.success(new PaginationVo<>(productList));
     }
     }
 
 
     @Override
     @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);
         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));
         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
     @Override
     public ResponseJson<ReportVo> reportDetailsList(Integer reportId) {
     public ResponseJson<ReportVo> reportDetailsList(Integer reportId) {
        ReportVo reportVo=clubReportMapper.reportDetailsList(reportId);
        ReportVo reportVo=clubReportMapper.reportDetailsList(reportId);
@@ -492,10 +501,44 @@ public class ClubServiceImpl implements ClubService {
 
 
         @Override
         @Override
     public ResponseJson saveClubReport(ReportVo reportVo) {
     public ResponseJson saveClubReport(ReportVo reportVo) {
+        reportVo.setReportName(clubReportMapper.roeprtNa(reportVo.getServiceProviderId()));
         clubReportMapper.addClubReport(reportVo);
         clubReportMapper.addClubReport(reportVo);
            return ResponseJson.success("保存成功");
            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
     @Override
     public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId,
     public ResponseJson<PaginationVo<RemarkVo>> getRemarksList(Integer serviceProviderId,
@@ -674,22 +717,42 @@ public class ClubServiceImpl implements ClubService {
     }
     }
 
 
     @Override
     @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);
         Integer teamId= clubReportMapper.reportLeaderId(serviceProviderId);
         List<ReportVo> pageInfo = null;
         List<ReportVo> pageInfo = null;
         PageHelper.startPage(pageNum, pageSize);
         PageHelper.startPage(pageNum, pageSize);
         if (null != manager && 1 == manager) {
         if (null != manager && 1 == manager) {
             //主管查所有注册客户咨询记录
             //主管查所有注册客户咨询记录
             log.info("方法1 管理员");
             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) {
         } else if (null != teamId && teamId > 0) {
             log.info("方法2 协销组长");
             log.info("方法2 协销组长");
 
 
-            pageInfo = clubReportMapper.reportRemarks(teamId);
+            pageInfo = clubReportMapper.reportRemarks(teamId,serviceProviderId,keyWord);
         } else {
         } else {
             log.info("方法3 协销");
             log.info("方法3 协销");
-            pageInfo = clubReportMapper.reportRemarks(teamId);
+            pageInfo = clubReportMapper.reportRemarks(teamId,serviceProviderId,keyWord);
         }
         }
         return ResponseJson.success(new PaginationVo<>(pageInfo));
         return ResponseJson.success(new PaginationVo<>(pageInfo));
     }
     }
@@ -1025,6 +1088,13 @@ public class ClubServiceImpl implements ClubService {
         visit.setPinceSensitve(visitRemarksVo.getPinceSensitve());
         visit.setPinceSensitve(visitRemarksVo.getPinceSensitve());
         visit.setExtra(visitRemarksVo.getExtra());
         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 (StringUtils.isNotBlank(visitRemarksVo.getConsult())) {
             if (visitRemarksVo.getConsult().contains(",")) {
             if (visitRemarksVo.getConsult().contains(",")) {
                 List<String> cons = Arrays.asList(visitRemarksVo.getConsult().split(","));
                 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})
         values (#{questionManId}, #{serviceProviderId}, #{remarks}, now(), #{questionMan}, #{concactTime})
     </insert>
     </insert>
     <insert id="insertVisitorRemark" keyProperty="remarksId" useGeneratedKeys="true">
     <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>
     <insert id="insertVisitorRemarksImage">
     <insert id="insertVisitorRemarksImage">
         insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
         insert into cm_visitor_remarks_file(remarksId, fileType, imageUrl)
@@ -224,7 +224,9 @@
             pinceSensitve=#{pinceSensitve},
             pinceSensitve=#{pinceSensitve},
             satisfied=#{satisfied},
             satisfied=#{satisfied},
             followup=#{followup},
             followup=#{followup},
-            extra=#{extra}
+            extra=#{extra},
+            reportID=#{reportId},
+            productID=#{productId}
         where id = #{remarksId}
         where id = #{remarksId}
     </update>
     </update>
     <update id="updateVisit">
     <update id="updateVisit">
@@ -390,8 +392,14 @@
         ORDER BY addTime DESC
         ORDER BY addTime DESC
     </select>
     </select>
     <select id="getVisitRemark" resultType="com.caimei365.user.model.vo.VisitorRemarkVo">
     <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}
         where id = #{remarksId}
           AND remarks IS NOT NULL
           AND remarks IS NOT NULL
           and clubId is 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.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,
         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 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
         FROM cm_visitor_remarks ccr
         LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
         LEFT JOIN serviceprovider s ON ccr.serviceProviderId = s.serviceProviderID
         LEFT JOIN cm_serviceTeam_group csg ON ccr.serviceProviderId = csg.serviceId
         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_serviceTeam_role csr ON csr.id = csg.teamId
+        LEFT JOIN cm_club_report cmc ON cmc.ID = ccr.reportID
         <where>
         <where>
             and ccr.remarks IS NOT NULL
             and ccr.remarks IS NOT NULL
             and ccr.clubId is null
             and ccr.clubId is null
@@ -682,6 +691,9 @@
             <if test="followup != '' and followup !=null">
             <if test="followup != '' and followup !=null">
                 and ccr.followup LIKE concat('%',#{followup},'%')
                 and ccr.followup LIKE concat('%',#{followup},'%')
             </if>
             </if>
+             <if test="status!=null">
+                and cmc.status=#{status}
+             </if>
             <if test="con != null and con.size > 0">
             <if test="con != null and con.size > 0">
                 and
                 and
                 <foreach collection="con" item="item" index="index" open="(" close=")" separator="OR">
                 <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">
 <mapper namespace="com.caimei365.user.mapper.ClubReportMapper">
 
 
     <insert id="addClubReport">
     <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>
     </insert>
 
 
 
 
     <select id="productList"  resultType="com.caimei365.user.model.vo.ProductItemVo">
     <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
         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
         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>
 
 
 <select id="reportList" resultType="com.caimei365.user.model.vo.ReportVo">
 <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 cm_club_remarks ccr ON ccr.reportID = cmc.id
     LEFT JOIN club c ON c.clubID = cmc.clubID
     LEFT JOIN club c ON c.clubID = cmc.clubID
     LEFT JOIN product p ON p.productID = cmc.productID
     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>
 
 
     <select id="reportDetailsList" resultType="com.caimei365.user.model.vo.ReportVo">
     <select id="reportDetailsList" resultType="com.caimei365.user.model.vo.ReportVo">
@@ -33,22 +51,55 @@
     </select>
     </select>
 
 
     <select id="reportRemarks" resultType="com.caimei365.user.model.vo.ReportVo">
     <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
         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>
                     <where>
+                        <if test="keyWord != null and keyWord !=''">
+                            AND (p.name LIKE concat('%',#{keyWord},'%')
+                            or cmc.reportText LIKE CONCAT('%', #{keyWord}, '%'))
+                        </if>
                         <if test="teamId!=null">
                         <if test="teamId!=null">
                            and csg.teamId = #{teamId}
                            and csg.teamId = #{teamId}
                         </if>
                         </if>
+                        <if test="teamId==null and serviceProviderId!=null">
+                          and ccr.serviceProviderId=#{serviceProviderId}
+                        </if>
                     </where>
                     </where>
     </select>
     </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="reportLeaderId" resultType="java.lang.Integer">
         SELECT id FROM cm_serviceteam_role csr
         SELECT id FROM cm_serviceteam_role csr
         LEFT JOIN serviceprovider s ON s.serviceProviderId=csr.leaderId
         LEFT JOIN serviceprovider s ON s.serviceProviderId=csr.leaderId
@@ -56,4 +107,87 @@
     </select>
     </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>
 </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.address, c.headpic as shopPhoto, c.businessLicenseImage as businessLicense, c.socialCreditCode,
         c.firstClubType, c.secondClubType, c.department, c.medicalPracticeLicenseImg as medicalPracticeLicense,
         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.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
         from club c
         left join user u on c.userID = u.userID
         left join user u on c.userID = u.userID
         where c.spID = #{serviceProviderId}
         where c.spID = #{serviceProviderId}