Selaa lähdekoodia

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
#	src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java
#	src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java
#	src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java
魏超 5 vuotta sitten
vanhempi
commit
c9d9f593c3

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Näytä tiedosto

@@ -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
 }

+ 46
- 4
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java Näytä tiedosto

@@ -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();
@@ -203,7 +204,7 @@ public class TaPersonVisitRecordController extends BaseController {
203 204
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
204 205
         }
205 206
     }
206
-    
207
+
207 208
     /**
208 209
      * 盘客工具分页获取访问记录
209 210
      * @param pageNumber
@@ -233,15 +234,56 @@ public class TaPersonVisitRecordController extends BaseController {
233 234
                                                 @RequestParam(value ="drainageId",required = false) Integer drainageId,
234 235
                                                 @RequestParam(value ="shareName",required = false) String shareName,
235 236
                                                 @RequestParam(value ="shareTel",required = false) String shareTel,
236
-                                                HttpServletRequest request){
237
-
237
+                                                HttpServletRequest request) {
238
+        ResponseBean responseBean = new ResponseBean();
238 239
         try {
239 240
             //使用分页插件
240 241
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
241 242
             IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getDrainageVisitRecord(pg, getOrgId(request), activityName, drainageId, shareName, shareTel);
243
+            responseBean.addSuccess(result);
244
+            return responseBean;
245
+        } catch (Exception e) {
246
+            logger.error("drainageVisitRecord -=- {}", e.toString());
247
+        }
248
+        return responseBean;
249
+    }
250
+
251
+    /**
252
+     * 个人中心访客记录分页查询
253
+     * @param pageNumber
254
+     * @param pageSize
255
+     * @return
256
+     */
257
+    @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
258
+    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
259
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
260
+                                                @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
261
+        try {
262
+            //使用分页插件
263
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
264
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
242 265
             return ResponseBean.success(result);
243 266
         }catch (Exception e){
244
-            logger.error("drainageVisitRecord -=- {}",e.toString());
267
+            e.printStackTrace();
268
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
269
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
270
+        }
271
+    }
272
+
273
+    /**
274
+     * 个人中心访客记录单个人员的所有活动
275
+     * @return
276
+     */
277
+    @RequestMapping(value="/wx/visitRecord/activity",method= RequestMethod.GET)
278
+    public ResponseBean wxVisitRecordList(@RequestParam(value = "userId") Integer userId,
279
+                                          @RequestParam(value = "personId") String personId,
280
+                                          HttpServletRequest request){
281
+        try {
282
+            List<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordActivityList(userId,personId,getOrgId(request));
283
+            return ResponseBean.success(result);
284
+        }catch (Exception e){
285
+            e.printStackTrace();
286
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
245 287
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
246 288
         }
247 289
     }

+ 11
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java Näytä tiedosto

@@ -137,4 +137,15 @@ public class TaPersonVisitRecord implements Serializable {
137 137
      */
138 138
     @TableField(exist = false)
139 139
     private String shareTel;
140
+
141
+    /** 1是我的客户
142
+     */
143
+    @TableField(exist = false)
144
+    private Integer myCustomer;
145
+
146
+    /**
147
+     * 活动创建时间
148
+     */
149
+    @TableField(exist = false)
150
+    private LocalDateTime createDate;
140 151
 }

+ 3
- 1
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java Näytä tiedosto

@@ -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;
@@ -71,4 +70,7 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
71 70
      * @return
72 71
      */
73 72
 	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, @Param("orgId") Integer orgId, @Param("activityName") String activityName, @Param("drainageId") Integer drainageId, @Param("shareName") String shareName, @Param("shareTel") String shareTel);
73
+    IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType);
74
+
75
+    List<TaPersonVisitRecord> getWxVisitRecordActivityList(@Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventH5") String eventH5);
74 76
 }

+ 21
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java Näytä tiedosto

@@ -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
 

