소스 검색

活动分享接口

魏超 5 년 전
부모
커밋
3a4315eeac

+ 42
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java 파일 보기

11
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.common.StringUtils;
12
 import com.huiju.estateagents.entity.*;
12
 import com.huiju.estateagents.entity.*;
13
 import com.huiju.estateagents.service.*;
13
 import com.huiju.estateagents.service.*;
14
+import org.apache.commons.collections.map.HashedMap;
14
 import org.slf4j.Logger;
15
 import org.slf4j.Logger;
15
 import org.slf4j.LoggerFactory;
16
 import org.slf4j.LoggerFactory;
16
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
20
 import java.time.LocalDateTime;
21
 import java.time.LocalDateTime;
21
 import java.time.ZoneOffset;
22
 import java.time.ZoneOffset;
22
 import java.util.List;
23
 import java.util.List;
24
+import java.util.Map;
23
 
25
 
24
 
26
 
25
 /**
27
 /**
291
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
293
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
292
         }
294
         }
293
     }
295
     }
296
+
297
+    /**
298
+     * 置业顾问分享项目、活动、资讯、助力、拼团信息
299
+     * @param pageNumber
300
+     * @param pageSize
301
+     * @param userId
302
+     * @param request
303
+     * @return
304
+     */
305
+    @RequestMapping(value = "/wx/shareRecords")
306
+    public ResponseBean wxShareRecordsByUserId(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
307
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
308
+                                              @RequestParam(value = "userId") Integer userId,
309
+                                              HttpServletRequest request){
310
+        ResponseBean responseBean = new ResponseBean();
311
+        if (userId == null){
312
+            return responseBean;
313
+        }
314
+        //使用分页插件
315
+        IPage<TaConsultantInfo> pg = new Page<>(pageNumber, pageSize);
316
+        IPage<TaConsultantInfo> result = iTaPersonVisitRecordService.getConsultantShareInfoList(pg, userId, 26);
317
+
318
+        List<TaConsultantInfo> taConsultantInfos = result.getRecords();
319
+        taConsultantInfos.forEach(e ->{
320
+            Integer activityNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.POSTER_CONTENT_TYPE_ACTIVITY);
321
+            e.setActivityShareNum(activityNum);
322
+            Integer helpActivityNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.POINTS_CHANGE_HELP);
323
+            e.setHelpActivityShareNum(helpActivityNum);
324
+            Integer groupActivityNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.POINTS_CHANGE_GROUP);
325
+            e.setGroupActivityShareNum(groupActivityNum);
326
+            Integer newsNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.CAROUSEL_NEWS);
327
+            e.setNewsNum(newsNum);
328
+            Integer buildingNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.POSTER_CONTENT_TYPE_BUILDING);
329
+            e.setBuildingNum(buildingNum);
330
+            Integer drainageNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, CommConstant.TARGET_TYPE_H5);
331
+            e.setDrainageShareNum(drainageNum);
332
+        });
333
+        result.setRecords(taConsultantInfos);
334
+        return ResponseBean.success(result);
335
+    }
294
 }
336
 }

+ 50
- 0
src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java 파일 보기

1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+
5
+@Data
6
+public class TaConsultantInfo {
7
+    private Integer targetId;
8
+
9
+    private String shareType;
10
+
11
+    private String buildingUrl;
12
+
13
+    private String buildingName;
14
+
15
+    private Integer buildingNum;
16
+
17
+    private String address;
18
+
19
+    private String price;
20
+
21
+    private String activityImg;
22
+
23
+    private String activityName;
24
+
25
+    private Integer activityShareNum;
26
+
27
+    private String helpActivityName;
28
+
29
+    private String helpActivityImg;
30
+
31
+    private Integer helpActivityShareNum;
32
+
33
+    private String groupActivityImg;
34
+
35
+    private String groupActivityName;
36
+
37
+    private Integer groupActivityShareNum;
38
+
39
+    private String newImg;
40
+
41
+    private String newName;
42
+
43
+    private Integer newsNum;
44
+
45
+    private String drainageImg;
46
+
47
+    private String drainageName;
48
+
49
+    private Integer drainageShareNum;
50
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java 파일 보기

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.TaConsultantInfo;
6
 import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Mapper;
74
     IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType,@Param("personId") String personId);
