浏览代码

Merge branch 'dev'

weichaochao 5 年前
父节点
当前提交
c922d7d28f
共有 44 个文件被更改,包括 1765 次插入274 次删除
  1. 1
    1
      pom.xml
  2. 91
    85
      src/main/java/com/huiju/estateagents/base/BaseController.java
  3. 28
    0
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  4. 6
    1
      src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java
  5. 268
    0
      src/main/java/com/huiju/estateagents/controller/TaLiveActivityController.java
  6. 121
    108
      src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
  7. 41
    11
      src/main/java/com/huiju/estateagents/controller/TaSalesBatchController.java
  8. 31
    9
      src/main/java/com/huiju/estateagents/controller/TaShareController.java
  9. 24
    0
      src/main/java/com/huiju/estateagents/controller/TaSharePersonFromController.java
  10. 144
    0
      src/main/java/com/huiju/estateagents/controller/TdLiveDictController.java
  11. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaBuilding.java
  12. 2
    0
      src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java
  13. 170
    0
      src/main/java/com/huiju/estateagents/entity/TaLiveActivity.java
  14. 12
    0
      src/main/java/com/huiju/estateagents/entity/TaShare.java
  15. 3
    0
      src/main/java/com/huiju/estateagents/entity/TaSharePersonFrom.java
  16. 46
    0
      src/main/java/com/huiju/estateagents/entity/TdLiveDict.java
  17. 1
    1
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  18. 43
    0
      src/main/java/com/huiju/estateagents/mapper/TaLiveActivityMapper.java
  19. 2
    1
      src/main/java/com/huiju/estateagents/mapper/TaSalesBatchMapper.java
  20. 2
    0
      src/main/java/com/huiju/estateagents/mapper/TaShareMapper.java
  21. 24
    0
      src/main/java/com/huiju/estateagents/mapper/TaSharePersonFromMapper.java
  22. 18
    0
      src/main/java/com/huiju/estateagents/mapper/TdLiveDictMapper.java
  23. 4
    2
      src/main/java/com/huiju/estateagents/service/IMiniAppService.java
  24. 63
    0
      src/main/java/com/huiju/estateagents/service/ITaLiveActivityService.java
  25. 2
    2
      src/main/java/com/huiju/estateagents/service/ITaSalesBatchService.java
  26. 2
    0
      src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java
  27. 2
    0
      src/main/java/com/huiju/estateagents/service/ITaShareService.java
  28. 16
    0
      src/main/java/com/huiju/estateagents/service/ITdLiveDictService.java
  29. 55
    11
      src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java
  30. 31
    1
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java
  31. 189
    0
      src/main/java/com/huiju/estateagents/service/impl/TaLiveActivityServiceImpl.java
  32. 103
    31
      src/main/java/com/huiju/estateagents/service/impl/TaPreselectionRecordServiceImpl.java
  33. 12
    4
      src/main/java/com/huiju/estateagents/service/impl/TaSalesBatchServiceImpl.java
  34. 16
    0
      src/main/java/com/huiju/estateagents/service/impl/TaSharePersonFromServiceImpl.java
  35. 20
    4
      src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java
  36. 20
    0
      src/main/java/com/huiju/estateagents/service/impl/TdLiveDictServiceImpl.java
  37. 9
    0
      src/main/resources/mapper/Activity.xml
  38. 51
    0
      src/main/resources/mapper/TaLiveActivityMapper.xml
  39. 23
    0
      src/main/resources/mapper/TaPersonVisitRecordMapper.xml
  40. 7
    1
      src/main/resources/mapper/TaSalesBatchMapper.xml
  41. 30
    0
      src/main/resources/mapper/TaShareMapper.xml
  42. 20
    0
      src/main/resources/mapper/TaSharePersonFromMapper.xml
  43. 1
    1
      src/main/resources/mapper/TaUserMapper.xml
  44. 5
    0
      src/main/resources/mapper/TdLiveDictMapper.xml

+ 1
- 1
pom.xml 查看文件

10
 	</parent>
10
 	</parent>
11
 	<groupId>com.huiju</groupId>
11
 	<groupId>com.huiju</groupId>
12
 	<artifactId>estateagents</artifactId>
12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.10</version>
13
+	<version>v3.5.11</version>
14
 	<name>estateages</name>
14
 	<name>estateages</name>
15
 	<description>置业经纪人</description>
15
 	<description>置业经纪人</description>
16
 
16
 

+ 91
- 85
src/main/java/com/huiju/estateagents/base/BaseController.java 查看文件

18
  * @date 2018-12-18
18
  * @date 2018-12-18
19
  */
19
  */
20
 public class BaseController {
20
 public class BaseController {
21
-	@Autowired
22
-	private ITaUserService taUserService;
23
-
24
-	@Autowired
25
-	private ITaPersonBuildingService taPersonBuildingService;
26
-
27
-	/**
28
-	 * 获取orgId
29
-	 * @param request
30
-	 * @return
31
-	 */
32
-	public Integer getOrgId(HttpServletRequest request){
33
-		
34
-		Map map = JWTUtils.getUserIdAndOrgId(request);
35
-		if (null != map && null != map.get("orgId")){
36
-			return Integer.valueOf(map.get("orgId").toString());
37
-		}
38
-		
39
-		return null;
40
-	}
41
-
42
-	public Integer getChannelId(HttpServletRequest request){
43
-
44
-		Map map = JWTUtils.getUserIdAndOrgId(request);
45
-		if (null != map && null != map.get("channelId")){
46
-			return Integer.valueOf(map.get("channelId").toString());
47
-		}
48
-
49
-		return null;
50
-	}
51
-
52
-	public String getChannelUserName(HttpServletRequest request){
53
-
54
-		Map map = JWTUtils.getUserIdAndOrgId(request);
55
-		if (null != map && null != map.get("userName")){
56
-			return map.get("userName").toString();
57
-		}
58
-
59
-		return null;
60
-	}
61
-
62
-	public String getOpenId(HttpServletRequest request){
63
-
64
-		Map map = JWTUtils.getUserIdAndOrgId(request);
65
-		if (null != map && null != map.get("openId")){
66
-			return map.get("openId").toString();
67
-		}
68
-
69
-		return null;
70
-	}
71
-
72
-	public String getPersonId(HttpServletRequest request){
73
-
74
-		Map map = JWTUtils.getUserIdAndOrgId(request);
75
-		if (null != map && null != map.get("personId")){
76
-			return map.get("personId").toString();
77
-		}
78
-
79
-		return null;
80
-	}
81
-	/**
82
-	 * 获取orgId
83
-	 * @param request
84
-	 * @return
85
-	 */
86
-	public Integer getUserId(HttpServletRequest request){
87
-		
88
-		Map map = JWTUtils.getUserIdAndOrgId(request);
89
-		if (null != map && null != map.get("userId")){
90
-			return Integer.valueOf(map.get("userId").toString());
91
-		}
92
-		
93
-		return null;
94
-	}
95
-
96
-	public List<TaPersonBuilding> getTaPersonBuildingListByUserId(HttpServletRequest request) {
97
-		TaUser taUser = taUserService.getById(getUserId(request));
98
-		QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
99
-		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
100
-		List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingService.list(taPersonBuildingQueryWrapper);
101
-		if (null != taUser.getIsAdmin() && taUser.getIsAdmin()){
102
-			taPersonBuildingList = new ArrayList<>();
103
-		}
104
-		return taPersonBuildingList;
105
-	}
21
+    @Autowired
22
+    private ITaUserService taUserService;
23
+
24
+    @Autowired
25
+    private ITaPersonBuildingService taPersonBuildingService;
26
+
27
+    /**
28
+     * 获取orgId
29
+     *
30
+     * @param request
31
+     * @return
32
+     */
33
+    public Integer getOrgId(HttpServletRequest request) {
34
+
35
+        Map map = JWTUtils.getUserIdAndOrgId(request);
36
+        if (null != map && null != map.get("orgId")) {
37
+            return Integer.valueOf(map.get("orgId").toString());
38
+        }
39
+
40
+        return null;
41
+    }
42
+
43
+    public Integer getChannelId(HttpServletRequest request) {
44
+
45
+        Map map = JWTUtils.getUserIdAndOrgId(request);
46
+        if (null != map && null != map.get("channelId")) {
47
+            return Integer.valueOf(map.get("channelId").toString());
48
+        }
49
+
50
+        return null;
51
+    }
52
+
53
+    public String getChannelUserName(HttpServletRequest request) {
54
+
55
+        Map map = JWTUtils.getUserIdAndOrgId(request);
56
+        if (null != map && null != map.get("userName")) {
57
+            return map.get("userName").toString();
58
+        }
59
+
60
+        return null;
61
+    }
62
+
63
+    public String getOpenId(HttpServletRequest request) {
64
+
65
+        Map map = JWTUtils.getUserIdAndOrgId(request);
66
+        if (null != map && null != map.get("openId")) {
67
+            return map.get("openId").toString();
68
+        }
69
+
70
+        return null;
71
+    }
72
+
73
+    public String getPersonId(HttpServletRequest request) {
74
+
75
+        Map map = JWTUtils.getUserIdAndOrgId(request);
76
+        if (null != map && null != map.get("personId")) {
77
+            return map.get("personId").toString();
78
+        }
79
+
80
+        return null;
81
+    }
82
+
83
+    /**
84
+     * 获取orgId
85
+     *
86
+     * @param request
87
+     * @return
88
+     */
89
+    public Integer getUserId(HttpServletRequest request) {
90
+
91
+        Map map = JWTUtils.getUserIdAndOrgId(request);
92
+        if (null != map && null != map.get("userId")) {
93
+            return Integer.valueOf(map.get("userId").toString());
94
+        }
95
+
96
+        return null;
97
+    }
98
+
99
+    public List<TaPersonBuilding> getTaPersonBuildingListByUserId(HttpServletRequest request) {
100
+        TaUser taUser = taUserService.getById(getUserId(request));
101
+        if (taUser == null) {
102
+            return null;
103
+        }
104
+        QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
105
+        taPersonBuildingQueryWrapper.eq("user_id", taUser.getUserId());
106
+        List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingService.list(taPersonBuildingQueryWrapper);
107
+        if (null != taUser.getIsAdmin() && taUser.getIsAdmin()) {
108
+            taPersonBuildingList = new ArrayList<>();
109
+        }
110
+        return taPersonBuildingList;
111
+    }
106
 }
112
 }

+ 28
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java 查看文件

440
 	public static final Object GROUP_ACTIVITY = "groupActivity";
440
 	public static final Object GROUP_ACTIVITY = "groupActivity";
441
 	public static final String TARGET_TYPE_H5 = "H5";
441
 	public static final String TARGET_TYPE_H5 = "H5";
442
     public static final String ACTIVITY_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"pages/checkin/index\"}";
442
     public static final String ACTIVITY_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"pages/checkin/index\"}";
443
+    public static final String LIVE_ACTIVITY_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"onlineSelling/pages/live/index\"}";
443
     public static final String DRAINAGE_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"pages/project/h5Page\"}";
444
     public static final String DRAINAGE_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"pages/project/h5Page\"}";
444
     public static final String HOUSE_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"onlineSelling/pages/houseList/index\"}";
445
     public static final String HOUSE_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"onlineSelling/pages/houseList/index\"}";
445
     
446
     
460
      * 必须存在表   td_miniapp_template_type 中
461
      * 必须存在表   td_miniapp_template_type 中
461
      */
462
      */
462
     public static final String MESSAGE_CONTENT_OF_GROUP = "group-result";
463
     public static final String MESSAGE_CONTENT_OF_GROUP = "group-result";
464
+
465
+    /**
466
+     * 审核通知  预选/认筹
467
+     * 必须存在表   td_miniapp_template_type 中
468
+     */
469
+    public static final String MESSAGE_CONTENT_OF_HOUSE = "house";
463
     
470
     
464
     /**
471
     /**
465
      * 活动以结束
472
      * 活动以结束
523
      */
530
      */
524
     public static final String HOUSE = "house";
531
     public static final String HOUSE = "house";
525
 
532
 
533
+    /**
534
+     * 批量销售
535
+     */
536
+    public static final String SALES_BATCH = "salesBatch";
537
+
538
+    /**
539
+     * 直播分享
540
+     */
541
+    public static final String LIVE = "live";
542
+
526
     /**
543
     /**
527
      * 系统参数  通知消息次时间间隔
544
      * 系统参数  通知消息次时间间隔
528
      */
545
      */
558
      */
575
      */
559
     public static final String LOGIN_TYPE_CHANNEL = "channel";
576
     public static final String LOGIN_TYPE_CHANNEL = "channel";
560
 
577
 
578
+    /**
579
+     * 登录业务端系统类型
580
+     */
581
+    public static final String LOGIN_TYPE_ADMIN = "admin";
582
+
583
+
561
     /**
584
     /**
562
      * 登录中心端系统类型
585
      * 登录中心端系统类型
563
      */
586
      */
609
     public static final String SUFFIX_2003 = ".xls";
632
     public static final String SUFFIX_2003 = ".xls";
610
     public static final String SUFFIX_2007 = ".xlsx";
633
     public static final String SUFFIX_2007 = ".xlsx";
611
 
634
 
635
+    /**
636
+     * 小程序房源详情路径
637
+     */
638
+    public static final String HOUSE_DETAIL_PATH = "onlineSelling/pages/detail/index?id=%s";
639
+
612
 }
640
 }

+ 6
- 1
src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java 查看文件

