傅行帆 5 years ago
parent
commit
15c0a1bd93

+ 3
- 3
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java View File

263
      * @return
263
      * @return
264
      */
264
      */
265
     @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
265
     @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
266
-    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
266
+    public ResponseBean wxPersonVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
267
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
267
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
268
-                                                @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
268
+                                                @RequestParam(value = "userId") Integer userId,@RequestParam(value = "targetId")String targetId,HttpServletRequest request){
269
         try {
269
         try {
270
             //使用分页插件
270
             //使用分页插件
271
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
271
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
272
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
272
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request),targetId);
273
             return ResponseBean.success(result);
273
             return ResponseBean.success(result);
274
         }catch (Exception e){
274
         }catch (Exception e){
275
             e.printStackTrace();
275
             e.printStackTrace();

+ 6
- 6
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java View File

398
     public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
398
     public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
399
         Integer orgId = getOrgId(request);
399
         Integer orgId = getOrgId(request);
400
         try{
400
         try{
401
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId));
401
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId,getTaPersonBuildingListByUserId(request)));
402
         }catch (Exception e){
402
         }catch (Exception e){
403
             e.printStackTrace();
403
             e.printStackTrace();
404
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
404
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
415
         }
415
         }
416
         TaPerson person = taPersons.get(0);
416
         TaPerson person = taPersons.get(0);
417
         try{
417
         try{
418
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId));
418
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId,null));
419
         }catch (Exception e){
419
         }catch (Exception e){
420
             e.printStackTrace();
420
             e.printStackTrace();
421
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
421
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
521
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
521
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
522
     public ResponseBean getCustomerDetail(@PathVariable String id,
522
     public ResponseBean getCustomerDetail(@PathVariable String id,
523
                                           @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
523
                                           @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
524
-                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
524
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
525
         ResponseBean responseBean = new ResponseBean();
525
         ResponseBean responseBean = new ResponseBean();
526
         try {
526
         try {
527
-            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize));
527
+            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
528
         }catch (Exception e){
528
         }catch (Exception e){
529
             e.printStackTrace();
529
             e.printStackTrace();
530
             responseBean.addError(e.getMessage());
530
             responseBean.addError(e.getMessage());
535
     @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
535
     @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
536
     public ResponseBean getPublicCustomerDetail(@PathVariable String id,
536
     public ResponseBean getPublicCustomerDetail(@PathVariable String id,
537
                                                 @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
537
                                                 @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
538
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
538
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
539
         ResponseBean responseBean = new ResponseBean();
539
         ResponseBean responseBean = new ResponseBean();
540
         try {
540
         try {
541
-            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize));
541
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
542
         }catch (Exception e){
542
         }catch (Exception e){
543
             e.printStackTrace();
543
             e.printStackTrace();
544
             responseBean.addError(e.getMessage());
544
             responseBean.addError(e.getMessage());

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java View File

188
      */
188
      */
189
     @TableField(exist = false)
189
     @TableField(exist = false)
190
     private String nickname;
190
     private String nickname;
191
+
192
+    /**
193
+     * 客户id
194
+     */
195
+    @TableField(exist = false)
196
+    private String customerId;
191
 }
197
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java View File

74
      */
74
      */
75
 	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, @Param("orgId") Integer orgId, @Param("activityName") String activityName, @Param("eventType") String eventType, @Param("shareName") String shareName, @Param("shareTel") String shareTel, @Param("buildingId") String buildingId, @Param("personType") String personType, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
75
 	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, @Param("orgId") Integer orgId, @Param("activityName") String activityName, @Param("eventType") String eventType, @Param("shareName") String shareName, @Param("shareTel") String shareTel, @Param("buildingId") String buildingId, @Param("personType") String personType, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
76
 
76
 
77
-	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType,@Param("personId") String personId);
77
+	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("targetId") String targetId,@Param("personId") String personId);
78
 
78
 
79
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
79
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
80
 
80
 

+ 2
- 2
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java View File

187
      */
187
      */
188
     TaRecommendCustomer getMyCustDetailById(String customerId);
188
     TaRecommendCustomer getMyCustDetailById(String customerId);
189
 
189
 
190
-    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId);
190
+    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
191
 
191
 
192
-    IPage<TaRecommendCustomer>getCustomersIRecommended(IPage<TaRecommendCustomer> page,@Param("customerId")String customerId,@Param("status")Integer status,@Param("orgId") Integer orgId);
192
+    IPage<TaRecommendCustomer>getCustomersIRecommended(IPage<TaRecommendCustomer> page,@Param("customerId")String customerId,@Param("status")Integer status,@Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
193
 }
193
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java View File

35
 	 * @param orgId
35
 	 * @param orgId
36
 	 * @return
36
 	 * @return
37
 	 */
37
 	 */
38
-	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId);
38
+	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId);
39
 
