Browse Source

访客记录

傅行帆 5 years ago
parent
commit
ddef27d80f

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java View File

@@ -505,4 +505,9 @@ public class CommConstant {
505 505
      * 高德地图key
506 506
      */
507 507
     public static final String AMAP_KEY = "14f05ce59c26364fd0674014dc0d8b1b";
508
+
509
+    /**
510
+     * 埋点类型h5
511
+     */
512
+    public static final String EVENT_H5 = "h5";
508 513
 }

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

@@ -87,6 +87,7 @@ public class TaPersonVisitRecordController extends BaseController {
87 87
         }
88 88
         TaPerson person = taPersons.get(0);
89 89
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
90
+        taPersonVisitRecord.setOrgId(String.valueOf(getOrgId(request)));
90 91
         Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
91 92
         if(eventProperties<=0){
92 93
             TaEventProperties taEventProperty = new TaEventProperties();
@@ -225,4 +226,44 @@ public class TaPersonVisitRecordController extends BaseController {
225 226
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
226 227
         }
227 228
     }
229
+
230
+    /**
231
+     * 个人中心访客记录分页查询
232
+     * @param pageNumber
233
+     * @param pageSize
234
+     * @return
235
+     */
236
+    @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
237
+    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
238
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
239
+                                                @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
240
+        try {
241
+            //使用分页插件
242
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
243
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
244
+            return ResponseBean.success(result);
245
+        }catch (Exception e){
246
+            e.printStackTrace();
247
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
248
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
249
+        }
250
+    }
251
+
252
+    /**
253
+     * 个人中心访客记录单个人员的所有活动
254
+     * @return
255
+     */
256
+    @RequestMapping(value="/wx/visitRecord/activity",method= RequestMethod.GET)
257
+    public ResponseBean wxVisitRecordList(@RequestParam(value = "userId") Integer userId,
258
+                                          @RequestParam(value = "personId") String personId,
259
+                                          HttpServletRequest request){
260
+        try {
261
+            List<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordActivityList(userId,personId,getOrgId(request));
262
+            return ResponseBean.success(result);
263
+        }catch (Exception e){
264
+            e.printStackTrace();
265
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
266
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
267
+        }
268
+    }
228 269
 }

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

@@ -114,4 +114,15 @@ public class TaPersonVisitRecord implements Serializable {
114 114
     @TableField(exist = false)
115 115
     private String activityName;
116 116
 
117
+    /**
118
+     * 1是我的客户
119
+     */
120
+    @TableField(exist = false)
121
+    private Integer myCustomer;
122
+
123
+    /**
124
+     * 活动创建时间
125
+     */
126
+    @TableField(exist = false)
127
+    private LocalDateTime createDate;
117 128
 }

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

@@ -3,7 +3,6 @@ package com.huiju.estateagents.mapper;
3 3
 
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
-import com.huiju.estateagents.entity.TaPerson;
7 6
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8 7
 import org.apache.ibatis.annotations.Mapper;
9 8
 import org.apache.ibatis.annotations.Param;
@@ -63,4 +62,8 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
63 62
      * @return
64 63
      */
65 64
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg,@Param("personId") String personId);
65
+
66
+    IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType);
67
+
68
+    List<TaPersonVisitRecord> getWxVisitRecordActivityList(@Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventH5") String eventH5);
66 69
 }

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

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
6 6
 import com.huiju.estateagents.entity.TaPerson;
7 7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8 8
 
9
+import java.util.List;
10
+
9 11
 /**
10 12
  * <p>
11 13
  *   服务类
@@ -22,6 +24,25 @@ public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecor
22 24
 	 * @return
23 25
 	 */
24 26
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId);
27
+
28
+	/**
29
+	 * 分页获取个人中心访客记录
30
+	 * @param pg
31
+	 * @param userId
32
+	 * @param orgId
33
+	 * @return
34
+	 */
35
+    IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId);
36
+
37
+	/**
38
+	 * 获取这个人的活动数据列表
39
+	 * @param userId
40
+	 * @param personId
41
+	 * @param orgId
42
+	 * @return
43
+	 */
44
+	List<TaPersonVisitRecord> getWxVisitRecordActivityList(Integer userId, String personId, Integer orgId);
45
+
25 46
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
26 47
 //    TaPerson customerInfo(String personId);
27 48
 }