286
                                              @RequestParam(value = "personId") String personId) {
286
                                              @RequestParam(value = "personId") String personId) {
287
         ResponseBean responseBean = new ResponseBean();
287
         ResponseBean responseBean = new ResponseBean();
288
         try {
288
         try {
289
-            responseBean.addSuccess(iTaHousingResourcesService.getHousingDetailById(personId, houseId));
289
+            TaHousingResourcesPO taHousingResourcesPO = iTaHousingResourcesService.getHousingDetailById(personId, houseId);
290
+            if (taHousingResourcesPO.getStatus() != null && taHousingResourcesPO.getStatus() == CommConstant.STATUS_NORMAL){
291
+                responseBean.addSuccess(taHousingResourcesPO);
292
+                return responseBean;
293
+            }
294
+            responseBean.addError("当前房源已下架");
290
         } catch (Exception e) {
295
         } catch (Exception e) {
291
             logger.error("getHousingDetailById -=- {}", e);
296
             logger.error("getHousingDetailById -=- {}", e);
292
             responseBean.addError(e.getMessage());
297
             responseBean.addError(e.getMessage());

+ 268
- 0
src/main/java/com/huiju/estateagents/controller/TaLiveActivityController.java 查看文件

1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.common.CommConstant;
8
+import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.entity.ExtendContent;
10
+import com.huiju.estateagents.entity.TaLiveActivity;
11
+import com.huiju.estateagents.service.IExtendContentService;
12
+import com.huiju.estateagents.service.ITaLiveActivityService;
13
+import org.slf4j.Logger;
14
+import org.slf4j.LoggerFactory;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.web.bind.annotation.*;
17
+
18
+import javax.net.ssl.HttpsURLConnection;
19
+import javax.servlet.http.HttpServletRequest;
20
+import java.time.LocalDateTime;
21
+import java.util.ArrayList;
22
+import java.util.List;
23
+
24
+/**
25
+ * <p>
26
+ * 前端控制器
27
+ * </p>
28
+ *
29
+ * @author jobob
30
+ * @since 2020-02-20
31
+ */
32
+@RestController
33
+@RequestMapping("/api")
34
+public class TaLiveActivityController extends BaseController {
35
+
36
+    private final Logger logger = LoggerFactory.getLogger(TaLiveActivityController.class);
37
+
38
+    @Autowired
39
+    public ITaLiveActivityService iTaLiveActivityService;
40
+
41
+    @Autowired
42
+    public IExtendContentService iExtendContentService;
43
+
44
+    /**
45
+     * 分页查询列表
46
+     *
47
+     * @param pageNum
48
+     * @param pageSize
49
+     * @param liveActivityTitle 直播活动标题
50
+     * @param cityId            所属城市
51
+     * @param buildingId        所属楼盘
52
+     * @param liveDetailType    详情类型 0是模板,1是自定义
53
+     * @param status            状态
54
+     * @param request
55
+     * @return
56
+     */
57
+    @RequestMapping(value = "/admin/taLiveActivity", method = RequestMethod.GET)
58
+    public ResponseBean taLiveActivityList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
59
+                                           @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
60
+                                           String liveActivityTitle, String cityId, String buildingId, Integer status,
61
+                                           HttpServletRequest request) {
62
+        ResponseBean responseBean = new ResponseBean();
63
+        try {
64
+            IPage<TaLiveActivity> result = iTaLiveActivityService.listLiveActivityByCondition(pageNum, pageSize, getOrgId(request),
65
+                    liveActivityTitle, cityId, buildingId, status, getTaPersonBuildingListByUserId(request));
66
+            responseBean.addSuccess(result);
67
+
68
+        } catch (Exception e) {
69
+            e.printStackTrace();
70
+            logger.error("taLiveActivityList -=- {}", e.toString());
71
+            responseBean.addError(e.getMessage());
72
+        }
73
+        return responseBean;
74
+    }
75
+
76
+    /**
77
+     * 保存对象
78
+     *
79
+     * @param taLiveActivity 实体对象
80
+     * @return
81
+     */
82
+    @RequestMapping(value = "/admin/taLiveActivity", method = RequestMethod.POST)
83
+    public ResponseBean taLiveActivityAdd(@RequestBody TaLiveActivity taLiveActivity, HttpServletRequest request) {
84
+        ResponseBean responseBean = new ResponseBean();
85
+        try {
86
+            Integer orgId = getOrgId(request);
87
+            Integer userId = getUserId(request);
88
+            taLiveActivity.setOrgId(orgId);
89
+            taLiveActivity.setCreateUser(userId.toString());
90
+            taLiveActivity.setUpdateUser(userId.toString());
91
+            responseBean = iTaLiveActivityService.taLiveActivityAdd(taLiveActivity);
92
+        } catch (Exception e) {
93
+            e.printStackTrace();
94
+            logger.error("taLiveActivityAdd -=- {}", e.toString());
95
+            responseBean.addError(e.getMessage());
96
+        }
97
+        return responseBean;
98
+    }
99
+
100
+    /**
101
+     * 根据id删除对象
102
+     *
103
+     * @param id 实体ID
104
+     */
105
+    @ResponseBody
106
+    @RequestMapping(value = "/admin/delTaLiveActivity", method = RequestMethod.PUT)
107
+    public ResponseBean taLiveActivityDelete(@RequestBody List<TaLiveActivity> taLiveActivity, HttpServletRequest request) {
108
+        ResponseBean responseBean = new ResponseBean();
109
+        try {
110
+            List<Integer> liveActivityIds = new ArrayList<>();
111
+            for (TaLiveActivity activity : taLiveActivity) {
112
+                liveActivityIds.add(activity.getLiveActivityId());
113
+            }
114
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
115
+            queryWrapper.eq("org_id", getOrgId(request));
116
+            queryWrapper.eq("content_type", CommConstant.LIVE);
117
+            queryWrapper.in("target_id", liveActivityIds);
118
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
119
+            list.forEach(e -> {
120
+                e.setStatus(CommConstant.NOT_PUBLISH);
121
+            });
122
+            if (list.size() > 0) {
123
+                iExtendContentService.updateBatchById(list);
124
+            }
125
+
126
+            responseBean = iTaLiveActivityService.delLiveActivityList(getOrgId(request), taLiveActivity);
127
+        } catch (Exception e) {
128
+            e.printStackTrace();
129
+            logger.error("taLiveActivityDelete -=- {}", e.toString());
130
+            responseBean.addError(e.getMessage());
131
+        }
132
+        return responseBean;
133
+    }
134
+
135
+    /**
136
+     * 修改对象
137
+     *
138
+     * @param id             实体ID
139
+     * @param taLiveActivity 实体对象
140
+     * @return
141
+     */
142
+    @RequestMapping(value = "/admin/taLiveActivity/{id}", method = RequestMethod.PUT)
143
+    public ResponseBean taLiveActivityUpdate(@PathVariable Integer id,
144
+                                             @RequestBody TaLiveActivity taLiveActivity, HttpServletRequest request) {
145
+        ResponseBean responseBean = new ResponseBean();
146
+        try {
147
+            taLiveActivity.setLiveActivityId(id);
148
+            taLiveActivity.setUpdateUser(getUserId(request).toString());
149
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
150
+            queryWrapper.eq("org_id", getOrgId(request));
151
+            queryWrapper.eq("content_type", CommConstant.LIVE);
152
+            queryWrapper.eq("target_id", taLiveActivity.getLiveActivityId());
153
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
154
+            if (CommConstant.NOT_PUBLISH.equals(taLiveActivity.getStatus())) {
155
+                list.forEach(e -> {
156
+                    e.setStatus(CommConstant.NOT_PUBLISH);
157
+                });
158
+            }
159
+            if (list.size() > 0) {
160
+                iExtendContentService.updateBatchById(list);
161
+            }
162
+
163
+            if(!StringUtils.isEmpty(taLiveActivity.getLiveRoomParam())){
164
+                taLiveActivity.setLiveAppPath(taLiveActivity.getLiveRoomParam().replace(".html",""));
165
+            }
166
+
167
+            if (iTaLiveActivityService.updateById(taLiveActivity)) {
168
+                responseBean.addSuccess(taLiveActivity);
169
+            } else {
170
+                responseBean.addError("fail");
171
+            }
172
+        } catch (Exception e) {
173
+            e.printStackTrace();
174
+            logger.error("taLiveActivityUpdate -=- {}", e.toString());
175
+            responseBean.addError(e.getMessage());
176
+        }
177
+        return responseBean;
178
+    }
179
+
180
+    /**
181
+     * 根据id查询对象
182
+     *
183
+     * @param id 实体ID
184
+     */
185
+    @RequestMapping(value = "/admin/taLiveActivity/{id}", method = RequestMethod.GET)
186
+    public ResponseBean taLiveActivityGet(@PathVariable Integer id) {
187
+        ResponseBean responseBean = new ResponseBean();
188
+        try {
189
+            responseBean.addSuccess(iTaLiveActivityService.getById(id));
190
+        } catch (Exception e) {
191
+            e.printStackTrace();
192
+            logger.error("taLiveActivityDelete -=- {}", e.toString());
193
+            responseBean.addError(e.getMessage());
194
+        }
195
+        return responseBean;
196
+    }
197
+
198
+    /**
199
+     * 访问量自增
200
+     *
201
+     * @param id
202
+     * @return
203
+     */
204
+    @RequestMapping(value = "/wx/addVisitNum", method = RequestMethod.PUT)
205
+    public ResponseBean addVisitNum(@RequestParam("id") String id) {
206
+        ResponseBean responseBean = new ResponseBean();
207
+        try {
208
+            responseBean = iTaLiveActivityService.addVisitNum(id);
209
+        } catch (Exception e) {
210
+            e.printStackTrace();
211
+            logger.error("addVisitNum -=- {}", e.toString());
212
+            responseBean.addError(e.getMessage());
213
+        }
214
+        return responseBean;
215
+    }
216
+
217
+    /**
218
+     * 获取直播详情
219
+     *
220
+     * @param id
221
+     * @return
222
+     */
223
+    @RequestMapping(value = "/wx/taLiveActivity/{id}", method = RequestMethod.GET)
224
+    public ResponseBean getLiveActivityDetailById(@PathVariable("id") String id, HttpServletRequest request) {
225
+        ResponseBean responseBean = new ResponseBean();
226
+        try {
227
+            responseBean = iTaLiveActivityService.getLiveActivityDetailById(id, getOrgId(request));
228
+        } catch (Exception e) {
229
+            e.printStackTrace();
230
+            logger.error("getLiveActivityDetailById -=- {}", e.toString());
231
+            responseBean.addError(e.getMessage());
232
+        }
233
+        return responseBean;
234
+    }
235
+
236
+    /**
237
+     * 分页查询列表
238
+     *
239
+     * @param pageNum
240
+     * @param pageSize
241
+     * @param liveActivityTitle 直播活动标题
242
+     * @param cityId            所属城市
243
+     * @param buildingId        所属楼盘
244
+     * @param status            状态
245
+     * @param request
246
+     * @return
247
+     */
248
+    @RequestMapping(value = "/wx/taLiveActivity", method = RequestMethod.GET)
249
+    public ResponseBean taLiveActivityListForMiniApp(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
250
+                                                     @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
251
+                                                     String liveActivityTitle, String cityId, String buildingId, Integer status,
252
+                                                     HttpServletRequest request) {
253
+        ResponseBean responseBean = new ResponseBean();
254
+        try {
255
+            status = status == null ? 1 : status;
256
+            Integer orgId = getOrgId(request);
257
+            IPage<TaLiveActivity> result = iTaLiveActivityService.listLiveActivityByCondition(pageNum, pageSize, orgId,
258
+                    liveActivityTitle, cityId, buildingId, status, null);
259
+            responseBean.addSuccess(result);
260
+
261
+        } catch (Exception e) {
262
+            e.printStackTrace();
263
+            logger.error("taLiveActivityListForMiniApp -=- {}", e.toString());
264
+            responseBean.addError(e.getMessage());
265
+        }
266
+        return responseBean;
267
+    }
268
+}

+ 121
- 108
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java 查看文件

28
 
28
 
29
 /**
29
 /**
30
  * <p>
30
  * <p>
31
-    *   前端控制器
32
-    * </p>
31
+ * 前端控制器
32
+ * </p>
33
  *
33
  *
34
  * @author jobob
34
  * @author jobob
35
  * @since 2019-07-23
35
  * @since 2019-07-23
62
 
62
 
63
     /**
63
     /**
64
      * 分页查询列表
64
      * 分页查询列表
65
+     *
65
      * @param pageNum
66
      * @param pageNum
66
      * @param pageSize
67
      * @param pageSize
67
      * @return
68
      * @return
68
      */
69
      */
69
-    @RequestMapping(value="/taPersonVisitRecord",method= RequestMethod.GET)
70
-    public ResponseBean taPersonVisitRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
71
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
70
+    @RequestMapping(value = "/taPersonVisitRecord", method = RequestMethod.GET)
71
+    public ResponseBean taPersonVisitRecordList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
72
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
72
         try {
73
         try {
73
             //使用分页插件
74
             //使用分页插件
74
-		    IPage<TaPersonVisitRecord> pg = new Page<>(pageNum, pageSize);
75
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNum, pageSize);
75
             QueryWrapper<TaPersonVisitRecord> queryWrapper = new QueryWrapper<>();
76
             QueryWrapper<TaPersonVisitRecord> queryWrapper = new QueryWrapper<>();
76
             queryWrapper.orderByDesc("create_date");
77
             queryWrapper.orderByDesc("create_date");
77
 
78
 
78
             IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.page(pg, queryWrapper);
79
             IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.page(pg, queryWrapper);
79
             return ResponseBean.success(result);
80
             return ResponseBean.success(result);
80
-        }catch (Exception e){
81
-            logger.error("taPersonVisitRecordList -=- {}",e.toString());
82
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
81
+        } catch (Exception e) {
82
+            logger.error("taPersonVisitRecordList -=- {}", e.toString());
83
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
83
         }
84
         }
84
     }
85
     }
85
 
86
 
86
     /**
87
     /**
87
      * 保存对象--埋点数据保存
88
      * 保存对象--埋点数据保存
89
+     *
88
      * @param taPersonVisitRecord 实体对象
90
      * @param taPersonVisitRecord 实体对象
89
      * @return
91
      * @return
90
      */
92
      */