39
 
40
 	/**
40
 	/**
41
 	 * 获取这个人的活动数据列表
41
 	 * 获取这个人的活动数据列表

+ 3
- 3
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java View File

44
     IPage<TaPerson> getIndependentAgents(int pageNumber, int pageSize,String name,String tel, Integer orgId);
44
     IPage<TaPerson> getIndependentAgents(int pageNumber, int pageSize,String name,String tel, Integer orgId);
45
 
45
 
46
 
46
 
47
-    TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize);
47
+    TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList);
48
 
48
 
49
-    TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize);
49
+    TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList);
50
 
50
 
51
     TaRecommendCustomer getCustomerById(String customerId);
51
     TaRecommendCustomer getCustomerById(String customerId);
52
 
52
 
53
-    IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);
53
+    IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
54
 
54
 
55
     TaRecommendCustomer newByPerson(TaPerson person);
55
     TaRecommendCustomer newByPerson(TaPerson person);
56
 
56
 

+ 4
- 2
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java View File

166
 	 * @return
166
 	 * @return
167
 	 */
167
 	 */
168
 	@Override
168
 	@Override
169
-	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId) {
169
+	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId) {
170
 		//根据userId获取用户信息
170
 		//根据userId获取用户信息
171
 		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
171
 		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
172
 		taPersonQueryWrapper.eq("user_id",userId);
172
 		taPersonQueryWrapper.eq("user_id",userId);
173
 		taPersonQueryWrapper.eq("org_id",orgId);
173
 		taPersonQueryWrapper.eq("org_id",orgId);
174
 		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
174
 		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
175
 		//获取我的访问客户列表
175
 		//获取我的访问客户列表
176
-		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, CommConstant.EVENT_H5,taPerson.getPersonId());
176
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, targetId,taPerson.getPersonId());
177
 		List<TaPersonVisitRecord> records = result.getRecords();
177
 		List<TaPersonVisitRecord> records = result.getRecords();
178
 		//判断是否我的客户状态
178
 		//判断是否我的客户状态
179
 		records.forEach(e -> {
179
 		records.forEach(e -> {
184
 			if (null != taRecommendCustomer){
184
 			if (null != taRecommendCustomer){
185
 				//1是我的客户
185
 				//1是我的客户
186
 				e.setMyCustomer(CommConstant.STATUS_NORMAL);
186
 				e.setMyCustomer(CommConstant.STATUS_NORMAL);
187
+				//返回customer_id给微信端
188
+				e.setCustomerId(taRecommendCustomer.getCustomerId());
187
 			}
189
 			}
188
 		});
190
 		});
189
 		return result;
191
 		return result;

+ 6
- 6
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java View File

526
 
526
 
527
 
527
 
528
     @Override
528
     @Override
529
-    public TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize){
529
+    public TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList){
530
         String personId = taRecommendCustomerMapper.getCustomerById(customerId).getPersonId();
530
         String personId = taRecommendCustomerMapper.getCustomerById(customerId).getPersonId();
531
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getCustomerDetail(customerId,personId);
531
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getCustomerDetail(customerId,personId);
532
         TaPerson person = taPersonMapper.selectById(personId);
532
         TaPerson person = taPersonMapper.selectById(personId);
575
             taPersonVisitRecordIPage.setRecords(records);
575
             taPersonVisitRecordIPage.setRecords(records);
576
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
576
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
577
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
577
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
578
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
578
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
579
             Map<String,String>geoInfo = new HashMap<>();
579
             Map<String,String>geoInfo = new HashMap<>();
580
             geoInfo.put("provience",person.getProvince());
580
             geoInfo.put("provience",person.getProvince());
581
             geoInfo.put("country",person.getCountry());
581
             geoInfo.put("country",person.getCountry());
616
     }
