Просмотр исходного кода

Merge branch 'v3.5.1' of http://git.ycjcjy.com/zhiyuxing/estateagents into v3.5.1

weiximei 5 лет назад
Родитель
Сommit
1cf71081c6
41 измененных файлов: 990 добавлений и 68 удалений
  1. 31
    0
      src/main/java/com/huiju/estateagents/activity/controller/ActivityController.java
  2. 10
    0
      src/main/java/com/huiju/estateagents/activity/mapper/ActivityMapper.java
  3. 10
    0
      src/main/java/com/huiju/estateagents/activity/service/ActivityServiceI.java
  4. 19
    0
      src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java
  5. 3
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java
  6. 39
    9
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  7. 11
    0
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  8. 36
    0
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  9. 21
    0
      src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
  10. 69
    2
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  11. 18
    0
      src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java
  12. 5
    0
      src/main/java/com/huiju/estateagents/entity/HelpActivity.java
  13. 37
    0
      src/main/java/com/huiju/estateagents/entity/PersonIntention.java
  14. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaPerson.java
  15. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java
  16. 5
    1
      src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java
  17. 6
    1
      src/main/java/com/huiju/estateagents/entity/TaShareActivity.java
  18. 9
    3
      src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java
  19. 32
    0
      src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java
  20. 7
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java
  21. 37
    1
      src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java
  22. 24
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java
  23. 124
    15
      src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java
  24. 1
    2
      src/main/java/com/huiju/estateagents/service/impl/TaShareActivityServiceImpl.java
  25. 77
    2
      src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerFollowUpRecordController.java
  26. 29
    1
      src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerGenderStatisticController.java
  27. 24
    1
      src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerStatisticDailyController.java
  28. 25
    1
      src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerStatisticMonthlyController.java
  29. 1
    1
      src/main/java/com/huiju/estateagents/statistic/entity/TaCustomerFollowUpRecord.java
  30. 10
    0
      src/main/java/com/huiju/estateagents/statistic/mapper/TaCustomerStatisticDailyMapper.java
  31. 10
    0
      src/main/java/com/huiju/estateagents/statistic/mapper/TaCustomerStatisticMonthlyMapper.java
  32. 9
    0
      src/main/java/com/huiju/estateagents/statistic/service/ITaCustomerStatisticDailyService.java
  33. 9
    0
      src/main/java/com/huiju/estateagents/statistic/service/ITaCustomerStatisticMonthlyService.java
  34. 18
    0
      src/main/java/com/huiju/estateagents/statistic/service/impl/TaCustomerStatisticDailyServiceImpl.java
  35. 19
    0
      src/main/java/com/huiju/estateagents/statistic/service/impl/TaCustomerStatisticMonthlyServiceImpl.java
  36. 76
    0
      src/main/resources/mapper/Activity.xml
  37. 1
    4
      src/main/resources/mapper/HelpActivityMapper.xml
  38. 12
    0
      src/main/resources/mapper/TaPersonVisitRecordMapper.xml
  39. 82
    24
      src/main/resources/mapper/TaRecommendCustomerMapper.xml
  40. 12
    0
      src/main/resources/mapper/statistic/TaCustomerStatisticDailyMapper.xml
  41. 11
    0
      src/main/resources/mapper/statistic/TaCustomerStatisticMonthlyMapper.xml

+ 31
- 0
src/main/java/com/huiju/estateagents/activity/controller/ActivityController.java Просмотреть файл

@@ -1,10 +1,13 @@
1 1
 package com.huiju.estateagents.activity.controller;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.huiju.estateagents.activity.service.ActivityServiceI;
4 5
 import com.huiju.estateagents.base.BaseController;
5 6
 import com.huiju.estateagents.base.ResponseBean;
6 7
 import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaRecommendCustomer;
7 9
 import com.huiju.estateagents.service.ITaPersonService;
10
+import com.huiju.estateagents.service.ITaRecommendCustomerService;
8 11
 import io.swagger.annotations.Api;
9 12
 import org.springframework.beans.factory.annotation.Autowired;
10 13
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,6 +33,9 @@ public class ActivityController extends BaseController {
30 33
 	@Autowired
31 34
 	private ITaPersonService taPersonService;
32 35
 	
36
+	@Autowired
37
+	ITaRecommendCustomerService taRecommendCustomerService;
38
+	
33 39
 	@RequestMapping(value = "/wx/activity/list", method = RequestMethod.GET)
34 40
 	public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
35 41
 	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
@@ -47,4 +53,29 @@ public class ActivityController extends BaseController {
47 53
 		
48 54
 		return responseBean;
49 55
 	}
56
+	
57
+	@RequestMapping(value = "/wx/customer/activity/list", method = RequestMethod.GET)
58
+	public ResponseBean wxActivityList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
59
+	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
60
+	                                           @RequestParam(value = "customerId") String customerId,
61
+	                                           HttpServletRequest request){
62
+		ResponseBean  responseBean = new ResponseBean();
63
+		Integer orgId = getOrgId(request);
64
+		//查找客户信息
65
+		QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper<>();
66
+		queryWrapper.eq("customer_id",customerId);
67
+		TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getOne(queryWrapper);
68
+		if (null == taRecommendCustomer){
69
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
70
+		}
71
+		if (null == taRecommendCustomer.getPersonId()){
72
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
73
+		}
74
+		
75
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
76
+		taPersonQueryWrapper.eq("person_id",taRecommendCustomer.getPersonId());
77
+		TaPerson person = taPersonService.getOne(taPersonQueryWrapper);
78
+		responseBean = activityService.getCustomerActivityList(pageNumber,pageSize,orgId,person);
79
+		return responseBean;
80
+	}
50 81
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/activity/mapper/ActivityMapper.java Просмотреть файл

@@ -6,8 +6,18 @@ import org.apache.ibatis.annotations.Mapper;
6 6
 import org.apache.ibatis.annotations.Param;
7 7
 
8 8
 import java.util.List;
9
+import java.util.Map;
9 10
 
10 11
 @Mapper
11 12
 public interface ActivityMapper {
12 13
 	List<Activity> getActivityList(Page pg, @Param("orgId") Integer orgId,@Param("status") Integer status,@Param("cityId") Integer cityId);
14
+	
15
+	/**
16
+	 * 获取客户参与的活动列表
17
+	 * @param pg
18
+	 * @param orgId
19
+	 * @param personId
20
+	 * @return
21
+	 */
22
+	List<Map<String,Object>> getCustomerActivityList(Page pg,@Param("orgId") Integer orgId,@Param("personId") String personId);
13 23
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/activity/service/ActivityServiceI.java Просмотреть файл

@@ -14,4 +14,14 @@ public interface ActivityServiceI {
14 14
 	 * @return
15 15
 	 */
16 16
 	ResponseBean getActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person,Integer cityId);
17
+	
18
+	/**
19
+	 * 获取客户参加的活动信息
20
+	 * @param pageNumber
21
+	 * @param pageSize
22
+	 * @param orgId
23
+	 * @param person
24
+	 * @return
25
+	 */
26
+	ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person);
17 27
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java Просмотреть файл

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
21 21
 import org.springframework.stereotype.Service;
22 22
 
23 23
 import java.util.List;
24
+import java.util.Map;
24 25
 
25 26
 /**
26 27
  * @author FXF
@@ -113,4 +114,22 @@ public class ActivityServiceImpl implements ActivityServiceI {
113 114
 		pg.setRecords(list);
114 115
 		return ResponseBean.success(pg);
115 116
 	}
117
+	
118
+	/**
119
+	 * 获取客户参加的活动信息
120
+	 *
121
+	 * @param pageNumber
122
+	 * @param pageSize
123
+	 * @param orgId
124
+	 * @param person
125
+	 * @return
126
+	 */
127
+	@Override
128
+	public ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person) {
129
+		//分页获取全部数据
130
+		Page pg = new Page(pageNumber,pageSize);
131
+		List<Map<String, Object>> customerActivityList = activityMapper.getCustomerActivityList(pg, orgId, person.getPersonId());
132
+		pg.setRecords(customerActivityList);
133
+		return ResponseBean.success(pg);
134
+	}
116 135
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Просмотреть файл

