傅行帆 5 gadus atpakaļ
vecāks
revīzija
ddef27d80f

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Parādīt failu

505
      * 高德地图key
505
      * 高德地图key
506
      */
506
      */
507
     public static final String AMAP_KEY = "14f05ce59c26364fd0674014dc0d8b1b";
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 Parādīt failu

87
         }
87
         }
88
         TaPerson person = taPersons.get(0);
88
         TaPerson person = taPersons.get(0);
89
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
89
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
90
+        taPersonVisitRecord.setOrgId(String.valueOf(getOrgId(request)));
90
         Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
91
         Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
91
         if(eventProperties<=0){
92
         if(eventProperties<=0){
92
             TaEventProperties taEventProperty = new TaEventProperties();
93
             TaEventProperties taEventProperty = new TaEventProperties();
225
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
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 Parādīt failu

114
     @TableField(exist = false)
114
     @TableField(exist = false)
115
     private String activityName;
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 Parādīt failu

3
 
3
 
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
-import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
6
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
63
      * @return
62
      * @return
64
      */
63
      */
65
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg,@Param("personId") String personId);
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 Parādīt failu

6
 import com.huiju.estateagents.entity.TaPerson;
6
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8
 
8
 
9
+import java.util.List;
10
+
9
 /**
11
 /**
10
  * <p>
12
  * <p>
11
  *   服务类
13
  *   服务类
22
 	 * @return
24
 	 * @return
23
 	 */
25
 	 */
24
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId);
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
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
46
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
26
 //    TaPerson customerInfo(String personId);
47
 //    TaPerson customerInfo(String personId);
27
 }
48
 }

+ 47
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java Parādīt failu

1
 package com.huiju.estateagents.service.impl;
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
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.common.CommConstant;
5
 import com.huiju.estateagents.entity.HelpActivity;
8
 import com.huiju.estateagents.entity.HelpActivity;
6
 import com.huiju.estateagents.entity.TaBuildingDynamic;
9
 import com.huiju.estateagents.entity.TaBuildingDynamic;
7
 import com.huiju.estateagents.entity.TaNews;
10
 import com.huiju.estateagents.entity.TaNews;
99
 		result.setRecords(records);
102
 		result.setRecords(records);
100
 		return result;
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
 //    @Autowired
149
 //    @Autowired
103
 //    private TaPersonMapper taPersonMapper;
150
 //    private TaPersonMapper taPersonMapper;
104
 //    @Autowired
151
 //    @Autowired

+ 6
- 4
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Parādīt failu

519
             }else {
519
             }else {
520
                 user = userService.getById(consultant.getUserId());
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
         return taRecommendCustomer;
530
         return taRecommendCustomer;
529
     }
531
     }

+ 29
- 0
src/main/resources/mapper/TaPersonVisitRecordMapper.xml Parādīt failu

69
     <select id="getFirstVisitTimeByPersonId" resultType="java.time.LocalDateTime">
69
     <select id="getFirstVisitTimeByPersonId" resultType="java.time.LocalDateTime">
70
         select visit_time from ta_person_visit_record where person_id = #{personId} order by visit_time asc limit 1
70
         select visit_time from ta_person_visit_record where person_id = #{personId} order by visit_time asc limit 1
71
     </select>
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
 </mapper>
102
 </mapper>