Bladeren bron

新需求 埋点信息数据

傅行帆 5 jaren geleden
bovenliggende
commit
72e233be8e

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java Bestand weergeven

80
     }
80
     }
81
 
81
 
82
     /**
82
     /**
83
-     * 保存对象
83
+     * 保存对象--埋点数据保存
84
      * @param taPersonVisitRecord 实体对象
84
      * @param taPersonVisitRecord 实体对象
85
      * @return
85
      * @return
86
      */
86
      */

+ 16
- 8
src/main/java/com/huiju/estateagents/controller/TaSharePersonFromController.java Bestand weergeven

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
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
 import com.huiju.estateagents.service.ITaSharePersonFromService;
10
 import com.huiju.estateagents.service.ITaSharePersonFromService;
11
+import org.apache.commons.lang3.StringUtils;
10
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
11
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
12
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.web.bind.annotation.ResponseBody;
20
 import org.springframework.web.bind.annotation.ResponseBody;
19
 import org.springframework.web.bind.annotation.RestController;
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
  * <p>
27
  * <p>
23
     *   前端控制器
28
     *   前端控制器
63
     }
68
     }
64
 
69
 
65
     /**
70
     /**
66
-     * 保存对象
67
-     * @param taSharePersonFrom 实体对象
71
+     * 保存对象--分享记录埋点
72
+     *
68
      * @return
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
         ResponseBean responseBean = new ResponseBean();
80
         ResponseBean responseBean = new ResponseBean();
73
         try {
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
                 responseBean.addSuccess(taSharePersonFrom);
85
                 responseBean.addSuccess(taSharePersonFrom);
76
-            }else {
77
-                responseBean.addError("fail");
78
             }
86
             }
79
         }catch (Exception e){
87
         }catch (Exception e){
80
             e.printStackTrace();
88
             e.printStackTrace();

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java Bestand weergeven

81
      */
81
      */
82
     private String consultantId;
82
     private String consultantId;
83
 
83
 
84
+    /**
85
+     * 场景值id
86
+     */
87
+    private String sceneId;
88
+
84
     /**
89
     /**
85
      * 分享者personid
90
      * 分享者personid
86
      */
91
      */

+ 11
- 0
src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java Bestand weergeven

1
 package com.huiju.estateagents.service;
1
 package com.huiju.estateagents.service;
2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.entity.TaSharePersonFrom;
5
 import com.huiju.estateagents.entity.TaSharePersonFrom;
5
 
6
 
6
 /**
7
 /**
13
  */
14
  */
14
 public interface ITaSharePersonFromService extends IService<TaSharePersonFrom> {
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 Bestand weergeven

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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
 import com.huiju.estateagents.service.ITaSharePersonFromService;
9
 import com.huiju.estateagents.service.ITaSharePersonFromService;
10
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
11
 import org.springframework.stereotype.Service;
8
 
12
 
13
+import java.time.LocalDateTime;
14
+
9
 /**
15
 /**
10
  * <p>
16
  * <p>
11
  *   服务实现类
17
  *   服务实现类
17
 @Service
23
 @Service
18
 public class TaSharePersonFromServiceImpl extends ServiceImpl<TaSharePersonFromMapper, TaSharePersonFrom> implements ITaSharePersonFromService {
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
 }