@@ -160,6 +160,9 @@ public class TaUser implements Serializable {
160 160
     @TableField(exist = false)
161 161
     private String buildingId;
162 162
 
163
+    @TableField(exist = false)
164
+    private List<String> projects;
165
+
163 166
     /**
164 167
      * ta_org/orgNum楼盘最大数
165 168
      */

+ 39
- 9
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java Просмотреть файл

@@ -10,15 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10 10
 import com.huiju.estateagents.base.BaseController;
11 11
 import com.huiju.estateagents.base.ResponseBean;
12 12
 import com.huiju.estateagents.common.CommConstant;
13
-import com.huiju.estateagents.entity.HelpActivity;
14
-import com.huiju.estateagents.entity.HelpInitiateRecord;
15
-import com.huiju.estateagents.entity.HelpRecord;
16
-import com.huiju.estateagents.entity.TaBuildingDynamic;
17
-import com.huiju.estateagents.entity.TaChannel;
18
-import com.huiju.estateagents.entity.TaPerson;
19
-import com.huiju.estateagents.entity.TaPoster;
20
-import com.huiju.estateagents.entity.TaShareContent;
21
-import com.huiju.estateagents.entity.TdPosterTemplate;
13
+import com.huiju.estateagents.entity.*;
22 14
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
23 15
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
24 16
 import com.huiju.estateagents.excel.HelpRecordExport;
@@ -159,6 +151,13 @@ public class HelpActivityController extends BaseController {
159 151
         ResponseBean responseBean = new ResponseBean();
160 152
         Integer orgId = getOrgId(request);
161 153
         Integer cityId = iTaBuildingService.getCityById(helpActivity.getBuildingId());
154
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
155
+        helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
156
+        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
157
+        if (heavyCount != 0){
158
+            responseBean.addError("权重已存在,请重新编辑");
159
+            return responseBean;
160
+        }
162 161
         helpActivity.setCityId(cityId);
163 162
         // 活动暂且定位为未开始
164 163
         helpActivity.setActivityStatus(1);
@@ -201,6 +200,13 @@ public class HelpActivityController extends BaseController {
201 200
     public ResponseBean helpActivityUpdate(@RequestBody String parameter) {
202 201
         ResponseBean responseBean = new ResponseBean();
203 202
         HelpActivity helpActivity = JSONObject.parseObject(parameter, HelpActivity.class);
203
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
204
+        helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
205
+        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
206
+        if (heavyCount != 0){
207
+            responseBean.addError("权重已存在,请重新编辑");
208
+            return responseBean;
209
+        }
204 210
         Integer cityId = iTaBuildingService.getCityById( helpActivity.getBuildingId());
205 211
         helpActivity.setCityId(cityId);
206 212
         helpActivity.setHelpActivityId(helpActivity.getHelpActivityId());
@@ -264,6 +270,30 @@ public class HelpActivityController extends BaseController {
264 270
         return responseBean;
265 271
     }
266 272
 
273
+    @RequestMapping(value = "/admin/helpActivity/send/{helpActivityId}", method = RequestMethod.PUT)
274
+    public ResponseBean send(@PathVariable String helpActivityId, HttpServletRequest request) {
275
+        ResponseBean responseBean = new ResponseBean();
276
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
277
+        helpActivityQueryWrapper.eq("help_activity_id", helpActivityId);
278
+        HelpActivity helpActivity = taHelpActivityService.getOne(helpActivityQueryWrapper);
279
+        helpActivity.setStatus(1);
280
+        helpActivity.setOrgId(getOrgId(request));
281
+        taHelpActivityService.update(helpActivity, helpActivityQueryWrapper);
282
+        return responseBean;
283
+    }
284
+
285
+    @RequestMapping(value = "/admin/helpActivity/cancel/{helpActivityId}", method = RequestMethod.PUT)
286
+    public ResponseBean cancel(@PathVariable String helpActivityId, HttpServletRequest request) {
287
+        ResponseBean responseBean = new ResponseBean();
288
+        QueryWrapper<HelpActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
289
+        taShareActivityQueryWrapper.eq("help_activity_id", helpActivityId);
290
+        HelpActivity helpActivity = taHelpActivityService.getOne(taShareActivityQueryWrapper);
291
+        helpActivity.setStatus(-1);
292
+        helpActivity.setOrgId(getOrgId(request));
293
+        taHelpActivityService.update(helpActivity, taShareActivityQueryWrapper);
294
+        return responseBean;
295
+    }
296
+
267 297
     @ApiOperation(value = "助力记录", notes = "助力记录")
268 298
     @ApiImplicitParams({
269 299
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),

+ 11
- 0
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Просмотреть файл

@@ -75,6 +75,9 @@ public class TaBuildingDynamicController extends BaseController {
75 75
     @Autowired
76 76
     private ITaBuildingService iTaBuildingService;
77 77
 
78
+    @Autowired
79
+    private ITaRecommendCustomerService recommendCustomerService;
80
+
78 81
     @Autowired
79 82
     private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
80 83
 
@@ -310,6 +313,14 @@ public class TaBuildingDynamicController extends BaseController {
310 313
                    if (tempIsCheckin.intValue() == CommConstant.STATUS_UNACCALIMED.intValue()){
311 314
                        enlist.setEnlistId(Integer.valueOf(enlistId));
312 315
                        applicationContext.publishEvent(new EventBus(enlist,ActivityCheckin,getOrgId(request)));
316
+                       QueryWrapper<TaRecommendCustomer> customerQueryWrapper = new QueryWrapper<>();
317
+                       customerQueryWrapper.eq("person_id",enlist.getPersonId());
318
+                       customerQueryWrapper.eq("building_id",enlist.getBuildingId());
319
+                       TaRecommendCustomer recommendCustomer = recommendCustomerService.getOne(customerQueryWrapper);
320
+                       if (recommendCustomer.getStatus() < CommConstant.CUSTOMER_VISITE){
321
+                           recommendCustomer.setStatus(CommConstant.CUSTOMER_VISITE);
322
+                           recommendCustomerService.updateById(recommendCustomer);
323
+                       }
313 324
                        Integer rulePoints = taPointsRecordsService.getRulePoints(CommConstant.POINTS_CHANGE_ACTIVITY_CHECKIN, getOrgId(request));
314 325
                        enlist.setAddPoints(rulePoints);
315 326
                        responseBean.addSuccess(enlist);

+ 36
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Просмотреть файл

@@ -139,6 +139,42 @@ public class TaPersonController extends BaseController {
139 139
         return responseBean;
140 140
     }
141 141
 
142
+    @PutMapping("/wx/registerConsultantOneClick")
143
+    public ResponseBean registerConsultantOneClick(HttpServletRequest request) {
144
+        ResponseBean responseBean = new ResponseBean();
145
+        Integer orgId =getOrgId(request);
146
+        String openid = getOpenId(request);
147
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
148
+        if (null == taPersons || taPersons.size() != 1) {
149
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
150
+        }
151
+        TaPerson person = taPersons.get(0);
152
+        QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
153
+        queryWrapper.eq("phone",person.getPhone());
154
+        queryWrapper.eq("org_id",orgId);
155
+        queryWrapper.eq("is_consultant",true);
156
+        List<TaUser> users = taUserService.list(queryWrapper);
157
+        if(users.size()>0){
158
+            TaUser user = users.get(0);
159
+            person.setPersonType(CommConstant.PERSON_REALTY_CONSULTANT);
160
+            person.setUserId(user.getUserId());
161
+            person.setAvatarurl(user.getAvatar());
162
+            person.setCompany(user.getOrgName());
163
+            person.setTel(user.getPhone());
164
+            person.setName(user.getUserName());
165
+            person.setAddress(user.getAddress());
166
+            person.setIdNo(user.getIdNo());
167
+            person.setDepartment(user.getDepartment());
168
+            person.setPost(user.getPosition());
169
+            person.setPhoto(user.getPhoto());
170
+            taPersonService.updateById(person);
171
+            responseBean.addSuccess(person);
172
+        }else {
173
+            responseBean.addError("手机号不存在,请联系管理员维护。");
174
+        }
175
+        return responseBean;
176
+    }
177
+
142 178
     @PutMapping("/wx/registerAgent")
143 179
     public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
144 180
         ResponseBean responseBean = new ResponseBean();

+ 21
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java Просмотреть файл

@@ -200,4 +200,25 @@ public class TaPersonVisitRecordController extends BaseController {
200 200
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
201 201
         }
202 202
     }
203
+    
204
+    /**
205
+     * 盘客工具分页获取访问记录
206
+     * @param pageNum
207
+     * @param pageSize
208
+     * @return
209
+     */
210
+    @RequestMapping(value="/wx/taPersonVisitRecord",method= RequestMethod.GET)
211
+    public ResponseBean wxPersonVisitRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
212
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
213
+                                                @RequestParam(value = "customerId") String customerId){
214
+        try {
215
+            //使用分页插件
216
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNum, pageSize);
217
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getPersonVisitRecordList(pg, customerId);
218
+            return ResponseBean.success(result);
219
+        }catch (Exception e){
220
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
221
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
222
+        }
223
+    }
203 224
 }

+ 69
- 2
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Просмотреть файл

@@ -474,7 +474,7 @@ public class TaRecommendCustomerController extends BaseController {
474 474
 
475 475
 
476 476
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
477
-    public ResponseBean getCutomerDetail(@PathVariable String id) {
477
+    public ResponseBean getCustomerDetail(@PathVariable String id) {
478 478
         ResponseBean responseBean = new ResponseBean();
479 479
         try {
480 480
             responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id));
@@ -485,6 +485,18 @@ public class TaRecommendCustomerController extends BaseController {
485 485
         return responseBean;
486 486
     }
487 487
 
488
+    @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
489
+    public ResponseBean getPublicCustomerDetail(@PathVariable String id) {
490
+        ResponseBean responseBean = new ResponseBean();
491
+        try {
492
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id));
493
+        }catch (Exception e){
494
+            e.printStackTrace();
495
+            responseBean.addError(e.getMessage());
496
+        }
497
+        return responseBean;
498
+    }
499
+
488 500
     @GetMapping("/admin/customer/recommend/drift")
489 501
     public ResponseBean getDriftCustomerList (HttpServletRequest request,
490 502
                                               @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,
@@ -749,5 +761,60 @@ public class TaRecommendCustomerController extends BaseController {
749 761
 
750 762
 
751 763
     }
752
-
764
+    
765
+    /**
766
+     * 查询判客工具下的我的客户人数集合
767
+     * @param request
768
+     * @return
769
+     */
770
+    @GetMapping("/wx/inventory/customer/statistics")
771
+    @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
772
+    public ResponseBean getMyCustStatistics(HttpServletRequest request) {
773
+        String openid = getOpenId(request);
774
+        return taRecommendCustomerService.getMyCustStatistics(openid);
775
+    }
776
+    
777
+    /**
778
+     * 分页查询判客工具下的我的客户跟进人集合
779
+     *  根据type区分  follow 跟进  clinch 成交
780
+     * @param request
781
+     * @return
782
+     */
783
+    @GetMapping("/wx/inventory/customer/{type}")
784
+    @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
785
+    public ResponseBean getMyCustFollows(@PathVariable(value = "type") String type,
786
+                                         @RequestParam(value = "pageNumber",defaultValue = "0") Integer pageNumber,
787
+                                         @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
788
+                                         @RequestParam(value = "name",required = false) String name,
789
+                                         @RequestParam(value = "phone",required = false) String phone,
790
+                                         @RequestParam(value = "status",required = false) Integer status,HttpServletRequest request) {
791
+        String openid = getOpenId(request);
792
+        return taRecommendCustomerService.getMyCustFollowOrClinch(pageNumber,pageSize,openid,type,name,phone,status);
793
+    }
794
+    
795
+    /**
796
+     * 查询盘客工具下我的客户详情
797
+     * @param request
798
+     * @return
799
+     */
800
+    @GetMapping("/wx/inventory/customer/{customerId}")
801
+    @ApiOperation(value = "查询客户详情", notes = "查询客户详情")
802
+    public ResponseBean getMyCustDetail(@PathVariable(value = "customerId") String customerId,HttpServletRequest request) {
803
+        String openid = getOpenId(request);
804
+        return taRecommendCustomerService.getMyCustDetail(customerId,openid);
805
+    }
806
+    
807
+    /**
808
+     * 查询盘客工具下编辑基本信息
809
+     * @param request
810
+     * @return
811
+     */
812
+    @PutMapping("/wx/inventory/customer/{customerId}")
813
+    @ApiOperation(value = "编辑客户信息", notes = "编辑客户信息")
814
+    public ResponseBean updateMyCustDetail(@PathVariable(value = "customerId") String customerId,
815
+                                           @RequestBody TaRecommendCustomer taRecommendCustomer, HttpServletRequest request) {
816
+        String openid = getOpenId(request);
817
+        taRecommendCustomer.setCustomerId(customerId);
818
+        return taRecommendCustomerService.updateMyCust(taRecommendCustomer,openid);
819
+    }
753 820
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java Просмотреть файл

@@ -132,6 +132,15 @@ public class TaShareActivityController extends BaseController {
132 132
                 responseBean.addError("拼团人数必须大于等于2人");
133 133
                 return responseBean;
134 134
             }
135
+
136
+            QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
137
+            taShareActivityQueryWrapper.eq("heavy", taShareActivity.getHeavy());
138
+            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
139
+            if (heavyCount != 0){
140
+                responseBean.addError("权重已存在,请重新编辑");
141
+                return responseBean;
142
+            }
143
+
135 144
             Integer cityId = iTaBuildingService.getCityById(taShareActivity.getBuildingId());
136 145
             taShareActivity.setCityId(cityId);
137 146
             taShareActivity.setOrgId(getOrgId(request));
@@ -186,6 +195,15 @@ public class TaShareActivityController extends BaseController {
186 195
             TaShareActivity taShareActivity = JSONObject.parseObject(parameter, TaShareActivity.class);
187 196
             Integer cityId = iTaBuildingService.getCityById(taShareActivity.getBuildingId());
188 197
             taShareActivity.setCityId(cityId);
198
+
199
+            QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
200
+            taShareActivityQueryWrapper.eq("heavy", taShareActivity.getHeavy());
201
+            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
202
+            if (heavyCount != 0){
203
+                responseBean.addError("权重已存在,请重新编辑");
204
+                return responseBean;
205
+            }
206
+
189 207
             if (iTaShareActivityService.updateById(taShareActivity)){
190 208
                 responseBean.addSuccess(taShareActivity);
191 209
             }else {

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/HelpActivity.java Просмотреть файл

@@ -106,6 +106,11 @@ public class HelpActivity implements Serializable {
106 106
      */
107 107
     private String img;
108 108
 
109
+    /**
110
+     * 列表图
111
+     */
112
+    private String detailImg;
113
+
109 114
     /**
110 115
      * 城市ID
111 116
      */

+ 37
- 0
src/main/java/com/huiju/estateagents/entity/PersonIntention.java Просмотреть файл

@@ -0,0 +1,37 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+
5
+import java.io.Serializable;
6
+import java.time.LocalDateTime;
7
+
8
+/**
9
+ * <p>
10
+ * 收藏表 
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-07-25
15
+ */
16
+@Data
17
+public class PersonIntention implements Serializable {
18
+
19
+    private static final long serialVersionUID = 1L;
20
+
21
+
22
+
23
+    private String personId;
24
+
25
+
26
+    private String buildingName;
27
+
28
+
29
+    private String buildingId;
30
+
31
+
32
+    private Integer intention;
33
+
34
+
35
+
36
+
37
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java Просмотреть файл

@@ -267,6 +267,11 @@ public class TaPerson implements Serializable {
267 267
     @TableField(exist = false)
268 268
     private List<TaShareContent> shareContents;
269 269
 
270
+    @TableField(exist = false)
271
+    private List<PersonIntention> intentions;
272
+
273
+    @TableField(exist = false)
274
+    private Integer visitTimes;
270 275
     /**
271 276
      * 推广人
272 277
      */

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java Просмотреть файл

@@ -101,5 +101,11 @@ public class TaPersonVisitRecord implements Serializable {
101 101
      */
102 102
     @TableField(exist = false)
103 103
     private Integer accessCount;
104
+    
105
+    /**
106
+     * 楼盘名称
107
+     */
108
+    @TableField(exist = false)
109
+    private String buildingName;
104 110
 
105 111
 }

+ 5
- 1
src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java Просмотреть файл

@@ -10,6 +10,7 @@ import com.alibaba.excel.annotation.format.DateTimeFormat;
10 10
 import com.baomidou.mybatisplus.annotation.IdType;
11 11
 import com.baomidou.mybatisplus.annotation.TableField;
12 12
 import com.baomidou.mybatisplus.annotation.TableId;
13
+import com.huiju.estateagents.center.taUser.entity.TaUser;
13 14
 import lombok.Data;
14 15
 import lombok.EqualsAndHashCode;
15 16
 import lombok.experimental.Accessors;
@@ -168,7 +169,7 @@ public class TaRecommendCustomer implements Serializable {
168 169
     private Integer visitTimes;
169 170
 
170 171
     @TableField(exist = false)
171
-    private TaPerson consultant;
172
+    private TaUser consultant;
172 173
 
173 174
     @TableField(exist = false)
174 175
     private String recommendName;
@@ -177,8 +178,11 @@ public class TaRecommendCustomer implements Serializable {
177 178
     private String recommendTel;
178 179
 
179 180
     @TableField(exist = false)
181
+    private List<PersonIntention> intentions;
182
+
180 183
     private String intentionName;
181 184
 
185
+
182 186
     /**
183 187
      * 推广人
184 188
      */

+ 6
- 1
src/main/java/com/huiju/estateagents/entity/TaShareActivity.java Просмотреть файл

@@ -114,7 +114,12 @@ public class TaShareActivity implements Serializable {
114 114
      * 置顶
115 115
      */
116 116
     private Integer weight;
117
-    
117
+
118
+    /**
119
+     * 权重,用于排序
120
+     */
121
+    private Integer heavy;
122
+
118 123
     /**
119 124
      * Initiate 发起者  Booster 助力者
120 125
      */

+ 9
- 3
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java Просмотреть файл

@@ -49,7 +49,13 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
49 49
     @ResultType(TaPersonVisitRecord.class)
50 50
     @Select("select * from ta_person_visit_record where event = #{event} and person_id = #{personId} and org_id = #{orgId} ")
51 51
     List<TaPersonVisitRecord> selectEventAll(@Param("event") String event, @Param("personId") String personId, @Param("orgId") Integer orgId);
52
-
53
-
54
-
52
+    
53
+    
54
+    /**
55
+     * 获取用户行为列表
56
+     * @param pg
57
+     * @param personId
58
+     * @return
59
+     */
60
+	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg,@Param("personId") String personId);
55 61
 }

+ 32
- 0
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java Просмотреть файл

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.entity.PersonIntention;
4 5
 import com.huiju.estateagents.entity.TaPerson;
5 6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
6 7
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -9,6 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
9 10
 import org.apache.ibatis.annotations.Param;
10 11
 
11 12
 import java.util.List;
13
+import java.util.Map;
12 14
 
13 15
 /**
14 16
  * <p>
@@ -149,5 +151,35 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
149 151
      * @return
150 152
      */
151 153
     List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status);
154
+    
155
+    /**
156
+     * 获取我的客户的人数统计
157
+     * @param personId
158
+     * @param userId
159
+     * @return
160
+     */
161
+	List<Map<String, Object>> getMyCustStatistics(@Param("personId") String personId,@Param("userId") Integer userId,@Param("orgId") Integer orgId);
162
+    
163
+    /**
164
+     * 获取我的跟进客户数据
165
+     * @param page
166
+     * @param personId
167
+     * @param userId
168
+     * @param orgId
169
+     * @param type
170
+     * @param name
171
+     * @param phone
172
+     * @param status
173
+     * @return
174
+     */
175
+    IPage<TaRecommendCustomer> getMyCustFollowOrClinch(IPage<TaRecommendCustomer> page, @Param("personId") String personId, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("type") String type, @Param("name") String name, @Param("phone") String phone,@Param("status") Integer status);
176
+    
177
+    /**
178
+     * 获取我的客户详情数据
179
+     * @param customerId
180
+     * @return
181
+     */
182
+    TaRecommendCustomer getMyCustDetailById(String customerId);
152 183
 
184
+    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId);
153 185
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java Просмотреть файл

@@ -15,6 +15,13 @@ import com.huiju.estateagents.entity.TaPersonVisitRecord;
15 15
  * @since 2019-07-23
16 16
  */
17 17
 public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecord> {
18
+	/**
19
+	 * 分页获取客户访问记录
20
+	 * @param pg
21
+	 * @param customerId
22
+	 * @return
23
+	 */
24
+	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId);
18 25
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
19 26
 //    TaPerson customerInfo(String personId);
20 27
 }

+ 37
- 1
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java Просмотреть файл

@@ -44,6 +44,8 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
44 44
 
45 45
     TaRecommendCustomer getCustomerDetail(String customerId);
46 46
 
47
+    TaPerson getPublicCustomerDetail(String personId);
48
+
47 49
     TaRecommendCustomer getCustomerById(String customerId);
48 50
 
49 51
     IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);
@@ -95,5 +97,39 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
95 97
      * @return
96 98
      */
97 99
     List<AgentsRecommendCustomer> getIndependentAgentsExport(Integer orgId, Integer pageCode, Integer pageSize);
98
-
100
+    
101
+    /**
102
+     * 查询我的客户人数集合
103
+     * @param openid
104
+     * @return
105
+     */
106
+    ResponseBean getMyCustStatistics(String openid);
107
+    
108
+    /**
109
+     * 分页查询我的跟进客户集合
110
+     * @param pageNumber
111
+     * @param pageSize
112
+     * @param openid
113
+     * @param name
114
+     * @param phone
115
+     * @param status
116
+     * @return
117
+     */
118
+    ResponseBean getMyCustFollowOrClinch(Integer pageNumber, Integer pageSize, String openid, String type, String name, String phone, Integer status);
119
+    
120
+    /**
121
+     * 获取盘客工具下我的客户详情
122
+     * @param customerId
123
+     * @param openid
124
+     * @return
125
+     */
126
+    ResponseBean getMyCustDetail(String customerId, String openid);
127
+    
128
+    /**
129
+     * 更新我的客户基本信息
130
+     * @param taRecommendCustomer
131
+     * @param openid
132
+     * @return
133
+     */
134
+    ResponseBean updateMyCust(TaRecommendCustomer taRecommendCustomer, String openid);
99 135
 }

+ 24
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java Просмотреть файл

@@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 5
 import com.huiju.estateagents.entity.TaPerson;
6 6
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
7
+import com.huiju.estateagents.entity.TaRecommendCustomer;
7 8
 import com.huiju.estateagents.mapper.TaPersonMapper;
8 9
 import com.huiju.estateagents.mapper.TaPersonVisitRecordMapper;
10
+import com.huiju.estateagents.mapper.TaRecommendCustomerMapper;
9 11
 import com.huiju.estateagents.service.ITaPersonVisitRecordService;
10 12
 import org.springframework.beans.factory.annotation.Autowired;
11 13
 import org.springframework.stereotype.Service;
12 14
 
15
+import java.util.List;
16
+
13 17
 /**
14 18
  * <p>
15 19
  *   服务实现类
@@ -20,6 +24,26 @@ import org.springframework.stereotype.Service;
20 24
  */
21 25
 @Service
22 26
 public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRecordMapper, TaPersonVisitRecord> implements ITaPersonVisitRecordService {
27
+	
28
+	@Autowired
29
+	private TaRecommendCustomerMapper taRecommendCustomerMapper;
30
+	
31
+	@Autowired
32
+	private TaPersonVisitRecordMapper personVisitRecordMapper;
33
+	
34
+	/**
35
+	 * 分页获取客户访问记录
36
+	 *
37
+	 * @param pg
38
+	 * @param customerId
39
+	 * @return
40
+	 */
41
+	@Override
42
+	public IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId) {
43
+		TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectById(customerId);
44
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getPersonVisitRecordList(pg,taRecommendCustomer.getPersonId());
45
+		return result;
46
+	}
23 47
 //    @Autowired
24 48
 //    private TaPersonMapper taPersonMapper;
25 49
 //    @Autowired

+ 124
- 15
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Просмотреть файл

@@ -1,6 +1,5 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
-import ch.qos.logback.core.status.StatusUtil;
4 3
 import com.alibaba.fastjson.JSONObject;
5 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6 5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -23,10 +22,11 @@ import com.huiju.estateagents.mapper.*;
23 22
 import com.huiju.estateagents.service.IMiniAppService;
24 23
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
25 24
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
25
+import com.huiju.estateagents.statistic.entity.TaCustomerFollowUpRecord;
26
+import com.huiju.estateagents.statistic.mapper.TaCustomerFollowUpRecordMapper;
26 27
 import org.springframework.beans.factory.annotation.Autowired;
27 28
 import org.springframework.stereotype.Service;
28 29
 
29
-import javax.naming.spi.ResolveResult;
30 30
 import java.time.LocalDateTime;
31 31
 import java.util.HashMap;
32 32
 import java.util.List;
@@ -63,6 +63,9 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
63 63
 
64 64
     @Autowired
65 65
     private TdCityMapper cityMapper;
66
+    
67
+    @Autowired
68
+    private TaCustomerFollowUpRecordMapper customerFollowUpRecordMapper;
66 69
 
67 70
     @Override
68 71
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
@@ -442,6 +445,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
442 445
         if(!StringUtils.isEmpty(personId)){
443 446
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
444 447
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
448
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
445 449
             Map<String,String>geoInfo = new HashMap<>();
446 450
             geoInfo.put("provience",person.getProvince());
447 451
             geoInfo.put("country",person.getCountry());
@@ -455,21 +459,25 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
455 459
         }
456 460
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
457 461
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
462
+            TaUser user = new TaUser();
458 463
             if(null == consultant){
459
-                TaUser user = userService.getById(taRecommendCustomer.getRealtyConsultant());
460
-                consultant.setPersonId(taRecommendCustomer.getRealtyConsultant());
461
-                consultant.setTel(user.getPhone());
462
-                consultant.setPhone(user.getPhone());
463
-                consultant.setDepartment(user.getDepartment());
464
-                consultant.setUserId(user.getUserId());
465
-                consultant.setPost(user.getPosition());
466
-                consultant.setName(user.getUserName());
467
-                consultant.setAddress(user.getAddress());
468
-                consultant.setAvatarurl(user.getAvatar());
469
-                consultant.setCompany(user.getOrgName());
464
+                user = userService.getById(taRecommendCustomer.getRealtyConsultant());
465
+            }else {
466
+                user = userService.getById(consultant.getUserId());
470 467
             }
471
-            consultant.setProjects(taPersonMapper.getUserProjects(consultant.getUserId()));
472
-            taRecommendCustomer.setConsultant(consultant);
468
+            user.setProjects(taPersonMapper.getUserProjects(user.getUserId()));
469
+            taRecommendCustomer.setConsultant(user);
470
+        }
471
+        return taRecommendCustomer;
472
+    }
473
+
474
+    @Override
475
+    public TaPerson getPublicCustomerDetail(String personId){
476
+        TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
477
+        if(!StringUtils.isEmpty(personId)){
478
+            taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
479
+            taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
480
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
473 481
         }
474 482
         return taRecommendCustomer;
475 483
     }
@@ -579,4 +587,105 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
579 587
     public List<AgentsRecommendCustomer> getIndependentAgentsExport(Integer orgId, Integer pageCode, Integer pageSize) {
580 588
         return taRecommendCustomerMapper.getIndependentAgentsExport(orgId, pageCode, pageSize);
581 589
     }
590
+    
591
+    /**
592
+     * 查询我的客户人数集合
593
+     *
594
+     * @param openid
595
+     * @return
596
+     */
597
+    @Override
598
+    public ResponseBean getMyCustStatistics(String openid) {
599
+        List<TaPerson> taPersons = getPersonsByOpenId(openid);
600
+        if (null == taPersons || taPersons.size() != 1) {
601
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
602
+        }
603
+    
604
+        TaPerson taPerson = taPersons.get(0);
605
+        List<Map<String,Object>> list = taRecommendCustomerMapper.getMyCustStatistics(taPerson.getPersonId(),taPerson.getUserId(),taPerson.getOrgId());
606
+        return ResponseBean.success(list);
607
+    }
608
+    
609
+    /**
610
+     * 分页查询我的跟进客户集合
611
+     *
612
+     * @param pageNumber
613
+     * @param pageSize
614
+     * @param openid
615
+     * @param name
616
+     * @param phone
617
+     * @param status
618
+     * @return
619
+     */
620
+    @Override
621
+    public ResponseBean getMyCustFollowOrClinch(Integer pageNumber, Integer pageSize, String openid, String type, String name, String phone, Integer status) {
622
+        List<TaPerson> taPersons = getPersonsByOpenId(openid);
623
+        if (null == taPersons || taPersons.size() != 1) {
624
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
625
+        }
626
+    
627
+        TaPerson taPerson = taPersons.get(0);
628
+        
629
+        IPage<TaRecommendCustomer> page = new Page<>();
630
+        page.setCurrent(pageNumber);
631
+        page.setSize(pageSize);
632
+        
633
+        //分页获取跟进客户status != 4的为跟进客户, status = 4的为成交客户 根据type区分  follow 跟进  clinch 成交
634
+        IPage<TaRecommendCustomer> result = taRecommendCustomerMapper.getMyCustFollowOrClinch(page, taPerson.getPersonId(),taPerson.getUserId(),taPerson.getOrgId(), type,name,phone,status);
635
+        return ResponseBean.success(result);
636
+    }
637
+    
638
+    /**
639
+     * 获取盘客工具下我的客户详情
640
+     *
641
+     * @param customerId
642
+     * @param openid
643
+     * @return
644
+     */
645
+    @Override
646
+    public ResponseBean getMyCustDetail(String customerId, String openid) {
647
+        List<TaPerson> taPersons = getPersonsByOpenId(openid);
648
+        if (null == taPersons || taPersons.size() != 1) {
649
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
650
+        }
651
+    
652
+        TaPerson taPerson = taPersons.get(0);
653
+        TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getMyCustDetailById(customerId);
654
+        //添加跟进行为
655
+        addCustomerFpllowUp(taPerson,taRecommendCustomer,"查看客户详情");
656
+        return ResponseBean.success(taRecommendCustomer);
657
+    }
658
+    
659
+    /**
660
+     * 更新我的客户基本信息
661
+     *
662
+     * @param taRecommendCustomer
663
+     * @param openid
664
+     * @return
665
+     */
666
+    @Override
667
+    public ResponseBean updateMyCust(TaRecommendCustomer taRecommendCustomer, String openid) {
668
+        List<TaPerson> taPersons = getPersonsByOpenId(openid);
669
+        if (null == taPersons || taPersons.size() != 1) {
670
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
671
+        }
672
+    
673
+        TaPerson taPerson = taPersons.get(0);
674
+        taRecommendCustomerMapper.updateById(taRecommendCustomer);
675
+        //添加跟进行为
676
+        addCustomerFpllowUp(taPerson,taRecommendCustomer,"编辑客户信息");
677
+        return ResponseBean.success(taRecommendCustomer);
678
+    }
679
+    
680
+    //添加跟进行为
681
+    private void addCustomerFpllowUp(TaPerson taPerson,TaRecommendCustomer taRecommendCustomer,String recordType) {
682
+        TaCustomerFollowUpRecord taCustomerFollowUpRecord = new TaCustomerFollowUpRecord();
683
+        taCustomerFollowUpRecord.setOrgId(taPerson.getOrgId());
684
+        taCustomerFollowUpRecord.setCreateDate(LocalDateTime.now());
685
+        taCustomerFollowUpRecord.setCustomerId(taRecommendCustomer.getCustomerId());
686
+        taCustomerFollowUpRecord.setRecordType(recordType);
687
+        taCustomerFollowUpRecord.setFollowerId(taPerson.getPersonId());
688
+        taCustomerFollowUpRecord.setCustomerSex(taRecommendCustomer.getSex());
689
+        customerFollowUpRecordMapper.insert(taCustomerFollowUpRecord);
690
+    }
582 691
 }

+ 1
- 2
src/main/java/com/huiju/estateagents/service/impl/TaShareActivityServiceImpl.java Просмотреть файл

@@ -48,8 +48,7 @@ public class TaShareActivityServiceImpl extends ServiceImpl<TaShareActivityMappe
48 48
         queryWrapper.eq(endTime != null, "end_time", endTime);
49 49
         queryWrapper.eq(orgId != null, "org_id", orgId);
50 50
         queryWrapper.eq(cityId != null, "city_id", cityId);
51
-        queryWrapper.orderByAsc("activity_status");
52
-        queryWrapper.orderByAsc("start_time");
51
+        queryWrapper.orderByDesc("heavy");
53 52
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);
54 53
 
55 54
         List<TaShareActivity> taShareActivities = taNewsIPage.getRecords();

+ 77
- 2
src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerFollowUpRecordController.java Просмотреть файл

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.TaPerson;
9
+import com.huiju.estateagents.service.ITaPersonService;
8 10
 import com.huiju.estateagents.statistic.entity.TaCustomerFollowUpRecord;
9 11
 import com.huiju.estateagents.statistic.service.ITaCustomerFollowUpRecordService;
10 12
 import org.slf4j.Logger;
@@ -18,6 +20,9 @@ import org.springframework.web.bind.annotation.RequestParam;
18 20
 import org.springframework.web.bind.annotation.ResponseBody;
19 21
 import org.springframework.web.bind.annotation.RestController;
20 22
 
23
+import javax.servlet.http.HttpServletRequest;
24
+import java.util.List;
25
+
21 26
 /**
22 27
  * <p>
23 28
     * 跟进记录表 小程序盘客工具我的客户跟进记录信息 前端控制器
@@ -27,14 +32,16 @@ import org.springframework.web.bind.annotation.RestController;
27 32
  * @since 2019-11-08
28 33
  */
29 34
 @RestController
30
-@RequestMapping("/")
35
+@RequestMapping("/api")
31 36
 public class TaCustomerFollowUpRecordController extends BaseController {
32 37
 
33 38
     private final Logger logger = LoggerFactory.getLogger(TaCustomerFollowUpRecordController.class);
34 39
 
35 40
     @Autowired
36 41
     public ITaCustomerFollowUpRecordService iTaCustomerFollowUpRecordService;
37
-
42
+    
43
+    @Autowired
44
+    private ITaPersonService taPersonService;
38 45
 
39 46
     /**
40 47
      * 分页查询列表
@@ -146,4 +153,72 @@ public class TaCustomerFollowUpRecordController extends BaseController {
146 153
         }
147 154
         return responseBean;
148 155
     }
156
+    
157
+    /**
158
+     * 盘客工具添加跟进记录
159
+     * @param taCustomerFollowUpRecord 实体对象
160
+     * @return
161
+     */
162
+    @RequestMapping(value="/wx/taCustomerFollowUpRecord",method= RequestMethod.POST)
163
+    public ResponseBean wxCustomerFollowUpRecordAdd(@RequestBody TaCustomerFollowUpRecord taCustomerFollowUpRecord, HttpServletRequest request){
164
+        ResponseBean responseBean = new ResponseBean();
165
+        String openid = getOpenId(request);
166
+        Integer orgId = getOrgId(request);
167
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
168
+        if (null == taPersons || taPersons.size() != 1) {
169
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
170
+        }
171
+        TaPerson person = taPersons.get(0);
172
+        try {
173
+            taCustomerFollowUpRecord.setFollowerId(person.getPersonId());
174
+            if (iTaCustomerFollowUpRecordService.save(taCustomerFollowUpRecord)){
175
+                responseBean.addSuccess(taCustomerFollowUpRecord);
176
+            }else {
177
+                responseBean.addError("fail");
178
+            }
179
+        }catch (Exception e){
180
+            e.printStackTrace();
181
+            logger.error("taCustomerFollowUpRecordAdd -=- {}",e.toString());
182
+            responseBean.addError(e.getMessage());
183
+        }
184
+        return responseBean;
185
+    }
186
+    
187
+    /**
188
+     * 分页查询跟进记录列表
189
+     * @param pageNum
190
+     * @param pageSize
191
+     * @return
192
+     */
193
+    @RequestMapping(value="/wx/taCustomerFollowUpRecord",method= RequestMethod.GET)
194
+    public ResponseBean wxCustomerFollowUpRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
195
+                                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
196
+                                                     @RequestParam(value ="customerId",required = true) Integer customerId,
197
+                                                     HttpServletRequest request){
198
+        ResponseBean responseBean = new ResponseBean();
199
+        String openid = getOpenId(request);
200
+        Integer orgId = getOrgId(request);
201
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
202
+        if (null == taPersons || taPersons.size() != 1) {
203
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
204
+        }
205
+        TaPerson person = taPersons.get(0);
206
+        try {
207
+            //使用分页插件
208
+            IPage<TaCustomerFollowUpRecord> pg = new Page<>(pageNum, pageSize);
209
+            QueryWrapper<TaCustomerFollowUpRecord> queryWrapper = new QueryWrapper<>();
210
+            queryWrapper.eq("follower_id",person.getPersonId());
211
+            queryWrapper.eq("org_id",orgId);
212
+            queryWrapper.eq("customer_id",customerId);
213
+            queryWrapper.orderByDesc("create_date");
214
+            
215
+            IPage<TaCustomerFollowUpRecord> result = iTaCustomerFollowUpRecordService.page(pg, queryWrapper);
216
+            responseBean.addSuccess(result);
217
+        }catch (Exception e){
218
+            e.printStackTrace();
219
+            logger.error("taCustomerFollowUpRecordList -=- {}",e.toString());
220
+            responseBean.addError(e.getMessage());
221
+        }
222
+        return responseBean;
223
+    }
149 224
 }

+ 29
- 1
src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerGenderStatisticController.java Просмотреть файл

@@ -18,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestParam;
18 18
 import org.springframework.web.bind.annotation.ResponseBody;
19 19
 import org.springframework.web.bind.annotation.RestController;
20 20
 
21
+import javax.servlet.http.HttpServletRequest;
22
+import java.util.List;
23
+
21 24
 /**
22 25
  * <p>
23 26
     * 客户分析性别统计表 小程序盘客工具客户分析 前端控制器
@@ -27,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
27 30
  * @since 2019-11-08
28 31
  */
29 32
 @RestController
30
-@RequestMapping("/")
33
+@RequestMapping("/api")
31 34
 public class TaCustomerGenderStatisticController extends BaseController {
32 35
 
33 36
     private final Logger logger = LoggerFactory.getLogger(TaCustomerGenderStatisticController.class);
@@ -146,4 +149,29 @@ public class TaCustomerGenderStatisticController extends BaseController {
146 149
         }
147 150
         return responseBean;
148 151
     }
152
+    
153
+    /**
154
+     * 微信端查询三条性别列表数据
155
+     * @return
156
+     */
157
+    @RequestMapping(value="/wx/genderStatistic/{customerType}",method= RequestMethod.GET)
158
+    public ResponseBean wxCustomerGenderStatisticList(@PathVariable(value = "customerType") String customerType, HttpServletRequest request){
159
+        ResponseBean responseBean = new ResponseBean();
160
+        try {
161
+            //查询当前小程序的男女比统计
162
+            QueryWrapper<TaCustomerGenderStatistic> queryWrapper = new QueryWrapper<>();
163
+            queryWrapper.eq("org_id",getOrgId(request));
164
+            queryWrapper.eq("customer_type",customerType);
165
+            queryWrapper.orderByDesc("create_date");
166
+     
167
+            List<TaCustomerGenderStatistic> result = iTaCustomerGenderStatisticService.list(queryWrapper);
168
+            responseBean.addSuccess(result);
169
+        }catch (Exception e){
170
+            e.printStackTrace();
171
+            logger.error("taCustomerGenderStatisticList -=- {}",e.toString());
172
+            responseBean.addError(e.getMessage());
173
+        }
174
+        return responseBean;
175
+    }
176
+    
149 177
 }

