Browse Source

新需求 埋点信息数据

傅行帆 5 years ago
parent
commit
72e233be8e

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

@@ -80,7 +80,7 @@ public class TaPersonVisitRecordController extends BaseController {
80 80
     }
81 81
 
82 82
     /**
83
-     * 保存对象
83
+     * 保存对象--埋点数据保存
84 84
      * @param taPersonVisitRecord 实体对象
85 85
      * @return
86 86
      */

+ 16
- 8
src/main/java/com/huiju/estateagents/controller/TaSharePersonFromController.java View File

@@ -5,8 +5,10 @@ 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.TaSharePersonFrom;
8
+import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.entity.*;
9 10
 import com.huiju.estateagents.service.ITaSharePersonFromService;
11
+import org.apache.commons.lang3.StringUtils;
10 12
 import org.slf4j.Logger;
11 13
 import org.slf4j.LoggerFactory;
12 14
 import org.springframework.beans.factory.annotation.Autowired;
@@ -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.time.LocalDateTime;
25
+
21 26
 /**
22 27
  * <p>
23 28
     *   前端控制器
@@ -63,18 +68,21 @@ public class TaSharePersonFromController extends BaseController {
63 68
     }
64 69
 
65 70
     /**
66
-     * 保存对象
67
-     * @param taSharePersonFrom 实体对象
71
+     * 保存对象--分享记录埋点
72
+     *
68 73
      * @return
69 74
      */