+ 47
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java View File

@@ -1,7 +1,10 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.common.CommConstant;
5 8
 import com.huiju.estateagents.entity.HelpActivity;
6 9
 import com.huiju.estateagents.entity.TaBuildingDynamic;
7 10
 import com.huiju.estateagents.entity.TaNews;
@@ -99,6 +102,50 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
99 102
 		result.setRecords(records);
100 103
 		return result;
101 104
 	}
105
+
106
+	/**
107
+	 * 分页获取个人中心访客记录
108
+	 *
109
+	 * @param pg
110
+	 * @param userId
111
+	 * @param orgId
112
+	 * @return
113
+	 */
114
+	@Override
115
+	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId) {
116
+		//获取我的访问客户列表
117
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, CommConstant.EVENT_H5);
118
+		List<TaPersonVisitRecord> records = result.getRecords();
119
+		//判断是否我的客户状态
120
+		records.forEach(e -> {
121
+			String data = e.getData();
122
+			JSONObject dataJson = JSONObject.parseObject(data);
123
+			String realtyConsultant = dataJson.getString("consultant");
124
+			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
125
+			queryWrapper.eq("realty_consultant",realtyConsultant);
126
+			queryWrapper.eq("person_id",e.getPersonId());
127
+			TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectOne(queryWrapper);
128
+			if (null != taRecommendCustomer){
129
+				//1是我的客户
130
+				e.setMyCustomer(CommConstant.STATUS_NORMAL);
131
+			}
132
+		});
133
+		return null;
134
+	}
135
+
136
+	/**
137
+	 * 获取这个人的活动数据列表
138
+	 *
139
+	 * @param userId
140
+	 * @param personId
141
+	 * @param orgId
142
+	 * @return
143
+	 */
144
+	@Override
145
+	public List<TaPersonVisitRecord> getWxVisitRecordActivityList(Integer userId, String personId, Integer orgId) {
146
+		return personVisitRecordMapper.getWxVisitRecordActivityList(userId,personId,orgId,CommConstant.EVENT_H5);
147
+	}
148
+
102 149
 //    @Autowired
103 150
 //    private TaPersonMapper taPersonMapper;
104 151
 //    @Autowired

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

@@ -519,11 +519,13 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
519 519
             }else {
520 520
                 user = userService.getById(consultant.getUserId());
521 521
             }
522
-            List<String> projects = taPersonMapper.getUserProjects(user.getUserId());
523
-            if (projects.size()>0){
524
-                user.setProjects(projects);
522
+            if (null != user){
523
+                List<String> projects = taPersonMapper.getUserProjects(user.getUserId());
524
+                if (projects.size()>0){
525
+                    user.setProjects(projects);
526
+                }
527
+                taRecommendCustomer.setConsultant(user);
525 528
             }
526
-            taRecommendCustomer.setConsultant(user);
527 529
         }
528 530
         return taRecommendCustomer;
529 531
     }

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

@@ -69,5 +69,34 @@
69 69
     <select id="getFirstVisitTimeByPersonId" resultType="java.time.LocalDateTime">
70 70
         select visit_time from ta_person_visit_record where person_id = #{personId} order by visit_time asc limit 1
71 71
     </select>
72
+    <select id="getWxVisitRecordList" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
73
+        SELECT
74
+            * ,
75
+	        p.`name` as user_name
76
+        FROM
77
+            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and event_type = #{eventType} AND consultant_id = #{userId} ORDER BY visit_time DESC ) t
78
+            left JOIN ta_person p on t.person_id = p.person_id
79
+        GROUP BY
80
+            t.person_id
81
+        ORDER BY
82
+	        t.visit_time DESC
83
+    </select>
84
+    <select id="getWxVisitRecordActivityList" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
85
+        SELECT
86
+            t.*,
87
+            d.name as activity_name,
88
+            d.create_date
89
+        FROM
90
+            ta_person_visit_record t
91
+            LEFT join ta_drainage d on t.target_id = d.drainage_id
92
+        WHERE
93
+            t.event_type = #{eventType}
94
+            AND t.consultant_id = #{userId}
95
+            AND t.person_id = #{personId}
96
+        GROUP BY
97
+            t.target_id
98
+        ORDER BY
99
+            t.visit_time DESC
100
+    </select>
72 101
 
73 102
 </mapper>