+ 24
- 1
src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerStatisticDailyController.java Просмотреть файл

@@ -18,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestParam;
18 18
 import org.springframework.web.bind.annotation.ResponseBody;
19 19
 import org.springframework.web.bind.annotation.RestController;
20 20
 
21
+import javax.servlet.http.HttpServletRequest;
22
+import java.util.List;
23
+
21 24
 /**
22 25
  * <p>
23 26
     * 客户分析日统计表 小程序盘客工具客户分析 前端控制器
@@ -27,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
27 30
  * @since 2019-11-08
28 31
  */
29 32
 @RestController
30
-@RequestMapping("/")
33
+@RequestMapping("/api")
31 34
 public class TaCustomerStatisticDailyController extends BaseController {
32 35
 
33 36
     private final Logger logger = LoggerFactory.getLogger(TaCustomerStatisticDailyController.class);
@@ -146,4 +149,24 @@ public class TaCustomerStatisticDailyController extends BaseController {
146 149
         }
147 150
         return responseBean;
148 151
     }
152
+    
153
+    /**
154
+     * 微信端查询日客户分析统计数据
155
+     * 日筛选:可以选择包括当前日往前的31日
156
+     * @return
157
+     */
158
+    @RequestMapping(value="/wx/customerStatisticDaily/{customerType}",method= RequestMethod.GET)
159
+    public ResponseBean wxCustomerStatisticDailyList(@PathVariable(value = "customerType") String customerType,
160
+                                                     HttpServletRequest request){
161
+        ResponseBean responseBean = new ResponseBean();
162
+        try {
163
+            List<TaCustomerStatisticDaily> list = iTaCustomerStatisticDailyService.getDailyList(customerType,getOrgId(request));
164
+            responseBean.addSuccess(list);
165
+        }catch (Exception e){
166
+            e.printStackTrace();
167
+            logger.error("wxCustomerStatisticDailyList -=- {}",e.toString());
168
+            responseBean.addError(e.getMessage());
169
+        }
170
+        return responseBean;
171
+    }
149 172
 }