616
     }
617
 
617
 
618
     @Override
618
     @Override
619
-    public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize){
619
+    public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList){
620
         TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
620
         TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
621
         if(!StringUtils.isEmpty(personId)){
621
         if(!StringUtils.isEmpty(personId)){
622
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
622
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
663
             taPersonVisitRecordIPage.setRecords(records);
663
             taPersonVisitRecordIPage.setRecords(records);
664
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
664
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
665
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
665
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
666
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
666
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
667
             taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
667
             taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
668
             taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
668
             taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
669
             TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
669
             TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
684
     }
684
     }
685
 
685
 
686
     @Override
686
     @Override
687
-    public IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId){
687
+    public IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId,List<TaPersonBuilding> taPersonBuildingList){
688
 
688
 
689
         QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
689
         QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
690
         // todo
690
         // todo
694
 ////        queryWrapper.eq("building_id",building);
694
 ////        queryWrapper.eq("building_id",building);
695
 //        queryWrapper.eq("status", CommConstant.VERIFY_AGREE);
695
 //        queryWrapper.eq("status", CommConstant.VERIFY_AGREE);
696
 //        queryWrapper.eq("org_id", orgId);
696
 //        queryWrapper.eq("org_id", orgId);
697
-        return taRecommendCustomerMapper.getCustomersIRecommended(page,customerId,CommConstant.STATUS_NORMAL,orgId);
697
+        return taRecommendCustomerMapper.getCustomersIRecommended(page,customerId,CommConstant.STATUS_NORMAL,orgId,taPersonBuildingList);
698
     }
698
     }
699
 
699
 
700
     @Override
700
     @Override

+ 1
- 1
src/main/resources/mapper/TaPersonVisitRecordMapper.xml View File

99
 	        d.name as activity_name,
99
 	        d.name as activity_name,
100
 	        d.create_date
100
 	        d.create_date
101
         FROM
101
         FROM
102
-            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and event_type = #{eventType} AND consultant_id = #{userId} and person_id != #{personId} ORDER BY visit_time DESC LIMIT 999) t
102
+            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and target_id = #{targetId} AND consultant_id = #{userId} and person_id != #{personId} ORDER BY visit_time DESC LIMIT 999) t
103
             left JOIN ta_person p on t.person_id = p.person_id
103
             left JOIN ta_person p on t.person_id = p.person_id
104
             LEFT join ta_drainage d on t.target_id = d.drainage_id
104
             LEFT join ta_drainage d on t.target_id = d.drainage_id
105
         GROUP BY
105
         GROUP BY

+ 12
- 0
src/main/resources/mapper/TaRecommendCustomerMapper.xml View File

730
             left join ta_building b on a.building_id = b.building_id
730
             left join ta_building b on a.building_id = b.building_id
731
         WHERE
731
         WHERE
732
            a.person_id = #{personId}
732
            a.person_id = #{personId}
733
+        <if test="personBuildingList != null and personBuildingList.size > 0">
734
+            AND a.building_id in
735
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
736
+                #{personBuilding.buildingId}
737
+            </foreach>
738
+        </if>
733
         GROUP BY
739
         GROUP BY
734
             a.building_id
740
             a.building_id
735
         ORDER BY
741
         ORDER BY
741
         where a.recommend_person = #{customerId}
747
         where a.recommend_person = #{customerId}
742
         and a.status = #{status}
748
         and a.status = #{status}
743
         and a.org_id = #{orgId}
749
         and a.org_id = #{orgId}
750
+        <if test="personBuildingList != null and personBuildingList.size > 0">
751
+            AND a.building_id in
752
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
753
+                #{personBuilding.buildingId}
754
+            </foreach>
755
+        </if>
744
     </select>
756
     </select>
745
 
757
 
746
 </mapper>
758
 </mapper>