+ 19
- 17
src/main/java/com/huiju/estateagents/service/impl/TaChatServiceImpl.java Näytä tiedosto

@@ -85,23 +85,25 @@ public class TaChatServiceImpl extends ServiceImpl<TaChatMapper, TaChat> impleme
85 85
         List<Map<String, Object>> friendList = new ArrayList<>();
86 86
         if (null != result && result.size() > 0) {
87 87
             for (TaChat taChat: result) {
88
-                boolean isSend = taChat.getSendPerson().equals(personId) ? true : false;
89
-                String chatWith = isSend ? taChat.getReceivePerson() : taChat.getSendPerson();
90
-                String name = isSend ? taChat.getReceiveName() : taChat.getSendName();
91
-                String chatAvatar = isSend ? taChat.getReceiveAvatar() : taChat.getSendAvatar();
92
-                Integer unReadNum = taChatMapper.getUnReadMessage(personId, chatWith);
93
-
94
-                Map<String, Object> friend = new HashMap<>();
95
-                friend.put("friendId", chatWith);
96
-                friend.put("name", name);
97
-                friend.put("avatar", chatAvatar);
98
-                friend.put("messageType", taChat.getMessageType());
99
-                friend.put("message", taChat.getMessage());
100
-                friend.put("createDate", taChat.getCreateDate());
101
-                friend.put("unReadNum", unReadNum);
102
-                friend.put("isSend", isSend);
103
-
104
-                friendList.add(friend);
88
+                if (null != taChat.getSendPerson() && null != taChat.getSendAvatar() && null != taChat.getSendName() && null != taChat.getReceivePerson()){
89
+                    boolean isSend = taChat.getSendPerson().equals(personId) ? true : false;
90
+                    String chatWith = isSend ? taChat.getReceivePerson() : taChat.getSendPerson();
91
+                    String name = isSend ? taChat.getReceiveName() : taChat.getSendName();
92
+                    String chatAvatar = isSend ? taChat.getReceiveAvatar() : taChat.getSendAvatar();
93
+                    Integer unReadNum = taChatMapper.getUnReadMessage(personId, chatWith);
94
+
95
+                    Map<String, Object> friend = new HashMap<>();
96
+                    friend.put("friendId", chatWith);
97
+                    friend.put("name", name);
98
+                    friend.put("avatar", chatAvatar);
99
+                    friend.put("messageType", taChat.getMessageType());
100
+                    friend.put("message", taChat.getMessage());
101
+                    friend.put("createDate", taChat.getCreateDate());
102
+                    friend.put("unReadNum", unReadNum);
103
+                    friend.put("isSend", isSend);
104
+
105
+                    friendList.add(friend);
106
+                }
105 107
             }
106 108
         }
107 109
 

+ 59
- 3
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java Näytä tiedosto

@@ -5,6 +5,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7 7
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
8
+import com.alibaba.fastjson.JSONObject;
9
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10
+import com.baomidou.mybatisplus.core.metadata.IPage;
11
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
+import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.drainage.entity.TaDrainage;
14
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
8 15
 import com.huiju.estateagents.entity.HelpActivity;
9 16
 import com.huiju.estateagents.entity.TaBuildingDynamic;
10 17
 import com.huiju.estateagents.entity.TaNews;
@@ -60,7 +67,8 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
60 67
 	@Autowired
61 68
 	private TaPersonMapper taPersonMapper;
62 69
 