+ 25
- 1
src/main/java/com/huiju/estateagents/statistic/controller/TaCustomerStatisticMonthlyController.java Просмотреть файл

@@ -18,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestParam;
18 18
 import org.springframework.web.bind.annotation.ResponseBody;
19 19
 import org.springframework.web.bind.annotation.RestController;
20 20
 
21
+import javax.servlet.http.HttpServletRequest;
22
+import java.util.List;
23
+
21 24
 /**
22 25
  * <p>
23 26
     * 客户分析月统计表 小程序盘客工具客户分析 前端控制器
@@ -27,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
27 30
  * @since 2019-11-08
28 31
  */
29 32
 @RestController
30
-@RequestMapping("/")
33
+@RequestMapping("/api")
31 34
 public class TaCustomerStatisticMonthlyController extends BaseController {
32 35
 
33 36
     private final Logger logger = LoggerFactory.getLogger(TaCustomerStatisticMonthlyController.class);
@@ -146,4 +149,25 @@ public class TaCustomerStatisticMonthlyController extends BaseController {
146 149
         }
147 150
         return responseBean;
148 151
     }
152
+    
153
+    /**
154
+     * 微信端查询月客户分析统计数据
155
+     * 月筛选:可以选择包括当前月往前的12个月
156
+     * @return
157
+     */
158
+    @RequestMapping(value="/wx/customerStatisticMonthly/{customerType}",method= RequestMethod.GET)
159
+    public ResponseBean taCustomerStatisticMonthlyList(@PathVariable(value = "customerType") String customerType,
160
+                                                       HttpServletRequest request){
161
+        ResponseBean responseBean = new ResponseBean();
162
+        try {
163
+            //查询月客户分析数据
164
+            List<TaCustomerStatisticMonthly> result = iTaCustomerStatisticMonthlyService.getCustomerMonthlyList(customerType, getOrgId(request));
165
+            responseBean.addSuccess(result);
166
+        }catch (Exception e){
167
+            e.printStackTrace();
168
+            logger.error("taCustomerStatisticMonthlyList -=- {}",e.toString());
169
+            responseBean.addError(e.getMessage());
170
+        }
171
+        return responseBean;
172
+    }
149 173
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/statistic/entity/TaCustomerFollowUpRecord.java Просмотреть файл