91
-    @RequestMapping(value="/wx/taPersonVisitRecord",method= RequestMethod.POST)
92
-    public ResponseBean taPersonVisitRecordAdd(@RequestBody TaPersonVisitRecord taPersonVisitRecord, HttpServletRequest request){
93
+    @RequestMapping(value = "/wx/taPersonVisitRecord", method = RequestMethod.POST)
94
+    public ResponseBean taPersonVisitRecordAdd(@RequestBody TaPersonVisitRecord taPersonVisitRecord, HttpServletRequest request) {
93
         String openid = getOpenId(request);
95
         String openid = getOpenId(request);
94
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
96
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
95
         if (null == taPersons || taPersons.size() != 1) {
97
         if (null == taPersons || taPersons.size() != 1) {
98
         TaPerson person = taPersons.get(0);
100
         TaPerson person = taPersons.get(0);
99
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
101
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
100
         taPersonVisitRecord.setOrgId(String.valueOf(getOrgId(request)));
102
         taPersonVisitRecord.setOrgId(String.valueOf(getOrgId(request)));
101
-        Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
102
-        if(eventProperties<=0){
103
+        Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(), taPersonVisitRecord.getEventType(), taPersonVisitRecord.getActivity(), getOrgId(request));
104
+        if (eventProperties <= 0) {
103
             TaEventProperties taEventProperty = new TaEventProperties();
105
             TaEventProperties taEventProperty = new TaEventProperties();
104
             taEventProperty.setBuildingId(taPersonVisitRecord.getTargetId());
106
             taEventProperty.setBuildingId(taPersonVisitRecord.getTargetId());
105
             taEventProperty.setCreateDate(LocalDateTime.now());
107
             taEventProperty.setCreateDate(LocalDateTime.now());
109
             taEventProperty.setBuildingId(taPersonVisitRecord.getBuildingId());
111
             taEventProperty.setBuildingId(taPersonVisitRecord.getBuildingId());
110
             taEventProperty.setEventType(taPersonVisitRecord.getEventType());
112
             taEventProperty.setEventType(taPersonVisitRecord.getEventType());
111
             taEventProperty.setOrgId(getOrgId(request));
113
             taEventProperty.setOrgId(getOrgId(request));
112
-            if (!taEventPropertiesService.save(taEventProperty)){
113
-                return ResponseBean.error("新增失败",ResponseBean.ERROR_UNAVAILABLE);
114
+            if (!taEventPropertiesService.save(taEventProperty)) {
115
+                return ResponseBean.error("新增失败", ResponseBean.ERROR_UNAVAILABLE);
114
             }
116
             }
115
 
117
 
116
         }
118
         }
117
 
119
 
118
         taPersonVisitRecord.setPersonId(person.getPersonId());
120
         taPersonVisitRecord.setPersonId(person.getPersonId());
119
         taPersonVisitRecord.setVisitTime(LocalDateTime.now());
121
         taPersonVisitRecord.setVisitTime(LocalDateTime.now());
120
-        if(!StringUtils.isEmpty(taPersonVisitRecord.getBuildingId())){
122
+        if (!StringUtils.isEmpty(taPersonVisitRecord.getBuildingId())) {
121
             QueryWrapper<TaBuildingIntention> intentionQueryWrapper = new QueryWrapper<>();
123
             QueryWrapper<TaBuildingIntention> intentionQueryWrapper = new QueryWrapper<>();
122
-            intentionQueryWrapper.eq("building_id",taPersonVisitRecord.getBuildingId());
124
+            intentionQueryWrapper.eq("building_id", taPersonVisitRecord.getBuildingId());
123
             intentionQueryWrapper.eq("org_id", getOrgId(request));
125
             intentionQueryWrapper.eq("org_id", getOrgId(request));
124
-            intentionQueryWrapper.eq("event_code",taPersonVisitRecord.getEvent());
125
-            List<TaBuildingIntention>list = buildingIntentionService.list(intentionQueryWrapper);
126
-            if (list.size()>0){
126
+            intentionQueryWrapper.eq("event_code", taPersonVisitRecord.getEvent());
127
+            List<TaBuildingIntention> list = buildingIntentionService.list(intentionQueryWrapper);
128
+            if (list.size() > 0) {
127
                 TaBuildingIntention buildingIntention = list.get(0);
129
                 TaBuildingIntention buildingIntention = list.get(0);
128
                 TaPersonIntentionRecord intentionRecord = new TaPersonIntentionRecord();
130
                 TaPersonIntentionRecord intentionRecord = new TaPersonIntentionRecord();
129
                 TaBuilding building = buildingService.getById(buildingIntention.getBuildingId());
131
                 TaBuilding building = buildingService.getById(buildingIntention.getBuildingId());
138
                 intentionRecord.setPersonId(person.getPersonId());
140
                 intentionRecord.setPersonId(person.getPersonId());
139
                 intentionRecord.setPersonName(person.getNickname());
141
                 intentionRecord.setPersonName(person.getNickname());
140
                 intentionRecord.setStatus(CommConstant.STATUS_NORMAL);
142
                 intentionRecord.setStatus(CommConstant.STATUS_NORMAL);
141
-                if (!personIntentionRecordService.save(intentionRecord)){
142
-                    return ResponseBean.error("新增失败",ResponseBean.ERROR_UNAVAILABLE);
143
+                if (!personIntentionRecordService.save(intentionRecord)) {
144
+                    return ResponseBean.error("新增失败", ResponseBean.ERROR_UNAVAILABLE);
143
                 }
145
                 }
144
             }
146
             }
145
         }
147
         }
146
         try {
148
         try {
147
-            if (iTaPersonVisitRecordService.save(taPersonVisitRecord)){
149
+            if (iTaPersonVisitRecordService.save(taPersonVisitRecord)) {
148
                 //清洗埋點數據到新增用戶表--只有进入小程序的时候 start才记录
150
                 //清洗埋點數據到新增用戶表--只有进入小程序的时候 start才记录
149
-                if(taPersonVisitRecord.getEvent().equals(CommConstant.BIZ_EVENT_START)){
151
+                if (taPersonVisitRecord.getEvent().equals(CommConstant.BIZ_EVENT_START)) {
150
                     iTaPersonFromRecordService.addNewPersonRecordRecord(taPersonVisitRecord);
152
                     iTaPersonFromRecordService.addNewPersonRecordRecord(taPersonVisitRecord);
151
                 }
153
                 }
152
 
154
 
153
                 return ResponseBean.success(taPersonVisitRecord);
155
                 return ResponseBean.success(taPersonVisitRecord);
154
-            }else {
155
-                return ResponseBean.error("保存失败",ResponseBean.ERROR_UNAVAILABLE);
156
+            } else {
157
+                return ResponseBean.error("保存失败", ResponseBean.ERROR_UNAVAILABLE);
156
             }
158
             }
157
-        }catch (Exception e){
158
-            logger.error("taPersonVisitRecordAdd -=- {}",e.toString());
159
-            return ResponseBean.error("系统异常"+e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
159
+        } catch (Exception e) {
160
+            logger.error("taPersonVisitRecordAdd -=- {}", e.toString());
161
+            return ResponseBean.error("系统异常" + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
160
         }
162
         }
161
     }
163
     }
162
 
164
 
163
     /**
165
     /**
164
      * 根据id删除对象
166
      * 根据id删除对象
165
-     * @param id  实体ID
167
+     *
168
+     * @param id 实体ID
166
      */
169
      */
167
     @ResponseBody
170
     @ResponseBody
168
-    @RequestMapping(value="/taPersonVisitRecord/{id}", method= RequestMethod.DELETE)
169
-    public ResponseBean taPersonVisitRecordDelete(@PathVariable Integer id){
171
+    @RequestMapping(value = "/taPersonVisitRecord/{id}", method = RequestMethod.DELETE)
172
+    public ResponseBean taPersonVisitRecordDelete(@PathVariable Integer id) {
170
         try {
173
         try {
171
-            if(iTaPersonVisitRecordService.removeById(id)){
174
+            if (iTaPersonVisitRecordService.removeById(id)) {
172
                 return ResponseBean.success("success");
175
                 return ResponseBean.success("success");
173
-            }else {
174
-                return ResponseBean.error("删除失败",ResponseBean.ERROR_UNAVAILABLE);
176
+            } else {
177
+                return ResponseBean.error("删除失败", ResponseBean.ERROR_UNAVAILABLE);
175
             }
178
             }
176
-        }catch (Exception e){
177
-            logger.error("taPersonVisitRecordDelete -=- {}",e.toString());
178
-            return ResponseBean.error("保存失败"+e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
179
+        } catch (Exception e) {
180
+            logger.error("taPersonVisitRecordDelete -=- {}", e.toString());
181
+            return ResponseBean.error("保存失败" + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
179
         }
182
         }
180
     }
183
     }
181
 
184
 
182
     /**
185
     /**
183
      * 修改对象
186
      * 修改对象
184
-     * @param id  实体ID
187
+     *
188
+     * @param id 实体ID
185
      * @return
189
      * @return
186
      */
190
      */
187
-    @RequestMapping(value="/wx/taPersonVisitRecord/{id}",method= RequestMethod.PUT)
188
-    public ResponseBean taPersonVisitRecordUpdate(@PathVariable Integer id){
191
+    @RequestMapping(value = "/wx/taPersonVisitRecord/{id}", method = RequestMethod.PUT)
192
+    public ResponseBean taPersonVisitRecordUpdate(@PathVariable Integer id) {
189
         TaPersonVisitRecord taPersonVisitRecord = iTaPersonVisitRecordService.getById(id);
193
         TaPersonVisitRecord taPersonVisitRecord = iTaPersonVisitRecordService.getById(id);
190
-        if(null == taPersonVisitRecord){
191
-            return ResponseBean.error("更新失败",ResponseBean.ERROR_UNAVAILABLE);
194
+        if (null == taPersonVisitRecord) {
195
+            return ResponseBean.error("更新失败", ResponseBean.ERROR_UNAVAILABLE);
192
         }
196
         }
193
         taPersonVisitRecord.setLeaveTime(LocalDateTime.now());
197
         taPersonVisitRecord.setLeaveTime(LocalDateTime.now());
194
         taPersonVisitRecord.setRecordId(id);
198
         taPersonVisitRecord.setRecordId(id);
195
-        Long duation = taPersonVisitRecord.getLeaveTime().atZone(ZoneOffset.UTC).toEpochSecond()-taPersonVisitRecord.getVisitTime().atZone(ZoneOffset.UTC).toEpochSecond();
199
+        Long duation = taPersonVisitRecord.getLeaveTime().atZone(ZoneOffset.UTC).toEpochSecond() - taPersonVisitRecord.getVisitTime().atZone(ZoneOffset.UTC).toEpochSecond();
196
         taPersonVisitRecord.setVisitDuration(duation.intValue());
200
         taPersonVisitRecord.setVisitDuration(duation.intValue());
197
         try {
201
         try {
198
-            if (iTaPersonVisitRecordService.updateById(taPersonVisitRecord)){
202
+            if (iTaPersonVisitRecordService.updateById(taPersonVisitRecord)) {
199
                 return ResponseBean.success(taPersonVisitRecord);
203
                 return ResponseBean.success(taPersonVisitRecord);
200
-            }else {
201
-                return ResponseBean.error("更新失败",ResponseBean.ERROR_UNAVAILABLE);
204
+            } else {
205
+                return ResponseBean.error("更新失败", ResponseBean.ERROR_UNAVAILABLE);
202
             }
206
             }
203
-        }catch (Exception e){
204
-            logger.error("taPersonVisitRecordUpdate -=- {}",e.toString());
205
-            return ResponseBean.error("更新失败"+e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
207
+        } catch (Exception e) {
208
+            logger.error("taPersonVisitRecordUpdate -=- {}", e.toString());
209
+            return ResponseBean.error("更新失败" + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
206
         }
210
         }
207
     }
211
     }
208
 
212
 
209
     /**
213
     /**
210
      * 根据id查询对象
214
      * 根据id查询对象
211
-     * @param id  实体ID
215
+     *
216
+     * @param id 实体ID
212
      */
217
      */
213
-    @RequestMapping(value="/taPersonVisitRecord/{id}",method= RequestMethod.GET)
214
-    public ResponseBean taPersonVisitRecordGet(@PathVariable Integer id){
218
+    @RequestMapping(value = "/taPersonVisitRecord/{id}", method = RequestMethod.GET)
219
+    public ResponseBean taPersonVisitRecordGet(@PathVariable Integer id) {
215
         try {
220
         try {
216
             return ResponseBean.success(iTaPersonVisitRecordService.getById(id));
221
             return ResponseBean.success(iTaPersonVisitRecordService.getById(id));
217
-        }catch (Exception e){
218
-            logger.error("taPersonVisitRecordDelete -=- {}",e.toString());
219
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
222
+        } catch (Exception e) {
223
+            logger.error("taPersonVisitRecordDelete -=- {}", e.toString());
224
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
220
         }
225
         }
221
     }
226
     }
222
 
227
 
223
     /**
228
     /**
224
      * 盘客工具分页获取访问记录
229
      * 盘客工具分页获取访问记录
230
+     *
225
      * @param pageNumber
231
      * @param pageNumber
226
      * @param pageSize
232
      * @param pageSize
227
      * @return
233
      * @return
228
      */
234
      */
229
-    @RequestMapping(value="/wx/taPersonVisitRecord",method= RequestMethod.GET)
230
-    public ResponseBean wxPersonVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
231
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
232
-                                                @RequestParam(value = "customerId") String customerId){
235
+    @RequestMapping(value = "/wx/taPersonVisitRecord", method = RequestMethod.GET)
236
+    public ResponseBean wxPersonVisitRecordList(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
237
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
238
+                                                @RequestParam(value = "customerId") String customerId) {
233
         try {
239
         try {
234
             //使用分页插件
240
             //使用分页插件
235
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
241
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
236
             IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getPersonVisitRecordList(pg, customerId);
242
             IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getPersonVisitRecordList(pg, customerId);
237
             return ResponseBean.success(result);
243
             return ResponseBean.success(result);
238
-        }catch (Exception e){
244
+        } catch (Exception e) {
239
             e.printStackTrace();
245
             e.printStackTrace();
240
-            logger.error("taPersonVisitRecordList -=- {}",e.toString());
241
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
246
+            logger.error("taPersonVisitRecordList -=- {}", e.toString());
247
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
242
         }
248
         }
243
     }
249
     }
244
 
250
 
245
-    @RequestMapping(value="/admin/taDrainageVisitRecord", method = RequestMethod.GET)
246
-    public ResponseBean drainageVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
247
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
248
-                                                @RequestParam(value ="activityName",required = false) String activityName,
249
-                                                @RequestParam(value ="buildingId",required = false) String buildingId,
250
-                                                @RequestParam(value ="shareName",required = false) String shareName,
251
-                                                @RequestParam(value ="shareTel",required = false) String shareTel,
252
-                                                @RequestParam(value ="eventType",required = false) String eventType,
253
-                                                @RequestParam(value ="personType",required = false) String personType,
251
+    @RequestMapping(value = "/admin/taDrainageVisitRecord", method = RequestMethod.GET)
252
+    public ResponseBean drainageVisitRecordList(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
253
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
254
+                                                @RequestParam(value = "activityName", required = false) String activityName,
255
+                                                @RequestParam(value = "buildingId", required = false) String buildingId,
256
+                                                @RequestParam(value = "shareName", required = false) String shareName,
257
+                                                @RequestParam(value = "shareTel", required = false) String shareTel,
258
+                                                @RequestParam(value = "eventType", required = false) String eventType,
259
+                                                @RequestParam(value = "personType", required = false) String personType,
254
                                                 HttpServletRequest request) {
260
                                                 HttpServletRequest request) {
255
         ResponseBean responseBean = new ResponseBean();
261
         ResponseBean responseBean = new ResponseBean();
256
         try {
262
         try {
267
 
273
 
268
     /**
274
     /**
269
      * 个人中心访客记录分页查询
275
      * 个人中心访客记录分页查询
276
+     *
270
      * @param pageNumber
277
      * @param pageNumber
271
      * @param pageSize
278
      * @param pageSize
272
      * @return
279
      * @return
273
      */
280
      */
274
-    @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
275
-    public ResponseBean getWxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
276
-                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
277
-                                          @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
281
+    @RequestMapping(value = "/wx/visitRecord", method = RequestMethod.GET)
282
+    public ResponseBean getWxVisitRecordList(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
283
+                                             @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
284
+                                             @RequestParam(value = "userId") Integer userId, HttpServletRequest request) {
278
         try {
285
         try {
279
             //使用分页插件
286
             //使用分页插件
280
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
287
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
281
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
288
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId, getOrgId(request));
282
             return ResponseBean.success(result);
289
             return ResponseBean.success(result);
283
-        }catch (Exception e){
290
+        } catch (Exception e) {
284
             e.printStackTrace();
291
             e.printStackTrace();
285
-            logger.error("taPersonVisitRecordList -=- {}",e.toString());
286
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
292
+            logger.error("taPersonVisitRecordList -=- {}", e.toString());
293
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
287
         }
294
         }
288
     }
295
     }
289
 
296
 
290
     /**
297
     /**
291
      * 个人中心访客记录单个人员的所有活动
298
      * 个人中心访客记录单个人员的所有活动
299
+     *
292
      * @return
300
      * @return
293
      */
301
      */
294
-    @RequestMapping(value="/wx/visitRecord/activity",method= RequestMethod.GET)
295
-    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
296
-                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
302
+    @RequestMapping(value = "/wx/visitRecord/activity", method = RequestMethod.GET)
303
+    public ResponseBean wxVisitRecordList(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
304
+                                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
297
                                           @RequestParam(value = "userId") Integer userId,
305
                                           @RequestParam(value = "userId") Integer userId,
298
                                           @RequestParam(value = "personId") String personId,
306
                                           @RequestParam(value = "personId") String personId,
299
-                                          HttpServletRequest request){
307
+                                          HttpServletRequest request) {
300
         try {
308
         try {
301
             //使用分页插件
309
             //使用分页插件
302
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
310
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
303
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordActivityList(pg, userId,personId,getOrgId(request));
311
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordActivityList(pg, userId, personId, getOrgId(request));
304
             return ResponseBean.success(result);
312
             return ResponseBean.success(result);
305
-        }catch (Exception e){
313
+        } catch (Exception e) {
306
             e.printStackTrace();
314
             e.printStackTrace();
307
-            logger.error("taPersonVisitRecordList -=- {}",e.toString());
308
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
315
+            logger.error("taPersonVisitRecordList -=- {}", e.toString());
316
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
309
         }
317
         }
310
     }
318
     }
311
 
319
 
312
     /**
320
     /**
313
      * 个人中心访客记录分页查询
321
      * 个人中心访客记录分页查询
322
+     *
314
      * @param pageNumber
323
      * @param pageNumber
315
      * @param pageSize
324
      * @param pageSize
316
      * @return
325
      * @return
317
      */
326
      */
318
-    @RequestMapping(value="/wx/activityVisitRecord",method= RequestMethod.GET)
319
-    public ResponseBean wxPersonActivityVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
320
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
321
-                                                @RequestParam(value = "userId") Integer userId,
322
-                                                @RequestParam(value = "targetId")String targetId,
323
-                                                @RequestParam(value = "eventType")String eventType,
324
-                                                HttpServletRequest request){
327
+    @RequestMapping(value = "/wx/activityVisitRecord", method = RequestMethod.GET)
328
+    public ResponseBean wxPersonActivityVisitRecordList(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
329
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
330
+                                                        @RequestParam(value = "userId") Integer userId,
331
+                                                        @RequestParam(value = "targetId") String targetId,
332
+                                                        @RequestParam(value = "eventType") String eventType,
333
+                                                        HttpServletRequest request) {
325
         try {
334
         try {
326
             //使用分页插件
335
             //使用分页插件
327
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
336
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
328
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxActivityVisitRecordList(pg, userId,getOrgId(request),targetId, eventType);
337
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxActivityVisitRecordList(pg, userId, getOrgId(request), targetId, eventType);
329
             return ResponseBean.success(result);
338
             return ResponseBean.success(result);
330
-        }catch (Exception e){
339
+        } catch (Exception e) {
331
             e.printStackTrace();
340
             e.printStackTrace();
332
-            logger.error("taPersonVisitRecordList -=- {}",e.toString());
333
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
341
+            logger.error("taPersonVisitRecordList -=- {}", e.toString());
342
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
334
         }
343
         }
335
     }
344
     }
336
 
345
 
337
     /**
346
     /**
338
      * 置业顾问分享项目、活动、资讯、助力、拼团信息
347
      * 置业顾问分享项目、活动、资讯、助力、拼团信息
348
+     *
339
      * @param pageNumber
349
      * @param pageNumber
340
      * @param pageSize
350
      * @param pageSize
341
      * @param userId
351
      * @param userId
342
      * @param request
352
      * @param request
343
      * @return
353
      * @return
344
      */
354
      */
345
-    @RequestMapping(value = "/wx/shareRecords",method= RequestMethod.GET)
346
-    public ResponseBean wxShareRecordsByUserId(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
347
-                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
348
-                                              @RequestParam(value = "userId") Integer userId,
349
-                                              HttpServletRequest request){
355
+    @RequestMapping(value = "/wx/shareRecords", method = RequestMethod.GET)
356
+    public ResponseBean wxShareRecordsByUserId(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
357
+                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
358
+                                               @RequestParam(value = "userId") Integer userId,
359
+                                               HttpServletRequest request) {
350
         ResponseBean responseBean = new ResponseBean();
360
         ResponseBean responseBean = new ResponseBean();
351
-        if (userId == null){
361
+        if (userId == null) {
352
             return responseBean;
362
             return responseBean;
353
         }
363
         }
354
         //使用分页插件
364
         //使用分页插件
359
         IPage<TaConsultantInfo> result = iTaPersonVisitRecordService.getConsultantShareInfoList(pg, taPerson.getPersonId());
369
         IPage<TaConsultantInfo> result = iTaPersonVisitRecordService.getConsultantShareInfoList(pg, taPerson.getPersonId());
360
 
370
 
361
         List<TaConsultantInfo> taConsultantInfos = result.getRecords();
371
         List<TaConsultantInfo> taConsultantInfos = result.getRecords();
362
-        taConsultantInfos.forEach(e ->{
363
-            Integer shareNum = iTaPersonVisitRecordService.countShareNumByEventType(getOrgId(request), e.getTargetId(), userId, taPerson.getPersonId(), (CommConstant.FAVOR_PROJECT.equals(e.getEventType()) ? "building" : CommConstant.FAVOR_ACTIVITY.equals(e.getEventType()) ? "dynamic" : e.getEventType())  + "_share");
364
-            switch (e.getEventType()){
372
+        taConsultantInfos.forEach(e -> {
373
+            Integer shareNum = iTaPersonVisitRecordService.countShareNumByEventType(getOrgId(request), e.getTargetId(), userId, taPerson.getPersonId(), (CommConstant.FAVOR_PROJECT.equals(e.getEventType()) ? "building" : CommConstant.FAVOR_ACTIVITY.equals(e.getEventType()) ? "dynamic" : e.getEventType()) + "_share");
374
+            switch (e.getEventType()) {
365
                 case CommConstant.FAVOR_ACTIVITY:
375
                 case CommConstant.FAVOR_ACTIVITY:
366
                     e.setActivityShareNum(shareNum);
376
                     e.setActivityShareNum(shareNum);
367
                     break;
377
                     break;
383
                 case CommConstant.HOUSE:
393
                 case CommConstant.HOUSE:
384
                     e.setHouseShareNum(shareNum);
394
                     e.setHouseShareNum(shareNum);
385
                     break;
395
                     break;
396
+                case CommConstant.LIVE:
397
+                    e.setLiveShareNum(shareNum);
398
+                    break;
386
             }
399
             }
387
         });
400
         });
388
         result.setRecords(taConsultantInfos);
401
         result.setRecords(taConsultantInfos);

+ 41
- 11
src/main/java/com/huiju/estateagents/controller/TaSalesBatchController.java 查看文件

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.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
9
-import com.huiju.estateagents.entity.TaMiniapp;
10
-import com.huiju.estateagents.entity.TaSalesBatch;
11
-import com.huiju.estateagents.entity.TaShareContent;
12
-import com.huiju.estateagents.service.IMiniAppService;
13
-import com.huiju.estateagents.service.ITaMiniappService;
14
-import com.huiju.estateagents.service.ITaSalesBatchService;
15
-import com.huiju.estateagents.service.TaShareContentService;
9
+import com.huiju.estateagents.entity.*;
10
+import com.huiju.estateagents.service.*;
16
 import io.swagger.models.auth.In;
11
 import io.swagger.models.auth.In;
17
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
18
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
22
 
17
 
23
 import javax.servlet.http.HttpServletRequest;
18
 import javax.servlet.http.HttpServletRequest;
24
 import java.time.LocalDateTime;
19
 import java.time.LocalDateTime;
20
+import java.util.ArrayList;
25
 import java.util.List;
21
 import java.util.List;
26
 
22
 
27
 /**
23
 /**
50
     @Autowired
46
     @Autowired
51
     private TaShareContentService taShareContentService;
47
     private TaShareContentService taShareContentService;
52
 
48
 
49
+    @Autowired
50
+    public IExtendContentService iExtendContentService;
51
+
53
     /**
52
     /**
54
      * 分页查询列表
53
      * 分页查询列表
55
      *
54
      *
68
             //使用分页插件
67
             //使用分页插件
69
             IPage<TaSalesBatch> pg = new Page<>(pageNum, pageSize);
68
             IPage<TaSalesBatch> pg = new Page<>(pageNum, pageSize);
70
 
69
 
71
-            IPage<TaSalesBatch> result = iTaSalesBatchService.selectByCondition(pg, salesBatchName, buildingId, status, getOrgId(request));
70
+            IPage<TaSalesBatch> result = iTaSalesBatchService.selectByCondition(pg, salesBatchName, buildingId, status, getOrgId(request),getTaPersonBuildingListByUserId(request));
72
             responseBean.addSuccess(result);
71
             responseBean.addSuccess(result);
73
         } catch (Exception e) {
72
         } catch (Exception e) {
74
             e.printStackTrace();
73
             e.printStackTrace();
109
             shareContent.setTargetId(taSalesBatch.getSalesBatchId().toString());
108
             shareContent.setTargetId(taSalesBatch.getSalesBatchId().toString());
110
             shareContent.setShareContentTitle("诚挚邀您在线选房购房~");
109
             shareContent.setShareContentTitle("诚挚邀您在线选房购房~");
111
             shareContent.setShareContentImg(taSalesBatch.getAerialViewImg());
110
             shareContent.setShareContentImg(taSalesBatch.getAerialViewImg());
112
-            shareContent.setShareContentType("house");
113
-            shareContent.setStatus(1);
111
+            shareContent.setShareContentType(CommConstant.HOUSE);
112
+            shareContent.setStatus(CommConstant.STATUS_NORMAL);
114
             shareContent.setCreateDate(LocalDateTime.now());
113
             shareContent.setCreateDate(LocalDateTime.now());
115
             taShareContentService.save(shareContent);
114
             taShareContentService.save(shareContent);
116
 
115
 
133
     public ResponseBean taSalesBatchDel(@RequestBody List<TaSalesBatch> salesBatchs, HttpServletRequest request) {
132
     public ResponseBean taSalesBatchDel(@RequestBody List<TaSalesBatch> salesBatchs, HttpServletRequest request) {
134
         ResponseBean responseBean = new ResponseBean();
133
         ResponseBean responseBean = new ResponseBean();
135
         try {
134
         try {
135
+            List<Integer> liveActivityIds = new ArrayList<>();
136
+            for(TaSalesBatch taSalesBatch : salesBatchs){
137
+                liveActivityIds.add(taSalesBatch.getSalesBatchId());
138
+            }
139
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
140
+            queryWrapper.eq("org_id",getOrgId(request));
141
+            queryWrapper.eq("content_type",CommConstant.SALES_BATCH);
142
+            queryWrapper.in("target_id",liveActivityIds);
143
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
144
+            list.forEach(e -> {
145
+                e.setStatus(CommConstant.NOT_PUBLISH);
146
+            });
147
+            if (list.size() > 0){
148
+                iExtendContentService.updateBatchById(list);
149
+            }
150
+
136
             responseBean = iTaSalesBatchService.delSalesBatchList(getOrgId(request), salesBatchs);
151
             responseBean = iTaSalesBatchService.delSalesBatchList(getOrgId(request), salesBatchs);
137
         } catch (Exception e) {
152
         } catch (Exception e) {
138
             e.printStackTrace();
153
             e.printStackTrace();
174
      */
189
      */
175
     @RequestMapping(value = "/admin/taSalesBatch/{id}", method = RequestMethod.PUT)
190
     @RequestMapping(value = "/admin/taSalesBatch/{id}", method = RequestMethod.PUT)
176
     public ResponseBean taSalesBatchUpdate(@PathVariable Integer id,
191
     public ResponseBean taSalesBatchUpdate(@PathVariable Integer id,
177
-                                           @RequestBody TaSalesBatch taSalesBatch) {
192
+                                           @RequestBody TaSalesBatch taSalesBatch, HttpServletRequest request) {
178
         ResponseBean responseBean = new ResponseBean();
193
         ResponseBean responseBean = new ResponseBean();
179
         try {
194
         try {
180
             taSalesBatch.setSalesBatchId(id);
195
             taSalesBatch.setSalesBatchId(id);
196
+
197
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
198
+            queryWrapper.eq("org_id",getOrgId(request));
199
+            queryWrapper.eq("content_type",CommConstant.SALES_BATCH);
200
+            queryWrapper.eq("target_id",taSalesBatch.getSalesBatchId());
201
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
202
+            if (CommConstant.NOT_PUBLISH.equals(taSalesBatch.getStatus())){
203
+                list.forEach(e -> {
204
+                    e.setStatus(CommConstant.NOT_PUBLISH);
205
+                });
206
+            }
207
+            if (list.size() > 0){
208
+                iExtendContentService.updateBatchById(list);
209
+            }
210
+
181
             if (iTaSalesBatchService.updateById(taSalesBatch)) {
211
             if (iTaSalesBatchService.updateById(taSalesBatch)) {
182
                 responseBean.addSuccess(taSalesBatch);
212
                 responseBean.addSuccess(taSalesBatch);
183
             } else {
213
             } else {

+ 31
- 9
src/main/java/com/huiju/estateagents/controller/TaShareController.java 查看文件

47
 
47
 
48
     /**
48
     /**
49
      * 确认分享, 送积分
49
      * 确认分享, 送积分
50
+     *
50
      * @param typeOf
51
      * @param typeOf
51
      * @param id
52
      * @param id
52
      * @param request
53
      * @param request
61
     }
62
     }
62
 
63
 
63
     @RequestMapping(value = "/admin/taHouseShare", method = RequestMethod.GET)
64
     @RequestMapping(value = "/admin/taHouseShare", method = RequestMethod.GET)
64
-    public ResponseBean taHouseShareList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
65
-                                         @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
66
-                                         @RequestParam(value = "shareType", required = false)String shareType,
67
-                                         @RequestParam(value = "personType", required = false)String personType,
68
-                                         @RequestParam(value = "phone", required = false)String phone,
69
-                                         @RequestParam(value = "salesBatchId")Integer salesBatchId, HttpServletRequest request){
65
+    public ResponseBean taHouseShareList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
66
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
67
+                                         @RequestParam(value = "shareType", required = false) String shareType,
68
+                                         @RequestParam(value = "personType", required = false) String personType,
69
+                                         @RequestParam(value = "phone", required = false) String phone,
70
+                                         @RequestParam(value = "salesBatchId") Integer salesBatchId, HttpServletRequest request) {
70
         ResponseBean responseBean = new ResponseBean();
71
         ResponseBean responseBean = new ResponseBean();
71
         try {
72
         try {
72
-            if (salesBatchId == null){
73
+            if (salesBatchId == null) {
73
                 return ResponseBean.success("");
74
                 return ResponseBean.success("");
74
             }
75
             }
75
             responseBean = taShareService.selectHouseShareList(pageNum, pageSize, getOrgId(request), personType, shareType, phone, salesBatchId);
76
             responseBean = taShareService.selectHouseShareList(pageNum, pageSize, getOrgId(request), personType, shareType, phone, salesBatchId);
76
-        }catch (Exception e){
77
+        } catch (Exception e) {
77
             e.printStackTrace();
78
             e.printStackTrace();
78
-            logger.error("taShareCountList -=- {}",e.toString());
79
+            logger.error("taShareCountList -=- {}", e.toString());
80
+            responseBean.addError(e.getMessage());
81
+        }
82
+        return responseBean;
83
+    }
84
+
85
+    @RequestMapping(value = "/admin/taLiveShare", method = RequestMethod.GET)
86
+    public ResponseBean listLiveShare(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
87
+                                      @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
88
+                                      @RequestParam(value = "shareType", required = false) String shareType,
89
+                                      @RequestParam(value = "personType", required = false) String personType,
90
+                                      @RequestParam(value = "phone", required = false) String phone,
91
+                                      @RequestParam(value = "liveActivityId") Integer liveActivityId, HttpServletRequest request) {
92
+        ResponseBean responseBean = new ResponseBean();
93
+        try {
94
+            if (liveActivityId == null) {
95
+                return ResponseBean.success("");
96
+            }
97
+            responseBean = taShareService.listLiveShare(pageNum, pageSize, getOrgId(request), personType, shareType, phone, liveActivityId);
98
+        } catch (Exception e) {
99
+            e.printStackTrace();
100
+            logger.error("listLiveShare -=- {}", e.toString());
79
             responseBean.addError(e.getMessage());
101
             responseBean.addError(e.getMessage());
80
         }
102
         }
81
         return responseBean;
103
         return responseBean;

+ 24
- 0
src/main/java/com/huiju/estateagents/controller/TaSharePersonFromController.java 查看文件

114
         return responseBean;
114
         return responseBean;
115
     }
115
     }
116
 
116
 
117
+    /**
118
+     * 根据id查询对象
119
+     */
120
+    @RequestMapping(value="api/admin/taLiveVisit",method= RequestMethod.GET)
121
+    public ResponseBean taLiveActivityVisit(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
122
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
123
+                                               @RequestParam(value = "sceneType", required = false)String sceneType,
124
+                                               @RequestParam(value = "personType", required = false)String personType,
125
+                                               @RequestParam(value = "phone", required = false)String phone,
126
+                                               @RequestParam(value = "liveActivityId")String liveActivityId, HttpServletRequest request){
127
+        ResponseBean responseBean = new ResponseBean();
128
+        try {
129
+            if (liveActivityId == null){
130
+                return ResponseBean.success("");
131
+            }
132
+            responseBean = iTaSharePersonFromService.selectLiveActivityVisitList(pageNum, pageSize, getOrgId(request), personType, sceneType, phone, liveActivityId);
133
+        }catch (Exception e){
134
+            e.printStackTrace();
135
+            logger.error("taShareCountList -=- {}",e.toString());
136
+            responseBean.addError(e.getMessage());
137
+        }
138
+        return responseBean;
139
+    }
140
+
117
     /**
141
     /**
118
      * 修改对象
142
      * 修改对象
119
      * @param id  实体ID
143
      * @param id  实体ID

+ 144
- 0
src/main/java/com/huiju/estateagents/controller/TdLiveDictController.java 查看文件

1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.TdLiveDict;
9
+import com.huiju.estateagents.service.ITdLiveDictService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    *   前端控制器
18
+    * </p>
19
+ *
20
+ * @author jobob
21
+ * @since 2020-02-20
22
+ */
23
+@RestController
24
+@RequestMapping("/api")
25
+public class TdLiveDictController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TdLiveDictController.class);
28
+
29
+    @Autowired
30
+    public ITdLiveDictService iTdLiveDictService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/admin/tdLiveDict",method= RequestMethod.GET)
40
+    public ResponseBean tdLiveDictList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TdLiveDict> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TdLiveDict> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.eq("status",1);
48
+            queryWrapper.orderByDesc("create_date");
49
+
50
+            IPage<TdLiveDict> result = iTdLiveDictService.page(pg, queryWrapper);
51
+            responseBean.addSuccess(result);
52
+        }catch (Exception e){
53
+            e.printStackTrace();
54
+            logger.error("tdLiveDictList -=- {}",e.toString());
55
+            responseBean.addError(e.getMessage());
56
+        }
57
+        return responseBean;
58
+    }
59
+
60
+    /**
61
+     * 保存对象
62
+     * @param tdLiveDict 实体对象
63
+     * @return
64
+     */
65
+    @RequestMapping(value="/tdLiveDict",method= RequestMethod.POST)
66
+    public ResponseBean tdLiveDictAdd(@RequestBody TdLiveDict tdLiveDict){
67
+        ResponseBean responseBean = new ResponseBean();
68
+        try {
69
+            if (iTdLiveDictService.save(tdLiveDict)){
70
+                responseBean.addSuccess(tdLiveDict);
71
+            }else {
72
+                responseBean.addError("fail");
73
+            }
74
+        }catch (Exception e){
75
+            e.printStackTrace();
76
+            logger.error("tdLiveDictAdd -=- {}",e.toString());
77
+            responseBean.addError(e.getMessage());
78
+        }
79
+        return responseBean;
80
+    }
81
+
82
+    /**
83
+     * 根据id删除对象
84
+     * @param id  实体ID
85
+     */
86
+    @ResponseBody
87
+    @RequestMapping(value="/tdLiveDict/{id}", method= RequestMethod.DELETE)
88
+    public ResponseBean tdLiveDictDelete(@PathVariable Integer id){
89
+        ResponseBean responseBean = new ResponseBean();
90
+        try {
91
+            if(iTdLiveDictService.removeById(id)){
92
+                responseBean.addSuccess("success");
93
+            }else {
94
+                responseBean.addError("fail");
95
+            }
96
+        }catch (Exception e){
97
+            e.printStackTrace();
98
+            logger.error("tdLiveDictDelete -=- {}",e.toString());
99
+            responseBean.addError(e.getMessage());
100
+        }
101
+        return responseBean;
102
+    }
103
+
104
+    /**
105
+     * 修改对象
106
+     * @param id  实体ID
107
+     * @param tdLiveDict 实体对象
108
+     * @return
109
+     */
110
+    @RequestMapping(value="/tdLiveDict/{id}",method= RequestMethod.PUT)
111
+    public ResponseBean tdLiveDictUpdate(@PathVariable Integer id,
112
+                                        @RequestBody TdLiveDict tdLiveDict){
113
+        ResponseBean responseBean = new ResponseBean();
114
+        try {
115
+            if (iTdLiveDictService.updateById(tdLiveDict)){
116
+                responseBean.addSuccess(tdLiveDict);
117
+            }else {
118
+                responseBean.addError("fail");
119
+            }
120
+        }catch (Exception e){
121
+            e.printStackTrace();
122
+            logger.error("tdLiveDictUpdate -=- {}",e.toString());
123
+            responseBean.addError(e.getMessage());
124
+        }
125
+        return responseBean;
126
+    }
127
+
128
+    /**
129
+     * 根据id查询对象
130
+     * @param id  实体ID
131
+     */
132
+    @RequestMapping(value="/tdLiveDict/{id}",method= RequestMethod.GET)
133
+    public ResponseBean tdLiveDictGet(@PathVariable Integer id){
134
+        ResponseBean responseBean = new ResponseBean();
135
+        try {
136
+            responseBean.addSuccess(iTdLiveDictService.getById(id));
137
+        }catch (Exception e){
138
+            e.printStackTrace();
139
+            logger.error("tdLiveDictDelete -=- {}",e.toString());
140
+            responseBean.addError(e.getMessage());
141
+        }
142
+        return responseBean;
143
+    }
144
+}

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java 查看文件

287
     @TableField(exist = false)
287
     @TableField(exist = false)
288
     private List<TaShareActivity> shareActivityList;
288
     private List<TaShareActivity> shareActivityList;
289
 
289
 
290
+    /**
291
+     * 拼团活动
292
+     */
293
+    @TableField(exist = false)
294
+    private List<TaLiveActivity> liveActivityList;
295
+
290
     /**
296
     /**
291
      * 列表图
297
      * 列表图
292
      */
298
      */

+ 2
- 0
src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java 查看文件

37
     private Integer buildingTypeId;
37
     private Integer buildingTypeId;
38
 
38
 
39
     private String priceType;
39
     private String priceType;
40
+
41
+    private Integer liveShareNum;
40
 }
42
 }

+ 170
- 0
src/main/java/com/huiju/estateagents/entity/TaLiveActivity.java 查看文件

1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
4
+import com.baomidou.mybatisplus.annotation.IdType;
5
+import com.baomidou.mybatisplus.annotation.TableField;
6
+import com.baomidou.mybatisplus.annotation.TableId;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+import java.util.List;
14
+
15
+/**
16
+ * <p>
17
+ *
18
+ * </p>
19
+ *
20
+ * @author jobob
21
+ * @since 2020-02-20
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaLiveActivity implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 直播活动id
32
+     */
33
+    @TableId(value = "live_activity_id", type = IdType.AUTO)
34
+    private Integer liveActivityId;
35
+
36
+    /**
37
+     * 直播活动标题
38
+     */
39
+    private String liveActivityTitle;
40
+
41
+    /**
42
+     * 公司id
43
+     */
44
+    private Integer orgId;
45
+
46
+    /**
47
+     * 所属城市
48
+     */
49
+    @TableField(strategy = FieldStrategy.IGNORED)
50
+    private Integer cityId;
51
+
52
+    /**
53
+     * 所属楼盘
54
+     */
55
+    @TableField(strategy = FieldStrategy.IGNORED)
56
+    private String buildingId;
57
+
58
+    /**
59
+     * 直播小程序
60
+     */
61
+    private String liveApp;
62
+
63
+    /**
64
+     * 房间参数
65
+     */
66
+    private String liveRoomParam;
67
+
68
+    /**
69
+     * 封面图1
70
+     */
71
+    private String listImg;
72
+
73
+    /**
74
+     * 封面图2
75
+     */
76
+    private String detailImg;
77
+
78
+    /**
79
+     * 详情类型 0是模板,1是自定义
80
+     */
81
+    private String liveDetailType;
82
+
83
+    /**
84
+     * 详情图
85
+     */
86
+    private String detailTypeImg;
87
+
88
+    /**
89
+     * 访问人数
90
+     */
91
+    private Integer visitNum;
92
+
93
+    /**
94
+     * 状态
95
+     */
96
+
97
+    private Integer status;
98
+
99
+    /**
100
+     * 二维码
101
+     */
102
+    private String qrCode;
103
+
104
+    /**
105
+     * 直播开始时间
106
+     */
107
+    private String liveStartDate;
108
+
109
+    /**
110
+     * 直播结束时间
111
+     */
112
+    private String liveEndDate;
113
+
114
+    /**
115
+     * 创建时间
116
+     */
117
+    private LocalDateTime createDate;
118
+
119
+    /**
120
+     * 创建人
121
+     */
122
+    private String createUser;
123
+
124
+    /**
125
+     * 修改时间
126
+     */
127
+    private LocalDateTime updateDate;
128
+
129
+    /**
130
+     * 修改人
131
+     */
132
+    private String updateUser;
133
+
134
+    /**
135
+     * 权重
136
+     */
137
+    private Integer weight;
138
+
139
+    @TableField(exist = false)
140
+    private List<TaPoster> posters;
141
+
142
+    @TableField(exist = false)
143
+    private List<TaShareContent> shareContents;
144
+
145
+    @TableField(exist = false)
146
+    private String buildingName;
147
+
148
+    @TableField(exist = false)
149
+    private String cityName;
150
+
151
+    /**
152
+     * 直播app名称
153
+     */
154
+    @TableField(exist = false)
155
+    private String liveAppName;
156
+
157
+    /**
158
+     * 直播app小程序appid
159
+     */
160
+    @TableField(exist = false)
161
+    private String liveAppAppId;
162
+
163
+    private String liveAppPath;
164
+
165
+    @TableField(exist = false)
166
+    private String createName;
167
+
168
+    @TableField(exist = false)
169
+    private String updateName;
170
+}

+ 12
- 0
src/main/java/com/huiju/estateagents/entity/TaShare.java 查看文件

96
      */
96
      */
97
     @TableField(exist = false)
97
     @TableField(exist = false)
98
     private String salesBatchName;
98
     private String salesBatchName;
99
+
100
+    /**
101
+     * 分享内容
102
+     */
103
+    @TableField(exist = false)
104
+    private String shareContent;
105
+
106
+    /**
107
+     * 直播活动名称
108
+     */
109
+    @TableField(exist = false)
110
+    private String liveActivityTitle;
99
 }
111
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/entity/TaSharePersonFrom.java 查看文件

92
 
92
 
93
     @TableField(exist = false)
93
     @TableField(exist = false)
94
     private String salesBatchName;
94
     private String salesBatchName;
95
+
96
+    @TableField(exist = false)
97
+    private String liveActivityTitle;
95
 }
98
 }

+ 46
- 0
src/main/java/com/huiju/estateagents/entity/TdLiveDict.java 查看文件

1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+import java.time.LocalDateTime;
9
+
10
+/**
11
+ * <p>
12
+ *  
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2020-02-20
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+public class TdLiveDict implements Serializable {
22
+
23
+    private static final long serialVersionUID = 1L;
24
+
25
+    /**
26
+     * 直播平台名称
27
+     */
28
+    private String livePlatName;
29
+
30
+    /**
31
+     * 直播平台id
32
+     */
33
+    private String livePlatValue;
34
+
35
+    /**
36
+     * 状态
37
+     */
38
+    private Integer status;
39
+
40
+    /**
41
+     * 创建时间
42
+     */
43
+    private LocalDateTime createDate;
44
+
45
+
46
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java 查看文件

50
     
50
     
51
     private String[] whiteList = {
51
     private String[] whiteList = {
52
             "/wx/chat", // 聊天暂时不鉴权
52
             "/wx/chat", // 聊天暂时不鉴权
53
-            "/api/wx/",
53
+            "/api/wx/login",
54
             "/api/wx/tdCity",
54
             "/api/wx/tdCity",
55
             "/api/wx/preload",
55
             "/api/wx/preload",
56
             "/api/admin/signin",
56
             "/api/admin/signin",

+ 43
- 0
src/main/java/com/huiju/estateagents/mapper/TaLiveActivityMapper.java 查看文件

1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.entity.TaLiveActivity;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+import org.springframework.stereotype.Component;
10
+
11
+import java.util.List;
12
+
13
+/**
14
+ * <p>
15
+ * Mapper 接口
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2020-02-20
20
+ */
21
+@Mapper
22
+@Component
23
+public interface TaLiveActivityMapper extends BaseMapper<TaLiveActivity> {
24
+
25
+    /**
26
+     * 访问人数自增
27
+     *
28
+     * @param id
29
+     * @return
30
+     */
31
+    Boolean addVisitNum(@Param("id") String id);
32
+
33
+    IPage<TaLiveActivity> selectLiveListByCondition(IPage<TaLiveActivity> pg, @Param("liveActivityTitle") String liveActivityTitle, @Param("cityId") String cityId, @Param("buildingId") String buildingId, @Param("status") Integer status, @Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
34
+    /**
35
+     * 批量更新直播活动状态
36
+     *
37
+     * @param orgId
38
+     * @param taLiveActivityList
39
+     */
40
+    void updateLiveActivityStatus(@Param("orgId") Integer orgId, @Param("taLiveActivityList") List<TaLiveActivity> taLiveActivityList);
41
+
42
+
43
+}

+ 2
- 1
src/main/java/com/huiju/estateagents/mapper/TaSalesBatchMapper.java 查看文件

2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.entity.TaPersonBuilding;
5
 import com.huiju.estateagents.entity.TaSalesBatch;
6
 import com.huiju.estateagents.entity.TaSalesBatch;
6
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
19
  */
20
  */
20
 @Mapper
21
 @Mapper
21
 public interface TaSalesBatchMapper extends BaseMapper<TaSalesBatch> {
22
 public interface TaSalesBatchMapper extends BaseMapper<TaSalesBatch> {
22
-    IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, @Param("salesBatchName") String salesBatchName, @Param("buildingId") String buildingId, @Param("status") Integer status, @Param("orgId") Integer orgId);
23
+    IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, @Param("salesBatchName") String salesBatchName, @Param("buildingId") String buildingId, @Param("status") Integer status, @Param("orgId") Integer orgId,@Param("personBuildingList")  List<TaPersonBuilding> personBuildingList);
23
 
24
 
24
     /**
25
     /**
25
      * 根据批次号统计预选数据
26
      * 根据批次号统计预选数据

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaShareMapper.java 查看文件

19
 @Mapper
19
 @Mapper
20
 public interface TaShareMapper extends BaseMapper<TaShare> {
20
 public interface TaShareMapper extends BaseMapper<TaShare> {
21
     List<TaShare> selectHouseShareList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("saleBatchId")Integer saleBatchId);
21
     List<TaShare> selectHouseShareList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("saleBatchId")Integer saleBatchId);
22
+
23
+    List<TaShare> listLiveShare(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("liveActivityId")Integer liveActivityId);
22
 }
24
 }

+ 24
- 0
src/main/java/com/huiju/estateagents/mapper/TaSharePersonFromMapper.java 查看文件

19
 @Mapper
19
 @Mapper
20
 public interface TaSharePersonFromMapper extends BaseMapper<TaSharePersonFrom> {
20
 public interface TaSharePersonFromMapper extends BaseMapper<TaSharePersonFrom> {
21
     Integer countViewNum(@Param("userId") Integer userId, @Param("orgId")Integer orgId, @Param("personId")String personId, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate);
21
     Integer countViewNum(@Param("userId") Integer userId, @Param("orgId")Integer orgId, @Param("personId")String personId, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate);
22
+
23
+    /**
24
+     * 查询房源访问记录
25
+     * @param page
26
+     * @param orgId
27
+     * @param personType
28
+     * @param sceneType
29
+     * @param phone
30
+     * @param saleBatchId
31
+     * @return
32
+     */
22
     List<TaSharePersonFrom> selectHouseVisitList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("sceneType")String sceneType, @Param("phone")String phone, @Param("saleBatchId")String saleBatchId);
33
     List<TaSharePersonFrom> selectHouseVisitList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("sceneType")String sceneType, @Param("phone")String phone, @Param("saleBatchId")String saleBatchId);
34
+
35
+    /**
36
+     * 查询直播活动访问记录
37
+     * @param page
38
+     * @param orgId
39
+     * @param personType
40
+     * @param sceneType
41
+     * @param phone
42
+     * @param liveActivityId
43
+     * @return
44
+     */
45
+    List<TaSharePersonFrom> selectLiveActivityVisitList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("sceneType")String sceneType, @Param("phone")String phone, @Param("liveActivityId")String liveActivityId);
46
+
23
 }
47
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TdLiveDictMapper.java 查看文件

1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TdLiveDict;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *   Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2020-02-20
14
+ */
15
+@Mapper
16
+public interface TdLiveDictMapper extends BaseMapper<TdLiveDict> {
17
+
18
+}

+ 4
- 2
src/main/java/com/huiju/estateagents/service/IMiniAppService.java 查看文件

25
     WxMaPhoneNumberInfo getPhoneNoInfo(String sessionKey, String encryptedData, String iv, String appid);
25
     WxMaPhoneNumberInfo getPhoneNoInfo(String sessionKey, String encryptedData, String iv, String appid);
26
 
26
 
27
     void sendNoticeMessage(TaPerson toUser, String link, String name, String phone, String content, LocalDateTime dt);
27
     void sendNoticeMessage(TaPerson toUser, String link, String name, String phone, String content, LocalDateTime dt);
28
-    
28
+
29
     void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
29
     void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
30
-    
30
+
31
     void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
31
     void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
32
 
32
 
33
+    void sendCheckMessage(TaPerson toUser, String link, String name, String result, String programName, String failReason, String remark, LocalDateTime dt, Boolean isSuccess);
34
+
33
     ResponseBean getQrCode(String paramsStr, String appid);
35
     ResponseBean getQrCode(String paramsStr, String appid);
34
 
36
 
35
     String createQrCode(WxMaService service, String path) throws Exception;
37
     String createQrCode(WxMaService service, String path) throws Exception;

+ 63
- 0
src/main/java/com/huiju/estateagents/service/ITaLiveActivityService.java 查看文件

1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TaLiveActivity;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
8
+
9
+import java.util.List;
10
+
11
+/**
12
+ * <p>
13
+ * 服务类
14
+ * </p>
15
+ *
16
+ * @author jobob
17
+ * @since 2020-02-20
18
+ */
19
+public interface ITaLiveActivityService extends IService<TaLiveActivity> {
20
+
21
+    /**
22
+     * 保存数据
23
+     *
24
+     * @param taLiveActivity
25
+     * @return
26
+     */
27
+    ResponseBean taLiveActivityAdd(TaLiveActivity taLiveActivity);
28
+
29
+    /**
30
+     * 条件查询直播活动列表
31
+     *
32
+     * @param liveDetailType
33
+     * @param pageNum
34
+     * @param pageSize
35
+     * @param orgId
36
+     * @param liveActivityTitle
37
+     * @param cityId
38
+     * @param buildingId
39
+     * @param status
40
+     * @param taPersonBuildingListByUserId
41
+     * @return
42
+     */
43
+    IPage<TaLiveActivity> listLiveActivityByCondition(Integer pageNum, Integer pageSize, Integer orgId, String liveActivityTitle,
44
+                                                      String cityId, String buildingId, Integer status, List<TaPersonBuilding> taPersonBuildingListByUserId);
45
+
46
+    /**
47
+     * 访问量自增
48
+     *
49
+     * @param id
50
+     * @return
51
+     */
52
+    ResponseBean addVisitNum(String id);
53
+
54
+    /**
55
+     * 获取直播活动详情
56
+     *
57
+     * @param id
58
+     * @return
59
+     */
60
+    ResponseBean getLiveActivityDetailById(String id,Integer orgId);
61
+
62
+    ResponseBean delLiveActivityList(Integer orgId, List<TaLiveActivity> liveActivityList);
63
+}

+ 2
- 2
src/main/java/com/huiju/estateagents/service/ITaSalesBatchService.java 查看文件

1
 package com.huiju.estateagents.service;
1
 package com.huiju.estateagents.service;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
6
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import com.huiju.estateagents.entity.TaSalesBatch;
7
 import com.huiju.estateagents.entity.TaSalesBatch;
8
 
8
 
9
 import java.util.List;
9
 import java.util.List;
17
  * @since 2020-02-10
17
  * @since 2020-02-10
18
  */
18
  */
19
 public interface ITaSalesBatchService extends IService<TaSalesBatch> {
19
 public interface ITaSalesBatchService extends IService<TaSalesBatch> {
20
-    IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, String salesBatchName, String buildingId, Integer status, Integer orgId);
20
+    IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, String salesBatchName, String buildingId, Integer status, Integer orgId, List<TaPersonBuilding> taPersonBuildingListByUserId);
21
 
21
 
22
     ResponseBean delSalesBatchList(Integer orgId, List<TaSalesBatch> taSalesBatchList);
22
     ResponseBean delSalesBatchList(Integer orgId, List<TaSalesBatch> taSalesBatchList);
23
 
23
 

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java 查看文件

26
     TaSharePersonFrom addSharePersonRecord(String personId, Integer orgId, String from, String recommender, String targetId);
26
     TaSharePersonFrom addSharePersonRecord(String personId, Integer orgId, String from, String recommender, String targetId);
27
 
27
 
28
     ResponseBean selectHouseVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String saleBatchId);
28
     ResponseBean selectHouseVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String saleBatchId);