75
     IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType,@Param("personId") String personId);
75
 
76
 
76
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
77
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
78
+
79
+    IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId);
80
+
81
+    Integer countShareNumByEventType(@Param("targetId") Integer targetId, @Param("orgId")Integer orgId, @Param("userId")Integer userId, @Param("eventType")String eventType);
77
 }
82
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java 파일 보기

3
 
3
 
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaConsultantInfo;
6
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
10
+import io.swagger.models.auth.In;
9
 
11
 
10
 import java.util.List;
12
 import java.util.List;
11
 
13
 
48
 //    TaPerson customerInfo(String personId);
50
 //    TaPerson customerInfo(String personId);
49
 
51
 
50
 	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, Integer drainageId, String shareName, String shareTel, List<TaPersonBuilding> taPersonBuildingList);
52
 	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, Integer drainageId, String shareName, String shareTel, List<TaPersonBuilding> taPersonBuildingList);
53
+
54
+	IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, Integer userId, Integer orgId);
55
+
56
+	Integer countShareNumByEventType(Integer targetId, Integer orgId, Integer userId, String eventType);
51
 }
57
 }

+ 12
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java 파일 보기

138
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
138
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
139
 		return taPersonVisitRecordIPage;
139
 		return taPersonVisitRecordIPage;
140
 	}
140
 	}
141
+
142
+	@Override
143
+	public IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, Integer userId, Integer orgId) {
144
+		IPage<TaConsultantInfo> result = personVisitRecordMapper.getConsultantShareInfoList(pg,userId,orgId);
145
+		return result;
146
+	}
147
+
148
+	@Override
149
+	public Integer countShareNumByEventType(Integer targetId, Integer orgId, Integer userId, String eventType) {
150
+		return personVisitRecordMapper.countShareNumByEventType(targetId, orgId, userId, eventType);
151
+	}
152
+
141
 	/**
153
 	/**
142
 	 * 分页获取个人中心访客记录
154
 	 * 分页获取个人中心访客记录
143
 	 *
155
 	 *

+ 41
- 0
src/main/resources/mapper/TaPersonVisitRecordMapper.xml 파일 보기

160
         order by t.visit_time desc
160
         order by t.visit_time desc
161
     </select>
161
     </select>
162
 
162
 
163
+    <select id="getConsultantShareInfoList" resultType="com.huiju.estateagents.entity.TaConsultantInfo">
164
+        select
165
+            t.event_type as share_type,
166
+            a.url as building_img,
167
+            a.building_name,
168
+            a.address,
169
+            a.price,
170
+            b.list_img_url as activity_img,
171
+            b.title as activity_name,
172
+            c.list_img as help_activity_img,
173
+            c.title as help_activity_name,
174
+            d.list_img as group_activity_img,
175
+            d.activity_name as group_activity_name,
176
+            e.news_img,
177
+            e.news_name,
178
+            f.share_img as drainage_img,
179
+            f.`name` as drainage_name
180
+        From ta_person_visit_record t
181
+        left join (select b.url, a.building_name,a.address,a.price,a.building_id from ta_building a left join ta_building_img b on a.building_id = b.building_id where b.img_type = 'list') a on t.target_id = a.building_id
182
+        left join ta_building_dynamic b on t.target_id = b.dynamic_id
183
+        left join ta_help_activity c on t.target_id = c.help_activity_id
184
+        left join ta_share_activity d on t.target_id = d.group_activity_id
185
+        left join ta_news e on t.target_id = e.news_id
186
+        left join ta_drainage f on t.target_id = f.drainage_id
187
+        where
188
+        t.consultant_id = #{userId}
189
+        and t.org_id = #{orgId}
190
+        and t.`event` = 'share'
191
+        order by t.visit_time desc
192
+    </select>
193
+    <select id="countShareNumByEventType" resultType="java.lang.Integer">
194
+        select count(1) from ta_person_visit_record t
195
+        where
196
+        t.consultant_id = #{userId}
197
+        and t.org_id = #{orgId}
198
+        and t.event_type = #{eventType}
199
+        and t.target_id = #{targetId}
200
+        and t.person_id != t.share_person_id
201
+        group by t.event_type, person_id
202
+    </select>
203
+
163
 </mapper>
204
 </mapper>