@@ -58,7 +58,7 @@ public class TaCustomerFollowUpRecord implements Serializable {
58 58
     /**
59 59
      * 跟进人ID
60 60
      */
61
-    private Integer followerId;
61
+    private String followerId;
62 62
     
63 63
     /**
64 64
      * 客户性别

+ 10
- 0
src/main/java/com/huiju/estateagents/statistic/mapper/TaCustomerStatisticDailyMapper.java Просмотреть файл

@@ -42,4 +42,14 @@ public interface TaCustomerStatisticDailyMapper extends BaseMapper<TaCustomerSta
42 42
 	 * @return
43 43
 	 */
44 44
 	List<TaCustomerStatisticDaily> getVisiteCustomerData(@Param("nowDate") LocalDateTime nowDate,@Param("checkin") int checkin);
45
+	
46
+	/**
47
+	 * 获取31天的统计数据
48
+	 * @param customerType
49
+	 * @param orgId
50
+	 * @param nowDate
51
+	 * @param beforeDate
52
+	 * @return
53
+	 */
54
+	List<TaCustomerStatisticDaily> getDailyList(@Param("customerType") String customerType,@Param("orgId")  Integer orgId,@Param("nowDate")  LocalDateTime nowDate,@Param("beforeDate")  LocalDateTime beforeDate);
45 55
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/statistic/mapper/TaCustomerStatisticMonthlyMapper.java Просмотреть файл

@@ -41,4 +41,14 @@ public interface TaCustomerStatisticMonthlyMapper extends BaseMapper<TaCustomerS
41 41
 	 * @return
42 42
 	 */
43 43
 	List<TaCustomerStatisticMonthly> getVisiteStatisticMonthly(@Param("nowDate") LocalDateTime nowDate,@Param("checkin") int checkin);
44
+	
45
+	/**
46
+	 * 获取12个月的统计数据
47
+	 * @param customerType
48
+	 * @param orgId
49
+	 * @param nowDate
50
+	 * @param beforeDate
51
+	 * @return
52
+	 */
53
+	List<TaCustomerStatisticMonthly> getMonthlyList(@Param("customerType") String customerType,@Param("orgId") Integer orgId,@Param("nowDate") LocalDateTime nowDate,@Param("beforeDate") LocalDateTime beforeDate);
44 54
 }