29
+
30
+    ResponseBean selectLiveActivityVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String liveActivityId);
29
 }
31
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaShareService.java 查看文件

21
     void makeSure(String openid, String typeOf, String id, Integer orgId);
21
     void makeSure(String openid, String typeOf, String id, Integer orgId);
22
 
22
 
23
     ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId);
23
     ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId);
24
+
25
+    ResponseBean listLiveShare(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer liveActivityId);
24
 }
26
 }

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITdLiveDictService.java 查看文件

1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.entity.TdLiveDict;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2020-02-20
13
+ */
14
+public interface ITdLiveDictService extends IService<TdLiveDict> {
15
+
16
+}

+ 55
- 11
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java 查看文件

88
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
88
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
89
         if (null == miniapp) {
89
         if (null == miniapp) {
90
             log.error("小程序 {} 不存在", toUser.getMiniappId());
90
             log.error("小程序 {} 不存在", toUser.getMiniappId());
91
-            return ;
91
+            return;
92
         }
92
         }
93
 
93
 
94
         // 消息内容类型
94
         // 消息内容类型
132
             }
132
             }
133
         }
133
         }
134
 
134
 
135
-        String[] smsParams = { name, miniapp.getName() + "小程序" };
135
+        String[] smsParams = {name, miniapp.getName() + "小程序"};
136
         if (null == tpl) {
136
         if (null == tpl) {
137
             log.error("小程序 {} 不存在 或者 无通知消息模板 {}", toUser.getMiniappId(), contentType);
137
             log.error("小程序 {} 不存在 或者 无通知消息模板 {}", toUser.getMiniappId(), contentType);
138
 
138
 
141
         } else {
141
         } else {
142
 
142
 
143
             if (isSubscribe) {
143
             if (isSubscribe) {
144
-                String[] data = new String[] { name, phone, content, DateUtils.cutSecond(dt) };
144
+                String[] data = new String[]{name, phone, content, DateUtils.cutSecond(dt)};
145
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
145
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
146
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
146
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
147
                     // 使用短信发送
147
                     // 使用短信发送
161
         // 更新消息发送时间
161
         // 更新消息发送时间
162
         iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
162
         iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
163
     }
163
     }
164
-    
164
+
165
     @Override
165
     @Override
166
     public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
166
     public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
167
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
167
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
168
         if (null == miniapp) {
168
         if (null == miniapp) {
169
             log.error("小程序 {} 不存在", toUser.getMiniappId());
169
             log.error("小程序 {} 不存在", toUser.getMiniappId());
170
-            return ;
170
+            return;
171
         }
171
         }
172
 
172
 
173
         // 消息内容类型
173
         // 消息内容类型
181
         String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
181
         String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
182
                 isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
182
                 isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
183
 
183
 
184
-        String[] smsParams = { miniapp.getName() + "小程序-" + activityName };
184
+        String[] smsParams = {miniapp.getName() + "小程序-" + activityName};
185
 
185
 
186
         if (null == tpl) {
186
         if (null == tpl) {
187
             log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
187
             log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
191
         } else {
191
         } else {
192
 
192
 
193
             if (isSubscribe) {
193
             if (isSubscribe) {
194
-                String[] data = new String[] { activityName, result, DateUtils.cutSecond(dt)};
194
+                String[] data = new String[]{activityName, result, DateUtils.cutSecond(dt)};
195
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
195
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
196
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
196
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
197
                     // 使用短信发送
197
                     // 使用短信发送
219
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
219
         TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
220
         if (null == miniapp) {
220
         if (null == miniapp) {
221
             log.error("小程序 {} 不存在", toUser.getMiniappId());
221
             log.error("小程序 {} 不存在", toUser.getMiniappId());
222
-            return ;
222
+            return;
223
         }
223
         }
224
 
224
 
225
         // 消息内容类型
225
         // 消息内容类型
233
         String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
233
         String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
234
                 isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
234
                 isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
235
 
235
 
236
-        String[] smsParams = { miniapp.getName() + "小程序-" + activityName };
236
+        String[] smsParams = {miniapp.getName() + "小程序-" + activityName};
237
 
237
 
238
         if (null == tpl) {
238
         if (null == tpl) {
239
             log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
239
             log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
243
         } else {
243
         } else {
244
 
244
 
245
             if (isSubscribe) {
245
             if (isSubscribe) {
246
-                String[] data = new String[] { activityName, result, DateUtils.cutSecond(dt) };
246
+                String[] data = new String[]{activityName, result, DateUtils.cutSecond(dt)};
247
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
247
                 ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
248
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
248
                 if (res.getCode() != ResponseBean.CODE_SUCCESS) {
249
                     // 使用短信发送
249
                     // 使用短信发送
266
         iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
266
         iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
267
     }
267
     }
268
 
268
 
269
+    @Override
270
+    public void sendCheckMessage(TaPerson toUser, String link, String name, String result, String programName,
271
+                                 String failReason, String remark, LocalDateTime dt, Boolean isSuccess) {
272
+        TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
273
+        if (null == miniapp) {
274
+            log.error("小程序 {} 不存在", toUser.getMiniappId());
275
+            return;
276
+        }
277
+
278
+        // 消息内容类型
279
+        String contentType = CommConstant.MESSAGE_CONTENT_OF_HOUSE;
280
+        TaMiniappTemplate tpl = getTplByType(contentType, toUser.getMiniappId());
281
+        boolean isSubscribe = null != tpl && (null == tpl.getIsSubscribe() ? false : tpl.getIsSubscribe());
282
+        // 消息发送类型
283
+        String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
284
+                isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
285
+
286
+        String[] smsParams = {miniapp.getName() + "小程序-" + programName + name};
287
+
288
+        if (null == tpl) {
289
+            if (isSuccess) {
290
+                log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
291
+                // 短信发送
292
+                sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
293
+            }
294
+        } else {
295
+            if (isSubscribe) {
296
+                String[] data = new String[]{name, result, programName, remark, failReason, DateUtils.cutSecond(dt)};
297
+                ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
298
+                if (res.getCode() != ResponseBean.CODE_SUCCESS && isSuccess) {
299
+                    // 使用短信发送
300
+                    sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
301
+                    messageType = CommConstant.MESSAGE_TYPE_OF_SMS;
302
+                }
303
+            } else {
304
+                log.info("发送模板消息");
305
+            }
306
+        }
307
+        // TODO 写消息发送日志
308
+        // 更新消息发送时间
309
+        iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
310
+    }
311
+
312
+
269
     @Override
313
     @Override
270
     public ResponseBean getQrCode(String paramsStr, String appid) {
314
     public ResponseBean getQrCode(String paramsStr, String appid) {
271
         if (null == paramsStr) return ResponseBean.error("请指定二维码生成参数", ResponseBean.ERROR_MISSING_PARAMS);
315
         if (null == paramsStr) return ResponseBean.error("请指定二维码生成参数", ResponseBean.ERROR_MISSING_PARAMS);
365
         }
409
         }
366
 
410
 
367
         TaMiniappTemplate tpl = getTplByType(tplName, toUser.getMiniappId());
411
         TaMiniappTemplate tpl = getTplByType(tplName, toUser.getMiniappId());
368
-        if (null == tpl) return ;
412
+        if (null == tpl) return;
369
 
413
 
370
         String formid = taMiniFormidsService.getFormidBy(toUser.getMiniOpenid(), true);
414
         String formid = taMiniFormidsService.getFormidBy(toUser.getMiniOpenid(), true);
371
         if (StringUtils.isEmpty(formid)) {
415
         if (StringUtils.isEmpty(formid)) {

+ 31
- 1
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java 查看文件

81
     @Autowired
81
     @Autowired
82
     private TaShareActivityMapper taShareActivityMapper;
82
     private TaShareActivityMapper taShareActivityMapper;
83
 
83
 
84
+    @Autowired
85
+    private TaLiveActivityMapper taLiveActivityMapper;
86
+
84
     @Autowired
87
     @Autowired
85
     private TaExtendContentMapper taExtendContentMapper;
88
     private TaExtendContentMapper taExtendContentMapper;
86
 
89
 
148
 //        Page<TaBuilding> page = new Page<>();
151
 //        Page<TaBuilding> page = new Page<>();
149
 //        page.setSize(pageSize == null ? 10 : pageSize);
152
 //        page.setSize(pageSize == null ? 10 : pageSize);
150
 //        page.setCurrent(pageNum == null ? 1 : pageNum);
153
 //        page.setCurrent(pageNum == null ? 1 : pageNum);
151
-        List<TaBuilding> building = taBuildingMapper.buildingListSelect(name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId,taPersonBuildingList);
154
+        List<TaBuilding> building = taBuildingMapper.buildingListSelect(name, code, startDate, buildingStatus, marketStatus, cityId, isMain, orgId, taPersonBuildingList);
152
 //        page.setRecords(building);
155
 //        page.setRecords(building);
153
         return ResponseBean.success(building);
156
         return ResponseBean.success(building);
154
     }
157
     }
222
         if (null == building) {
225
         if (null == building) {
223
             return ResponseBean.error("项目不存在", ResponseBean.ERROR_UNAVAILABLE);
226
             return ResponseBean.error("项目不存在", ResponseBean.ERROR_UNAVAILABLE);
224
         }
227
         }
228
+
229
+        if (1 != building.getStatus()) {
230
+            return ResponseBean.error("项目未发布", ResponseBean.ERROR_UNAVAILABLE);
231
+        }
232
+
225
         //查询当前图片
233
         //查询当前图片
226
         building.setBuildingImg(getBuildingImg(id, CommConstant.BUILDING_IMG_BANNER));
234
         building.setBuildingImg(getBuildingImg(id, CommConstant.BUILDING_IMG_BANNER));
227
 
235
 
293
         List<TaShareActivity> shareActivityList = taShareActivityMapper.selectList(shareActivityQueryWrapper);
301
         List<TaShareActivity> shareActivityList = taShareActivityMapper.selectList(shareActivityQueryWrapper);
294
         building.setShareActivityList(shareActivityList);
302
         building.setShareActivityList(shareActivityList);
295
 
303
 
304
+        // TODO 直播活动
305
+        QueryWrapper<TaLiveActivity> liveActivityQueryWrapper = new QueryWrapper<>();
306
+        liveActivityQueryWrapper.eq("building_id", id);
307
+        liveActivityQueryWrapper.eq("status", 1);
308
+        List<TaLiveActivity> liveActivityList = taLiveActivityMapper.selectList(liveActivityQueryWrapper);
309
+        building.setLiveActivityList(liveActivityList);
310
+
296
         // 查询 周边数据
311
         // 查询 周边数据
297
         QueryWrapper<TaBuildingMapRelation> mapRelationQueryWrapper = new QueryWrapper<>();
312
         QueryWrapper<TaBuildingMapRelation> mapRelationQueryWrapper = new QueryWrapper<>();
298
         mapRelationQueryWrapper.eq("building_id", building.getBuildingId());
313
         mapRelationQueryWrapper.eq("building_id", building.getBuildingId());
427
             taShareActivityQueryWrapper.eq("building_id", building.getBuildingId());
442
             taShareActivityQueryWrapper.eq("building_id", building.getBuildingId());
428
             taShareActivityMapper.update(taShareActivity, taShareActivityQueryWrapper);
443
             taShareActivityMapper.update(taShareActivity, taShareActivityQueryWrapper);
429
 
444
 
445
+            //更新直播城市
446
+            TaLiveActivity taLiveActivity = new TaLiveActivity();
447
+            taLiveActivity.setCityId(building.getCityId());
448
+            taLiveActivity.setBuildingId(building.getBuildingId());
449
+            QueryWrapper<TaLiveActivity> taLiveActivityQueryWrapper = new QueryWrapper<>();
450
+            taLiveActivityQueryWrapper.eq("building_id", building.getBuildingId());
451
+            taLiveActivityMapper.update(taLiveActivity, taLiveActivityQueryWrapper);
452
+
430
             //更新首页轮播、开屏广告、宣传位
453
             //更新首页轮播、开屏广告、宣传位
431
             TaExtendContent taExtendContent = new TaExtendContent();
454
             TaExtendContent taExtendContent = new TaExtendContent();
432
             taExtendContent.setCityId(building.getCityId());
455
             taExtendContent.setCityId(building.getCityId());
608
         building.setStatus(-1);
631
         building.setStatus(-1);
609
         taBuildingMapper.update(building, buildingIdQueryWrapper);
632
         taBuildingMapper.update(building, buildingIdQueryWrapper);
610
 
633
 
634
+        TaLiveActivity taLiveActivity = new TaLiveActivity();
635
+        QueryWrapper<TaLiveActivity> queryWrapper = new QueryWrapper<>();
636
+        queryWrapper.eq("building_id", id);
637
+        taLiveActivity.setStatus(0);
638
+        taLiveActivity.setCityId(null);
639
+        taLiveActivity.setBuildingId(null);
640
+        taLiveActivityMapper.update(taLiveActivity, queryWrapper);
611
         return ResponseBean.success("");
641
         return ResponseBean.success("");
612
     }
642
     }
613
 
643
 

+ 189
- 0
src/main/java/com/huiju/estateagents/service/impl/TaLiveActivityServiceImpl.java 查看文件

1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.entity.*;
11
+import com.huiju.estateagents.mapper.TaLiveActivityMapper;
12
+import com.huiju.estateagents.mapper.TdLiveDictMapper;
13
+import com.huiju.estateagents.service.*;
14
+import org.apache.commons.collections.CollectionUtils;
15
+import org.apache.commons.lang3.StringUtils;
16
+import org.slf4j.Logger;
17
+import org.slf4j.LoggerFactory;
18
+import org.springframework.beans.factory.annotation.Autowired;
19
+import org.springframework.stereotype.Service;
20
+
21
+import java.time.LocalDateTime;
22
+import java.util.ArrayList;
23
+import java.util.List;
24
+
25
+/**
26
+ * <p>
27
+ * 服务实现类
28
+ * </p>
29
+ *
30
+ * @author jobob
31
+ * @since 2020-02-20
32
+ */
33
+@Service
34
+public class TaLiveActivityServiceImpl extends ServiceImpl<TaLiveActivityMapper, TaLiveActivity> implements ITaLiveActivityService {
35
+
36
+    private Logger logger = LoggerFactory.getLogger(TaLiveActivityServiceImpl.class);
37
+
38
+    @Autowired
39
+    private TaShareContentService taShareContentService;
40
+
41
+    @Autowired
42
+    private ITaMiniappService taMiniappService;
43
+
44
+    @Autowired
45
+    private IMiniAppService miniAppService;
46
+
47
+    @Autowired
48
+    private TaLiveActivityMapper taLiveActivityMapper;
49
+
50
+    @Autowired
51
+    private TaPosterServiceImpl taPosterService;
52
+
53
+    @Autowired
54
+    private ShareContentServiceImpl shareContentService;
55
+
56
+    @Autowired
57
+    private TdPosterTemplateServiceImpl posterTemplateService;
58
+
59
+    @Autowired
60
+    private TdLiveDictMapper tdLiveDictMapper;
61
+
62
+
63
+    @Override
64
+    public ResponseBean taLiveActivityAdd(TaLiveActivity taLiveActivity) {
65
+        logger.info("TaLiveActivityServiceImpl.taLiveActivityAdd 接收参数:" + JSONObject.toJSONString(taLiveActivity));
66
+
67
+        ResponseBean responseBean = new ResponseBean();
68
+
69
+        taLiveActivity.setVisitNum(0);
70
+        taLiveActivity.setCreateDate(LocalDateTime.now());
71
+        taLiveActivity.setUpdateDate(LocalDateTime.now());
72
+        if (StringUtils.isNotBlank(taLiveActivity.getLiveRoomParam())) {
73
+            taLiveActivity.setLiveAppPath(taLiveActivity.getLiveRoomParam().replace(".html", ""));
74
+        }
75
+
76
+        Boolean result = save(taLiveActivity);
77
+        if (!result) {
78
+            responseBean.addError("fail");
79
+            return responseBean;
80
+        }
81
+        QueryWrapper<TaMiniapp> taMiniappQuery = new QueryWrapper<>();
82
+        taMiniappQuery.eq("org_id", taLiveActivity.getOrgId());
83
+        TaMiniapp taMiniapp = taMiniappService.getOne(taMiniappQuery);
84
+        ResponseBean taMiniappQrcode = miniAppService.getQrCode
85
+                (CommConstant.LIVE_ACTIVITY_QRCODE.replace("#0", taLiveActivity.getLiveActivityId().toString())
86
+                        .replace("#1", "live"), taMiniapp.getMiniappId());
87
+        taLiveActivity.setQrCode(String.valueOf(taMiniappQrcode.getData()));
88
+        updateById(taLiveActivity);
89
+
90
+        // 设置默认海报数据
91
+        TaShareContent shareContent = new TaShareContent();
92
+        shareContent.setOrgId(taLiveActivity.getOrgId());
93
+        shareContent.setTargetId(taLiveActivity.getLiveActivityId().toString());
94
+        shareContent.setShareContentTitle("直播看房,在线答疑,快上车~");
95
+//        shareContent.setShareContentImg(taLiveActivity.getDetailImg());
96
+        shareContent.setShareContentType(CommConstant.LIVE);
97
+        shareContent.setStatus(CommConstant.STATUS_NORMAL);
98
+        shareContent.setCreateDate(LocalDateTime.now());
99
+        taShareContentService.save(shareContent);
100
+
101
+        responseBean.addSuccess(taLiveActivity);
102
+        return responseBean;
103
+    }
104
+
105
+    @Override
106
+    public IPage<TaLiveActivity> listLiveActivityByCondition(Integer pageNum, Integer pageSize, Integer orgId, String liveActivityTitle,
107
+                                                             String cityId, String buildingId, Integer status, List<TaPersonBuilding> taPersonBuildingListByUserId) {
108
+        logger.info("TaLiveActivityServiceImpl.listLiveActivityByCondition 接收参数:pageNum:{},pageSize:{},orgId:{}," +
109
+                    "liveActivityTitle:{},cityId:{},buildingId:{},liveDetailType:{},status:{}", pageNum, pageSize,
110
+                liveActivityTitle, cityId, buildingId, status);
111
+
112
+        IPage<TaLiveActivity> pg = new Page<>(pageNum, pageSize);
113
+        return taLiveActivityMapper.selectLiveListByCondition(pg, liveActivityTitle, cityId, buildingId, status, orgId,taPersonBuildingListByUserId);
114
+    }
115
+
116
+    @Override
117
+    public ResponseBean addVisitNum(String id) {
118
+        ResponseBean responseBean = new ResponseBean();
119
+        Boolean result = taLiveActivityMapper.addVisitNum(id);
120
+        if (result) {
121
+            responseBean.addSuccess("成功");
122
+            return responseBean;
123
+        }
124
+        responseBean.addError("fail");
125
+        return responseBean;
126
+    }
127
+
128
+    @Override
129
+    public ResponseBean getLiveActivityDetailById(String id, Integer orgId) {
130
+        logger.info("getLiveActivityDetailById 接收参数:id:{},orgId:{}", id, orgId);
131
+
132
+        ResponseBean responseBean = new ResponseBean();
133
+        QueryWrapper<TaLiveActivity> liveActivityQueryWrapper = new QueryWrapper<>();
134
+        liveActivityQueryWrapper.eq("live_activity_id", id);
135
+        liveActivityQueryWrapper.eq("org_id", orgId);
136
+        TaLiveActivity result = taLiveActivityMapper.selectOne(liveActivityQueryWrapper);
137
+        if (result == null) {
138
+            responseBean.addSuccess(null);
139
+            return responseBean;
140
+        }
141
+
142
+        // 获取直播小程序信息
143
+        QueryWrapper<TdLiveDict> tdLiveDictQueryWrapper = new QueryWrapper<>();
144
+        tdLiveDictQueryWrapper.eq("id", result.getLiveApp());
145
+        tdLiveDictQueryWrapper.eq("status", "1");
146
+        TdLiveDict tdLiveDict = tdLiveDictMapper.selectOne(tdLiveDictQueryWrapper);
147
+        if (tdLiveDict == null) {
148
+            responseBean.addSuccess(null);
149
+            return responseBean;
150
+        }
151
+        result.setLiveAppName(tdLiveDict.getLivePlatName());
152
+        result.setLiveAppAppId(tdLiveDict.getLivePlatValue());
153
+
154
+        // 获取海报信息
155
+        QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
156
+        queryWrapper.eq("target_id", id + "");
157
+        queryWrapper.eq("target_type", CommConstant.LIVE);
158
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
159
+        List<TaPoster> posterList = taPosterService.list(queryWrapper);
160
+
161
+        List<TaPoster> resultPosterList = new ArrayList<>();
162
+        if (CollectionUtils.isNotEmpty(posterList)) {
163
+            for (TaPoster poster : posterList) {
164
+                QueryWrapper<TdPosterTemplate> templateQueryWrapper = new QueryWrapper<>();
165
+                templateQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
166
+                templateQueryWrapper.eq("type ", "liveActivity");
167
+                List<TdPosterTemplate> posterTemplate = posterTemplateService.list(templateQueryWrapper);
168
+
169
+                poster.setTemplates(posterTemplate);
170
+                resultPosterList.add(poster);
171
+            }
172
+        }
173
+
174
+        // 获取分享内容信息
175
+        List<TaShareContent> shareContentList = shareContentService.getPostersForTarget(id + "", CommConstant.LIVE);
176
+
177
+        result.setPosters(resultPosterList);
178
+        result.setShareContents(shareContentList);
179
+        responseBean.addSuccess(result);
180
+        return responseBean;
181
+    }
182
+
183
+    @Override
184
+    public ResponseBean delLiveActivityList(Integer orgId, List<TaLiveActivity> liveActivityList) {
185
+        ResponseBean responseBean = new ResponseBean();
186
+        taLiveActivityMapper.updateLiveActivityStatus(orgId, liveActivityList);
187
+        return responseBean;
188
+    }
189
+}

+ 103
- 31
src/main/java/com/huiju/estateagents/service/impl/TaPreselectionRecordServiceImpl.java 查看文件

8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.DateUtils;
10
 import com.huiju.estateagents.common.DateUtils;
11
-import com.huiju.estateagents.common.StringUtils;
12
 import com.huiju.estateagents.entity.TaApartmentImg;
11
 import com.huiju.estateagents.entity.TaApartmentImg;
13
 import com.huiju.estateagents.entity.TaBuildingImg;
12
 import com.huiju.estateagents.entity.TaBuildingImg;
13
+import com.huiju.estateagents.entity.TaPerson;
14
 import com.huiju.estateagents.entity.TaPreselectionRecord;
14
 import com.huiju.estateagents.entity.TaPreselectionRecord;
15
-import com.huiju.estateagents.entity.TaSharePersonFrom;
16
 import com.huiju.estateagents.mapper.TaApartmentImgMapper;
15
 import com.huiju.estateagents.mapper.TaApartmentImgMapper;
17
 import com.huiju.estateagents.mapper.TaBuildingImgMapper;
16
 import com.huiju.estateagents.mapper.TaBuildingImgMapper;
18
 import com.huiju.estateagents.mapper.TaHousingResourcesMapper;
17
 import com.huiju.estateagents.mapper.TaHousingResourcesMapper;
21
 import com.huiju.estateagents.po.TaPreselectionRecordPO;
20
 import com.huiju.estateagents.po.TaPreselectionRecordPO;
22
 import com.huiju.estateagents.service.ITaPreselectionRecordService;
21
 import com.huiju.estateagents.service.ITaPreselectionRecordService;
23
 import org.apache.commons.collections.CollectionUtils;
22
 import org.apache.commons.collections.CollectionUtils;
23
+import org.apache.commons.lang3.StringUtils;
24
 import org.slf4j.Logger;
24
 import org.slf4j.Logger;
25
 import org.slf4j.LoggerFactory;
25
 import org.slf4j.LoggerFactory;
26
 import org.springframework.beans.factory.annotation.Autowired;
26
 import org.springframework.beans.factory.annotation.Autowired;
30
 import java.time.LocalDateTime;
30
 import java.time.LocalDateTime;
31
 import java.util.ArrayList;
31
 import java.util.ArrayList;
32
 import java.util.List;
32
 import java.util.List;
33
+import java.util.concurrent.ExecutorService;
34
+import java.util.concurrent.Executors;
33
 
35
 
34
 /**
36
 /**
35
  * <p>
37
  * <p>
56
     @Autowired
58
     @Autowired
57
     TaApartmentImgMapper taApartmentImgMapper;
59
     TaApartmentImgMapper taApartmentImgMapper;
58
 
60
 
61
+    @Autowired
62
+    private MiniAppServiceImpl miniAppService;
63
+
64
+    @Autowired
65
+    private TaPersonServiceImpl taPersonService;
66
+
59
     @Override
67
     @Override
60
     public IPage<TaPreselectionRecordPO> listPreselectionRecord(Integer pageNum, Integer pageSize, Integer orgId, String personId) {
68
     public IPage<TaPreselectionRecordPO> listPreselectionRecord(Integer pageNum, Integer pageSize, Integer orgId, String personId) {
61
         logger.info("listPreselectionRecord 接收参数:pageNum:{},pageSize:{},orgId:{},personId:{}", pageNum, pageSize, orgId, personId);
69
         logger.info("listPreselectionRecord 接收参数:pageNum:{},pageSize:{},orgId:{},personId:{}", pageNum, pageSize, orgId, personId);
64
         iPage = taPreselectionRecordMapper.listPreselectionRecord(iPage, orgId, personId);
72
         iPage = taPreselectionRecordMapper.listPreselectionRecord(iPage, orgId, personId);
65
 
73
 
66
         List<TaPreselectionRecordPO> poList = iPage.getRecords();
74
         List<TaPreselectionRecordPO> poList = iPage.getRecords();
67
-        if (CollectionUtils.isNotEmpty(poList)) {
68
-            List<TaPreselectionRecordPO> resultList = new ArrayList<>();
69
-            List<TaBuildingImg> taBuildingImgList;
70
-            List<TaApartmentImg> buildingImg;
71
-            QueryWrapper<TaApartmentImg> apartmentImgQueryWrapper;
72
-            QueryWrapper<TaBuildingImg> buildingImgQueryWrapper;
73
-            for (TaPreselectionRecordPO po : poList) {
74
-                apartmentImgQueryWrapper = new QueryWrapper<>();
75
-                apartmentImgQueryWrapper.eq("apartment_id", po.getApartmentId());
76
-                buildingImg = taApartmentImgMapper.selectList(apartmentImgQueryWrapper);
77
-                for (TaApartmentImg apartmentImg : buildingImg) {
78
-                    buildingImgQueryWrapper = new QueryWrapper<>();
79
-                    buildingImgQueryWrapper.eq("img_id", apartmentImg.getImgId());
80
-                    buildingImgQueryWrapper.eq("img_type", CommConstant.BUILDING_IMG_APARMENT);
81
-                    buildingImgQueryWrapper.orderByAsc("order_no");
82
-                    taBuildingImgList = taBuildingImgMapper.selectList(buildingImgQueryWrapper);
83
-                    po.setBuildingImgList(taBuildingImgList);
84
-                }
85
-                resultList.add(po);
75
+        if (CollectionUtils.isEmpty(poList)) {
76
+            return iPage;
77
+        }
78
+
79
+        List<TaPreselectionRecordPO> resultList = new ArrayList<>();
80
+        List<TaBuildingImg> taBuildingImgList;
81
+        List<TaApartmentImg> buildingImg;
82
+        QueryWrapper<TaApartmentImg> apartmentImgQueryWrapper;
83
+        QueryWrapper<TaBuildingImg> buildingImgQueryWrapper;
84
+        for (TaPreselectionRecordPO po : poList) {
85
+            apartmentImgQueryWrapper = new QueryWrapper<>();
86
+            apartmentImgQueryWrapper.eq("apartment_id", po.getApartmentId());
87
+            buildingImg = taApartmentImgMapper.selectList(apartmentImgQueryWrapper);
88
+            for (TaApartmentImg apartmentImg : buildingImg) {
89
+                buildingImgQueryWrapper = new QueryWrapper<>();
90
+                buildingImgQueryWrapper.eq("img_id", apartmentImg.getImgId());
91
+                buildingImgQueryWrapper.eq("img_type", CommConstant.BUILDING_IMG_APARMENT);
92
+                buildingImgQueryWrapper.orderByAsc("order_no");
93
+                taBuildingImgList = taBuildingImgMapper.selectList(buildingImgQueryWrapper);
94
+                po.setBuildingImgList(taBuildingImgList);
86
             }
95
             }
87
-            iPage.setRecords(resultList);
96
+            resultList.add(po);
88
         }
97
         }
98
+        iPage.setRecords(resultList);
89
         return iPage;
99
         return iPage;
90
     }
100
     }
91
 
101
 
95
         logger.info("listPreselectionRecord 接收参数:taPreselectionRecord:{}", JSONObject.toJSONString(taPreselectionRecord));
105
         logger.info("listPreselectionRecord 接收参数:taPreselectionRecord:{}", JSONObject.toJSONString(taPreselectionRecord));
96
 
106
 
97
         ResponseBean responseBean = new ResponseBean();
107
         ResponseBean responseBean = new ResponseBean();
108
+        String tip;
109
+        String checkType = "预选";
110
+
111
+        String houseId = taPreselectionRecord.getHouseId();
112
+        String personId = taPreselectionRecord.getPersonId();
98
 
113
 
99
         // 校验用户是否已经预选房源
114
         // 校验用户是否已经预选房源
100
-        TaPreselectionRecord record = taPreselectionRecordMapper
101
-                .getRecordByPersonIdAndHouseId(taPreselectionRecord.getPersonId(), taPreselectionRecord.getHouseId());
115
+        TaPreselectionRecord record = taPreselectionRecordMapper.getRecordByPersonIdAndHouseId(personId, houseId);
102
         if (record != null) {
116
         if (record != null) {
103
-            responseBean.addError("已预选过此房源,请到选房记录中查看。");
117
+            tip = "已预选过此房源。";
118
+            sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
119
+            responseBean.addError(tip);
104
             return responseBean;
120
             return responseBean;
105
         }
121
         }
106
 
122
 
107
         TaHousingResourcesPO resourcesPO = taHousingResourcesMapper.getHousingDetailById(taPreselectionRecord.getHouseId(), "0");
123
         TaHousingResourcesPO resourcesPO = taHousingResourcesMapper.getHousingDetailById(taPreselectionRecord.getHouseId(), "0");
108
         if (resourcesPO == null) {
124
         if (resourcesPO == null) {
109
-            responseBean.addError("fail");
125
+            tip = "当前房源已临时取消发布。";
126
+            sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
127
+            responseBean.addError(tip);
110
             return responseBean;
128
             return responseBean;
111
         }
129
         }
112
 
130
 
113
         // 校验当前批次状态是否为已发布
131
         // 校验当前批次状态是否为已发布
114
         if (resourcesPO.getSaleBatchStatus() != 1) {
132
         if (resourcesPO.getSaleBatchStatus() != 1) {
115
-            responseBean.addError("当前销售批次已临时取消发布,请稍后再试或联系置业顾问了解详情。");
133
+            tip = "当前销售批次已临时取消发布。";
134
+            sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
135
+            responseBean.addError(tip);
116
             return responseBean;
136
             return responseBean;
117
         }
137
         }
118
 
138
 
119
         // 校验当前房源状态是否为已发布
139
         // 校验当前房源状态是否为已发布
120
         if (1 != resourcesPO.getStatus()) {
140
         if (1 != resourcesPO.getStatus()) {
121
-            responseBean.addError("当前房源已临时取消发布,请稍后再试或联系置业顾问了解详情。");
141
+            tip = "当前房源已临时取消发布。";
142
+            sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
143
+            responseBean.addError(tip);
122
             return responseBean;
144
             return responseBean;
123
         }
145
         }
124
 
146
 
125
         // 校验预选操作时间是否在规定范围内
147
         // 校验预选操作时间是否在规定范围内
126
         if (!DateUtils.checkTimeRange(resourcesPO.getPreselectionStartTime(), resourcesPO.getPreselectionEndTime(), null)) {
148
         if (!DateUtils.checkTimeRange(resourcesPO.getPreselectionStartTime(), resourcesPO.getPreselectionEndTime(), null)) {
127
-            responseBean.addError("当前时间不在预选时间范围内,请联系置业顾问了解详情。");
149
+            tip = "当前时间不在预选时间范围内。";
150
+            sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
151
+            responseBean.addError(tip);
128
             return responseBean;
152
             return responseBean;
129
         }
153
         }
130
 
154
 
137
         // 更新房源表热度
161
         // 更新房源表热度
138
         Boolean result = taHousingResourcesMapper.updateForAddHeat(taPreselectionRecord.getHouseId());
162
         Boolean result = taHousingResourcesMapper.updateForAddHeat(taPreselectionRecord.getHouseId());
139
         if (result) {
163
         if (result) {
164
+            sendSubscribeMsg(houseId, personId, checkType, "成功", "无", true);
140
             responseBean.addSuccess(taPreselectionRecord);
165
             responseBean.addSuccess(taPreselectionRecord);
141
             return responseBean;
166
             return responseBean;
142
         }
167
         }
143
-        responseBean.addError("fail");
168
+        tip = "未知原因失败,请联系置业顾问。";
169
+        sendSubscribeMsg(houseId, personId, checkType, "失败", tip, false);
170
+        responseBean.addError(tip);
144
         return responseBean;
171
         return responseBean;
145
     }
172
     }
146
 
173
 
150
         logger.info("taPreselectionRecordCancel 接收参数:personId:{},houseId:{}", personId, houseId);
177
         logger.info("taPreselectionRecordCancel 接收参数:personId:{},houseId:{}", personId, houseId);
151
 
178
 
152
         ResponseBean responseBean = new ResponseBean<>();
179
         ResponseBean responseBean = new ResponseBean<>();
180
+
153
         // 校验是否已经取消
181
         // 校验是否已经取消
154
         TaPreselectionRecord preselectionRecord = taPreselectionRecordMapper.getRecordByPersonIdAndHouseId(personId, houseId);
182
         TaPreselectionRecord preselectionRecord = taPreselectionRecordMapper.getRecordByPersonIdAndHouseId(personId, houseId);
155
         if (preselectionRecord == null) {
183
         if (preselectionRecord == null) {
177
         updateById(record);
205
         updateById(record);
178
 
206
 
179
         // 更新房源表热度
207
         // 更新房源表热度
180
-        responseBean.addSuccess(taHousingResourcesMapper.updateForSubtractHeat(houseId));
208
+        Boolean result = taHousingResourcesMapper.updateForSubtractHeat(houseId);
209
+        if (result) {
210
+            responseBean.addSuccess(result);
211
+            return responseBean;
212
+        }
213
+        responseBean.addError("未知原因失败,请联系置业顾问。");
181
         return responseBean;
214
         return responseBean;
182
     }
215
     }
183
 
216
 
189
         page.setRecords(list);
222
         page.setRecords(list);
190
         return ResponseBean.success(page);
223
         return ResponseBean.success(page);
191
     }
224
     }
225
+
226
+    /**
227
+     * 发送订阅消息
228
+     *
229
+     * @param houseId    房源ID
230
+     * @param personId   用户ID
231
+     * @param checkType  审核类型
232
+     * @param result     审核结果
233
+     * @param failReason 失败原因
234
+     * @param isSuccess  是否成功 true是(只有成功才发送短信)
235
+     */
236
+    public void sendSubscribeMsg(String houseId, String personId, String checkType, String result, String failReason, Boolean isSuccess) {
237
+        logger.info("sendSubscribeMsg 接收参数:houseId:{},checkType:{},result:{},failReason:{}",
238
+                houseId, checkType, result, failReason);
239
+
240
+        ExecutorService threadPool = Executors.newCachedThreadPool();
241
+        threadPool.execute(() -> {
242
+            logger.info("sendSubscribeMsg 开始");
243
+
244
+            // 获取房源详情
245
+            TaHousingResourcesPO po = taHousingResourcesMapper.getHousingDetailById(houseId, "1");
246
+            if (po == null) {
247
+                logger.info("sendSubscribeMsg 未找到房源信息。");
248
+                return;
249
+            }
250
+
251
+            // 获取用户信息
252
+            TaPerson toUser = taPersonService.getById(personId);
253
+            if (toUser == null) {
254
+                return;
255
+            }
256
+
257
+            String link = String.format(CommConstant.HOUSE_DETAIL_PATH, houseId);
258
+            String progranName = StringUtils.isBlank(po.getBuildingName()) ? "无" : po.getBuildingName();
259
+            String remark = progranName;
260
+            miniAppService.sendCheckMessage(toUser, link, checkType, result, progranName, failReason, remark, LocalDateTime.now(), isSuccess);
261
+            logger.info("sendSubscribeMsg 结束");
262
+        });
263
+    }
192
 }
264
 }

+ 12
- 4
src/main/java/com/huiju/estateagents/service/impl/TaSalesBatchServiceImpl.java 查看文件

6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
9
-import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.entity.*;
9
 import com.huiju.estateagents.entity.*;
11
 import com.huiju.estateagents.mapper.TaHousingResourcesMapper;
10
 import com.huiju.estateagents.mapper.TaHousingResourcesMapper;
12
 import com.huiju.estateagents.mapper.TaPosterMapper;
11
 import com.huiju.estateagents.mapper.TaPosterMapper;
13
 import com.huiju.estateagents.mapper.TaSalesBatchMapper;
12
 import com.huiju.estateagents.mapper.TaSalesBatchMapper;
14
 import com.huiju.estateagents.service.ITaBuildingRoomService;
13
 import com.huiju.estateagents.service.ITaBuildingRoomService;
14
+import com.huiju.estateagents.service.ITaBuildingService;
15
 import com.huiju.estateagents.service.ITaHousingResourcesService;
15
 import com.huiju.estateagents.service.ITaHousingResourcesService;
16
 import com.huiju.estateagents.service.ITaSalesBatchService;
16
 import com.huiju.estateagents.service.ITaSalesBatchService;
17
 import org.apache.commons.collections.CollectionUtils;
17
 import org.apache.commons.collections.CollectionUtils;
18
-import org.checkerframework.checker.units.qual.A;
19
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
20
 import org.slf4j.LoggerFactory;
19
 import org.slf4j.LoggerFactory;
21
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
63
     @Autowired
62
     @Autowired
64
     private ITaBuildingRoomService taBuildingRoomService;
63
     private ITaBuildingRoomService taBuildingRoomService;
65
 
64
 
65
+    @Autowired
66
+    private ITaBuildingService taBuildingService;
67
+
66
     @Override
68
     @Override
67
-    public IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, String salesBatchName, String buildingId, Integer status, Integer orgId) {
68
-        return taSalesBatchMapper.selectByCondition(page, salesBatchName, buildingId, status, orgId);
69
+    public IPage<TaSalesBatch> selectByCondition(IPage<TaSalesBatch> page, String salesBatchName, String buildingId, Integer status, Integer orgId, List<TaPersonBuilding> taPersonBuildingListByUserId) {
70
+        return taSalesBatchMapper.selectByCondition(page, salesBatchName, buildingId, status, orgId,taPersonBuildingListByUserId);
69
     }
71
     }
70
 
72
 
71
     @Override
73
     @Override
158
             return responseBean;
160
             return responseBean;
159
         }
161
         }
160
 
162
 
163
+        // 获取楼盘名称
164
+        TaBuilding taBuilding = taBuildingService.getById(result.getBuildingId());
165
+        if(taBuilding != null){
166
+            result.setBuildingName(taBuilding.getBuildingName());
167
+        }
168
+
161
         // 获取海报信息
169
         // 获取海报信息
162
         QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
170
         QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
163
         queryWrapper.eq("target_id", salesBatchId + "");
171
         queryWrapper.eq("target_id", salesBatchId + "");

+ 16
- 0
src/main/java/com/huiju/estateagents/service/impl/TaSharePersonFromServiceImpl.java 查看文件

43
     @Autowired
43
     @Autowired
44
     private  TaSalesBatchMapper taSalesBatchMapper;
44
     private  TaSalesBatchMapper taSalesBatchMapper;
45
 
45
 
46
+    @Autowired
47
+    private TaLiveActivityMapper taLiveActivityMapper;
48
+
46
     /**
49
     /**
47
      * 添加客户分享记录
50
      * 添加客户分享记录
48
      *
51
      *
118
         page.setRecords(list);
121
         page.setRecords(list);
119
         return ResponseBean.success(page);
122
         return ResponseBean.success(page);
120
     }
123
     }
124
+
125
+    @Override
126
+    public ResponseBean selectLiveActivityVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String liveActivityId) {
127
+        Page page = new Page(pageNum,pageSize);
128
+        // 分页查询
129
+        List<TaSharePersonFrom> list = taSharePersonFromMapper.selectLiveActivityVisitList(page, orgId, personType, sceneType, phone, liveActivityId);
130
+        TaLiveActivity taLiveActivity = taLiveActivityMapper.selectById(liveActivityId);
131
+        list.forEach(e -> {
132
+            e.setLiveActivityTitle(taLiveActivity.getLiveActivityTitle());
133
+        });
134
+        page.setRecords(list);
135
+        return ResponseBean.success(page);
136
+    }
121
 }
137
 }

+ 20
- 4
src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java 查看文件

51
     @Autowired
51
     @Autowired
52
     private TaSalesBatchMapper taSalesBatchMapper;
52
     private TaSalesBatchMapper taSalesBatchMapper;
53
 
53
 
54
+    @Autowired
55
+    private TaLiveActivityMapper taLiveActivityMapper;
56
+
54
     @Resource
57
     @Resource
55
     private ApplicationContext applicationContext;
58
     private ApplicationContext applicationContext;
56
 
59
 
143
         return ResponseBean.success(result);
146
         return ResponseBean.success(result);
144
     }
147
     }
145
 
148
 
149
+    @Override
150
+    public ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId) {
151
+        Page page = new Page(pageNum,pageSize);
152
+        // 分页查询
153
+        List<TaShare> list = taShareMapper.selectHouseShareList(page, orgId, personType, shareType, phone, saleBatchId);
154
+        TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(saleBatchId);
155
+        list.forEach(e -> {
156
+            e.setSalesBatchName(taSalesBatch.getSalesBatchName());
157
+        });
158
+        page.setRecords(list);
159
+        return ResponseBean.success(page);
160
+    }
161
+
146
     @Override
162
     @Override
147
     public void makeSure(String openid, String typeOf, String id, Integer orgId) {
163
     public void makeSure(String openid, String typeOf, String id, Integer orgId) {
148
         // 查找分享记录
164
         // 查找分享记录
186
     }
202
     }
187
 
203
 
188
     @Override
204
     @Override
189
-    public ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId) {
205
+    public ResponseBean listLiveShare(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer liveActivityId) {
190
         Page page = new Page(pageNum,pageSize);
206
         Page page = new Page(pageNum,pageSize);
191
         // 分页查询
207
         // 分页查询
192
-        List<TaShare> list = taShareMapper.selectHouseShareList(page, orgId, personType, shareType, phone, saleBatchId);
193
-        TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(saleBatchId);
208
+        List<TaShare> list = taShareMapper.listLiveShare(page, orgId, personType, shareType, phone, liveActivityId);
209
+        TaLiveActivity taLiveActivity = taLiveActivityMapper.selectById(liveActivityId);
194
         list.forEach(e -> {
210
         list.forEach(e -> {
195
-            e.setSalesBatchName(taSalesBatch.getSalesBatchName());
211
+            e.setLiveActivityTitle(taLiveActivity.getLiveActivityTitle());
196
         });
212
         });
197
         page.setRecords(list);
213
         page.setRecords(list);
198
         return ResponseBean.success(page);
214
         return ResponseBean.success(page);

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/TdLiveDictServiceImpl.java 查看文件

1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.entity.TdLiveDict;
5
+import com.huiju.estateagents.mapper.TdLiveDictMapper;
6
+import com.huiju.estateagents.service.ITdLiveDictService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *   服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2020-02-20
16
+ */
17
+@Service
18
+public class TdLiveDictServiceImpl extends ServiceImpl<TdLiveDictMapper, TdLiveDict> implements ITdLiveDictService {
19
+
20
+}

+ 9
- 0
src/main/resources/mapper/Activity.xml 查看文件

23
         <if test="cityId != null and cityId != ''">
23
         <if test="cityId != null and cityId != ''">
24
             and city_id = #{cityId}
24
             and city_id = #{cityId}
25
         </if>
25
         </if>
26
+        UNION ALL
27
+        SELECT
28
+        live_activity_id AS id,list_img AS main_img,live_activity_title,live_start_date,live_end_date, weight as heavy, 0 weight,status activity_status,          'live' AS type
29
+        FROM
30
+        ta_live_activity
31
+        WHERE org_id = #{orgId} and `status` = #{status}
32
+        <if test="cityId != null and cityId != ''">
33
+            and city_id = #{cityId}
34
+        </if>
26
         ORDER BY heavy desc,activity_status,start_date
35
         ORDER BY heavy desc,activity_status,start_date
27
     </select>
36
     </select>
28
     <select id="getCustomerActivityList" resultType="java.util.Map">
37
     <select id="getCustomerActivityList" resultType="java.util.Map">

+ 51
- 0
src/main/resources/mapper/TaLiveActivityMapper.xml 查看文件

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaLiveActivityMapper">
4
+
5
+    <update id="addVisitNum" parameterType="java.lang.String">
6
+        UPDATE ta_live_activity t
7
+        SET t.visit_num = IFNULL( t.visit_num, 0 ) + 1
8
+        WHERE
9
+            t.live_activity_id = #{id}
10
+    </update>
11
+
12
+    <update id ="updateLiveActivityStatus" >
13
+        UPDATE ta_live_activity t
14
+            SET t.`status` = -1,
15
+        t.update_date = CURRENT_TIME
16
+        WHERE
17
+        t.org_id = #{orgId}
18
+	    AND t.live_activity_id in
19
+        <foreach collection="taLiveActivityList" item="taLiveActivity" open="(" close=")" separator=",">
20
+            #{taLiveActivity.liveActivityId}
21
+        </foreach>
22
+    </update>
23
+
24
+    <select id="selectLiveListByCondition" resultType="com.huiju.estateagents.entity.TaLiveActivity">
25
+     select a.building_name,b.name as city_name,c.user_name as createName,d.user_name as updateName, t.* From ta_live_activity t
26
+     left join ta_building a on t.building_id = a.building_id
27
+     LEFT JOIN td_city b on t.city_id = b.id
28
+     left join ta_user c on t.create_user = c.user_id
29
+     left join ta_user d on t.update_user = d.user_id
30
+     where t.org_id = #{orgId} and t.status != -1
31
+     <if test="status != null">
32
+         and t.status = #{status}
33
+     </if>
34
+     <if test="liveActivityTitle != null and liveActivityTitle != ''">
35
+         and t.live_Activity_Title like CONCAT('%', #{liveActivityTitle}, '%')
36
+     </if>
37
+     <if test="cityId != null and cityId != ''">
38
+         and t.city_id = #{cityId}
39
+     </if><if test="buildingId != null and buildingId != ''">
40
+         and t.building_id = #{buildingId}
41
+    </if>
42
+    <if test="personBuildingList != null and personBuildingList.size > 0">
43
+        AND t.building_id in
44
+        <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
45
+            #{personBuilding.buildingId}
46
+        </foreach>
47
+    </if>
48
+        order by t.weight desc
49
+    </select>
50
+
51
+</mapper>

+ 23
- 0
src/main/resources/mapper/TaPersonVisitRecordMapper.xml 查看文件

356
             ) t
356
             ) t
357
             group by t.target_id
357
             group by t.target_id
358
 
358
 
359
+			union all
360
+				select * from (
361
+					SELECT
362
+						t.be_share AS target_id,
363
+						g.list_img AS activity_img,
364
+						g.live_activity_title AS activity_name,
365
+						'1' AS price,
366
+						'2' AS building_name,
367
+						'3' AS address,
368
+						1 AS building_type_id,
369
+						LEFT ( t.tagert_type, 4 ) AS eventType,
370
+						t.create_date AS visit_time
371
+					FROM
372
+						ta_share t
373
+						LEFT JOIN ta_live_activity g ON t.be_share = g.live_activity_id
374
+					WHERE
375
+						t.tagert_type LIKE CONCAT( 'live', '%' )
376
+							AND t.person_id = #{personId}
377
+						ORDER BY
378
+							t.create_date DESC
379
+							LIMIT 9999
380
+					) t
381
+				group by t.target_id
359
         ) t