63
-	
70
+	private TaDrainageMapper taDrainageMapper;
71
+
64 72
 	/**
65 73
 	 * 分页获取客户访问记录
66 74
 	 *
@@ -95,7 +103,6 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
95 103
 				if (null != helpActivity){
96 104
 					e.setActivityName(helpActivity.getTitle());
97 105
 				}
98
-				
99 106
 			}
100 107
 			//获取咨询标题
101 108
 			if ("news".equals(e.getEventType()) && null != e.getTargetId()){
@@ -103,7 +110,13 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
103 110
 				if (null != taNews){
104 111
 					e.setActivityName(taNews.getNewsName());
105 112
 				}
106
-				
113
+			}
114
+			//获取H5活动标题
115
+			if ("h5".equals(e.getEventType()) && null != e.getTargetId()){
116
+				TaDrainage taDrainage = taDrainageMapper.selectById(e.getTargetId());
117
+				if (null != taDrainage){
118
+					e.setActivityName(taDrainage.getName());
119
+				}
107 120
 			}
108 121
 		});
109 122
 		result.setRecords(records);
@@ -130,6 +143,49 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
130 143
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
131 144
 		return taPersonVisitRecordIPage;
132 145
 	}
146
+	/**
147
+	 * 分页获取个人中心访客记录
148
+	 *
149
+	 * @param pg
150
+	 * @param userId
151
+	 * @param orgId
152
+	 * @return
153
+	 */
154
+	@Override
155
+	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId) {
156
+		//获取我的访问客户列表
157
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, CommConstant.EVENT_H5);
158
+		List<TaPersonVisitRecord> records = result.getRecords();
159
+		//判断是否我的客户状态
160
+		records.forEach(e -> {
161
+			String data = e.getData();
162
+			JSONObject dataJson = JSONObject.parseObject(data);
163
+			String realtyConsultant = dataJson.getString("consultant");
164
+			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
165
+			queryWrapper.eq("realty_consultant",realtyConsultant);
166
+			queryWrapper.eq("person_id",e.getPersonId());
167
+			TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectOne(queryWrapper);
168
+			if (null != taRecommendCustomer){
169
+				//1是我的客户
170
+				e.setMyCustomer(CommConstant.STATUS_NORMAL);
171
+			}
172
+		});
173
+		return null;
174
+	}
175
+
176
+	/**
177
+	 * 获取这个人的活动数据列表
178
+	 *
179
+	 * @param userId
180
+	 * @param personId
181
+	 * @param orgId
182
+	 * @return
183
+	 */
184
+	@Override
185
+	public List<TaPersonVisitRecord> getWxVisitRecordActivityList(Integer userId, String personId, Integer orgId) {
186
+		return personVisitRecordMapper.getWxVisitRecordActivityList(userId,personId,orgId,CommConstant.EVENT_H5);
187
+	}
188
+
133 189
 //    @Autowired
134 190
 //    private TaPersonMapper taPersonMapper;
135 191
 //    @Autowired

+ 6
- 4
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -90,6 +90,35 @@
90 90
     <select id="getFirstVisitTimeByPersonId" resultType="java.time.LocalDateTime">
91 91
         select visit_time from ta_person_visit_record where person_id = #{personId} order by visit_time asc limit 1
92 92
     </select>
93
+    <select id="getWxVisitRecordList" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
94
+        SELECT
95
+            * ,
96
+	        p.`name` as user_name
97
+        FROM
98
+            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and event_type = #{eventType} AND consultant_id = #{userId} ORDER BY visit_time DESC ) t
99
+            left JOIN ta_person p on t.person_id = p.person_id
100
+        GROUP BY
101
+            t.person_id
102
+        ORDER BY
103
+	        t.visit_time DESC
104
+    </select>
105
+    <select id="getWxVisitRecordActivityList" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
106
+        SELECT
107
+            t.*,
108
+            d.name as activity_name,
109
+            d.create_date
110
+        FROM
111
+            ta_person_visit_record t
112
+            LEFT join ta_drainage d on t.target_id = d.drainage_id
113
+        WHERE
114
+            t.event_type = #{eventType}
115
+            AND t.consultant_id = #{userId}
116
+            AND t.person_id = #{personId}
117
+        GROUP BY
118
+            t.target_id
119
+        ORDER BY
120
+            t.visit_time DESC
121
+    </select>
93 122
 
94 123
     <select id="getDrainageVisitRecord" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
95 124
         select