+ 9
- 0
src/main/java/com/huiju/estateagents/statistic/service/ITaCustomerStatisticDailyService.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.statistic.entity.TaCustomerStatisticDaily;
5 5
 
6 6
 import java.time.LocalDateTime;
7
+import java.util.List;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -32,4 +33,12 @@ public interface ITaCustomerStatisticDailyService extends IService<TaCustomerSta
32 33
 	 * @param nowDate
33 34
 	 */
34 35
 	void visiteStatisticDaily(LocalDateTime nowDate);
36
+	
37
+	/**
38
+	 * 获取日统计数据
39
+	 * @param customerType
40
+	 * @param orgId
41
+	 * @return
42
+	 */
43
+	List<TaCustomerStatisticDaily> getDailyList(String customerType, Integer orgId);
35 44
 }

+ 9
- 0
src/main/java/com/huiju/estateagents/statistic/service/ITaCustomerStatisticMonthlyService.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.statistic.entity.TaCustomerStatisticMonthly;
5 5
 
6 6
 import java.time.LocalDateTime;
7
+import java.util.List;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -32,4 +33,12 @@ public interface ITaCustomerStatisticMonthlyService extends IService<TaCustomerS
32 33
 	 * @param nowDate
33 34
 	 */
34 35
 	void visiteStatisticMonthly(LocalDateTime nowDate);