382
         ) t
360
         order by t.visit_time desc
383
         order by t.visit_time desc
361
     </select>
384
     </select>

+ 7
- 1
src/main/resources/mapper/TaSalesBatchMapper.xml 查看文件

18
             and t.building_id = #{buildingId}
18
             and t.building_id = #{buildingId}
19
         </if>
19
         </if>
20
         <if test="salesBatchName != null and salesBatchName != ''">
20
         <if test="salesBatchName != null and salesBatchName != ''">
21
-            and t.sales_batch_name = #{salesBatchName}
21
+            and t.sales_batch_name like CONCAT('%',#{salesBatchName}, '%')
22
         </if>
22
         </if>
23
         <if test="status != null">
23
         <if test="status != null">
24
             and t.status = #{status}
24
             and t.status = #{status}
25
         </if>
25
         </if>
26
+        <if test="personBuildingList != null and personBuildingList.size > 0">
27
+            AND t.building_id in
28
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
29
+                #{personBuilding.buildingId}
30
+            </foreach>
31
+        </if>
26
     </select>
32
     </select>
27
 
33
 
28
     <select id="countPreSelectRecord" resultType="java.lang.Integer">
34
     <select id="countPreSelectRecord" resultType="java.lang.Integer">

+ 30
- 0
src/main/resources/mapper/TaShareMapper.xml 查看文件

20
       </if>
20
       </if>
21
         order by t.create_date desc
21
         order by t.create_date desc
22
     </select>
22
     </select>
23
+
24
+    <select id="listLiveShare" resultType="com.huiju.estateagents.entity.TaShare">
25
+        SELECT
26
+            a.avatarurl AS photoOravatar,
27
+            a.nickname AS nameOrnick,
28
+            a.NAME,
29
+            a.phone,
30
+            a.person_type,
31
+            t.tagert_type,
32
+            t.create_date
33
+        FROM
34
+          ta_share_count t
35
+          LEFT JOIN ta_person a ON t.person_id = a.person_id
36
+          LEFT JOIN ta_live_activity b ON t.be_share = b.live_activity_id
37
+        WHERE
38
+          a.org_id = #{orgId}
39
+        AND t.tagert_type IN ( 'livePost', 'liveApp' )
40
+        AND b.live_activity_id = #{liveActivityId}
41
+        <if test = "personType != null and personType != ''" >
42
+            AND a.person_Type = #{personType}
43
+        </if>
44
+        <if test = "shareType != null and shareType != ''" >
45
+            AND t.tagert_type = #{shareType}
46
+        </if>
47
+        <if test = "phone != null and phone != ''" >
48
+            AND a.phone = #{phone}
49
+        </if>
50
+        ORDER BY
51
+        t.create_date DESC
52
+    </select>
23
 </mapper>
53
 </mapper>

+ 20
- 0
src/main/resources/mapper/TaSharePersonFromMapper.xml 查看文件

54
         GROUP BY t.target_id,t.target_type,t.person_id,t.share_person
54
         GROUP BY t.target_id,t.target_type,t.person_id,t.share_person
55
         order by t.create_date desc
55
         order by t.create_date desc
56
     </select>
56
     </select>
57
+
58
+    <select id="selectLiveActivityVisitList" resultType="com.huiju.estateagents.entity.TaSharePersonFrom">
59
+        select c.avatarurl as photoOravatar, c.nickname as nameOrnick, c.name, c.phone, c.person_type as sharePersonType, t.create_date
60
+        From ta_share_person_from t
61
+        LEFT JOIN ta_person_from_record a on t.person_id = a.person_id
62
+        left join ta_person c on t.person_id = c.person_id
63
+        left join ta_live_activity d on d.live_activity_id = t.target_id
64
+        where a.org_id = #{orgId}
65
+        and t.target_type = 'live_share'
66
+        and t.target_id = #{liveActivityId}
67
+        <if test="personType != null and personType != ''">
68
+            and c.person_Type = #{personType}
69
+        </if>
70
+        <if test="phone != null and phone != ''">
71
+            and c.phone = #{phone}
72
+        </if>
73
+        and t.share_person != t.person_id
74
+        GROUP BY t.target_id,t.target_type,t.person_id,t.share_person
75
+        order by t.create_date desc
76
+    </select>
57
 </mapper>
77
 </mapper>

+ 1
- 1
src/main/resources/mapper/TaUserMapper.xml 查看文件

67
             ta_user t
67
             ta_user t
68
             LEFT JOIN ta_person_building b ON t.user_id = b.user_id
68
             LEFT JOIN ta_person_building b ON t.user_id = b.user_id
69
         WHERE
69
         WHERE
70
-            t.org_id = #{taUser.orgId}
70
+            t.org_id = #{taUser.orgId} AND (t.is_admin != 1 or t.is_admin is null)
71
             <if test="taUser.userName != null and taUser.userName != ''">
71
             <if test="taUser.userName != null and taUser.userName != ''">
72
                 and t.user_name like CONCAT('%', #{taUser.userName}, '%')
72
                 and t.user_name like CONCAT('%', #{taUser.userName}, '%')
73
             </if>
73
             </if>

+ 5
- 0
src/main/resources/mapper/TdLiveDictMapper.xml 查看文件

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TdLiveDictMapper">
4
+
5
+</mapper>