70
-    @RequestMapping(value="/taSharePersonFrom",method= RequestMethod.POST)
71
-    public ResponseBean taSharePersonFromAdd(@RequestBody TaSharePersonFrom taSharePersonFrom){
75
+    @RequestMapping(value="/wx/taSharePersonFrom",method= RequestMethod.POST)
76
+    public ResponseBean taSharePersonFromAdd( @RequestParam(required = false) String from,
77
+                                              @RequestParam(required = false)String recommender,
78
+                                              @RequestParam(required = false)String targetId,
79
+                                              HttpServletRequest request){
72 80
         ResponseBean responseBean = new ResponseBean();
73 81
         try {
74
-            if (iTaSharePersonFromService.save(taSharePersonFrom)){
82
+            if(StringUtils.isNotBlank(from) &&StringUtils.isNotBlank(recommender) &&StringUtils.isNotBlank(targetId)){
83
+                //添加客户分享信息记录
84
+                TaSharePersonFrom taSharePersonFrom = iTaSharePersonFromService.addSharePersonRecord(getPersonId(request), getOrgId(request), from, recommender, targetId);
75 85
                 responseBean.addSuccess(taSharePersonFrom);
76
-            }else {
77
-                responseBean.addError("fail");
78 86
             }
79 87
         }catch (Exception e){
80 88
             e.printStackTrace();

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

@@ -81,6 +81,11 @@ public class TaPersonVisitRecord implements Serializable {
81 81
      */
82 82
     private String consultantId;
83 83
 
84
+    /**
85
+     * 场景值id
86
+     */
87
+    private String sceneId;
88
+
84 89
     /**
85 90
      * 分享者personid
86 91
      */

+ 11
- 0
src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java View File

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
4 5
 import com.huiju.estateagents.entity.TaSharePersonFrom;
5 6
 
6 7
 /**
@@ -13,4 +14,14 @@ import com.huiju.estateagents.entity.TaSharePersonFrom;
13 14
  */
14 15
 public interface ITaSharePersonFromService extends IService<TaSharePersonFrom> {
15 16
 
17
+    /**
18
+     * 添加客户分享记录
19
+     * @param personId
20
+     * @param orgId
21
+     * @param from
22
+     * @param recommender
23
+     * @param targetId
24
+     * @return
25
+     */
26
+    TaSharePersonFrom addSharePersonRecord(String personId, Integer orgId, String from, String recommender, String targetId);
16 27
 }

+ 84
- 2
src/main/java/com/huiju/estateagents/service/impl/TaSharePersonFromServiceImpl.java View File

@@ -1,11 +1,17 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
-import com.huiju.estateagents.entity.TaSharePersonFrom;
5
-import com.huiju.estateagents.mapper.TaSharePersonFromMapper;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.entity.*;
8
+import com.huiju.estateagents.mapper.*;
6 9
 import com.huiju.estateagents.service.ITaSharePersonFromService;
10
+import org.springframework.beans.factory.annotation.Autowired;
7 11
 import org.springframework.stereotype.Service;
8 12
 
13
+import java.time.LocalDateTime;
14
+
9 15
 /**
10 16
  * <p>
11 17
  *   服务实现类
@@ -17,4 +23,80 @@ import org.springframework.stereotype.Service;
17 23
 @Service
18 24
 public class TaSharePersonFromServiceImpl extends ServiceImpl<TaSharePersonFromMapper, TaSharePersonFrom> implements ITaSharePersonFromService {
19 25
 
26
+    @Autowired
27
+    private TaPersonMapper taPersonMapper;
28
+
29
+    @Autowired
30
+    private TaBuildingDynamicMapper taBuildingDynamicMapper;
31
+
32
+    @Autowired
33
+    private TaPersonBuildingMapper taPersonBuildingMapper;
34
+
35
+    @Autowired
36
+    private TaNewsMapper taNewsMapper;
37
+
38
+    @Autowired
39
+    private TaSharePersonFromMapper taSharePersonFromMapper;
40
+    /**
41
+     * 添加客户分享记录
42
+     *
43
+     * @param personId
44
+     * @param orgId
45
+     * @param from
46
+     * @param recommender
47
+     * @param targetId
48
+     * @return
49
+     */
50
+    @Override
51
+    public TaSharePersonFrom addSharePersonRecord(String personId, Integer orgId, String from, String recommender, String targetId) {
52
+        TaPerson taPerson = taPersonMapper.getById(personId);
53
+        TaSharePersonFrom taSharePersonFrom = new TaSharePersonFrom();
54
+        TaPerson recommenderPerson = taPersonMapper.getById(recommender);
55
+        taSharePersonFrom.setCreateDate(LocalDateTime.now());
56
+        taSharePersonFrom.setOrgId(orgId);
57
+        taSharePersonFrom.setPersonId(taPerson.getPersonId());
58
+        taSharePersonFrom.setSharePersonType(recommenderPerson.getPersonType());
59
+        taSharePersonFrom.setTargetId(targetId);
60
+        taSharePersonFrom.setTargetType(from);
61
+        if(CommConstant.PERSON_REALTY_CONSULTANT.equals(recommenderPerson.getPersonType())){
62
+            taSharePersonFrom.setSharePerson(recommenderPerson.getUserId().toString());
63
+        }else {
64
+            taSharePersonFrom.setSharePerson(recommenderPerson.getPersonId());
65
+        }
66
+        QueryWrapper<TaSharePersonFrom> sharePersonFromQueryWrapper = new QueryWrapper<>();
67
+        sharePersonFromQueryWrapper.eq("person_id",taPerson.getPersonId());
68
+        if(from.equals("dynamic_share")){ // activity_share
69
+            taSharePersonFrom.setStatus(CommConstant.STATUS_UNACCALIMED);
70
+            TaBuildingDynamic buildingDynamic = taBuildingDynamicMapper.selectById(targetId);
71
+            taSharePersonFrom.setBuildingId(buildingDynamic.getBuildingId());
72
+            sharePersonFromQueryWrapper.eq("building_id",buildingDynamic.getBuildingId());
73
+        }else {
74
+            taSharePersonFrom.setStatus(CommConstant.STATUS_NORMAL);
75
+        }
76
+        if (from.contains("card")){
77
+            // 因为targetId 是 personId ,需要查询出 userId
78
+            TaPerson person = taPersonMapper.getById(targetId);
79
+
80
+            QueryWrapper<TaPersonBuilding> personBuildingQueryWrapper = new QueryWrapper<>();
81
+            personBuildingQueryWrapper.eq("user_id",person.getUserId());
82
+            TaPersonBuilding personBuilding = taPersonBuildingMapper.selectOne(personBuildingQueryWrapper);
83
+            taSharePersonFrom.setBuildingId(personBuilding.getBuildingId());
84
+            sharePersonFromQueryWrapper.eq("building_id",personBuilding.getBuildingId());
85
+        }else if (from.contains("news")){
86
+            TaNews news = taNewsMapper.selectById(targetId);
87
+            taSharePersonFrom.setBuildingId(news.getBuildingId());
88
+            sharePersonFromQueryWrapper.eq("building_id",news.getBuildingId());
89
+        }else if (from.contains("building")){
90
+            taSharePersonFrom.setBuildingId(targetId);
91
+            sharePersonFromQueryWrapper.eq("building_id",targetId);
92
+        }
93
+        Integer isFirstTime = taSharePersonFromMapper.selectCount(sharePersonFromQueryWrapper);
94
+        if(isFirstTime>0){
95
+            taSharePersonFrom.setIsFirstTime(false);
96
+        }else {
97
+            taSharePersonFrom.setIsFirstTime(true);
98
+        }
99
+        taSharePersonFromMapper.insert(taSharePersonFrom);
100
+        return taSharePersonFrom;
101
+    }
20 102
 }