36
+	
37
+	/**
38
+	 * 查询12个月的客户统计分析数据
39
+	 * @param customerType
40
+	 * @param orgId
41
+	 * @return
42
+	 */
43
+	List<TaCustomerStatisticMonthly> getCustomerMonthlyList(String customerType, Integer orgId);
35 44
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/statistic/service/impl/TaCustomerStatisticDailyServiceImpl.java Просмотреть файл

@@ -73,6 +73,24 @@ public class TaCustomerStatisticDailyServiceImpl extends ServiceImpl<TaCustomerS
73 73
 		statisticDailySaveBatch(saveList,nowDate,CommConstant.CUSTOMER_TYPE_VISITE);
74 74
 	}
75 75
 	
76
+	/**
77
+	 * 获取日统计数据
78
+	 *
79
+	 * @param customerType
80
+	 * @param orgId
81
+	 * @return
82
+	 */
83
+	@Override
84
+	public List<TaCustomerStatisticDaily> getDailyList(String customerType, Integer orgId) {
85
+		//当前日期
86
+		LocalDateTime nowDate = LocalDateTime.now();
87
+		//31天前的日期
88
+		LocalDateTime beforeDate = nowDate.plusDays(-31);
89
+		//获取31天的日期数据
90
+		List<TaCustomerStatisticDaily> list = customerStatisticDailyMapper.getDailyList(customerType,orgId,nowDate,beforeDate);
91
+		return list;
92
+	}
93
+	
76 94
 	/**
77 95
 	 * 批量保存当天的统计数据
78 96
 	 * @param list

+ 19
- 0
src/main/java/com/huiju/estateagents/statistic/service/impl/TaCustomerStatisticMonthlyServiceImpl.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.statistic.service.impl;
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 5
 import com.huiju.estateagents.common.CommConstant;
6
+import com.huiju.estateagents.statistic.entity.TaCustomerStatisticDaily;
6 7
 import com.huiju.estateagents.statistic.entity.TaCustomerStatisticMonthly;
7 8
 import com.huiju.estateagents.statistic.mapper.TaCustomerStatisticMonthlyMapper;
8 9
 import com.huiju.estateagents.statistic.service.ITaCustomerStatisticMonthlyService;
@@ -71,6 +72,24 @@ public class TaCustomerStatisticMonthlyServiceImpl extends ServiceImpl<TaCustome
71 72
 		statisticMonthlySaveBatch(newVisiteMonthList,nowDate, CommConstant.CUSTOMER_TYPE_FOLLOW);
72 73
 	}
73 74
 	
75
+	/**
76
+	 * 查询12个月的客户统计分析数据
77
+	 *
78
+	 * @param customerType
79
+	 * @param orgId
80
+	 * @return
81
+	 */
82
+	@Override
83
+	public List<TaCustomerStatisticMonthly> getCustomerMonthlyList(String customerType, Integer orgId) {
84
+		//当前日期
85
+		LocalDateTime nowDate = LocalDateTime.now();
86
+		//12个月前的日期
87
+		LocalDateTime beforeDate = nowDate.plusMonths(-12);
88
+		//获取31天的日期数据
89
+		List<TaCustomerStatisticMonthly> list = customerStatisticMonthlyMapper.getMonthlyList(customerType,orgId,nowDate,beforeDate);
90
+		return list;
91
+	}
92
+	
74 93
 	/**
75 94
 	 * 批量保存当月的统计数据
76 95
 	 * @param list

+ 76
- 0
src/main/resources/mapper/Activity.xml Просмотреть файл

@@ -25,4 +25,80 @@
25 25
         </if>
26 26
         ORDER BY weight desc,activity_status,start_date
27 27
     </select>
28
+    <select id="getCustomerActivityList" resultType="java.util.Map">
29
+        SELECT
30
+            t.enlist_id AS id,
31
+            t.dynamic_id AS activityId,
32
+            t.create_date AS createDate,
33
+            IF( t.is_checkin = 1, "已签到", "未签到" ) AS `status`,
34
+            d.img_url AS mainImg,
35
+            d.title,
36
+            d.start_date AS startDate,
37
+            d.enlist_end AS endDate,
38
+            'dynamic' AS type
39
+        FROM
40
+            ta_activity_dynamic_enlist t
41
+            LEFT JOIN ta_building_dynamic d ON t.dynamic_id = d.dynamic_id
42
+        WHERE
43
+            t.org_id = #{orgId}
44
+            AND t.person_id = #{personId}
45
+      UNION ALL
46
+        SELECT
47
+            t.record_id AS id,
48
+            t.group_activity_id AS activityId,
49
+            t.create_time AS createDate,
50
+        CASE
51
+            WHEN t.STATUS = 1 THEN
52
+            "进行中"
53
+            WHEN t.STATUS = 0
54
+            AND t.verification_status = 1 THEN
55
+            "成功已核销"
56
+        WHEN t.STATUS = 0
57
+        AND t.verification_status != 1 THEN
58
+        "成功未核销"
59
+        WHEN t.STATUS = 2 THEN
60
+        "失败"
61
+        END `status`,
62
+            d.main_img AS mainImg,
63
+            d.activity_name AS title,
64
+            d.start_time AS startDate,
65
+            d.end_time AS endDate,
66
+            'group' AS type
67
+        FROM
68
+            ta_share_record t
69
+            LEFT JOIN ta_share_activity d ON t.group_activity_id = d.group_activity_id
70
+        WHERE
71
+            t.org_id = #{orgId}
72
+            AND t.person_id = #{personId}
73
+      UNION ALL
74
+        SELECT
75
+            t.help_record_initiate_id AS id,
76
+            t.help_activity_id AS activityId,
77
+            t.create_date AS createDate,
78
+        CASE
79
+                WHEN t.STATUS = 1 THEN
80
+                "进行中"
81
+                WHEN t.STATUS = 0
82
+                AND t.verification_status = 1 THEN
83
+                    "成功已核销"
84
+                    WHEN t.STATUS = 0
85
+                    AND t.verification_status != 1 THEN
86
+                        "成功未核销"
87
+                        WHEN t.STATUS = 2 THEN
88
+                        "失败"
89
+                    END `status`,
90
+            d.img AS mainImg,
91
+            d.title,
92
+            d.start_date AS startDate,
93
+            d.end_date AS endDate,
94
+            'help' AS type
95
+        FROM
96
+            ta_help_initiate_record t
97
+            LEFT JOIN ta_help_activity d ON t.help_activity_id = d.help_activity_id
98
+        WHERE
99
+            t.org_id = #{orgId}
100
+            AND t.person_id = #{personId}
101
+        ORDER BY
102
+        createDate DESC
103
+    </select>
28 104
 </mapper>

+ 1
- 4
src/main/resources/mapper/HelpActivityMapper.xml Просмотреть файл

@@ -31,10 +31,7 @@
31 31
             and ha.org_id=#{orgId}
32 32
         </where>
33 33
         GROUP BY ha.help_activity_id
34
-        order by ha.activity_status = 0 desc,
35
-                  ha.activity_status = 1 desc,
36
-                  ha.activity_status = 2 desc,
37
-                  ha.start_date asc
34
+        order by ha.heavy desc
38 35
     </select>
39 36
 
40 37
     <update id="updateActivityToUnStart">

+ 12
- 0
src/main/resources/mapper/TaPersonVisitRecordMapper.xml Просмотреть файл

@@ -49,5 +49,17 @@
49 49
         GROUP BY tpvr.person_id, tpvr.event
50 50
         ORDER BY 	accessCount DESC,tpvr.visit_time DESC
51 51
     </select>
52
+    <select id="getPersonVisitRecordList" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
53
+        SELECT
54
+            t.*,
55
+            b.building_name
56
+        FROM
57
+            ta_person_visit_record t
58
+            LEFT JOIN ta_building b ON t.building_id = b.building_id
59
+        WHERE
60
+            t.person_id = #{personId}
61
+        ORDER BY
62
+            t.visit_time DESC
63
+    </select>
52 64
 
53 65
 </mapper>

+ 82
- 24
src/main/resources/mapper/TaRecommendCustomerMapper.xml Просмотреть файл

@@ -226,30 +226,29 @@ FROM
226 226
         ) AS sharePersonName
227 227
         FROM
228 228
         ta_person b
229
-               <where>
230
-                    b.status > 0
231
-                   AND IFNULL(b.person_type, '') in ('estate agent', 'customer')
232
-                    <if test="name != null and name !=''">
233
-                        and b.nickname like CONCAT('%',#{name}, '%')
234
-                    </if>
235
-                    <if test="tel != null and tel!=''">
236
-                        and b.phone like CONCAT('%',#{tel}, '%')
237
-                    </if>
238
-                    <if test="entryType != null and entryType !=''">
239
-                        and b.entry_type = #{entryType}
240
-                    </if>
241
-                    <if test="sex != null and sex !=''">
242
-                        and b.sex = #{sex}
243
-                    </if>
244
-                    <if test="orgId != null">
245
-                       and b.org_id = #{orgId}
246
-                    </if>
247
-                    <if test="consultTel != null and consultTel !=''">
248
-                        and b.tel like CONCAT('%',#{consultTel}, '%')
249
-                    </if>
250
-                    and NOT EXISTS ( select * from ta_recommend_customer a where a.recommend_person = b.person_id)
251
-                </where>
252
-               order by b.create_date desc
229
+        <where>
230
+            b.status > 0
231
+            and b.org_id = #{orgId}
232
+            AND IFNULL(b.person_type, '') in ('estate agent', 'customer')
233
+            AND b.person_id not IN ( SELECT c.person_id FROM ta_recommend_customer c WHERE c.org_id = #{orgId} AND person_id is not null AND person_id != ''  )
234
+            <if test="name != null and name !=''">
235
+                and b.nickname like CONCAT('%',#{name}, '%')
236
+            </if>
237
+            <if test="tel != null and tel!=''">
238
+                and b.phone like CONCAT('%',#{tel}, '%')
239
+            </if>
240
+            <if test="entryType != null and entryType !=''">
241
+                and b.entry_type = #{entryType}
242
+            </if>
243
+            <if test="sex != null and sex !=''">
244
+                and b.sex = #{sex}
245
+            </if>
246
+            <if test="consultTel != null and consultTel !=''">
247
+                and b.tel like CONCAT('%',#{consultTel}, '%')
248
+            </if>
249
+            and NOT EXISTS ( select * from ta_recommend_customer a where a.recommend_person = b.person_id)
250
+        </where>
251
+        order by b.create_date desc
253 252
     </select>
254 253
 
255 254
     <select id="getRecCustomerExport" resultType="com.huiju.estateagents.excel.ExcelRecommendCustomer">
@@ -606,4 +605,63 @@ FROM
606 605
         limit #{pageCode}, #{pageSize}
607 606
     </select>
608 607
 
608
+    <select id="getMyCustStatistics" resultType="java.util.Map">
609
+        SELECT
610
+            sum( IF ( STATUS = 4, 1, 0 ) ) AS followSum,
611
+            sum( IF ( STATUS != 4 AND STATUS != 4, 1, 0 ) ) AS clinchSum
612
+        FROM
613
+            ta_recommend_customer
614
+        WHERE
615
+            org_id = #{orgId}
616
+        AND ( realty_consultant = #{personId} OR realty_consultant = #{userId} )
617
+    </select>
618
+
619
+    <select id="getMyCustFollowOrClinch" resultType="com.huiju.estateagents.entity.TaRecommendCustomer">
620
+        SELECT
621
+            *
622
+        FROM
623
+            ta_recommend_customer
624
+        WHERE
625
+            org_id = #{orgId}
626
+        AND ( realty_consultant = #{personId} OR realty_consultant = #{userId} )
627
+        <if test="type == 'follow'">
628
+          AND STATUS != 4
629
+            <if test="name != null and name !=''">
630
+                and `name` like CONCAT('%',#{name}, '%')
631
+            </if>
632
+            <if test="phone != null and phone !=''">
633
+                and phone like CONCAT('%',#{phone}, '%')
634
+            </if>
635
+            <if test="status != null and status !=''">
636
+                and status = #{status}
637
+            </if>
638
+        </if>
639
+        <if test="type == 'clinch'">
640
+          AND STATUS = 4
641
+        </if>
642
+    </select>
643
+
644
+    <select id="getMyCustDetailById" resultType="com.huiju.estateagents.entity.TaRecommendCustomer">
645
+        SELECT
646
+            *
647
+        FROM
648
+            ta_recommend_customer
649
+        where customer_id = #{customerId}
650
+    </select>
651
+
652
+    <select id="getCustomerIntentions" resultType="com.huiju.estateagents.entity.PersonIntention">
653
+        SELECT
654
+            SUM( intention ) AS intention,
655
+            building_id,
656
+            building_name
657
+        FROM
658
+            `ta_person_intention_record`
659
+        WHERE
660
+            person_id = #{personId}
661
+        GROUP BY
662
+            building_id
663
+        ORDER BY
664
+            intention DESC
665
+    </select>
666
+
609 667
 </mapper>

+ 12
- 0
src/main/resources/mapper/statistic/TaCustomerStatisticDailyMapper.xml Просмотреть файл

@@ -41,4 +41,16 @@
41 41
         GROUP BY
42 42
             c.org_id
43 43
     </select>
44
+
45
+    <select id="getDailyList" resultType="com.huiju.estateagents.statistic.entity.TaCustomerStatisticDaily">
46
+        SELECT
47
+          *
48
+        FROM
49
+          ta_customer_statistic_daily
50
+        WHERE
51
+          org_id = #{orgId}
52
+        AND customer_type = #{customerType}
53
+        AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
54
+        AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
55
+    </select>
44 56
 </mapper>

+ 11
- 0
src/main/resources/mapper/statistic/TaCustomerStatisticMonthlyMapper.xml Просмотреть файл

@@ -44,4 +44,15 @@
44 44
         GROUP BY
45 45
             c.org_id
46 46
     </select>
47
+    <select id="getMonthlyList" resultType="com.huiju.estateagents.statistic.entity.TaCustomerStatisticMonthly">
48
+        SELECT
49
+          *
50
+        FROM
51
+          ta_customer_statistic_monthly
52
+        WHERE
53
+          org_id = #{orgId}
54
+        AND customer_type = #{customerType}
55
+        AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
56
+        AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
57
+    </select>
47 58
 </mapper>