Преглед на файлове

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

张延森 преди 5 години
родител
ревизия
cae9b51391
променени са 100 файла, в които са добавени 3003 реда и са изтрити 336 реда
  1. 4
    2
      pom.xml
  2. 25
    1
      src/main/java/com/huiju/estateagents/base/BaseController.java
  3. 41
    14
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  4. 11
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java
  5. 3
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java
  6. 19
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java
  7. 139
    12
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java
  8. 70
    0
      src/main/java/com/huiju/estateagents/cleancode/CleanCode.java
  9. 40
    4
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  10. 4
    0
      src/main/java/com/huiju/estateagents/common/NumberUtils.java
  11. 2
    2
      src/main/java/com/huiju/estateagents/common/SMSUtils.java
  12. 2
    2
      src/main/java/com/huiju/estateagents/common/WxUtils.java
  13. 118
    17
      src/main/java/com/huiju/estateagents/controller/ExtendContentController.java
  14. 23
    14
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  15. 19
    4
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  16. 2
    2
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  17. 70
    8
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  18. 17
    0
      src/main/java/com/huiju/estateagents/controller/TaChatController.java
  19. 187
    0
      src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java
  20. 1
    8
      src/main/java/com/huiju/estateagents/controller/TaExtendContentController.java
  21. 7
    2
      src/main/java/com/huiju/estateagents/controller/TaGoodsController.java
  22. 15
    0
      src/main/java/com/huiju/estateagents/controller/TaMiniappTemplateController.java
  23. 3
    2
      src/main/java/com/huiju/estateagents/controller/TaNewsController.java
  24. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java
  25. 24
    0
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  26. 149
    1
      src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
  27. 14
    1
      src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java
  28. 3
    3
      src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java
  29. 60
    15
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  30. 6
    3
      src/main/java/com/huiju/estateagents/controller/TaRoleController.java
  31. 15
    12
      src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java
  32. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaShareRecordController.java
  33. 0
    1
      src/main/java/com/huiju/estateagents/controller/TdPosterTemplateController.java
  34. 115
    4
      src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java
  35. 13
    0
      src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java
  36. 1
    1
      src/main/java/com/huiju/estateagents/drainage/mapper/TaDrainageMapper.java
  37. 1
    1
      src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java
  38. 8
    0
      src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java
  39. 11
    0
      src/main/java/com/huiju/estateagents/entity/ExtendContent.java
  40. 2
    2
      src/main/java/com/huiju/estateagents/entity/HelpActivity.java
  41. 56
    0
      src/main/java/com/huiju/estateagents/entity/SysSmsSetting.java
  42. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java
  43. 34
    0
      src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java
  44. 47
    0
      src/main/java/com/huiju/estateagents/entity/TaCustomImg.java
  45. 8
    0
      src/main/java/com/huiju/estateagents/entity/TaMiniappTemplate.java
  46. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaPerson.java
  47. 78
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonMessageRule.java
  48. 80
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java
  49. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java
  50. 5
    3
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  51. 8
    0
      src/main/java/com/huiju/estateagents/job/JudglActivityTimeJob.java
  52. 3
    2
      src/main/java/com/huiju/estateagents/mapper/HelpActivityMapper.java
  53. 19
    0
      src/main/java/com/huiju/estateagents/mapper/SysSmsSettingMapper.java
  54. 5
    1
      src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java
  55. 4
    4
      src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java
  56. 18
    0
      src/main/java/com/huiju/estateagents/mapper/TaCustomImgMapper.java
  57. 7
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java
  58. 28
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonMessageRuleMapper.java
  59. 20
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java
  60. 2
    1
      src/main/java/com/huiju/estateagents/mapper/TaPointsExchangeMapper.java
  61. 12
    11
      src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java
  62. 4
    0
      src/main/java/com/huiju/estateagents/service/IExtendContentService.java
  63. 5
    3
      src/main/java/com/huiju/estateagents/service/IHelpActivityService.java
  64. 5
    4
      src/main/java/com/huiju/estateagents/service/IMiniAppService.java
  65. 2
    0
      src/main/java/com/huiju/estateagents/service/ISysOrgParamsService.java
  66. 5
    5
      src/main/java/com/huiju/estateagents/service/ISysProjectParamsService.java
  67. 17
    0
      src/main/java/com/huiju/estateagents/service/ISysSmsSettingService.java
  68. 18
    1
      src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java
  69. 7
    0
      src/main/java/com/huiju/estateagents/service/ITaBuildingIntentionService.java
  70. 3
    2
      src/main/java/com/huiju/estateagents/service/ITaBuildingService.java
  71. 16
    0
      src/main/java/com/huiju/estateagents/service/ITaCustomImgService.java
  72. 1
    1
      src/main/java/com/huiju/estateagents/service/ITaMiniappTemplateService.java
  73. 2
    1
      src/main/java/com/huiju/estateagents/service/ITaNewsService.java
  74. 4
    1
      src/main/java/com/huiju/estateagents/service/ITaNewsTypeService.java
  75. 35
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonMessageRuleService.java
  76. 9
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonService.java
  77. 39
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java
  78. 4
    1
      src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java
  79. 22
    10
      src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java
  80. 5
    2
      src/main/java/com/huiju/estateagents/service/ITaShareActivityService.java
  81. 113
    2
      src/main/java/com/huiju/estateagents/service/impl/ExtendContentServiceImpl.java
  82. 72
    34
      src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java
  83. 278
    50
      src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java
  84. 0
    2
      src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java
  85. 54
    0
      src/main/java/com/huiju/estateagents/service/impl/SysOrgParamsServiceImpl.java
  86. 24
    0
      src/main/java/com/huiju/estateagents/service/impl/SysSmsSettingImpl.java
  87. 33
    2
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java
  88. 35
    0
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingIntentionServiceImpl.java
  89. 124
    16
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java
  90. 21
    18
      src/main/java/com/huiju/estateagents/service/impl/TaChatServiceImpl.java
  91. 43
    0
      src/main/java/com/huiju/estateagents/service/impl/TaCustomImgServiceImpl.java
  92. 8
    0
      src/main/java/com/huiju/estateagents/service/impl/TaMiniappTemplateServiceImpl.java
  93. 5
    5
      src/main/java/com/huiju/estateagents/service/impl/TaNewsServiceImpl.java
  94. 5
    1
      src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java
  95. 67
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonMessageRuleImpl.java
  96. 49
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java
  97. 165
    10
      src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java
  98. 3
    2
      src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java
  99. 4
    1
      src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java
  100. 0
    0
      src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java

+ 4
- 2
pom.xml Целия файл

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.1.0</version>
13
+	<version>v3.5.5</version>
14 14
 	<name>estateages</name>
15 15
 	<description>置业经纪人</description>
16 16
 
@@ -56,7 +56,7 @@
56 56
 		<dependency>
57 57
 			<groupId>com.github.binarywang</groupId>
58 58
 			<artifactId>weixin-java-miniapp</artifactId>
59
-			<version>3.3.0</version>
59
+			<version>3.6.0</version>
60 60
 		</dependency>
61 61
 		<dependency>
62 62
 			<groupId>com.alibaba</groupId>
@@ -130,6 +130,7 @@
130 130
 		</dependency>
131 131
 	</dependencies>
132 132
 
133
+
133 134
 	<profiles>
134 135
 		<profile>
135 136
 			<id>dev</id>
@@ -204,6 +205,7 @@
204 205
 					<include>application.yml</include>
205 206
 					<include>application-${profiles.active}.yml</include>
206 207
 					<include>mapper/**/*.xml</include>
208
+					<include>log/*.xml</include>
207 209
 				</includes>
208 210
 			</resource>
209 211
 		</resources>

+ 25
- 1
src/main/java/com/huiju/estateagents/base/BaseController.java Целия файл

@@ -1,8 +1,16 @@
1 1
 package com.huiju.estateagents.base;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.center.taUser.entity.TaUser;
5
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
3 6
 import com.huiju.estateagents.common.JWTUtils;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
8
+import com.huiju.estateagents.service.ITaPersonBuildingService;
9
+import org.springframework.beans.factory.annotation.Autowired;
4 10
 
5 11
 import javax.servlet.http.HttpServletRequest;
12
+import java.util.ArrayList;
13
+import java.util.List;
6 14
 import java.util.Map;
7 15
 
8 16
 /**
@@ -10,7 +18,12 @@ import java.util.Map;
10 18
  * @date 2018-12-18
11 19
  */
12 20
 public class BaseController {
13
-	
21
+	@Autowired
22
+	private ITaUserService taUserService;
23
+
24
+	@Autowired
25
+	private ITaPersonBuildingService taPersonBuildingService;
26
+
14 27
 	/**
15 28
 	 * 获取orgId
16 29
 	 * @param request
@@ -59,4 +72,15 @@ public class BaseController {
59 72
 		
60 73
 		return null;
61 74
 	}
75
+
76
+	public List<TaPersonBuilding> getTaPersonBuildingListByUserId(HttpServletRequest request) {
77
+		TaUser taUser = taUserService.getById(getUserId(request));
78
+		QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
79
+		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
80
+		List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingService.list(taPersonBuildingQueryWrapper);
81
+		if (null != taUser.getIsAdmin() && taUser.getIsAdmin()){
82
+			taPersonBuildingList = new ArrayList<>();
83
+		}
84
+		return taPersonBuildingList;
85
+	}
62 86
 }

+ 41
- 14
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java Целия файл

@@ -30,15 +30,14 @@ import com.huiju.estateagents.entity.TaPersonBuilding;
30 30
 import com.huiju.estateagents.entity.TaRole;
31 31
 import com.huiju.estateagents.mapper.TaRoleMapper;
32 32
 import com.huiju.estateagents.service.ITaPersonBuildingService;
33
+import com.huiju.estateagents.service.ITaPersonService;
33 34
 import com.huiju.estateagents.service.ITaRoleService;
34 35
 import org.slf4j.Logger;
35 36
 import org.slf4j.LoggerFactory;
36 37
 import org.springframework.beans.factory.annotation.Autowired;
37 38
 import org.springframework.web.bind.annotation.*;
38
-import sun.dc.pr.PRError;
39 39
 
40 40
 import javax.servlet.http.HttpServletRequest;
41
-import javax.xml.ws.Response;
42 41
 import java.time.LocalDateTime;
43 42
 import java.util.ArrayList;
44 43
 import java.util.HashMap;
@@ -86,6 +85,9 @@ public class TaUserController extends BaseController {
86 85
     @Autowired
87 86
     private TaRoleMapper taRoleMapper;
88 87
 
88
+    @Autowired
89
+    private ITaPersonService iTaPersonService;
90
+
89 91
     /**
90 92
      * 分页查询列表
91 93
      * @param pageNum
@@ -365,22 +367,25 @@ public class TaUserController extends BaseController {
365 367
         try {
366 368
             //使用分页插件
367 369
             IPage pg = new Page<>(pageNum, pageSize);
368
-            QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
369
-            taUserQueryWrapper.eq("org_id",getOrgId(request));
370
-            taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
371
-            taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
372
-            taUserQueryWrapper.eq(null != status,"status",status);
370
+            TaUser taUser = new TaUser();
371
+            taUser.setOrgId(getOrgId(request));
372
+            taUser.setUserName(userName);
373
+            taUser.setPhone(phone);
374
+            taUser.setStatus(status);
373 375
             if(null != isConsultant && isConsultant == 1){
374
-                taUserQueryWrapper.eq("is_consultant",true);
376
+                taUser.setIsConsultant(true);
375 377
             }else if (null != isConsultant && isConsultant == 0){
376
-                taUserQueryWrapper.eq("is_consultant",false);
378
+                taUser.setIsConsultant(false);
377 379
             }
378
-            taUserQueryWrapper.ne("IFNULL(is_admin,0)",CommConstant.STATUS_NORMAL);
379
-            IPage<TaUser> result = iTaUserService.page(pg,taUserQueryWrapper);
380
+
381
+            IPage<TaUser> result = iTaUserService.seleUserList(pg,taUser,getTaPersonBuildingListByUserId(request));
380 382
             List<TaUser> taUserList = result.getRecords();
381 383
             taUserList.forEach(e -> {
382 384
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
383 385
                 e.setTaTagsList(taTagsList);
386
+
387
+                Integer person = iTaPersonService.judgeBindStatusByCondition(e.getUserId(), getOrgId(request), e.getPhone());
388
+                e.setMiniStatus(0 == person ? 0 : 1);
384 389
             });
385 390
             result.setRecords(taUserList);
386 391
             responseBean.addSuccess(result);
@@ -421,9 +426,18 @@ public class TaUserController extends BaseController {
421 426
             taUser.setLoginPassword("");
422 427
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
423 428
             taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
424
-            TaPersonBuilding taPersonBuilding = taPersonBuildingService.getOne(taPersonBuildingQueryWrapper);
425
-            if (null != taPersonBuilding){
426
-                taUser.setBuildingId(taPersonBuilding.getBuildingId());
429
+            List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingService.list(taPersonBuildingQueryWrapper);
430
+            //非置业顾问可以授权多个项目
431
+            if (taPersonBuildingList.size() > 0){
432
+                if (taUser.getIsConsultant()){
433
+                    taUser.setBuildingId(taPersonBuildingList.get(0).getBuildingId());
434
+                }else {
435
+                    List<String> buildings = new ArrayList<>();
436
+                    taPersonBuildingList.forEach(e -> {
437
+                        buildings.add(e.getBuildingId());
438
+                    });
439
+                    taUser.setBuildingIds(buildings);
440
+                }
427 441
             }
428 442
             responseBean.addSuccess(taUser);
429 443
         }catch (Exception e){
@@ -482,4 +496,17 @@ public class TaUserController extends BaseController {
482 496
         ResponseBean taUser = iTaUserService.cityTree();
483 497
         return taUser;
484 498
     }
499
+
500
+    /**
501
+     * 员工离职
502
+     * @return
503
+     */
504
+    @RequestMapping(value = "/admin/user/departure/{userId}", method = RequestMethod.PUT)
505
+    public ResponseBean departureUser(@PathVariable("userId") Integer userId,
506
+                                      @RequestParam(value = "customerIdList", required = false) List<String> customerIdList,
507
+                                      @RequestParam(value = "consultantUserId", required = false) Integer consultantUserId) {
508
+        ResponseBean responseBean = new ResponseBean();
509
+        responseBean = iTaUserService.departureUser(userId, customerIdList, consultantUserId);
510
+        return responseBean;
511
+    }
485 512
 }

+ 11
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Целия файл

@@ -190,4 +190,15 @@ public class TaUser implements Serializable {
190 190
      */
191 191
     @TableField(exist = false)
192 192
     private Integer defaultCityId;
193
+
194
+    /**
195
+     * 小程序绑定状态
196
+     *
197
+     * 0 未绑定 1 绑定
198
+     */
199
+    @TableField(exist = false)
200
+    private Integer miniStatus;
201
+
202
+    @TableField(exist = false)
203
+    private List<String> buildingIds = new ArrayList<String>();
193 204
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.huiju.estateagents.center.taUser.entity.TaTags;
6 6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 8
 import org.apache.ibatis.annotations.Mapper;
8 9
 import org.apache.ibatis.annotations.Param;
9 10
 
@@ -26,4 +27,6 @@ public interface TaUserMapper extends BaseMapper<TaUser> {
26 27
 	List<TaTags> getTagsList(@Param("userId") Integer userId,@Param("orgId") Integer orgId);
27 28
 	
28 29
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("loginName") String loginName,@Param("orgId") Integer orgId);
30
+
31
+    IPage<TaUser> seleUserList(IPage pg,@Param("taUser") TaUser taUser,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
29 32
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java Целия файл

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.center.taUser.entity.TaTags;
7 7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
8 9
 
9 10
 import java.util.List;
10 11
 import java.util.Map;
@@ -42,4 +43,22 @@ public interface ITaUserService extends IService<TaUser> {
42 43
      * @return
43 44
      */
44 45
     ResponseBean cityTree();
46
+
47
+    /**
48
+     * 员工离职
49
+     * @param userId
50
+     * @param customerIdList
51
+     * @param consultantUserId 置业顾问的userId
52
+     * @return
53
+     */
54
+    ResponseBean departureUser(Integer userId, List<String> customerIdList, Integer consultantUserId);
55
+
56
+    /**
57
+     * 分页查询用户列表
58
+     * @param pg
59
+     * @param taUser
60
+     * @param taPersonBuildingListByUserId
61
+     * @return
62
+     */
63
+    IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> taPersonBuildingListByUserId);
45 64
 }

+ 139
- 12
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Целия файл

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.center.taUser.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -18,8 +19,7 @@ import com.huiju.estateagents.common.MD5Utils;
18 19
 import com.huiju.estateagents.common.StringUtils;
19 20
 import com.huiju.estateagents.entity.*;
20 21
 import com.huiju.estateagents.mapper.*;
21
-import com.huiju.estateagents.service.ITaBuildingReportService;
22
-import com.huiju.estateagents.service.ITdReportService;
22
+import com.huiju.estateagents.service.*;
23 23
 import org.apache.commons.collections.CollectionUtils;
24 24
 import org.springframework.beans.factory.annotation.Autowired;
25 25
 import org.springframework.stereotype.Service;
@@ -79,6 +79,15 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
79 79
 
80 80
 	@Autowired
81 81
 	private  TaOrgCityMapper taOrgCityMapper;
82
+
83
+	@Autowired
84
+	private ITaPersonService iTaPersonService;
85
+
86
+	@Autowired
87
+    private ITaRecommendCustomerService iTaRecommendCustomerService;
88
+
89
+	@Autowired
90
+	private ISysOrgParamsService iSysOrgParamsService;
82 91
 	
83 92
 	@Override
84 93
 	public IPage<Map<String,Object>> getPageList(IPage pg) {
@@ -163,6 +172,9 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
163 172
 			throw new Exception("生成用户信息失败");
164 173
 		}
165 174
 
175
+		// 导入系统参数
176
+		iSysOrgParamsService.importParamsFromTemplate(taOrg.getOrgId());
177
+
166 178
 		return taUser;
167 179
 	}
168 180
 
@@ -191,6 +203,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
191 203
                        QueryWrapper<TaOrgCity> taOrgCityParent = new QueryWrapper<>();
192 204
                         taOrgCityParent.eq("city_id",tdCity.getParentid());
193 205
                         taOrgCityParent.eq("org_id",orgid);
206
+						taOrgCityParent.last("limit 1");
194 207
 						TaOrgCity taOrgParent = taOrgCityMapper.selectOne(taOrgCityParent);
195 208
 						// 如果为空,查询行政表
196 209
 						if (null == taOrgParent){
@@ -230,6 +243,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
230 243
 
231 244
 		QueryWrapper<TaMiniapp> wrapper = new QueryWrapper<>();
232 245
 		wrapper.eq("org_id", taOrg.getOrgId());
246
+		wrapper.last("limit 1");
233 247
 
234 248
 		TaMiniapp taMiniapp = taMiniappMapper.selectOne(wrapper);
235 249
 		if (null != taMiniapp) {
@@ -329,6 +343,9 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
329 343
 		taUser.setLoginPassword(MD5Utils.md5(MD5Utils.md5("123456")));
330 344
 		taUser.setStatus(CommConstant.STATUS_NORMAL);
331 345
 		taUser.setCreateDate(LocalDateTime.now());
346
+		if (taUser.getIsConsultant() == null) {
347
+			taUser.setIsConsultant(false);
348
+		}
332 349
 		if (taUserMapper.insert(taUser) < 1) {
333 350
 			throw new Exception("生成用户信息失败");
334 351
 		}
@@ -352,11 +369,25 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
352 369
 		});
353 370
 		
354 371
 		//保存项目
355
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
356
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
357
-		taPersonBuilding.setUserId(taUser.getUserId());
358
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
359
-		taPersonBuildingMapper.insert(taPersonBuilding);
372
+		if (taUser.getIsConsultant()){
373
+			TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
374
+			taPersonBuilding.setBuildingId(taUser.getBuildingId());
375
+			taPersonBuilding.setUserId(taUser.getUserId());
376
+			taPersonBuilding.setCreateDate(LocalDateTime.now());
377
+			taPersonBuildingMapper.insert(taPersonBuilding);
378
+		}else{
379
+			//非置业顾问可授权多个项目
380
+			List<String> buildingIdList = taUser.getBuildingIds();
381
+			LocalDateTime nowTime = LocalDateTime.now();
382
+			buildingIdList.forEach(e -> {
383
+				TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
384
+				taPersonBuilding.setBuildingId(e);
385
+				taPersonBuilding.setUserId(taUser.getUserId());
386
+				taPersonBuilding.setCreateDate(nowTime);
387
+				taPersonBuildingMapper.insert(taPersonBuilding);
388
+			});
389
+		}
390
+
360 391
 		return taUser;
361 392
 	}
362 393
 	
@@ -412,11 +443,24 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
412 443
 		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
413 444
 		taPersonBuildingMapper.delete(taPersonBuildingQueryWrapper);
414 445
 		//保存项目
415
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
416
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
417
-		taPersonBuilding.setUserId(taUser.getUserId());
418
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
419
-		taPersonBuildingMapper.insert(taPersonBuilding);
446
+		if (taUser.getIsConsultant()){
447
+			TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
448
+			taPersonBuilding.setBuildingId(taUser.getBuildingId());
449
+			taPersonBuilding.setUserId(taUser.getUserId());
450
+			taPersonBuilding.setCreateDate(LocalDateTime.now());
451
+			taPersonBuildingMapper.insert(taPersonBuilding);
452
+		}else {
453
+			//非置业顾问可授权多个项目
454
+			List<String> buildingIdList = taUser.getBuildingIds();
455
+			LocalDateTime nowTime = LocalDateTime.now();
456
+			buildingIdList.forEach(e -> {
457
+				TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
458
+				taPersonBuilding.setBuildingId(e);
459
+				taPersonBuilding.setUserId(taUser.getUserId());
460
+				taPersonBuilding.setCreateDate(nowTime);
461
+				taPersonBuildingMapper.insert(taPersonBuilding);
462
+			});
463
+		}
420 464
 		
421 465
 		//更新person
422 466
 		TaPerson taPerson = new TaPerson();
@@ -455,4 +499,87 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
455 499
         responseBean.addSuccess(taUser);
456 500
         return responseBean;
457 501
     }
502
+
503
+	@Override
504
+	public ResponseBean departureUser(Integer userId, List<String> customerIdList, Integer consultantUserId) {
505
+		ResponseBean responseBean = new ResponseBean();
506
+		TaUser user = this.getById(userId);
507
+		if (null == user) {
508
+			responseBean.addError("此员工不存在!");
509
+			return responseBean;
510
+		}
511
+
512
+		// 不是置业顾问
513
+		if (user.getIsConsultant() == false) {
514
+			// 设置员工离职
515
+			updateUserStatus(user);
516
+			return ResponseBean.success("操作成功!");
517
+		}
518
+		/**
519
+		 * 是置业顾问
520
+		 */
521
+
522
+		// 更改员工表的用户类型,清空关联关系user_id
523
+
524
+        QueryWrapper<TaPerson> userQueryWrapper = new QueryWrapper<>();
525
+        userQueryWrapper.eq("user_id", consultantUserId);
526
+        TaPerson person = iTaPersonService.getOne(userQueryWrapper);
527
+        if (null == person) {
528
+            responseBean.addError("置业顾问未绑定小程序!");
529
+            return responseBean;
530
+        }
531
+
532
+        // 设置员工离职
533
+		updateUserStatus(user);
534
+
535
+		// 转移客户
536
+        UpdateWrapper<TaRecommendCustomer> updateWrapper = new UpdateWrapper<>();
537
+        updateWrapper.in("customer_id", customerIdList);
538
+        updateWrapper.set("realty_consultant", person.getPersonId());
539
+        boolean update = iTaRecommendCustomerService.update(updateWrapper);
540
+        if (!update) {
541
+            return ResponseBean.error("操作失败!", ResponseBean.ERROR_ILLEGAL_PARAMS);
542
+        }
543
+
544
+		return ResponseBean.success("操作成功!");
545
+	}
546
+
547
+	/**
548
+	 * 分页查询用户列表
549
+	 *
550
+	 * @param pg
551
+	 * @param taUser
552
+	 * @param personBuildingList
553
+	 * @return
554
+	 */
555
+	@Override
556
+	public IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> personBuildingList) {
557
+		return taUserMapper.seleUserList(pg,taUser,personBuildingList);
558
+	}
559
+
560
+	private boolean updateUserStatus(TaUser user) {
561
+		UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
562
+		updateWrapper.eq("user_id", user.getUserId());
563
+		updateWrapper.set("status", 9);
564
+
565
+        QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
566
+        taPersonQueryWrapper.eq("user_id", user.getUserId());
567
+		taPersonQueryWrapper.last("limit 1");
568
+        TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
569
+        // 可能存在没有绑定小程序端
570
+        if (null != taPerson) {
571
+            UpdateWrapper<TaPerson> personUpdateWrapper = new UpdateWrapper<>();
572
+            personUpdateWrapper.eq("person_id", taPerson.getPersonId());
573
+
574
+            // 如果是置业顾问,设置为客户类型
575
+            if (user.getIsConsultant() == true) {
576
+                personUpdateWrapper.set("person_type", CommConstant.PERSON_ESTATE_CUSTOMER);
577
+            }
578
+
579
+            personUpdateWrapper.set("user_id", null);
580
+            iTaPersonService.update(personUpdateWrapper);
581
+        }
582
+
583
+		return this.update(updateWrapper);
584
+	}
458 585
 }

+ 70
- 0
src/main/java/com/huiju/estateagents/cleancode/CleanCode.java Целия файл

@@ -0,0 +1,70 @@
1
+package com.huiju.estateagents.cleancode;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.*;
6
+import com.huiju.estateagents.service.*;
7
+import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.RestController;
12
+
13
+import javax.servlet.http.HttpServletRequest;
14
+import java.util.List;
15
+
16
+@RestController
17
+@RequestMapping("/api")
18
+public class CleanCode {
19
+
20
+    @Autowired
21
+    private ISysMenuService sysMenuService;
22
+
23
+    @Autowired
24
+    private ITaRoleService taRoleService;
25
+
26
+    @Autowired
27
+    private ITaRoleMenuService taRoleMenuService;
28
+
29
+    @Autowired
30
+    private ITaRoleButtonService taRoleButtonService;
31
+
32
+    @Autowired
33
+    private ISysButtonInMenuService sysButtonInMenuService;
34
+
35
+    @RequestMapping(value = "/admin/clean/menurole", method = RequestMethod.GET)
36
+    public void cleanMenu() {
37
+        List<SysMenu> sysMenuList = sysMenuService.list();
38
+
39
+        QueryWrapper<TaRole> roleQueryWrapper = new QueryWrapper<>();
40
+        roleQueryWrapper.eq("is_admin",1);
41
+        List<TaRole> roleList = taRoleService.list(roleQueryWrapper);
42
+
43
+        roleList.forEach(e -> {
44
+            sysMenuList.forEach(s -> {
45
+                TaRoleMenu taRoleMenu = new TaRoleMenu();
46
+                taRoleMenu.setRoleId(e.getRoleId());
47
+                taRoleMenu.setMenuId(s.getMenuId());
48
+                taRoleMenuService.save(taRoleMenu);
49
+            });
50
+        });
51
+    }
52
+
53
+    @RequestMapping(value = "/admin/clean/buttonrole", method = RequestMethod.GET)
54
+    public void cleanButton() {
55
+        List<SysButtonInMenu> buttlist = sysButtonInMenuService.list();
56
+
57
+        QueryWrapper<TaRole> roleQueryWrapper = new QueryWrapper<>();
58
+        roleQueryWrapper.eq("is_admin",1);
59
+        List<TaRole> roleList = taRoleService.list(roleQueryWrapper);
60
+
61
+        roleList.forEach(e -> {
62
+            buttlist.forEach(s -> {
63
+                TaRoleButton taRoleButton = new TaRoleButton();
64
+                taRoleButton.setBtnId(s.getBtnId());
65
+                taRoleButton.setRoleId(e.getRoleId());
66
+                taRoleButtonService.save(taRoleButton);
67
+            });
68
+        });
69
+    }
70
+}

+ 40
- 4
src/main/java/com/huiju/estateagents/common/CommConstant.java Целия файл

@@ -104,6 +104,11 @@ public class CommConstant {
104 104
      */
105 105
     public final static String POINTS_CHANGE_GROUP = "group";
106 106
 
107
+    /**
108
+     * 拼团
109
+     */
110
+    public final static String POINTS_CHANGE_HELP = "help";
111
+
107 112
     /**
108 113
      * 推荐客户
109 114
      */
@@ -120,7 +125,7 @@ public class CommConstant {
120 125
     public final static String POINTS_CHANGE_DOCUMENT_VERIFY = "document_verify";
121 126
 
122 127
     /**
123
-     * 资料审核
128
+     * 活动签到
124 129
      */
125 130
     public final static String POINTS_CHANGE_ACTIVITY_CHECKIN = "activity_checkin";
126 131
 
@@ -440,19 +445,19 @@ public class CommConstant {
440 445
      * 消息通知
441 446
      * 必须存在表   td_miniapp_template_type 中
442 447
      */
443
-    public static final String MINIAPP_TPL_NOTICE = "notice";
448
+    public static final String MESSAGE_CONTENT_OF_NOTICE = "notice";
444 449
     
445 450
     /**
446 451
      * 助力通知
447 452
      * 必须存在表   td_miniapp_template_type 中
448 453
      */
449
-    public static final String MINIAPP_TPL_HELP = "help-result";
454
+    public static final String MESSAGE_CONTENT_OF_HELP = "help-result";
450 455
     
451 456
     /**
452 457
      * 拼团通知
453 458
      * 必须存在表   td_miniapp_template_type 中
454 459
      */
455
-    public static final String MINIAPP_TPL_GROUP = "group-result";
460
+    public static final String MESSAGE_CONTENT_OF_GROUP = "group-result";
456 461
     
457 462
     /**
458 463
      * 活动以结束
@@ -505,4 +510,35 @@ public class CommConstant {
505 510
      * 高德地图key
506 511
      */
507 512
     public static final String AMAP_KEY = "14f05ce59c26364fd0674014dc0d8b1b";
513
+
514
+    /**
515
+     * 埋点类型h5
516
+     */
517
+    public static final String EVENT_H5 = "h5";
518
+
519
+    /**
520
+     * 系统参数  通知消息次时间间隔
521
+     */
522
+    public static final String SYSPARAM_NOTICE_MESSAGE_INTERVAL = "notice_message_interval";
523
+
524
+    /**
525
+     * 任一消息, 可以是下面的任意一种
526
+     */
527
+    public static final String MESSAGE_TYPE_OF_SOMEWAY = "someway";
528
+
529
+    /**
530
+     * 短信消息
531
+     */
532
+    public static final String MESSAGE_TYPE_OF_SMS = "sms";
533
+
534
+    /**
535
+     * 小程序订阅消息
536
+     */
537
+    public static final String MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE = "miniapp_subscribe";
538
+
539
+    /**
540
+     * 小程序模板消息
541
+     */
542
+    public static final String MESSAGE_TYPE_OF_MINIAPP_TEMPLATE = "miniapp_template";
543
+
508 544
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/common/NumberUtils.java Целия файл

@@ -0,0 +1,4 @@
1
+package com.huiju.estateagents.common;
2
+
3
+public class NumberUtils {
4
+}

+ 2
- 2
src/main/java/com/huiju/estateagents/common/SMSUtils.java Целия файл

@@ -94,7 +94,7 @@ public class SMSUtils {
94 94
         return String.join("", nums);
95 95
     }
96 96
 
97
-    private boolean sendMessage(String code, String tel, String[] params) {
97
+    public boolean sendMessage(String code, String tel, String[] params) {
98 98
         // 发送内容
99 99
         SMSProperties.Template message = new SMSProperties.Template();
100 100
         message.setCode(code);
@@ -118,7 +118,7 @@ public class SMSUtils {
118 118
         );
119 119
 
120 120
         if (((ResponseEntity<String>) response).getStatusCodeValue() != HttpStatus.OK.value()) {
121
-            log.error("请求发送短信验证码失败: {}", response.toString());
121
+            log.error("请求发送短信失败: {}", response.toString());
122 122
             return false;
123 123
         }
124 124
 

+ 2
- 2
src/main/java/com/huiju/estateagents/common/WxUtils.java Целия файл

@@ -2,7 +2,7 @@ package com.huiju.estateagents.common;
2 2
 
3 3
 import cn.binarywang.wx.miniapp.api.WxMaService;
4 4
 import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
5
-import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
5
+import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
6 6
 import com.huiju.estateagents.entity.TaMiniapp;
7 7
 import com.huiju.estateagents.service.IMiniAppService;
8 8
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,7 +39,7 @@ public class WxUtils {
39 39
     }
40 40
 
41 41
     public WxMaService newService(TaMiniapp taMiniapp, boolean ...changeServices) {
42
-        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
42
+        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
43 43
         config.setAppid(taMiniapp.getMiniappId());
44 44
         config.setSecret(taMiniapp.getSecret());
45 45
         config.setToken(taMiniapp.getToken());

+ 118
- 17
src/main/java/com/huiju/estateagents/controller/ExtendContentController.java Целия файл

@@ -5,15 +5,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
-import com.huiju.estateagents.entity.ExtendContent;
9
-import com.huiju.estateagents.entity.TaBuildingDynamic;
10
-import com.huiju.estateagents.service.IExtendContentService;
11
-import com.huiju.estateagents.service.ITaBuildingDynamicService;
12
-import com.huiju.estateagents.service.ITaBuildingService;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.MD5Utils;
11
+import com.huiju.estateagents.entity.*;
12
+import com.huiju.estateagents.service.*;
13
+import com.huiju.estateagents.service.impl.HelpActivityServiceImpl;
14
+import io.jsonwebtoken.lang.Collections;
13 15
 import io.swagger.annotations.Api;
14 16
 import io.swagger.annotations.ApiImplicitParam;
15 17
 import io.swagger.annotations.ApiImplicitParams;
16 18
 import io.swagger.annotations.ApiOperation;
19
+import jodd.util.StringUtil;
17 20
 import org.apache.commons.lang3.StringUtils;
18 21
 import org.slf4j.Logger;
19 22
 import org.slf4j.LoggerFactory;
@@ -28,6 +31,9 @@ import org.springframework.web.bind.annotation.RestController;
28 31
 
29 32
 import javax.servlet.http.HttpServletRequest;
30 33
 import java.time.LocalDateTime;
34
+import java.util.Collection;
35
+import java.util.List;
36
+import java.util.stream.Collectors;
31 37
 
32 38
 /**
33 39
  * <p>
@@ -53,6 +59,18 @@ public class ExtendContentController extends BaseController {
53 59
     @Autowired
54 60
     private ITaBuildingService iTaBuildingService;
55 61
 
62
+    @Autowired
63
+    private ITdCityService iTdCityService;
64
+
65
+    @Autowired
66
+    private ITaNewsService iTaNewsService;
67
+
68
+    @Autowired
69
+    private ITaShareActivityService iTaShareActivityService;
70
+
71
+    @Autowired
72
+    private HelpActivityServiceImpl helpActivityService;
73
+
56 74
     /**
57 75
      * 分页查询列表
58 76
      * @param pageNum
@@ -72,22 +90,42 @@ public class ExtendContentController extends BaseController {
72 90
     @RequestMapping(value="/admin/extendContent",method= RequestMethod.GET)
73 91
     public ResponseBean extendContentList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
74 92
                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
93
+                                          @RequestParam(value = "cityId", required = false) Integer cityId,
75 94
                                           @RequestParam(value = "buildingId", required = false) String buildingId,
76 95
                                           @RequestParam(value = "contentType", required = false) String contentType,
77 96
                                           @RequestParam(value = "showPosition", required = false) String showPosition,
78 97
                                           @RequestParam(value = "status", required = false) Integer status,
79 98
                                           @RequestParam(value = "showType", required = false) String showType,HttpServletRequest request){
80
-        ResponseBean responseBean = new ResponseBean();
99
+            ResponseBean responseBean = new ResponseBean();
81 100
             IPage<ExtendContent> pg = new Page<>(pageNum, pageSize);
82
-            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
101
+
102
+        List<TaPersonBuilding> taPersonBuildingList = getTaPersonBuildingListByUserId(request);
103
+        QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
104
+            queryWrapper.eq(cityId != null, "city_id", cityId);
83 105
             queryWrapper.eq(StringUtils.isNotBlank(buildingId), "building_id", buildingId);
84 106
             queryWrapper.eq(StringUtils.isNotBlank(showType), "show_type", showType);
85 107
             queryWrapper.eq(StringUtils.isNotBlank(contentType), "content_type", contentType);
86 108
             queryWrapper.eq(StringUtils.isNotBlank(showPosition), "show_position", showPosition);
87
-            queryWrapper.eq(null!=status, "status", status);
109
+            queryWrapper.ne("status",9);
110
+            queryWrapper.eq(status != null, "status", status);
88 111
             queryWrapper.eq( "org_id", getOrgId(request));
112
+            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().isNull("building_id"));
89 113
             queryWrapper.orderByDesc("create_date");
90 114
             IPage<ExtendContent> result = iExtendContentService.page(pg, queryWrapper);
115
+
116
+            result.getRecords().forEach(e -> {
117
+                QueryWrapper<TdCity> tdCityQueryWrapper = new QueryWrapper<>();
118
+                tdCityQueryWrapper.eq("id", e.getCityId());
119
+                TdCity tdCity = iTdCityService.getOne(tdCityQueryWrapper);
120
+                QueryWrapper<TaBuilding> taBuildingQueryWrapper = new QueryWrapper<>();
121
+                taBuildingQueryWrapper.eq("building_id", e.getBuildingId());
122
+                TaBuilding taBuilding = iTaBuildingService.getOne(taBuildingQueryWrapper);
123
+                e.setCityName(null == tdCity ? "" : tdCity.getName());
124
+                if (taBuilding != null){
125
+                    e.setBuildingName(taBuilding.getBuildingName());
126
+                }
127
+            });
128
+            result.setRecords(result.getRecords());
91 129
             responseBean.addSuccess(result);
92 130
             return responseBean;
93 131
     }
@@ -130,13 +168,26 @@ public class ExtendContentController extends BaseController {
130 168
     })
131 169
     @RequestMapping(value="/admin/extendContent",method= RequestMethod.POST)
132 170
     public ResponseBean extendContentAdd(@RequestBody ExtendContent extendContent, HttpServletRequest request){
133
-        Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
134
-        extendContent.setCityId(cityId);
171
+        ResponseBean  responseBean = new ResponseBean();
172
+        //一个城市只能有一个开屏广告
173
+        boolean existFlag = iExtendContentService.advertistExistFlag(extendContent, getOrgId(request));
174
+        if (!existFlag){
175
+            responseBean.addError("该城市已有开屏广告,请勿再次上架");
176
+            return responseBean;
177
+        }
178
+
179
+        if (extendContent.getCityId() == null){
180
+            Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
181
+            extendContent.setCityId(cityId);
182
+        }
135 183
         extendContent.setCreateDate(LocalDateTime.now());
136 184
         extendContent.setOrgId(getOrgId(request));
137
-        ResponseBean  responseBean= iExtendContentService.extendContentAdd(extendContent);
138
-          responseBean.addSuccess(extendContent);
139
-          return responseBean;
185
+        if (StringUtils.isEmpty(extendContent.getContentType())){
186
+            extendContent.setContentType("nothing");
187
+        }
188
+        responseBean = iExtendContentService.extendContentAdd(extendContent);
189
+        responseBean.addSuccess(extendContent);
190
+        return responseBean;
140 191
     }
141 192
 
142 193
     /**
@@ -173,7 +224,7 @@ public class ExtendContentController extends BaseController {
173 224
      */
174 225
     @ApiOperation(value = "后台轮播图保存", notes = "后台轮播图保存")
175 226
     @ApiImplicitParams({
176
-            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "payh",value = "轮播图id"),
227
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "轮播图id"),
177 228
             @ApiImplicitParam(dataType = "ExtendContent", name = "extendContent", paramType = "body",value = "轮播图内容")
178 229
     })
179 230
     @RequestMapping(value="/admin/extendContent/{id}",method= RequestMethod.PUT)
@@ -182,9 +233,31 @@ public class ExtendContentController extends BaseController {
182 233
         ResponseBean responseBean = new ResponseBean();
183 234
         extendContent.setContentId(id);
184 235
         try {
185
-            Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
186
-            extendContent.setCityId(cityId);
236
+            if (extendContent.getCityId() == null){
237
+                Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
238
+                extendContent.setCityId(cityId);
239
+            }
187 240
             extendContent.setOrgId(getOrgId(request));
241
+
242
+            if (extendContent.getStatus() == 1){
243
+                boolean publishFlag = iExtendContentService.judgleRelationBuildAndActivity(extendContent);
244
+                if (!publishFlag){
245
+                    responseBean.addError("关联的项目或者活动已取消发布,上架失败");
246
+                    return responseBean;
247
+                }
248
+            }
249
+
250
+            //一个城市只能有一个开屏广告
251
+            boolean existFlag = iExtendContentService.advertistExistFlag(extendContent, getOrgId(request));
252
+            if (!existFlag){
253
+                responseBean.addError("该城市已有开屏广告,请勿再次上架");
254
+                return responseBean;
255
+            }
256
+
257
+            if (StringUtils.isEmpty(extendContent.getContentType())){
258
+                extendContent.setContentType("nothing");
259
+            }
260
+
188 261
             if (iExtendContentService.updateById(extendContent)){
189 262
                 responseBean.addSuccess(extendContent);
190 263
             }else {
@@ -198,6 +271,31 @@ public class ExtendContentController extends BaseController {
198 271
         return responseBean;
199 272
     }
200 273
 
274
+    /**
275
+     * 删除对象,逻辑删除,修改状态为9
276
+     * @param id  实体ID
277
+     * @return
278
+     */
279
+    @ApiOperation(value = "后台轮播图删除", notes = "后台轮播图删除")
280
+    @ApiImplicitParams({
281
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "轮播图id")
282
+    })
283
+    @RequestMapping(value="/admin/extendContentDelete/{id}",method= RequestMethod.PUT)
284
+    public ResponseBean extendContentUpdate(@PathVariable Integer id, HttpServletRequest request){
285
+        ResponseBean responseBean = new ResponseBean();
286
+        ExtendContent extendContent = new ExtendContent();
287
+        extendContent.setContentId(id);
288
+        extendContent.setStatus(9);
289
+        try {
290
+            iExtendContentService.updateById(extendContent);
291
+        }catch (Exception e){
292
+            e.printStackTrace();
293
+            logger.error("extendContentDelete -=- {}",e.toString());
294
+            responseBean.addError(e.getMessage());
295
+        }
296
+        return responseBean;
297
+    }
298
+
201 299
     /**
202 300
      * 根据id查询对象
203 301
      * @param id  实体ID
@@ -212,10 +310,13 @@ public class ExtendContentController extends BaseController {
212 310
         try {
213 311
             ExtendContent extendContent = iExtendContentService.getById(id);
214 312
             TaBuildingDynamic taBuildingDynamic = iTaBuildingDynamicService.getById(extendContent.getTargetId());
313
+            TaBuilding building = iTaBuildingService.getById(extendContent.getBuildingId());
314
+            if (building != null){
315
+                extendContent.setBuildingStatus(building.getStatus());
316
+            }
215 317
             if (null != taBuildingDynamic) {
216 318
                 extendContent.setTargetName(taBuildingDynamic.getTitle());
217 319
             }
218
-
219 320
             responseBean.addSuccess(extendContent);
220 321
         }catch (Exception e){
221 322
             e.printStackTrace();

+ 23
- 14
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java Целия файл

@@ -109,7 +109,7 @@ public class HelpActivityController extends BaseController {
109 109
                                          @RequestParam(value = "activityStatus", required = false) Integer activityStatus,
110 110
                                          HttpServletRequest request) {
111 111
         Integer orgId = getOrgId(request);
112
-        ResponseBean helpActivityList = taHelpActivityService.helpActivityList(pageNum, pageSize, cityId, buildingId, title, startDate, endDate, activityStatus, orgId);
112
+        ResponseBean helpActivityList = taHelpActivityService.helpActivityList(pageNum, pageSize, cityId, buildingId, title, startDate, endDate, activityStatus, orgId,getTaPersonBuildingListByUserId(request));
113 113
         return helpActivityList;
114 114
     }
115 115
 
@@ -131,9 +131,11 @@ public class HelpActivityController extends BaseController {
131 131
                                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
132 132
                                          @RequestParam(value = "cityId", required = false) Integer cityId,
133 133
                                          @RequestParam(value = "buildingId", required = false) String buildingId,
134
+                                         @RequestParam(value = "status", required = false) Integer status,
135
+                                         @RequestParam(value = "name", required = false) String name,
134 136
                                          HttpServletRequest request) {
135 137
         Integer orgId = getOrgId(request);
136
-        ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId);
138
+        ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId,status,name,getTaPersonBuildingListByUserId(request));
137 139
         return helpActivityList;
138 140
     }
139 141
 
@@ -149,11 +151,11 @@ public class HelpActivityController extends BaseController {
149 151
         Integer cityId = iTaBuildingService.getCityById(helpActivity.getBuildingId());
150 152
         QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
151 153
         helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
152
-        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
153
-        if (heavyCount != 0){
154
-            responseBean.addError("权重已存在,请重新编辑");
155
-            return responseBean;
156
-        }
154
+//        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
155
+//        if (heavyCount != 0){
156
+//            responseBean.addError("权重已存在,请重新编辑");
157
+//            return responseBean;
158
+//        }
157 159
         helpActivity.setCityId(cityId);
158 160
         // 活动暂且定位为未开始
159 161
         helpActivity.setActivityStatus(1);
@@ -200,11 +202,11 @@ public class HelpActivityController extends BaseController {
200 202
         QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
201 203
         helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
202 204
         helpActivityQueryWrapper.ne("help_activity_id", helpActivity.getHelpActivityId());
203
-        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
204
-        if (heavyCount != 0){
205
-            responseBean.addError("权重已存在,请重新编辑");
206
-            return responseBean;
207
-        }
205
+//        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
206
+//        if (heavyCount != 0){
207
+//            responseBean.addError("权重已存在,请重新编辑");
208
+//            return responseBean;
209
+//        }
208 210
         Integer cityId = iTaBuildingService.getCityById( helpActivity.getBuildingId());
209 211
         helpActivity.setCityId(cityId);
210 212
         helpActivity.setHelpActivityId(helpActivity.getHelpActivityId());
@@ -551,8 +553,15 @@ public class HelpActivityController extends BaseController {
551 553
     public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
552 554
                                                @RequestParam(value = "buildingId",required = false) String buildingId,
553 555
                                                @RequestParam(value = "cityId",required = false) String cityId) {
554
-            ResponseBean lsit = taHelpActivityService.wxhelpActivityAndGroup(getOrgId(request),buildingId,cityId);
555
-                return lsit;
556
+            String openid = getOpenId(request);
557
+            ResponseBean  responseBean = new ResponseBean();
558
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
559
+            if (null == taPersons || taPersons.size() != 1) {
560
+                return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
561
+            }
562
+            TaPerson person = taPersons.get(0);
563
+            ResponseBean lsit = taHelpActivityService.wxhelpActivityAndGroup(getOrgId(request),buildingId,cityId, person);
564
+            return lsit;
556 565
         }
557 566
 
558 567
 }

+ 19
- 4
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Целия файл

@@ -19,7 +19,10 @@ import com.huiju.estateagents.event.EventBus;
19 19
 import com.huiju.estateagents.mapper.TaShareMapper;
20 20
 import com.huiju.estateagents.service.*;
21 21
 import com.huiju.estateagents.common.JWTUtils;
22
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
23
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
22 24
 import me.chanjar.weixin.common.error.WxErrorException;
25
+import org.apache.commons.collections.CollectionUtils;
23 26
 import org.apache.commons.lang3.StringUtils;
24 27
 import org.apache.http.HttpStatus;
25 28
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +32,7 @@ import org.springframework.web.bind.annotation.*;
29 32
 import javax.annotation.Resource;
30 33
 import javax.servlet.http.HttpServletRequest;
31 34
 import java.time.LocalDateTime;
35
+import java.util.Collections;
32 36
 import java.util.HashMap;
33 37
 import java.util.List;
34 38
 import java.util.Map;
@@ -72,8 +76,11 @@ public class MiniAppController extends BaseController {
72 76
     @Autowired
73 77
     private ITaPersonBuildingService personBuildingService;
74 78
 
79
+    @Autowired
80
+    public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
75 81
 
76
-
82
+    @Autowired
83
+    private ITaCustomImgService iTaCustomImgService;
77 84
 
78 85
 
79 86
     /**
@@ -110,11 +117,12 @@ public class MiniAppController extends BaseController {
110 117
             TaMiniapp miniapp = taMiniappService.getById(appid);
111 118
             WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
112 119
             Integer orgId =miniapp.getOrgId();
113
-            Map<String, String> miniResp = new HashMap<>();
120
+            Map<String, Object> miniResp = new HashMap<>();
114 121
             miniResp.put("openid", session.getOpenid());
115 122
             miniResp.put("sessionKey", session.getSessionKey());
116 123
             miniResp.put("unionid", session.getUnionid());
117 124
             miniResp.put("name",miniapp.getName());
125
+            miniResp.put("tpls", miniAppService.getTpls(appid));
118 126
 
119 127
             //如果是分享进来且没有进入过小程序,给分享人发放积分
120 128
             QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
@@ -217,7 +225,15 @@ public class MiniAppController extends BaseController {
217 225
             result.put("extraInfo", extraInfo);
218 226
             result.put("miniAuthorized", null != taPerson.getAvatarurl() && taPerson.getAvatarurl().indexOf("wx.qlogo.cn") > 0);
219 227
 
220
-            String token = miniResp.get("token");
228
+            //返回是否授权标识
229
+            QueryWrapper<TaCustomImg> queryWrapper = new QueryWrapper<>();
230
+            queryWrapper.eq("org_id", getOrgId(request));
231
+            queryWrapper.eq("img_type", "auth");
232
+            List<TaCustomImg>  taCustomImgs = iTaCustomImgService.list(queryWrapper);
233
+            result.put("avatarAuth", CollectionUtils.isEmpty(taCustomImgs) ? false : "1".equals(taCustomImgs.get(0).getImgUrl()) ? true: false);
234
+
235
+
236
+            String token = (String) miniResp.get("token");
221 237
             sysTokenService.saveToken(token);
222 238
 
223 239
             return ResponseBean.success(result);
@@ -406,7 +422,6 @@ public class MiniAppController extends BaseController {
406 422
         }
407 423
     }
408 424
 
409
-
410 425
     public Integer getOrgId(HttpServletRequest request){
411 426
 
412 427
         Map map = JWTUtils.getUserIdAndOrgId(request);

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Целия файл

@@ -107,7 +107,7 @@ public class TaBuildingController extends BaseController {
107 107
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
108 108
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
109 109
                                      HttpServletRequest request){
110
-        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain, getOrgId(request));
110
+        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain, getOrgId(request),getTaPersonBuildingListByUserId(request));
111 111
     }
112 112
 
113 113
     /**
@@ -141,7 +141,7 @@ public class TaBuildingController extends BaseController {
141 141
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
142 142
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
143 143
                                            HttpServletRequest request){
144
-        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,getOrgId(request));
144
+        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,getOrgId(request),getTaPersonBuildingListByUserId(request));
145 145
     }
146 146
 
147 147
     /**

+ 70
- 8
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Целия файл

@@ -128,8 +128,34 @@ public class TaBuildingDynamicController extends BaseController {
128 128
                                              @RequestParam(required = false)String buildingId,
129 129
                                              @RequestParam(required = false)String title,
130 130
                                              @RequestParam(required = false)String isEnlist,
131
-                                             @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,HttpServletRequest request){
132
-        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request));
131
+                                             @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
132
+                                             @RequestParam(required = false)String activityStatus,HttpServletRequest request){
133
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus,getTaPersonBuildingListByUserId(request));
134
+        return responseBean;
135
+    }
136
+
137
+    @ApiOperation(value = "后台管理端查询项目活动列表", notes = "后台管理端查询项目活动列表")
138
+    @ApiImplicitParams({
139
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
140
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
141
+            @ApiImplicitParam(dataTypeClass = String.class, name = "name", paramType = "query",value = "项目名称"),
142
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市id"),
143
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
144
+            @ApiImplicitParam(dataTypeClass = String.class, name = "title", paramType = "query",value = "标题"),
145
+            @ApiImplicitParam(dataTypeClass = String.class, name = "isEnlist", paramType = "query",value = "是否报名"),
146
+            @ApiImplicitParam(dataTypeClass = String.class, name = "time", paramType = "query",value = "日期")
147
+    })
148
+    @RequestMapping(value = "/admin/iBuildingDynamicSelected", method = RequestMethod.GET)
149
+    public ResponseBean iBuildingDynamicSelectedList(@RequestParam("pageNum")Integer pageNum,
150
+                                             @RequestParam("pageSize")Integer pageSize,
151
+                                             @RequestParam(required = false)String name,
152
+                                             @RequestParam(required = false)Integer cityId,
153
+                                             @RequestParam(required = false)String buildingId,
154
+                                             @RequestParam(required = false)String title,
155
+                                             @RequestParam(required = false)String isEnlist,
156
+                                             @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
157
+                                             @RequestParam(required = false)String activityStatus,HttpServletRequest request){
158
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicSelectedList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus,getTaPersonBuildingListByUserId(request));
133 159
         return responseBean;
134 160
     }
135 161
 
@@ -430,11 +456,18 @@ public class TaBuildingDynamicController extends BaseController {
430 456
         dynamic.setPublishDate(LocalDateTime.now());
431 457
         dynamic.setCreateDate(LocalDateTime.now());
432 458
 
433
-        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy(), dynamic.getDynamicId());
434
-        if (heavyCount != 0){
435
-            responseBean.addError("权重已存在,请重新编辑");
459
+        //判断报名时间是否在活动时间之内
460
+        if (dynamic.getEndDate().isBefore(dynamic.getEnlistEnd())){
461
+            responseBean.addError("报名时间应在活动结束时间之前");
436 462
             return responseBean;
437 463
         }
464
+
465
+        //3.5.2.2版本去除权重验重
466
+//        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy(), dynamic.getDynamicId());
467
+//        if (heavyCount != 0){
468
+//            responseBean.addError("权重已存在,请重新编辑");
469
+//            return responseBean;
470
+//        }
438 471
          // 根据ORGID查询当前小程序表的miniapp_id
439 472
         QueryWrapper<TaMiniapp> taMiniappQuery= new QueryWrapper<>();
440 473
         taMiniappQuery.eq("org_id",getOrgId(request));
@@ -466,11 +499,19 @@ public class TaBuildingDynamicController extends BaseController {
466 499
         if (dynamic.getEnlistEnd() != null && LocalDateTime.now().isAfter(dynamic.getEnlistEnd())){
467 500
             dynamic.setActivityStatus(2);
468 501
         }
469
-        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy(), dynamic.getDynamicId());
470
-        if (heavyCount != 0){
471
-            responseBean.addError("权重已存在,请重新编辑");
502
+
503
+        //判断报名时间是否在活动时间之内
504
+        if (dynamic.getEndDate().isBefore(dynamic.getEnlistEnd())){
505
+            responseBean.addError("报名时间应在活动结束时间之前");
472 506
             return responseBean;
473 507
         }
508
+
509
+        //3.5.2.2版本去除验重功能
510
+//        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy(), dynamic.getDynamicId());
511
+//        if (heavyCount != 0){
512
+//            responseBean.addError("权重已存在,请重新编辑");
513
+//            return responseBean;
514
+//        }
474 515
         buildingDynamicQueryWrapper.eq("dynamic_id", dynamic.getDynamicId());
475 516
         iBuildingDynamicService.update(dynamic, buildingDynamicQueryWrapper);
476 517
         return responseBean;
@@ -496,6 +537,27 @@ public class TaBuildingDynamicController extends BaseController {
496 537
         }
497 538
         return responseBean;
498 539
     }
540
+
541
+    @ApiOperation(value = "活动推首页", notes = "活动推首页")
542
+    @ApiImplicitParams({
543
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "query",value = "活动ID"),
544
+            @ApiImplicitParam(dataType = "Integer", name = "home", paramType = "query",value = "首页标志")
545
+    })
546
+    @RequestMapping(value = "/admin/buildingDynamic/home" ,method =RequestMethod.PUT)
547
+    public  ResponseBean buildingDynamicHome(@RequestParam String dynamicId,@RequestParam Integer home,HttpServletRequest request){
548
+        ResponseBean responseBean = new ResponseBean();
549
+        TaBuildingDynamic dynamic = iBuildingDynamicService.getById(dynamicId);
550
+        dynamic.setHome(home);
551
+        dynamic.setOrgId(getOrgId(request));
552
+        QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
553
+        dynamicQueryWrapper.eq("dynamic_id",dynamic);
554
+        if (iBuildingDynamicService.updateById(dynamic)){
555
+            responseBean.addSuccess("成功");
556
+        }else {
557
+            responseBean.addError("失败");
558
+        }
559
+        return responseBean;
560
+    }
499 561
     
500 562
     
501 563
     @ApiOperation(value = "后端删除", notes = "后端删除")

+ 17
- 0
src/main/java/com/huiju/estateagents/controller/TaChatController.java Целия файл

@@ -2,6 +2,7 @@ package com.huiju.estateagents.controller;
2 2
 
3 3
 
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.common.CommConstant;
5 6
 import com.huiju.estateagents.common.JWTUtils;
6 7
 import com.huiju.estateagents.entity.TaChat;
7 8
 import com.huiju.estateagents.entity.TaPerson;
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
13 14
 import com.huiju.estateagents.base.BaseController;
14 15
 
15 16
 import javax.servlet.http.HttpServletRequest;
17
+import javax.websocket.server.PathParam;
16 18
 
17 19
 /**
18 20
  * <p>
@@ -68,4 +70,19 @@ public class TaChatController extends BaseController {
68 70
         String openid = getOpenId(request);
69 71
         return taChatService.updateMessageReadedOf(openid);
70 72
     }
73
+
74
+    /**
75
+     * 更新当前消息为已读
76
+     * @return
77
+     */
78
+    @PutMapping("/wx/chat/message/{chatId}")
79
+    public ResponseBean updateMessageReadedById(@PathVariable("chatId") Integer chatId,HttpServletRequest request) {
80
+        TaChat taChat = new TaChat();
81
+        taChat.setChatId(chatId);
82
+        taChat.setIsRead(CommConstant.MESSAGE_READED);
83
+        if (taChatService.updateById(taChat)){
84
+            return ResponseBean.success("更新成功");
85
+        }
86
+        return ResponseBean.error("更新失败",ResponseBean.ERROR_ILLEGAL_PARAMS);
87
+    }
71 88
 }

+ 187
- 0
src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java Целия файл

@@ -0,0 +1,187 @@
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.common.CommConstant;
9
+import com.huiju.estateagents.entity.TaCustomImg;
10
+import com.huiju.estateagents.service.ITaCustomImgService;
11
+import org.apache.commons.codec.language.DaitchMokotoffSoundex;
12
+import org.slf4j.Logger;
13
+import org.slf4j.LoggerFactory;
14
+import org.springframework.beans.factory.annotation.Autowired;
15
+import org.springframework.web.bind.annotation.*;
16
+
17
+import javax.servlet.http.HttpServletRequest;
18
+import java.time.LocalDateTime;
19
+import java.util.List;
20
+
21
+/**
22
+ * <p>
23
+    *  前端控制器
24
+    * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2019-12-17
28
+ */
29
+@RestController
30
+@RequestMapping("/api")
31
+public class TaCustomImgController extends BaseController {
32
+
33
+    private final Logger logger = LoggerFactory.getLogger(TaCustomImgController.class);
34
+
35
+    @Autowired
36
+    public ITaCustomImgService iTaCustomImgService;
37
+
38
+
39
+    /**
40
+     * 分页查询列表
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/admin/taCustomImg",method= RequestMethod.GET)
46
+    public ResponseBean taCustomImgList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
+                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, HttpServletRequest request){
48
+        ResponseBean responseBean = new ResponseBean();
49
+        try {
50
+            //使用分页插件
51
+		    IPage<TaCustomImg> pg = new Page<>(pageNum, pageSize);
52
+            QueryWrapper<TaCustomImg> queryWrapper = new QueryWrapper<>();
53
+            queryWrapper.eq("org_id", getOrgId(request));
54
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
55
+            queryWrapper.orderByDesc("create_time");
56
+
57
+            IPage<TaCustomImg> result = iTaCustomImgService.page(pg, queryWrapper);
58
+            responseBean.addSuccess(result);
59
+        }catch (Exception e){
60
+            e.printStackTrace();
61
+            logger.error("taCustomImgList -=- {}",e.toString());
62
+            responseBean.addError(e.getMessage());
63
+        }
64
+        return responseBean;
65
+    }
66
+
67
+    /**
68
+     * 保存对象
69
+     * @param taCustomImg 实体对象
70
+     * @return
71
+     */
72
+    @RequestMapping(value="/admin/taCustomImg",method= RequestMethod.POST)
73
+    public ResponseBean taCustomImgAdd(@RequestBody TaCustomImg taCustomImg, HttpServletRequest request){
74
+        ResponseBean responseBean = new ResponseBean();
75
+        taCustomImg.setImgDesc(CommConstant.BANNER_INDEX.equals(taCustomImg.getImgType()) ? "小程序首页分享配图" : "小程序首页推荐客户入口配图");
76
+        try {
77
+            taCustomImg.setCreateTime(LocalDateTime.now());
78
+            taCustomImg.setUpdateTime(LocalDateTime.now());
79
+            boolean countFlag = iTaCustomImgService.countCustomImg(taCustomImg, getOrgId(request));
80
+            if (!countFlag){
81
+                responseBean.addError("您已新增首页分享或推荐客户图,请勿重复添加");
82
+                return responseBean;
83
+            }
84
+
85
+            taCustomImg.setOrgId(getOrgId(request));
86
+            taCustomImg.setStatus(CommConstant.STATUS_NORMAL);
87
+            if (iTaCustomImgService.save(taCustomImg)){
88
+                responseBean.addSuccess(taCustomImg);
89
+            }else {
90
+                responseBean.addError("fail");
91
+            }
92
+        }catch (Exception e){
93
+            e.printStackTrace();
94
+            logger.error("taCustomImgAdd -=- {}",e.toString());
95
+            responseBean.addError(e.getMessage());
96
+        }
97
+        return responseBean;
98
+    }
99
+
100
+    /**
101
+     * 根据id删除对象
102
+     * @param id  实体ID
103
+     */
104
+    @ResponseBody
105
+    @RequestMapping(value="/admin/taCustomImg/{id}", method= RequestMethod.DELETE)
106
+    public ResponseBean taCustomImgDelete(@PathVariable Integer id){
107
+        ResponseBean responseBean = new ResponseBean();
108
+        try {
109
+            if(iTaCustomImgService.removeById(id)){
110
+                responseBean.addSuccess("success");
111
+            }else {
112
+                responseBean.addError("fail");
113
+            }
114
+        }catch (Exception e){
115
+            e.printStackTrace();
116
+            logger.error("taCustomImgDelete -=- {}",e.toString());
117
+            responseBean.addError(e.getMessage());
118
+        }
119
+        return responseBean;
120
+    }
121
+
122
+    /**
123
+     * 修改对象
124
+     * @param taCustomImg 实体对象
125
+     * @return
126
+     */
127
+    @RequestMapping(value="/admin/taCustomImg",method= RequestMethod.PUT)
128
+    public ResponseBean taCustomImgUpdate(@RequestBody TaCustomImg taCustomImg, HttpServletRequest request){
129
+        ResponseBean responseBean = new ResponseBean();
130
+        try {
131
+            taCustomImg.setUpdateTime(LocalDateTime.now());
132
+            boolean countFlag = iTaCustomImgService.countCustomImg(taCustomImg, getOrgId(request));
133
+            if (!countFlag){
134
+                responseBean.addError("您已新增首页分享或推荐客户图,请勿重复添加");
135
+                return responseBean;
136
+            }
137
+
138
+            if (iTaCustomImgService.updateById(taCustomImg)){
139
+                responseBean.addSuccess(taCustomImg);
140
+            }else {
141
+                responseBean.addError("fail");
142
+            }
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taCustomImgUpdate -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+
151
+    /**
152
+     * 根据id查询对象
153
+     * @param id  实体ID
154
+     */
155
+    @RequestMapping(value="/admin/taCustomImg/{id}",method= RequestMethod.GET)
156
+    public ResponseBean taCustomImgGet(@PathVariable Integer id){
157
+        ResponseBean responseBean = new ResponseBean();
158
+        try {
159
+            responseBean.addSuccess(iTaCustomImgService.getById(id));
160
+        }catch (Exception e){
161
+            e.printStackTrace();
162
+            logger.error("taCustomImgDelete -=- {}",e.toString());
163
+            responseBean.addError(e.getMessage());
164
+        }
165
+        return responseBean;
166
+    }
167
+
168
+    /**
169
+     * 微信接口获取首页分享或推荐客户图
170
+     */
171
+    @RequestMapping(value="/wx/taCustomImg",method= RequestMethod.GET)
172
+    public ResponseBean taCustomImgGet(HttpServletRequest request){
173
+        ResponseBean responseBean = new ResponseBean();
174
+        try {
175
+            QueryWrapper<TaCustomImg> queryWrapper = new QueryWrapper<>();
176
+            queryWrapper.eq("org_id", getOrgId(request));
177
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
178
+            List<TaCustomImg> taCustomImg = iTaCustomImgService.list(queryWrapper);
179
+            responseBean.addSuccess(taCustomImg);
180
+        }catch (Exception e){
181
+            e.printStackTrace();
182
+            logger.error(" taCustomImgGet-=- {}",e.toString());
183
+            responseBean.addError(e.getMessage());
184
+        }
185
+        return responseBean;
186
+    }
187
+}

+ 1
- 8
src/main/java/com/huiju/estateagents/controller/TaExtendContentController.java Целия файл

@@ -8,17 +8,10 @@ import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.entity.TaExtendContent;
9 9
 import com.huiju.estateagents.service.ITaBuildingService;
10 10
 import com.huiju.estateagents.service.ITaExtendContentService;
11
-import org.omg.CORBA.PUBLIC_MEMBER;
12 11
 import org.slf4j.Logger;
13 12
 import org.slf4j.LoggerFactory;
14 13
 import org.springframework.beans.factory.annotation.Autowired;
15
-import org.springframework.web.bind.annotation.PathVariable;
16
-import org.springframework.web.bind.annotation.RequestBody;
17
-import org.springframework.web.bind.annotation.RequestMapping;
18
-import org.springframework.web.bind.annotation.RequestMethod;
19
-import org.springframework.web.bind.annotation.RequestParam;
20
-import org.springframework.web.bind.annotation.ResponseBody;
21
-import org.springframework.web.bind.annotation.RestController;
14
+import org.springframework.web.bind.annotation.*;
22 15
 
23 16
 /**
24 17
  * <p>

+ 7
- 2
src/main/java/com/huiju/estateagents/controller/TaGoodsController.java Целия файл

@@ -10,6 +10,7 @@ import com.huiju.estateagents.common.JWTUtils;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.entity.TaGoods;
12 12
 import com.huiju.estateagents.entity.TaPerson;
13
+import com.huiju.estateagents.entity.TaPersonBuilding;
13 14
 import com.huiju.estateagents.service.ITaBuildingService;
14 15
 import com.huiju.estateagents.service.ITaGoodsService;
15 16
 import com.huiju.estateagents.service.ITaPersonService;
@@ -27,6 +28,7 @@ import java.lang.invoke.ConstantCallSite;
27 28
 import java.util.HashMap;
28 29
 import java.util.List;
29 30
 import java.util.Map;
31
+import java.util.stream.Collectors;
30 32
 
31 33
 /**
32 34
  * <p>
@@ -60,7 +62,7 @@ public class TaGoodsController extends BaseController {
60 62
      */
61 63
     @ApiOperation(value = "后台商品列表", notes = "后台商品列表")
62 64
     @ApiImplicitParams({
63
-            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
65
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
64 66
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
65 67
             @ApiImplicitParam(dataTypeClass = String.class, name = "goodsName", paramType = "query",value = "商品名称"),
66 68
             @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
@@ -69,7 +71,7 @@ public class TaGoodsController extends BaseController {
69 71
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query",value = "状态")
70 72
     })
71 73
     @RequestMapping(value="/admin/taGoods",method= RequestMethod.GET)
72
-    public ResponseBean taGoodsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
74
+    public ResponseBean taGoodsList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNum,
73 75
                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
74 76
                                     @RequestParam(value = "goodsName",required = false) String goodsName,
75 77
                                     @RequestParam(value = "buildingId",required = false) String buildingId,
@@ -78,6 +80,8 @@ public class TaGoodsController extends BaseController {
78 80
                                     @RequestParam(value ="status",required = false) Integer status,HttpServletRequest request){
79 81
         ResponseBean responseBean = new ResponseBean();
80 82
         try {
83
+            List<TaPersonBuilding> taPersonBuildingListByUserId = getTaPersonBuildingListByUserId(request);
84
+
81 85
             //使用分页插件
82 86
 		    IPage<TaGoods> pg = new Page<>(pageNum, pageSize);
83 87
             QueryWrapper<TaGoods> queryWrapper = new QueryWrapper<>();
@@ -87,6 +91,7 @@ public class TaGoodsController extends BaseController {
87 91
             queryWrapper.eq(null != status,"status",status);
88 92
             queryWrapper.eq("org_id",getOrgId(request));
89 93
             queryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id",buildingId);
94
+            queryWrapper.in(taPersonBuildingListByUserId.size()>0,"building_id",taPersonBuildingListByUserId.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
90 95
             queryWrapper.orderByDesc("create_date");
91 96
 
92 97
             IPage<TaGoods> result = iTaGoodsService.page(pg, queryWrapper);

+ 15
- 0
src/main/java/com/huiju/estateagents/controller/TaMiniappTemplateController.java Целия файл

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.StringUtils;
8 9
 import com.huiju.estateagents.entity.TaMiniappTemplate;
9 10
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
10 11
 import org.slf4j.Logger;
@@ -12,6 +13,8 @@ import org.slf4j.LoggerFactory;
12 13
 import org.springframework.beans.factory.annotation.Autowired;
13 14
 import org.springframework.web.bind.annotation.*;
14 15
 
16
+import javax.servlet.http.HttpServletRequest;
17
+
15 18
 /**
16 19
  * <p>
17 20
     * 小程序消息模板  前端控制器
@@ -143,4 +146,16 @@ public class TaMiniappTemplateController extends BaseController {
143 146
         }
144 147
         return responseBean;
145 148
     }
149
+
150
+    @GetMapping("/wx/template/of/{type}")
151
+    public ResponseBean getTemplateByType(@PathVariable String type, HttpServletRequest request) {
152
+        String appid = request.getHeader("appid");
153
+
154
+        if (StringUtils.isEmpty(type) || StringUtils.isEmpty(appid)) {
155
+            return ResponseBean.error("参数非法", ResponseBean.ERROR_ILLEGAL_PARAMS);
156
+        }
157
+
158
+        TaMiniappTemplate tpl = iTaMiniappTemplateService.getTplByType(type, appid);
159
+        return ResponseBean.success(tpl);
160
+    }
146 161
 }

+ 3
- 2
src/main/java/com/huiju/estateagents/controller/TaNewsController.java Целия файл

@@ -82,8 +82,9 @@ public class TaNewsController extends BaseController {
82 82
                                    @RequestParam(value = "buildingId", required = false) String buildingId,
83 83
                                    @RequestParam(value = "newsTypeId", required = false) Integer newsTypeId,
84 84
                                    @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
85
-                                   @RequestParam(value = "title", required = false) String title){
86
-        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, getOrgId(request), newsTypeId, newsStatus,title);
85
+                                   @RequestParam(value = "title", required = false) String title,
86
+                                   @RequestParam(value = "cityId", required = false) Integer cityId){
87
+        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, getOrgId(request), newsTypeId, newsStatus, title, cityId,getTaPersonBuildingListByUserId(request));
87 88
         return responseBean;
88 89
     }
89 90
 

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java Целия файл

@@ -60,7 +60,7 @@ public class TaNewsTypeController extends BaseController {
60 60
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
61 61
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
62 62
                                        HttpServletRequest request){
63
-        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request));
63
+        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request),getTaPersonBuildingListByUserId(request));
64 64
         return responseBean;
65 65
     }
66 66
 

+ 24
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Целия файл

@@ -17,6 +17,8 @@ import com.huiju.estateagents.service.ITaPersonBuildingService;
17 17
 import com.huiju.estateagents.service.ITaPersonService;
18 18
 import com.huiju.estateagents.service.TaChannelPersonService;
19 19
 import com.huiju.estateagents.service.TaChannelService;
20
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
21
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
20 22
 import org.checkerframework.checker.units.qual.A;
21 23
 import org.checkerframework.checker.units.qual.C;
22 24
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,6 +58,9 @@ public class TaPersonController extends BaseController {
56 58
     @Autowired
57 59
     ITaPersonBuildingService taPersonBuildingService;
58 60
 
61
+    @Autowired
62
+    public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
63
+
59 64
     /**
60 65
      *
61 66
      *  因为人员表是集合系统的所有种类的用户,包含了各种角色。因此各种角色的操作都在本 controller 中完成
@@ -382,6 +387,25 @@ public class TaPersonController extends BaseController {
382 387
         return taPersonService.getWxUser(openid);
383 388
     }
384 389
 
390
+    /**
391
+     * 第三方获取个人信息
392
+     * @param request
393
+     * @return
394
+     */
395
+    @GetMapping("/third/user/info")
396
+    public ResponseBean thirdGetUserInfo(@RequestParam("personId") String personId,  HttpServletRequest request) {
397
+        //获取H5项目相关信息
398
+        String xAppid = request.getHeader("x-appid");
399
+        QueryWrapper<TaThirdPartyMiniappConfig> taThirdPartyMiniappConfigQueryWrapper = new QueryWrapper<>();
400
+
401
+        taThirdPartyMiniappConfigQueryWrapper.eq("appid", xAppid);
402
+        TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(taThirdPartyMiniappConfigQueryWrapper);
403
+        if (null == taThirdPartyMiniappConfig){
404
+            return ResponseBean.error("不存在的H5活动",ResponseBean.ERROR_UNAVAILABLE);
405
+        }
406
+        return taPersonService.ThirdUserInfo(personId);
407
+    }
408
+
385 409
     /**
386 410
      * 个人getPersonId(request);
387 411
      * @param request

+ 149
- 1
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java Целия файл

@@ -11,15 +11,18 @@ import com.huiju.estateagents.common.JWTUtils;
11 11
 import com.huiju.estateagents.common.StringUtils;
12 12
 import com.huiju.estateagents.entity.*;
13 13
 import com.huiju.estateagents.service.*;
14
+import org.apache.commons.collections.map.HashedMap;
14 15
 import org.slf4j.Logger;
15 16
 import org.slf4j.LoggerFactory;
16 17
 import org.springframework.beans.factory.annotation.Autowired;
17 18
 import org.springframework.web.bind.annotation.*;
18 19
 
19 20
 import javax.servlet.http.HttpServletRequest;
21
+import java.lang.reflect.Method;
20 22
 import java.time.LocalDateTime;
21 23
 import java.time.ZoneOffset;
22 24
 import java.util.List;
25
+import java.util.Map;
23 26
 
24 27
 
25 28
 /**
@@ -48,6 +51,9 @@ public class TaPersonVisitRecordController extends BaseController {
48 51
     public ITaPersonIntentionRecordService personIntentionRecordService;
49 52
     @Autowired
50 53
     public ITaBuildingService buildingService;
54
+    @Autowired
55
+    private ITaRecommendCustomerService taRecommendCustomerService;
56
+
51 57
 
52 58
 
53 59
     /**
@@ -87,6 +93,7 @@ public class TaPersonVisitRecordController extends BaseController {
87 93
         }
88 94
         TaPerson person = taPersons.get(0);
89 95
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
96
+        taPersonVisitRecord.setOrgId(String.valueOf(getOrgId(request)));
90 97
         Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
91 98
         if(eventProperties<=0){
92 99
             TaEventProperties taEventProperty = new TaEventProperties();
@@ -203,7 +210,7 @@ public class TaPersonVisitRecordController extends BaseController {
203 210
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
204 211
         }
205 212
     }
206
-    
213
+
207 214
     /**
208 215
      * 盘客工具分页获取访问记录
209 216
      * @param pageNumber
@@ -225,4 +232,145 @@ public class TaPersonVisitRecordController extends BaseController {
225 232
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
226 233
         }
227 234
     }
235
+
236
+    @RequestMapping(value="/admin/taDrainageVisitRecord", method = RequestMethod.GET)
237
+    public ResponseBean drainageVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
238
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
239
+                                                @RequestParam(value ="activityName",required = false) String activityName,
240
+                                                @RequestParam(value ="buildingId",required = false) String buildingId,
241
+                                                @RequestParam(value ="shareName",required = false) String shareName,
242
+                                                @RequestParam(value ="shareTel",required = false) String shareTel,
243
+                                                @RequestParam(value ="eventType",required = false) String eventType,
244
+                                                @RequestParam(value ="personType",required = false) String personType,
245
+                                                HttpServletRequest request) {
246
+        ResponseBean responseBean = new ResponseBean();
247
+        try {
248
+            //使用分页插件
249
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
250
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getDrainageVisitRecord(pg, getOrgId(request), activityName, eventType, shareName, shareTel, buildingId, personType, getTaPersonBuildingListByUserId(request));
251
+            responseBean.addSuccess(result);
252
+            return responseBean;
253
+        } catch (Exception e) {
254
+            logger.error("drainageVisitRecord -=- {}", e.toString());
255
+        }
256
+        return responseBean;
257
+    }
258
+
259
+    /**
260
+     * 个人中心访客记录分页查询
261
+     * @param pageNumber
262
+     * @param pageSize
263
+     * @return
264
+     */
265
+    @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
266
+    public ResponseBean getWxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
267
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
268
+                                          @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
269
+        try {
270
+            //使用分页插件
271
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
272
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
273
+            return ResponseBean.success(result);
274
+        }catch (Exception e){
275
+            e.printStackTrace();
276
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
277
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
278
+        }
279
+    }
280
+
281
+    /**
282
+     * 个人中心访客记录单个人员的所有活动
283
+     * @return
284
+     */
285
+    @RequestMapping(value="/wx/visitRecord/activity",method= RequestMethod.GET)
286
+    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
287
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
288
+                                          @RequestParam(value = "userId") Integer userId,
289
+                                          @RequestParam(value = "personId") String personId,
290
+                                          HttpServletRequest request){
291
+        try {
292
+            //使用分页插件
293
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
294
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordActivityList(pg, userId,personId,getOrgId(request));
295
+            return ResponseBean.success(result);
296
+        }catch (Exception e){
297
+            e.printStackTrace();
298
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
299
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
300
+        }
301
+    }
302
+
303
+    /**
304
+     * 个人中心访客记录分页查询
305
+     * @param pageNumber
306
+     * @param pageSize
307
+     * @return
308
+     */
309
+    @RequestMapping(value="/wx/activityVisitRecord",method= RequestMethod.GET)
310
+    public ResponseBean wxPersonActivityVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
311
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
312
+                                                @RequestParam(value = "userId") Integer userId,
313
+                                                @RequestParam(value = "targetId")String targetId,
314
+                                                @RequestParam(value = "eventType")String eventType,
315
+                                                HttpServletRequest request){
316
+        try {
317
+            //使用分页插件
318
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
319
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxActivityVisitRecordList(pg, userId,getOrgId(request),targetId, eventType);
320
+            return ResponseBean.success(result);
321
+        }catch (Exception e){
322
+            e.printStackTrace();
323
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
324
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
325
+        }
326
+    }
327
+
328
+    /**
329
+     * 置业顾问分享项目、活动、资讯、助力、拼团信息
330
+     * @param pageNumber
331
+     * @param pageSize
332
+     * @param userId
333
+     * @param request
334
+     * @return
335
+     */
336
+    @RequestMapping(value = "/wx/shareRecords",method= RequestMethod.GET)
337
+    public ResponseBean wxShareRecordsByUserId(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
338
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
339
+                                              @RequestParam(value = "userId") Integer userId,
340
+                                              HttpServletRequest request){
341
+        ResponseBean responseBean = new ResponseBean();
342
+        if (userId == null){
343
+            return responseBean;
344
+        }
345
+        //使用分页插件
346
+        IPage<TaConsultantInfo> pg = new Page<>(pageNumber, pageSize);
347
+        IPage<TaConsultantInfo> result = iTaPersonVisitRecordService.getConsultantShareInfoList(pg, userId, getOrgId(request));
348
+
349
+        List<TaConsultantInfo> taConsultantInfos = result.getRecords();
350
+        taConsultantInfos.forEach(e ->{
351
+            Integer shareNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, e.getEventType());
352
+            switch (e.getEventType()){
353
+                case CommConstant.POSTER_CONTENT_TYPE_ACTIVITY:
354
+                    e.setActivityShareNum(shareNum);
355
+                    break;
356
+                case CommConstant.POINTS_CHANGE_HELP:
357
+                    e.setHelpActivityShareNum(shareNum);
358
+                    break;
359
+                case CommConstant.POINTS_CHANGE_GROUP:
360
+                    e.setGroupActivityShareNum(shareNum);
361
+                    break;
362
+                case CommConstant.CAROUSEL_NEWS:
363
+                    e.setNewsNum(shareNum);
364
+                    break;
365
+                case CommConstant.POSTER_CONTENT_TYPE_BUILDING:
366
+                    e.setBuildingNum(shareNum);
367
+                    break;
368
+                case CommConstant.EVENT_H5:
369
+                    e.setDrainageShareNum(shareNum);
370
+                    break;
371
+            }
372
+        });
373
+        result.setRecords(taConsultantInfos);
374
+        return ResponseBean.success(result);
375
+    }
228 376
 }

+ 14
- 1
src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java Целия файл

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.entity.TaGoods;
9 10
 import com.huiju.estateagents.entity.TaPointsExchange;
11
+import com.huiju.estateagents.service.ITaGoodsService;
10 12
 import com.huiju.estateagents.service.ITaPointsExchangeService;
11 13
 import org.slf4j.Logger;
12 14
 import org.slf4j.LoggerFactory;
@@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
21 23
 
22 24
 import javax.servlet.http.HttpServletRequest;
23 25
 import java.time.LocalDateTime;
26
+import java.util.List;
24 27
 
25 28
 /**
26 29
  * <p>
@@ -39,6 +42,8 @@ public class TaPointsExchangeController extends BaseController {
39 42
     @Autowired
40 43
     public ITaPointsExchangeService iTaPointsExchangeService;
41 44
 
45
+    @Autowired
46
+    private ITaGoodsService taGoodsService;
42 47
 
43 48
     /**
44 49
      * 分页查询列表
@@ -75,7 +80,7 @@ public class TaPointsExchangeController extends BaseController {
75 80
             taPointsExchange.setTel(tel);
76 81
             taPointsExchange.setOrgId(getOrgId(request));
77 82
             
78
-            responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange);
83
+            responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange,getTaPersonBuildingListByUserId(request));
79 84
 
80 85
         }catch (Exception e){
81 86
             e.printStackTrace();
@@ -226,6 +231,14 @@ public class TaPointsExchangeController extends BaseController {
226 231
             queryWrapper.orderByDesc("create_date");
227 232
             
228 233
             IPage<TaPointsExchange> result = iTaPointsExchangeService.page(pg, queryWrapper);
234
+            List<TaPointsExchange> records = result.getRecords();
235
+            records.forEach(e -> {
236
+                if (null == e.getStatus() || e.getStatus().equals(CommConstant.STATUS_UNACCALIMED)){
237
+                    TaGoods goods = taGoodsService.getById(e.getTargetId());
238
+                    e.setAddress(goods.getAddress());
239
+                }
240
+            });
241
+            result.setRecords(records);
229 242
             responseBean.addSuccess(result);
230 243
         }catch (Exception e){
231 244
             e.printStackTrace();

+ 3
- 3
src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java Целия файл

@@ -259,17 +259,17 @@ public class TaPointsRecordsController extends BaseController {
259 259
 
260 260
     /**
261 261
      * 分页查询列表
262
-     * @param pageNum
262
+     * @param pageNumber
263 263
      * @param pageSize
264 264
      * @return
265 265
      */
266 266
     @RequestMapping(value="/admin/mine/taPointsRecords/{id}",method= RequestMethod.GET)
267
-    public ResponseBean CustomerPointsRecordsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
267
+    public ResponseBean CustomerPointsRecordsList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
268 268
                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
269 269
                                             @PathVariable(value = "id") String id){
270 270
         ResponseBean responseBean = new ResponseBean();
271 271
         try {
272
-            IPage<TaPointsRecords> pg = new Page<>(pageNum, pageSize);
272
+            IPage<TaPointsRecords> pg = new Page<>(pageNumber, pageSize);
273 273
             QueryWrapper<TaPointsRecords> queryWrapper = new QueryWrapper<>();
274 274
             queryWrapper.eq("person_id",id);
275 275
             queryWrapper.orderByDesc("create_date");

+ 60
- 15
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Целия файл

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8 8
 import com.baomidou.mybatisplus.core.metadata.IPage;
9 9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10 10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.taUser.entity.TaUser;
12
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
11 13
 import com.huiju.estateagents.common.CommConstant;
12 14
 import com.huiju.estateagents.common.JWTUtils;
13 15
 import com.huiju.estateagents.common.StringUtils;
@@ -74,6 +76,12 @@ public class TaRecommendCustomerController extends BaseController {
74 76
     @Autowired
75 77
     private TaPersonBuildingMapper taPersonBuildingMapper;
76 78
 
79
+    @Autowired
80
+    private ITaPersonService iTaPersonService;
81
+
82
+    @Autowired
83
+    private ITaUserService iTaUserService;
84
+
77 85
 
78 86
     /**
79 87
      * 我的客户列表
@@ -99,6 +107,43 @@ public class TaRecommendCustomerController extends BaseController {
99 107
         return taRecommendCustomerService.getMyCustList(openid, keywords, pageNumber, pageSize);
100 108
     }
101 109
 
110
+    /**
111
+     * 我的客户列表
112
+     * @param pageNumber
113
+     * @param pageSize
114
+     * @param keywords
115
+     * @param request
116
+     * @return
117
+     */
118
+    @GetMapping("/admin/customer/list/{userId}")
119
+    @ApiOperation(value = "查询我的客户列表", notes = "查询我的客户列表")
120
+    @ApiImplicitParams({
121
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
122
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
123
+            @ApiImplicitParam(dataTypeClass = String.class, name = "keywords", paramType = "query",value = "搜索关键字,目前仅支持姓名")
124
+    })
125
+    public ResponseBean getAdminMyCustList(@RequestParam int pageNumber,
126
+                                           @RequestParam int pageSize,
127
+                                           @RequestParam(required = false) String keywords,
128
+                                           @PathVariable("userId") Integer userId,
129
+                                           HttpServletRequest request) {
130
+        if (pageNumber < 0 || pageSize < 0) {
131
+            return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
132
+        }
133
+
134
+        TaUser user = iTaUserService.getById(userId);
135
+        if (null == user) {
136
+            return ResponseBean.error("员工不存在!", ResponseBean.ERROR_ILLEGAL_PARAMS);
137
+        }
138
+        QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
139
+        personQueryWrapper.eq("user_id", userId);
140
+        TaPerson person = iTaPersonService.getOne(personQueryWrapper);
141
+        if (null == person) {
142
+            return ResponseBean.error("未绑定小程序!", ResponseBean.ERROR_ILLEGAL_PARAMS);
143
+        }
144
+        return taRecommendCustomerService.getAdminMyCustList(person.getMiniOpenid(), keywords, pageNumber, pageSize);
145
+    }
146
+
102 147
     /**
103 148
      * 客户详情
104 149
      * @param id
@@ -275,7 +320,7 @@ public class TaRecommendCustomerController extends BaseController {
275 320
 //                TaPersonBuilding personBuilding = taPersonBuildingMapper.selectOne(queryWrapper);
276 321
 //                buildingId = personBuilding.getBuildingId();
277 322
 //            }
278
-            return ResponseBean.success(taRecommendCustomerService.getCustomerList(status,pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, customerType, getOrgId(request)));
323
+            return ResponseBean.success(taRecommendCustomerService.getCustomerList(status,pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, customerType, getOrgId(request),getTaPersonBuildingListByUserId(request)));
279 324
         }catch (Exception e){
280 325
             e.printStackTrace();
281 326
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -297,7 +342,7 @@ public class TaRecommendCustomerController extends BaseController {
297 342
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
298 343
                                          @RequestParam(value = "sex",required = false)Integer sex){
299 344
         try{
300
-            return ResponseBean.success(taRecommendCustomerService.getRecCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, getOrgId(request)));
345
+            return ResponseBean.success(taRecommendCustomerService.getRecCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, getOrgId(request),getTaPersonBuildingListByUserId(request)));
301 346
         }catch (Exception e){
302 347
             e.printStackTrace();
303 348
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -318,7 +363,7 @@ public class TaRecommendCustomerController extends BaseController {
318 363
                                          @RequestParam(value = "sex",required = false)Integer sex, HttpServletRequest request){
319 364
         Integer orgid = getOrgId(request);
320 365
         try{
321
-            return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgid));
366
+            return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgid,getTaPersonBuildingListByUserId(request)));
322 367
         }catch (Exception e){
323 368
             e.printStackTrace();
324 369
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -353,7 +398,7 @@ public class TaRecommendCustomerController extends BaseController {
353 398
     public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
354 399
         Integer orgId = getOrgId(request);
355 400
         try{
356
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId));
401
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId,getTaPersonBuildingListByUserId(request)));
357 402
         }catch (Exception e){
358 403
             e.printStackTrace();
359 404
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -370,7 +415,7 @@ public class TaRecommendCustomerController extends BaseController {
370 415
         }
371 416
         TaPerson person = taPersons.get(0);
372 417
         try{
373
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId));
418
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId,null));
374 419
         }catch (Exception e){
375 420
             e.printStackTrace();
376 421
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -476,10 +521,10 @@ public class TaRecommendCustomerController extends BaseController {
476 521
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
477 522
     public ResponseBean getCustomerDetail(@PathVariable String id,
478 523
                                           @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
479
-                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
524
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
480 525
         ResponseBean responseBean = new ResponseBean();
481 526
         try {
482
-            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize));
527
+            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
483 528
         }catch (Exception e){
484 529
             e.printStackTrace();
485 530
             responseBean.addError(e.getMessage());
@@ -490,10 +535,10 @@ public class TaRecommendCustomerController extends BaseController {
490 535
     @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
491 536
     public ResponseBean getPublicCustomerDetail(@PathVariable String id,
492 537
                                                 @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
493
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
538
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
494 539
         ResponseBean responseBean = new ResponseBean();
495 540
         try {
496
-            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize));
541
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
497 542
         }catch (Exception e){
498 543
             e.printStackTrace();
499 544
             responseBean.addError(e.getMessage());
@@ -573,7 +618,7 @@ public class TaRecommendCustomerController extends BaseController {
573 618
         response.setCharacterEncoding("utf-8");
574 619
         response.setHeader("Content-disposition", "attachment;filename=推荐客户.xlsx");
575 620
 
576
-        Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request));
621
+        Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request),getTaPersonBuildingListByUserId(request));
577 622
 
578 623
         Integer pageCode = 0;
579 624
         Integer pageSize = 100;
@@ -584,7 +629,7 @@ public class TaRecommendCustomerController extends BaseController {
584 629
         // 设置 sheet, 同一个sheet只需要设置一次
585 630
         WriteSheet writeSheet = EasyExcel.writerSheet("推荐客户").build();
586 631
         do {
587
-            List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize);
632
+            List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize,getTaPersonBuildingListByUserId(request));
588 633
             excelWriter.write(recCustomerExport, writeSheet);
589 634
 
590 635
             pageCode ++;
@@ -615,7 +660,7 @@ public class TaRecommendCustomerController extends BaseController {
615 660
         response.setCharacterEncoding("utf-8");
616 661
         response.setHeader("Content-disposition", "attachment;filename=报备客户.xlsx");
617 662
 
618
-        Integer count = taRecommendCustomerService.getRepCustomerReportCount(buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex,getOrgId(request));
663
+        Integer count = taRecommendCustomerService.getRepCustomerReportCount(buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex,getOrgId(request),getTaPersonBuildingListByUserId(request));
619 664
 
620 665
         Integer pageCode = 0;
621 666
         Integer pageSize = 100;
@@ -627,7 +672,7 @@ public class TaRecommendCustomerController extends BaseController {
627 672
         WriteSheet writeSheet = EasyExcel.writerSheet("报备客户").build();
628 673
         List<ReporRecommendCustomer> recCustomerExport = null;
629 674
         do {
630
-            recCustomerExport = taRecommendCustomerService.getRepCustomerReportExport(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, getOrgId(request), pageCode * pageSize, pageSize);
675
+            recCustomerExport = taRecommendCustomerService.getRepCustomerReportExport(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, getOrgId(request), pageCode * pageSize, pageSize,getTaPersonBuildingListByUserId(request));
631 676
             excelWriter.write(recCustomerExport, writeSheet);
632 677
 
633 678
             pageCode ++;
@@ -749,11 +794,11 @@ public class TaRecommendCustomerController extends BaseController {
749 794
             // 设置 sheet, 同一个sheet只需要设置一次
750 795
             WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-私客").build();
751 796
 
752
-            Integer count = taRecommendCustomerMapper.getCustomerExportListCount(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
797
+            Integer count = taRecommendCustomerMapper.getCustomerExportListCount(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status,getTaPersonBuildingListByUserId(request));
753 798
             pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
754 799
             List<PrivateCustomerExport> privateList = null;
755 800
             do {
756
-                privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode *  pageSize, pageSize, buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
801
+                privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode *  pageSize, pageSize, buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status,getTaPersonBuildingListByUserId(request));
757 802
                 excelWriter.write(privateList, writeSheet);
758 803
 
759 804
                 pageCode ++;

+ 6
- 3
src/main/java/com/huiju/estateagents/controller/TaRoleController.java Целия файл

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
8 9
 import com.huiju.estateagents.entity.TaRole;
9 10
 import com.huiju.estateagents.service.ITaRoleService;
10 11
 import org.slf4j.Logger;
@@ -49,6 +50,7 @@ public class TaRoleController extends BaseController {
49 50
 		    IPage<TaRole> pg = new Page<>(pageNum, pageSize);
50 51
             QueryWrapper<TaRole> queryWrapper = new QueryWrapper<>();
51 52
             queryWrapper.eq("org_id",orgId);
53
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
52 54
             queryWrapper.orderByDesc("create_date");
53 55
 
54 56
             IPage<TaRole> result = iTaRoleService.page(pg, queryWrapper);
@@ -141,7 +143,7 @@ public class TaRoleController extends BaseController {
141 143
     }
142 144
 
143 145
     /**
144
-     * 修改角色状态--停用
146
+     * 修改角色状态--删除
145 147
      * @param id
146 148
      * @return
147 149
      */
@@ -150,8 +152,9 @@ public class TaRoleController extends BaseController {
150 152
         ResponseBean responseBean = new ResponseBean();
151 153
         TaRole taRole = new TaRole();
152 154
         taRole = iTaRoleService.getById(id);
153
-        taRole.setStatus(taRole.getStatus().equals(0)?1:0);
154
-        iTaRoleService.updateById(taRole);
155
+        if (null != taRole){
156
+            iTaRoleService.removeById(id);
157
+        }
155 158
         return responseBean;
156 159
     }
157 160
 

+ 15
- 12
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java Целия файл

@@ -88,7 +88,7 @@ public class TaShareActivityController extends BaseController {
88 88
                                             HttpServletRequest request){
89 89
         ResponseBean responseBean = new ResponseBean();
90 90
         try {
91
-            responseBean = iTaShareActivityService.getList(pageNum, pageSize, buildingId, activityName, activityStatus, null, null, cityId, getOrgId(request));
91
+            responseBean = iTaShareActivityService.getList(pageNum, pageSize, buildingId, activityName, activityStatus, null, null, cityId, getOrgId(request),getTaPersonBuildingListByUserId(request));
92 92
         }catch (Exception e){
93 93
             e.printStackTrace();
94 94
             logger.error("taShareActivityList -=- {}",e.toString());
@@ -109,10 +109,12 @@ public class TaShareActivityController extends BaseController {
109 109
                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
110 110
                                             @RequestParam(value ="cityId",required = false)Integer cityId,
111 111
                                             @RequestParam(value ="buildingId",required = false)String buildingId,
112
+                                            @RequestParam(value ="name",required = false)String name,
113
+                                            @RequestParam(value ="status",required = false)Integer status,
112 114
                                             HttpServletRequest request){
113 115
         ResponseBean responseBean = new ResponseBean();
114 116
         try {
115
-            responseBean = iTaShareActivityService.getEffectiveList(pageNum, pageSize, cityId, buildingId, getOrgId(request));
117
+            responseBean = iTaShareActivityService.getEffectiveList(pageNum, pageSize, cityId, buildingId, getOrgId(request),status,name,getTaPersonBuildingListByUserId(request));
116 118
         }catch (Exception e){
117 119
             e.printStackTrace();
118 120
             logger.error("taShareActivityList -=- {}",e.toString());
@@ -138,11 +140,11 @@ public class TaShareActivityController extends BaseController {
138 140
 
139 141
             QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
140 142
             taShareActivityQueryWrapper.eq("heavy", taShareActivity.getHeavy());
141
-            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
142
-            if (heavyCount != 0){
143
-                responseBean.addError("权重已存在,请重新编辑");
144
-                return responseBean;
145
-            }
143
+//            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
144
+//            if (heavyCount != 0){
145
+//                responseBean.addError("权重已存在,请重新编辑");
146
+//                return responseBean;
147
+//            }
146 148
 
147 149
             Integer cityId = iTaBuildingService.getCityById(taShareActivity.getBuildingId());
148 150
             taShareActivity.setCityId(cityId);
@@ -203,11 +205,11 @@ public class TaShareActivityController extends BaseController {
203 205
             QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
204 206
             taShareActivityQueryWrapper.eq("heavy", taShareActivity.getHeavy());
205 207
             taShareActivityQueryWrapper.ne("group_activity_id", taShareActivity.getGroupActivityId());
206
-            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
207
-            if (heavyCount != 0){
208
-                responseBean.addError("权重已存在,请重新编辑");
209
-                return responseBean;
210
-            }
208
+//            Integer heavyCount = iTaShareActivityService.count(taShareActivityQueryWrapper);
209
+//            if (heavyCount != 0){
210
+//                responseBean.addError("权重已存在,请重新编辑");
211
+//                return responseBean;
212
+//            }
211 213
 
212 214
             if (iTaShareActivityService.updateById(taShareActivity)){
213 215
                 responseBean.addSuccess(taShareActivity);
@@ -232,6 +234,7 @@ public class TaShareActivityController extends BaseController {
232 234
         try {
233 235
 
234 236
             TaShareActivity taShareActivity = iTaShareActivityService.getById(id);
237
+//            taShareActivity.setGroupBuyPeople(iTaShareActivityService.countGroupBuyPeople(taShareActivity));
235 238
             responseBean.addSuccess(taShareActivity);
236 239
         }catch (Exception e){
237 240
             e.printStackTrace();

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaShareRecordController.java Целия файл

@@ -53,7 +53,7 @@ public class TaShareRecordController extends BaseController {
53 53
      * @return
54 54
      */
55 55
     @RequestMapping(value="/admin/taShareSuccessRecord",method= RequestMethod.GET)
56
-    public ResponseBean taShareSuccessRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+    public ResponseBean taShareSuccessRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNum,
57 57
                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58 58
                                           @RequestParam(value ="phone",required = false) String phone,
59 59
                                           @RequestParam(value ="groupStatus",required = false) Integer groupStatus,

+ 0
- 1
src/main/java/com/huiju/estateagents/controller/TdPosterTemplateController.java Целия файл

@@ -155,7 +155,6 @@ public class TdPosterTemplateController extends BaseController {
155 155
         try {
156 156
             QueryWrapper<TdPosterTemplate> queryWrapper = new QueryWrapper<>();
157 157
             queryWrapper.eq("type",type);
158
-            queryWrapper.eq("org_id",getOrgId(request));
159 158
             queryWrapper.orderByDesc("create_date");
160 159
             
161 160
             List<TdPosterTemplate> result = iTdPosterTemplateService.list(queryWrapper);

+ 115
- 4
src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java Целия файл

@@ -11,8 +11,11 @@ import com.huiju.estateagents.drainage.entity.TaDrainage;
11 11
 import com.huiju.estateagents.drainage.entity.TaDrainageRecord;
12 12
 import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
13 13
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
14
+import com.huiju.estateagents.entity.ExtendContent;
15
+import com.huiju.estateagents.service.IExtendContentService;
14 16
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
15 17
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
18
+import io.swagger.models.auth.In;
16 19
 import org.slf4j.Logger;
17 20
 import org.slf4j.LoggerFactory;
18 21
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +57,9 @@ public class TaDrainageController extends BaseController {
54 57
     @Autowired
55 58
     private ITaDrainageRecordService iTaDrainageRecordService;
56 59
 
60
+    @Autowired
61
+    public IExtendContentService iExtendContentService;
62
+
57 63
     /**
58 64
      * 分页查询列表
59 65
      * @param pageNum
@@ -65,6 +71,8 @@ public class TaDrainageController extends BaseController {
65 71
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
66 72
                                        @RequestParam(value ="drainageId",required = false) Integer drainageId,
67 73
                                        @RequestParam(value ="name",required = false) String name,
74
+                                       @RequestParam(value ="isMiniapp",required = false) Integer isMiniapp,
75
+                                       @RequestParam(value ="status",required = false) Integer status,
68 76
                                        HttpServletRequest request){
69 77
         ResponseBean responseBean = new ResponseBean();
70 78
         try {
@@ -72,6 +80,11 @@ public class TaDrainageController extends BaseController {
72 80
 		    IPage<TaDrainage> pg = new Page<>(pageNum, pageSize);
73 81
             QueryWrapper<TaDrainage> queryWrapper = new QueryWrapper<>();
74 82
             queryWrapper.eq("org_id",getOrgId(request));
83
+            queryWrapper.eq(null != isMiniapp,"is_miniapp",isMiniapp);
84
+            if (null == status){
85
+                queryWrapper.gt("status",-1);
86
+            }
87
+            queryWrapper.eq(null != status,"status",status);
75 88
             queryWrapper.eq(null != drainageId,"drainage_id",drainageId);
76 89
             queryWrapper.like(!StringUtils.isEmpty(name),"name",name);
77 90
             queryWrapper.orderByDesc("create_date");
@@ -110,6 +123,10 @@ public class TaDrainageController extends BaseController {
110 123
         try {
111 124
             taDrainage.setOrgId(getOrgId(request));
112 125
             taDrainage.setCreateDate(LocalDateTime.now());
126
+            taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
127
+            if (taDrainage.getEndDate().isAfter(LocalDateTime.now())){
128
+                taDrainage.setStatus(CommConstant.STATUS_NORMAL);
129
+            }
113 130
             if (iTaDrainageService.save(taDrainage)){
114 131
                 //添加第三方appid和secret
115 132
                 TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = new TaThirdPartyMiniappConfig();
@@ -154,11 +171,22 @@ public class TaDrainageController extends BaseController {
154 171
             // 判断是否产生业务数据
155 172
             TaDrainage drainage = iTaDrainageService.getById(id);
156 173
             if (null != drainage.getEnlistNum() && drainage.getEnlistNum().intValue() > 0) {
157
-                responseBean.addError("此H5项目已有用户提交数据,删除项目会删除全部数据,且已发布H5页面再提交内容会报错,不建议删除数据。可以点击项目名称修改截止时间为过去时间来禁用项目。");
174
+                responseBean.addError("此H5活动已有用户提交数据,删除项目会删除全部数据,不建议删除数据。可以点击下架按钮终止活动。");
175
+                return responseBean;
176
+            }
177
+
178
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
179
+            queryWrapper.eq("org_id",drainage.getOrgId());
180
+            queryWrapper.eq("content_type",CommConstant.EVENT_H5);
181
+            queryWrapper.eq("target_id",drainage.getDrainageId());
182
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
183
+            if (null != drainage.getStatus() && drainage.getStatus().equals(CommConstant.STATUS_NORMAL) && list.size() > 0){
184
+                responseBean.addError("删除项目会删除全部数据,不建议删除数据。可以点击下架按钮终止活动。");
158 185
                 return responseBean;
159 186
             }
160 187
 
161
-            if(iTaDrainageService.removeById(id)){
188
+            drainage.setStatus(-1);
189
+            if(iTaDrainageService.updateById(drainage)){
162 190
                 responseBean.addSuccess("success");
163 191
             }else {
164 192
                 responseBean.addError("fail");
@@ -183,6 +211,12 @@ public class TaDrainageController extends BaseController {
183 211
         ResponseBean responseBean = new ResponseBean();
184 212
         try {
185 213
             taDrainage.setDrainageId(id);
214
+            if (!taDrainage.getIsMiniapp()){
215
+                taDrainage.setShareImg("");
216
+                taDrainage.setH5Address("");
217
+                taDrainage.setShareTitle("");
218
+                taDrainage.setMiddleImg("");
219
+            }
186 220
             if (iTaDrainageService.updateById(taDrainage)){
187 221
                 responseBean.addSuccess(taDrainage);
188 222
             }else {
@@ -200,8 +234,85 @@ public class TaDrainageController extends BaseController {
200 234
      * 根据id查询对象
201 235
      * @param id  实体ID
202 236
      */
203
-    @RequestMapping(value="/taDrainage/{id}",method= RequestMethod.GET)
204
-    public ResponseBean taDrainageGet(@PathVariable Integer id){
237
+    @RequestMapping(value="/admin/taDrainage/{id}",method= RequestMethod.GET)
238
+    public ResponseBean taDrainageGet(@PathVariable Integer id,HttpServletRequest request){
239
+        ResponseBean responseBean = new ResponseBean();
240
+        try {
241
+            TaDrainage taDrainage = iTaDrainageService.getById(id);
242
+            QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
243
+            queryWrapper.eq("target_type",CommConstant.TARGET_TYPE_H5);
244
+            queryWrapper.eq("target_id",taDrainage.getDrainageId());
245
+            queryWrapper.eq("org_id",getOrgId(request));
246
+            TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(queryWrapper);
247
+            if (null != taThirdPartyMiniappConfig){
248
+                taDrainage.setAppid(taThirdPartyMiniappConfig.getAppid());
249
+                taDrainage.setAppSecret(taThirdPartyMiniappConfig.getAppSecret());
250
+            }
251
+            responseBean.addSuccess(taDrainage);
252
+        }catch (Exception e){
253
+            e.printStackTrace();
254
+            logger.error("taDrainageDelete -=- {}",e.toString());
255
+            responseBean.addError(e.getMessage());
256
+        }
257
+        return responseBean;
258
+    }
259
+
260
+    /**
261
+     * 更改上架下架状态
262
+     * @param id  实体ID
263
+     * @param taDrainage 实体对象
264
+     * @return
265
+     */
266
+    @RequestMapping(value="/admin/taDrainage/exchange/{id}",method= RequestMethod.PUT)
267
+    public ResponseBean exchangeDrainage(@PathVariable Integer id,
268
+                                         @RequestBody TaDrainage taDrainage){
269
+        ResponseBean responseBean = new ResponseBean();
270
+        try {
271
+            taDrainage.setDrainageId(id);
272
+            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
273
+            queryWrapper.eq("org_id",taDrainage.getOrgId());
274
+            queryWrapper.eq("content_type",CommConstant.EVENT_H5);
275
+            queryWrapper.eq("target_id",taDrainage.getDrainageId());
276
+            List<ExtendContent> list = iExtendContentService.list(queryWrapper);
277
+            if (null != taDrainage.getStatus() && taDrainage.getStatus().equals(CommConstant.STATUS_NORMAL)){
278
+                taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
279
+                //如果H5有被轮播图或开屏广告选中则轮播图和开屏广告都要下架
280
+                list.forEach(e -> {
281
+                    e.setStatus(CommConstant.STATUS_UNACCALIMED);
282
+                });
283
+            }else{
284
+                if (taDrainage.getEndDate().isBefore(LocalDateTime.now())){
285
+                    responseBean.addError("已过下架时间,无法上架");
286
+                    return responseBean;
287
+                }
288
+                taDrainage.setStatus(CommConstant.STATUS_NORMAL);
289
+                //如果H5有被轮播图或开屏广告选中则轮播图和开屏广告都要上架
290
+                list.forEach(e -> {
291
+                    e.setStatus(CommConstant.STATUS_NORMAL);
292
+                });
293
+            }
294
+            if (list.size() > 0){
295
+                iExtendContentService.updateBatchById(list);
296
+            }
297
+            if (iTaDrainageService.updateById(taDrainage)){
298
+                responseBean.addSuccess(taDrainage);
299
+            }else {
300
+                responseBean.addError("fail");
301
+            }
302
+        }catch (Exception e){
303
+            e.printStackTrace();
304
+            logger.error("taDrainageUpdate -=- {}",e.toString());
305
+            responseBean.addError(e.getMessage());
306
+        }
307
+        return responseBean;
308
+    }
309
+
310
+    /**
311
+     * 微信端获取数据
312
+     * @param id  实体ID
313
+     */
314
+    @RequestMapping(value="/wx/taDrainage/{id}",method= RequestMethod.GET)
315
+    public ResponseBean wxDrainageGet(@PathVariable Integer id){
205 316
         ResponseBean responseBean = new ResponseBean();
206 317
         try {
207 318
             responseBean.addSuccess(iTaDrainageService.getById(id));

+ 13
- 0
src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java Целия файл

@@ -61,6 +61,19 @@ public class TaDrainage implements Serializable {
61 61
      */
62 62
     private Integer enlistNum;
63 63
 
64
+    /** 是否投放小程序 */
65
+    private Boolean isMiniapp ;
66
+    /** H5活动链接 */
67
+    private String h5Address ;
68
+    /** 分享图片 */
69
+    private String shareImg ;
70
+    /** 分享标题 */
71
+    private String shareTitle ;
72
+    /** 中间页飞机图 */
73
+    private String middleImg ;
74
+    /** 状态 */
75
+    private Integer status ;
76
+
64 77
     @TableField(exist = false)
65 78
     private String appid;
66 79
     

+ 1
- 1
src/main/java/com/huiju/estateagents/drainage/mapper/TaDrainageMapper.java Целия файл

@@ -14,5 +14,5 @@ import org.apache.ibatis.annotations.Mapper;
14 14
  */
15 15
 @Mapper
16 16
 public interface TaDrainageMapper extends BaseMapper<TaDrainage> {
17
-
17
+    void updateDrainageToEnd();
18 18
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java Целия файл

@@ -12,5 +12,5 @@ import com.huiju.estateagents.drainage.entity.TaDrainage;
12 12
  * @since 2019-10-18
13 13
  */
14 14
 public interface ITaDrainageService extends IService<TaDrainage> {
15
-
15
+    void updateDrainageToEnd();
16 16
 }

+ 8
- 0
src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 4
 import com.huiju.estateagents.drainage.entity.TaDrainage;
5 5
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
6 6
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
7
+import org.springframework.beans.factory.annotation.Autowired;
7 8
 import org.springframework.stereotype.Service;
8 9
 
9 10
 /**
@@ -17,4 +18,11 @@ import org.springframework.stereotype.Service;
17 18
 @Service
18 19
 public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrainage> implements ITaDrainageService {
19 20
 
21
+    @Autowired
22
+    private TaDrainageMapper taDrainageMapper;
23
+
24
+    @Override
25
+    public void updateDrainageToEnd() {
26
+        taDrainageMapper.updateDrainageToEnd();
27
+    }
20 28
 }

+ 11
- 0
src/main/java/com/huiju/estateagents/entity/ExtendContent.java Целия файл

@@ -55,6 +55,15 @@ public class ExtendContent implements Serializable {
55 55
     @TableField(exist = false)
56 56
     private String targetName;
57 57
 
58
+    @TableField(exist = false)
59
+    private String cityName;
60
+
61
+    @TableField(exist = false)
62
+    private String buildingName;
63
+
64
+    @TableField(exist = false)
65
+    private Integer buildingStatus;
66
+
58 67
     /**
59 68
      * 图片
60 69
      */
@@ -91,4 +100,6 @@ public class ExtendContent implements Serializable {
91 100
     private String buildingId;
92 101
 
93 102
     private Integer cityId;
103
+
104
+
94 105
 }

+ 2
- 2
src/main/java/com/huiju/estateagents/entity/HelpActivity.java Целия файл

@@ -154,12 +154,12 @@ public class HelpActivity implements Serializable {
154 154
      * activityId
155 155
      */
156 156
     @TableField(exist = false)
157
-    private Integer activityId;
157
+    private String activityId;
158 158
 
159 159
     /**
160 160
      * 助力拼团2表和1
161 161
      * type(1助力,2拼团)
162 162
      */
163 163
     @TableField(exist = false)
164
-    private Integer type;
164
+    private String type;
165 165
 }

+ 56
- 0
src/main/java/com/huiju/estateagents/entity/SysSmsSetting.java Целия файл

@@ -0,0 +1,56 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+
11
+/**
12
+ * <p>
13
+ * 短信消息模板
14
+ * </p>
15
+ *
16
+ * @author jobob
17
+ * @since 2019-09-11
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class SysSmsSetting implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 序号
28
+     */
29
+    @TableId(value = "serial_no", type = IdType.AUTO)
30
+    private Integer serialNo;
31
+
32
+    /**
33
+     * 模板名称
34
+     */
35
+    private String smsName;
36
+
37
+    /**
38
+     * 模板类型
39
+     */
40
+    private String smsType;
41
+
42
+    /**
43
+     * 模板编号
44
+     */
45
+    private String tplCode;
46
+
47
+    /**
48
+     * 模板签名
49
+     */
50
+    private String tplSign;
51
+
52
+    /**
53
+     * 状态
54
+     */
55
+    private Integer status;
56
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java Целия файл

@@ -117,6 +117,11 @@ public class TaBuildingDynamic implements Serializable {
117 117
      */
118 118
     private  LocalDateTime enlistEnd;
119 119
 
120
+    /**
121
+     * 活动推首页标志
122
+     */
123
+    private Integer home;
124
+
120 125
     /**
121 126
      * 活动的当前状态1:进行中,2:未开始,3:结束
122 127
      */

+ 34
- 0
src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java Целия файл

@@ -0,0 +1,34 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+
5
+@Data
6
+public class TaConsultantInfo {
7
+    private String activityImg;
8
+
9
+    private String activityName;
10
+
11
+    private String buildingName;
12
+
13
+    private String address;
14
+
15
+    private String price;
16
+
17
+    private String eventType;
18
+
19
+    private String targetId;
20
+
21
+    private String buildingUrl;
22
+
23
+    private Integer buildingNum;
24
+
25
+    private Integer activityShareNum;
26
+
27
+    private Integer helpActivityShareNum;
28
+
29
+    private Integer groupActivityShareNum;
30
+
31
+    private Integer newsNum;
32
+
33
+    private Integer drainageShareNum;
34
+}

+ 47
- 0
src/main/java/com/huiju/estateagents/entity/TaCustomImg.java Целия файл

@@ -0,0 +1,47 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+import java.time.LocalDateTime;
11
+
12
+/**
13
+ * <p>
14
+ * 
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-12-17
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaCustomImg implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    @TableId(value = "img_id", type = IdType.AUTO)
28
+    private Integer imgId;
29
+
30
+    private String imgUrl;
31
+
32
+    private String imgType;
33
+
34
+    private String imgDesc;
35
+
36
+    private String imgDocument;
37
+
38
+    private Integer orgId;
39
+
40
+    private Integer status;
41
+
42
+    private LocalDateTime createTime;
43
+
44
+    private LocalDateTime updateTime;
45
+
46
+
47
+}

+ 8
- 0
src/main/java/com/huiju/estateagents/entity/TaMiniappTemplate.java Целия файл

@@ -54,5 +54,13 @@ public class TaMiniappTemplate implements Serializable {
54 54
      */
55 55
     private Integer fieldNum;
56 56
 
57
+    /**
58
+     * 是否订阅消息
59
+     */
60
+    private Boolean isSubscribe;
57 61
 
62
+    /**
63
+     * 模板字段列表 | 分隔
64
+     */
65
+    private String tplFields;
58 66
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java Целия файл

@@ -281,4 +281,10 @@ public class TaPerson implements Serializable {
281 281
 
282 282
     @TableField(exist = false)
283 283
     private Integer duration;
284
+
285
+    /**
286
+     * 来源类型
287
+     */
288
+    @TableField(exist = false)
289
+    private String personFrom;
284 290
 }

+ 78
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonMessageRule.java Целия файл

@@ -0,0 +1,78 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+import java.time.LocalDateTime;
11
+
12
+/**
13
+ * <p>
14
+ * 用户消息规则
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-09-04
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaPersonMessageRule implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 序号
29
+     */
30
+    @TableId(value = "serial_no", type = IdType.AUTO)
31
+    private Integer serialNo;
32
+
33
+    /**
34
+     * 人员ID
35
+     */
36
+    private String personId;
37
+
38
+    /**
39
+     * 消息类型
40
+     */
41
+    private String messageType;
42
+
43
+    /**
44
+     * 内容类型
45
+     */
46
+    private String contentType;
47
+
48
+    /**
49
+     * 限制条数
50
+     */
51
+    private Integer limitNum;
52
+
53
+    /**
54
+     * 当前使用
55
+     */
56
+    private Integer leftNum;
57
+
58
+    /**
59
+     * 上次发送时间
60
+     */
61
+    private LocalDateTime lastSendTime;
62
+
63
+    /**
64
+     * 上次消息ID
65
+     */
66
+    private String lastMessageId;
67
+
68
+    /**
69
+     * 公司id
70
+     */
71
+    private Integer orgId;
72
+
73
+    /**
74
+     * 楼盘id
75
+     */
76
+    private String buildingId;
77
+
78
+}

+ 80
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java Целия файл

@@ -76,6 +76,16 @@ public class TaPersonVisitRecord implements Serializable {
76 76
 
77 77
     private String orgId;
78 78
 
79
+    /**
80
+     * 置业顾问userId
81
+     */
82
+    private String consultantId;
83
+
84
+    /**
85
+     * 分享者personid
86
+     */
87
+    private String sharePersonId;
88
+
79 89
     @TableField(exist = false)
80 90
     private String propertyName;
81 91
     @TableField(exist = false)
@@ -90,6 +100,12 @@ public class TaPersonVisitRecord implements Serializable {
90 100
     @TableField(exist = false)
91 101
     private String userName;
92 102
 
103
+    /**
104
+     * 用户手机号
105
+     */
106
+    @TableField(exist = false)
107
+    private String userTel;
108
+
93 109
     /**
94 110
      * 事件名称
95 111
      */
@@ -114,4 +130,68 @@ public class TaPersonVisitRecord implements Serializable {
114 130
     @TableField(exist = false)
115 131
     private String activityName;
116 132
 
133
+    /**
134
+     * 资讯名称
135
+     */
136
+    @TableField(exist = false)
137
+    private String newsName;
138
+
139
+    /**
140
+     * 助力名称
141
+     */
142
+    @TableField(exist = false)
143
+    private String helpActivityName;
144
+
145
+    /**
146
+     * 拼团名称
147
+     */
148
+    @TableField(exist = false)
149
+    private String groupActivityName;
150
+
151
+    /**
152
+     * H5名称
153
+     */
154
+    @TableField(exist = false)
155
+    private String drainageName;
156
+
157
+    /**
158
+     * 分享者名称
159
+     */
160
+    @TableField(exist = false)
161
+    private String shareName;
162
+
163
+    /**
164
+     * 分享者手机
165
+     */
166
+    @TableField(exist = false)
167
+    private String shareTel;
168
+
169
+    /** 1是我的客户
170
+     */
171
+    @TableField(exist = false)
172
+    private Integer myCustomer;
173
+
174
+    /**
175
+     * 活动创建时间
176
+     */
177
+    @TableField(exist = false)
178
+    private LocalDateTime createDate;
179
+
180
+    /**
181
+     * 头像
182
+     */
183
+    @TableField(exist = false)
184
+    private String avatarurl;
185
+
186
+    /**
187
+     * 头像
188
+     */
189
+    @TableField(exist = false)
190
+    private String nickname;
191
+
192
+    /**
193
+     * 客户id
194
+     */
195
+    @TableField(exist = false)
196
+    private String customerId;
117 197
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java Целия файл

@@ -198,4 +198,10 @@ public class TaRecommendCustomer implements Serializable {
198 198
 
199 199
     @TableField(exist = false)
200 200
     private String avatarurl;
201
+
202
+    /**
203
+     * 来源类型
204
+     */
205
+    @TableField(exist = false)
206
+    private String personFrom;
201 207
 }

+ 5
- 3
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Целия файл

@@ -50,7 +50,7 @@ public class AccessInterceptor implements HandlerInterceptor {
50 50
     
51 51
     private String[] whiteList = {
52 52
             "/wx/chat", // 聊天暂时不鉴权
53
-            "/api/wx/login",
53
+            "/api/wx/",
54 54
             "/api/wx/tdCity",
55 55
             "/api/admin/signin",
56 56
             "/api/taCheckin/activity",
@@ -64,7 +64,9 @@ public class AccessInterceptor implements HandlerInterceptor {
64 64
             "/swagger-ui.html",
65 65
             "/webjars",
66 66
             "/webjars/springfox-swagger-ui",
67
-            "/webjars/springfox-swagger-ui/css/typography.css"
67
+            "/webjars/springfox-swagger-ui/css/typography.css",
68
+            "/clean/menurole",
69
+            "/clean/buttonrole"
68 70
     };
69 71
 
70 72
     /*
@@ -102,7 +104,7 @@ public class AccessInterceptor implements HandlerInterceptor {
102 104
             response.getOutputStream().write(JSONObject.toJSONBytes(resp));
103 105
             return false;
104 106
         }
105
-        
107
+
106 108
         // 白名单跳过
107 109
         if (inWhiteList(request)) {
108 110
             return true;

+ 8
- 0
src/main/java/com/huiju/estateagents/job/JudglActivityTimeJob.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.job;
3 3
 import com.huiju.estateagents.base.BaseController;
4 4
 import com.huiju.estateagents.center.sysUser.controller.SysUserController;
5 5
 import com.huiju.estateagents.common.DateUtils;
6
+import com.huiju.estateagents.drainage.service.ITaDrainageService;
6 7
 import com.huiju.estateagents.service.*;
7 8
 import org.slf4j.Logger;
8 9
 import org.slf4j.LoggerFactory;
@@ -48,6 +49,9 @@ public class JudglActivityTimeJob extends BaseController {
48 49
     @Autowired
49 50
     private IHelpRecordService iHelpRecordService;
50 51
 
52
+    @Autowired
53
+    private ITaDrainageService iTaDrainageService;
54
+
51 55
     /**
52 56
      * 开启定时任务,每天12:30执行
53 57
      */
@@ -82,6 +86,10 @@ public class JudglActivityTimeJob extends BaseController {
82 86
 
83 87
         //更新助力者和发起者数据为已结束
84 88
         iHelpInitiateRecordService.updateHelpActivityProcessToEnd();
89
+
90
+        //更新H5活动状态为已结束
91
+        iTaDrainageService.updateDrainageToEnd();
92
+
85 93
     }
86 94
 
87 95
 }

+ 3
- 2
src/main/java/com/huiju/estateagents/mapper/HelpActivityMapper.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.huiju.estateagents.entity.HelpActivity;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 7
 import org.apache.ibatis.annotations.Mapper;
7 8
 import org.apache.ibatis.annotations.Param;
8 9
 
@@ -31,7 +32,7 @@ public interface HelpActivityMapper extends BaseMapper<HelpActivity> {
31 32
      * @param orgId
32 33
      * @return
33 34
      */
34
-    IPage<HelpActivity> helpActivityListPage(IPage<HelpActivity> pg, @Param("cityId")Integer cityId, @Param("buildingId")String buildingId, @Param("title")String title, @Param("startDate")String startDate, @Param("endDate") String endDate, @Param("activityStatus")Integer activityStatus, @Param("orgId")Integer orgId);
35
+    IPage<HelpActivity> helpActivityListPage(IPage<HelpActivity> pg, @Param("cityId")Integer cityId, @Param("buildingId")String buildingId, @Param("title")String title, @Param("startDate")String startDate, @Param("endDate") String endDate, @Param("activityStatus")Integer activityStatus, @Param("orgId")Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
35 36
 
36 37
     void updateActivityToUnStart();
37 38
 
@@ -54,5 +55,5 @@ public interface HelpActivityMapper extends BaseMapper<HelpActivity> {
54 55
      * @param orgId
55 56
      * @return
56 57
      */
57
-    IPage<HelpActivity> helpActivityListEffectivePage(IPage<HelpActivity> pg, Integer cityId, Integer orgId, String buildingId);
58
+    IPage<HelpActivity> helpActivityListEffectivePage(IPage<HelpActivity> pg, Integer cityId, Integer orgId, String buildingId,Integer status,String name,List<TaPersonBuilding> personBuildingList);
58 59
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/mapper/SysSmsSettingMapper.java Целия файл

@@ -0,0 +1,19 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import com.huiju.estateagents.entity.SysSmsSetting;
6
+import org.apache.ibatis.annotations.Mapper;
7
+
8
+/**
9
+ * <p>
10
+ * 项目参数配置表  Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-08-01
15
+ */
16
+@Mapper
17
+public interface SysSmsSettingMapper extends BaseMapper<SysSmsSetting> {
18
+
19
+}

+ 5
- 1
src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.entity.TaBuildingDynamic;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 8
 import org.apache.ibatis.annotations.Mapper;
8 9
 import org.apache.ibatis.annotations.Param;
9 10
 import org.apache.ibatis.annotations.Update;
@@ -26,9 +27,10 @@ public interface TaBuildingDynamicMapper extends BaseMapper<TaBuildingDynamic> {
26 27
     /**
27 28
      * 会员列列表
28 29
      * @param page
30
+     * @param selected
29 31
      * @return
30 32
      */
31
-    IPage<TaBuildingDynamic> buildingDynamicList(Page page, @Param("name") String name, @Param("buildingId") String buildingId,@Param("cityId") Integer cityId,@Param("isEnlist") String isEnlist,@Param("time")LocalDateTime time,@Param("title") String title,@Param("orgId") Integer orgId);
33
+    IPage<TaBuildingDynamic> buildingDynamicList(Page page, @Param("name") String name, @Param("buildingId") String buildingId, @Param("cityId") Integer cityId, @Param("isEnlist") String isEnlist, @Param("time") LocalDateTime time, @Param("title") String title, @Param("orgId") Integer orgId, @Param("activityStatus") String activityStatus,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
32 34
 
33 35
     /**
34 36
      * 详情
@@ -86,4 +88,6 @@ public interface TaBuildingDynamicMapper extends BaseMapper<TaBuildingDynamic> {
86 88
      * 更新结束的活动
87 89
      */
88 90
     void updateProcessingActivity();
91
+
92
+    IPage<TaBuildingDynamic> iBuildingDynamicSelectedList(Page<TaBuildingDynamic> page, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus,List<TaPersonBuilding> personBuildingList);
89 93
 }

+ 4
- 4
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java Целия файл

@@ -1,12 +1,11 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 4
 import com.huiju.estateagents.entity.TaBuilding;
6 5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 7
 import org.apache.ibatis.annotations.Mapper;
8 8
 import org.apache.ibatis.annotations.Param;
9
-import org.apache.ibatis.annotations.Select;
10 9
 import org.apache.ibatis.annotations.Update;
11 10
 
12 11
 import java.time.LocalDateTime;
@@ -28,14 +27,15 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
28 27
      * @param page
29 28
      * @return
30 29
      */
31
-    List<TaBuilding> buildingList(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain, @Param("orgId") Integer orgId);
30
+    List<TaBuilding> buildingList(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain, @Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
32 31
 
33 32
     /**
34 33
      * 楼盘列表
35 34
      * @param page
35
+     * @param
36 36
      * @return
37 37
      */
38
-    List<TaBuilding> buildingListSelect(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain,@Param("orgId") Integer orgId);
38
+    List<TaBuilding> buildingListSelect(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code") String code, @Param("startDate") LocalDateTime startDate, @Param("buildingStatus") String buildingStatus, @Param("marketStatus") String marketStatus, @Param("cityId") Integer cityId, @Param("isMain") Integer isMain, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
39 39
 
40 40
 
41 41
     @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TaCustomImgMapper.java Целия файл

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

+ 7
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java Целия файл

@@ -5,6 +5,7 @@ import com.huiju.estateagents.entity.TaChannel;
5 5
 import com.huiju.estateagents.entity.TaPerson;
6 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7 7
 import com.huiju.estateagents.po.PersonPO;
8
+import io.swagger.models.auth.In;
8 9
 import org.apache.ibatis.annotations.*;
9 10
 
10 11
 import java.io.Serializable;
@@ -196,4 +197,10 @@ public interface TaPersonMapper extends BaseMapper<TaPerson> {
196 197
 
197 198
     //更新city拼音为cityId
198 199
     void upDatePersonCityToId (@Param("personId")String personId);
200
+
201
+    /**
202
+     * 判断置业顾问绑定状态
203
+     * @return
204
+     */
205
+    Integer judgeBindStatusByCondition(@Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("phone") String phone);
199 206
 }

+ 28
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMessageRuleMapper.java Целия файл

@@ -0,0 +1,28 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaPersonMessageRule;
5
+import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
7
+
8
+/**
9
+ * <p>
10
+ *  Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-11-13
15
+ */
16
+@Mapper
17
+public interface TaPersonMessageRuleMapper extends BaseMapper<TaPersonMessageRule> {
18
+
19
+    /**
20
+     * 依据人员ID, 消息类型, 内容类型, 等获取人员消息规则
21
+     * @param personId
22
+     * @param messageType
23
+     * @param contentType
24
+     * @param orgId
25
+     * @return
26
+     */
27
+    TaPersonMessageRule getByPersonAndType(@Param("personId") String personId, @Param("messageType") String messageType, @Param("contentType") String contentType, @Param("orgId") Integer orgId);
28
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java Целия файл

@@ -3,7 +3,9 @@ package com.huiju.estateagents.mapper;
3 3
 
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.huiju.estateagents.entity.TaConsultantInfo;
6 7
 import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8 10
 import org.apache.ibatis.annotations.Mapper;
9 11
 import org.apache.ibatis.annotations.Param;
@@ -63,4 +65,22 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
63 65
      * @return
64 66
      */
65 67
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg,@Param("personId") String personId);
68
+
69
+    /**
70
+     * 获取引流信息访问记录
71
+     * @param pg
72
+     * @param orgId
73
+     * @return
74
+     */
75
+	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, @Param("orgId") Integer orgId, @Param("activityName") String activityName, @Param("eventType") String eventType, @Param("shareName") String shareName, @Param("shareTel") String shareTel, @Param("buildingId") String buildingId, @Param("personType") String personType, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
76
+
77
+    IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType,@Param("personId") String personId);
78
+
79
+    IPage<TaPersonVisitRecord> getWxActivityVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("targetId") String targetId,@Param("personId") String personId, @Param("eventType")String eventType);
80
+
81
+    IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
82
+
83
+    IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId);
84
+
85
+    Integer countShareNumByEventType(@Param("targetId") String targetId, @Param("orgId")Integer orgId, @Param("userId")Integer userId, @Param("eventType")String eventType);
66 86
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/mapper/TaPointsExchangeMapper.java Целия файл

@@ -2,6 +2,7 @@ package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.huiju.estateagents.entity.TaPersonBuilding;
5 6
 import com.huiju.estateagents.entity.TaPointsExchange;
6 7
 import org.apache.ibatis.annotations.Mapper;
7 8
 import org.apache.ibatis.annotations.Param;
@@ -19,5 +20,5 @@ import java.util.List;
19 20
 @Mapper
20 21
 public interface TaPointsExchangeMapper extends BaseMapper<TaPointsExchange> {
21 22
 	
22
-	List<TaPointsExchange> selectListByParams(Page page,@Param("taPointsExchange") TaPointsExchange taPointsExchange);
23
+	List<TaPointsExchange> selectListByParams(Page page,@Param("taPointsExchange") TaPointsExchange taPointsExchange, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
23 24
 }

+ 12
- 11
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.mapper;
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.huiju.estateagents.entity.PersonIntention;
5 5
 import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 7
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7 8
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8 9
 import com.huiju.estateagents.excel.*;
@@ -32,9 +33,9 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
32 33
 
33 34
     TaRecommendCustomer getCustomerById(@Param("customerId")String customerId);
34 35
 
35
-    IPage<TaRecommendCustomer> getCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status);
36
-    IPage<TaRecommendCustomer> getRecCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId);
37
-    IPage<TaRecommendCustomer> getRepCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId);
36
+    IPage<TaRecommendCustomer> getCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
37
+    IPage<TaRecommendCustomer> getRecCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
38
+    IPage<TaRecommendCustomer> getRepCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
38 39
     IPage<TaPerson> getIndependentAgents(IPage<TaPerson>page, @Param("name") String name, @Param("tel") String tel, @Param("orgId") Integer orgId);
39 40
 
40 41
     /**
@@ -54,28 +55,28 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
54 55
      * @param orgId
55 56
      * @return
56 57
      */
57
-    List<ExcelRecommendCustomer> getRecCustomerExport(@Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize);
58
+    List<ExcelRecommendCustomer> getRecCustomerExport(@Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
58 59
 
59 60
     /**
60 61
      * 导出数据 获取推荐用户数据 总数
61 62
      * @param orgId
62 63
      * @return
63 64
      */
64
-    Integer getRecCustomerExportCount(@Param("orgId") Integer orgId);
65
+    Integer getRecCustomerExportCount(@Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
65 66
 
66 67
     /**
67 68
      * 导出数据 获取报备客户数据 总数
68 69
      * @param orgId
69 70
      * @return
70 71
      */
71
-    Integer getRepCustomerReportCount(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex,@Param("orgId")Integer orgId);
72
+    Integer getRepCustomerReportCount(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex,@Param("orgId")Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
72 73
 
73 74
     /**
74 75
      * 导出数据 获取报备客户数据
75 76
      * @param orgId
76 77
      * @return
77 78
      */
78
-    List<ReporRecommendCustomer> getRepCustomerReportExport(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize);
79
+    List<ReporRecommendCustomer> getRepCustomerReportExport(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
79 80
 
80 81
     /**
81 82
      * 导出数据 获取经纪人数据 总数
@@ -133,7 +134,7 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
133 134
      * @param status
134 135
      * @return
135 136
      */
136
-    Integer getCustomerExportListCount(@Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status);
137
+    Integer getCustomerExportListCount(@Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
137 138
 
138 139
     /**
139 140
      * 导出数据 私客
@@ -151,7 +152,7 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
151 152
      * @param status
152 153
      * @return
153 154
      */
154
-    List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status);
155
+    List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
155 156
     
156 157
     /**
157 158
      * 获取我的客户的人数统计
@@ -186,7 +187,7 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
186 187
      */
187 188
     TaRecommendCustomer getMyCustDetailById(String customerId);
188 189
 
189
-    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId);
190
+    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
190 191
 
191
-    IPage<TaRecommendCustomer>getCustomersIRecommended(IPage<TaRecommendCustomer> page,@Param("customerId")String customerId,@Param("status")Integer status,@Param("orgId") Integer orgId);
192
+    IPage<TaRecommendCustomer>getCustomersIRecommended(IPage<TaRecommendCustomer> page,@Param("customerId")String customerId,@Param("status")Integer status,@Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
192 193
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/service/IExtendContentService.java Целия файл

@@ -45,4 +45,8 @@ public interface IExtendContentService extends IService<ExtendContent> {
45 45
      * @param type
46 46
      */
47 47
     void updateActivity(String dynamicId, String type,Integer orgId);
48
+
49
+    boolean judgleRelationBuildAndActivity(ExtendContent extendContent);
50
+
51
+    boolean advertistExistFlag(ExtendContent extendContent, Integer orgId);
48 52
 }

+ 5
- 3
src/main/java/com/huiju/estateagents/service/IHelpActivityService.java Целия файл

@@ -3,6 +3,8 @@ package com.huiju.estateagents.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.entity.HelpActivity;
6
+import com.huiju.estateagents.entity.TaPerson;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 8
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
7 9
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
8 10
 import com.huiju.estateagents.excel.HelpRecordExport;
@@ -32,7 +34,7 @@ public interface IHelpActivityService extends IService<HelpActivity> {
32 34
      * @param orgId
33 35
      * @return
34 36
      */
35
-    ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId);
37
+    ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId,List<TaPersonBuilding> personBuildingList);
36 38
 
37 39
     /**
38 40
      * 活动助力添加
@@ -135,7 +137,7 @@ public interface IHelpActivityService extends IService<HelpActivity> {
135 137
      * @param orgId
136 138
      * @return
137 139
      */
138
-    ResponseBean wxhelpActivityAndGroup(Integer orgId,String buildingId,String cityID);
140
+    ResponseBean wxhelpActivityAndGroup(Integer orgId, String buildingId, String cityID, TaPerson person);
139 141
 
140 142
     /**
141 143
      * 列表  已开始 和 未开始
@@ -145,5 +147,5 @@ public interface IHelpActivityService extends IService<HelpActivity> {
145 147
      * @param orgId
146 148
      * @return
147 149
      */
148
-    ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId);
150
+    ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId,Integer status,String name,List<TaPersonBuilding> personBuildingList);
149 151
 }

+ 5
- 4
src/main/java/com/huiju/estateagents/service/IMiniAppService.java Целия файл

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.entity.TaMiniapp;
10 10
 import com.huiju.estateagents.entity.TaMiniappQrcode;
11
+import com.huiju.estateagents.entity.TaMiniappTemplate;
11 12
 import com.huiju.estateagents.entity.TaPerson;
12 13
 import me.chanjar.weixin.common.error.WxErrorException;
13 14
 
@@ -29,10 +30,6 @@ public interface IMiniAppService {
29 30
     
30 31
     void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
31 32
 
32
-    void sendMainBizMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName, String bizType, String content);
33
-
34
-    void sendNewCustomerMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName);
35
-
36 33
     ResponseBean getQrCode(String paramsStr, String appid);
37 34
 
38 35
     String createQrCode(WxMaService service, String path) throws Exception;
@@ -40,4 +37,8 @@ public interface IMiniAppService {
40 37
     TaMiniappQrcode getQrCodeBySerialNo(Integer id);
41 38
 
42 39
     List<TaMiniapp> getAllAvaliableMiniapps();
40
+
41
+    TaMiniappTemplate getTplByType(String type, String appid);
42
+
43
+    List<TaMiniappTemplate> getTpls(String appid);
43 44
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ISysOrgParamsService.java Целия файл

@@ -13,5 +13,7 @@ import com.huiju.estateagents.entity.SysOrgParams;
13 13
  * @since 2019-08-01
14 14
  */
15 15
 public interface ISysOrgParamsService extends IService<SysOrgParams> {
16
+    SysOrgParams getParamByCode(String paramCode, Integer orgId);
16 17
 
18
+    boolean importParamsFromTemplate(Integer orgId);
17 19
 }

+ 5
- 5
src/main/java/com/huiju/estateagents/service/ISysProjectParamsService.java Целия файл

@@ -7,11 +7,11 @@ import com.huiju.estateagents.entity.SysProjectParams;
7 7
 /**
8 8
  * <p>
9 9
  * 项目参数配置表  服务类
10
- * </p>
11
- *
12
- * @author jobob
13
- * @since 2019-08-01
14
- */
10
+         * </p>
11
+        *
12
+        * @author jobob
13
+        * @since 2019-08-01
14
+        */
15 15
 public interface ISysProjectParamsService extends IService<SysProjectParams> {
16 16
 
17 17
 }

+ 17
- 0
src/main/java/com/huiju/estateagents/service/ISysSmsSettingService.java Целия файл

@@ -0,0 +1,17 @@
1
+package com.huiju.estateagents.service;
2
+
3
+
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.entity.SysSmsSetting;
6
+
7
+/**
8
+ * <p>
9
+ * 短信消息配置表  服务类
10
+         * </p>
11
+        *
12
+        * @author jobob
13
+        * @since 2019-08-01
14
+        */
15
+public interface ISysSmsSettingService extends IService<SysSmsSetting> {
16
+
17
+}

+ 18
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java Целия файл

@@ -7,6 +7,7 @@ import com.huiju.estateagents.base.ResponseBean;
7 7
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
8 8
 import com.huiju.estateagents.entity.TaBuildingDynamic;
9 9
 import com.huiju.estateagents.entity.TaPerson;
10
+import com.huiju.estateagents.entity.TaPersonBuilding;
10 11
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
11 12
 
12 13
 import java.time.LocalDateTime;
@@ -27,7 +28,7 @@ public interface ITaBuildingDynamicService extends IService<TaBuildingDynamic> {
27 28
      * 项目动态管理列表
28 29
      * @return
29 30
      */
30
-    ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title,Integer orgId);
31
+    ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title,Integer orgId,String activityStatus,List<TaPersonBuilding> personBuildingList);
31 32
 
32 33
     /**
33 34
      * 项目详情
@@ -123,4 +124,20 @@ public interface ITaBuildingDynamicService extends IService<TaBuildingDynamic> {
123 124
      * @return
124 125
      */
125 126
     List<HelpInitiateRecordSucceed> getTaActivityDynamicEnlistExport(int i, Integer pageSize, String dynamicId, String isCheckin, String name, String phone,Integer orgId);
127
+
128
+    /**
129
+     * 下拉选框数据
130
+     * @param pageNum
131
+     * @param pageSize
132
+     * @param name
133
+     * @param buildingId
134
+     * @param cityId
135
+     * @param isEnlist
136
+     * @param time
137
+     * @param title
138
+     * @param orgId
139
+     * @param activityStatus
140
+     * @return
141
+     */
142
+    ResponseBean iBuildingDynamicSelectedList(Integer pageNum, Integer pageSize, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus,List<TaPersonBuilding> personBuildingList);
126 143
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/service/ITaBuildingIntentionService.java Целия файл

@@ -24,4 +24,11 @@ public interface ITaBuildingIntentionService extends IService<TaBuildingIntentio
24 24
      * @return
25 25
      */
26 26
     ResponseBean taBuildingIntentionAddOrUpdate(List<TdBizEvent> tdBizEventsList, String buildingId, Integer orgId);
27
+
28
+    /**
29
+     * 保存楼盘默认值
30
+     * @param orgId
31
+     * @param buildingId
32
+     */
33
+    void saveDefaultIntention(Integer orgId, String buildingId);
27 34
 }

+ 3
- 2
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.service;
3 3
 import com.huiju.estateagents.base.ResponseBean;
4 4
 import com.huiju.estateagents.entity.TaBuilding;
5 5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 7
 
7 8
 import java.time.LocalDateTime;
8 9
 import java.util.List;
@@ -23,7 +24,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
23 24
      * @param pageSize
24 25
      * @return
25 26
      */
26
-    ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId);
27
+    ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
27 28
 
28 29
     /**
29 30
      * 楼盘列表
@@ -31,7 +32,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
31 32
      * @param pageSize
32 33
      * @return
33 34
      */
34
-    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId);
35
+    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
35 36
 
36 37
     /**
37 38
      * 楼盘详情

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITaCustomImgService.java Целия файл

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.entity.TaCustomImg;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-12-17
13
+ */
14
+public interface ITaCustomImgService extends IService<TaCustomImg> {
15
+    boolean countCustomImg(TaCustomImg taCustomImg, Integer orgId);
16
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaMiniappTemplateService.java Целия файл

@@ -12,5 +12,5 @@ import com.huiju.estateagents.entity.TaMiniappTemplate;
12 12
  * @since 2019-09-11
13 13
  */
14 14
 public interface ITaMiniappTemplateService extends IService<TaMiniappTemplate> {
15
-
15
+    TaMiniappTemplate getTplByType(String type, String appid);
16 16
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/service/ITaNewsService.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.entity.TaNews;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 8
 
8 9
 import java.util.List;
9 10
 
@@ -26,7 +27,7 @@ public interface ITaNewsService extends IService<TaNews> {
26 27
      * @param newsTypeId
27 28
      * @return
28 29
      */
29
-    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus,String title);
30
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus,String title, Integer cityId,List<TaPersonBuilding> personBuildingList);
30 31
 
31 32
     /**
32 33
      * 根据Id查询资讯数据

+ 4
- 1
src/main/java/com/huiju/estateagents/service/ITaNewsTypeService.java Целия файл

@@ -3,6 +3,9 @@ package com.huiju.estateagents.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.entity.TaNewsType;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
+
8
+import java.util.List;
6 9
 
7 10
 /**
8 11
  * <p>
@@ -22,7 +25,7 @@ public interface ITaNewsTypeService extends IService<TaNewsType> {
22 25
      * @param orgId
23 26
      * @return
24 27
      */
25
-    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId);
28
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList);
26 29
 
27 30
     /**
28 31
      * 根据Id查询资讯类型数据

+ 35
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonMessageRuleService.java Целия файл

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.entity.TaPersonMessageRule;
5
+import org.apache.ibatis.annotations.Param;
6
+
7
+/**
8
+ * <p>
9
+ * 人员消息规则 服务类
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-05-10
14
+ */
15
+public interface ITaPersonMessageRuleService extends IService<TaPersonMessageRule> {
16
+    /**
17
+     * 依据 人员ID, 消息类型等查询人员消息规则
18
+     * @param personId
19
+     * @param messageType
20
+     * @param contentType
21
+     * @param orgId
22
+     * @return
23
+     */
24
+    TaPersonMessageRule getByPersonAndType(String personId, String messageType, String contentType, Integer orgId);
25
+
26
+    /**
27
+     * 依据 人员ID, 消息类型等更新或者插入人员消息规则
28
+     * @param personId
29
+     * @param messageType
30
+     * @param contentType
31
+     * @param orgId
32
+     * @return
33
+     */
34
+    TaPersonMessageRule saveOrUpdateByPersonAndMessage(String personId, String messageType, String contentType, Integer orgId);
35
+}

+ 9
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonService.java Целия файл

@@ -90,4 +90,13 @@ public interface ITaPersonService extends IService<TaPerson> {
90 90
 
91 91
     //更新city拼音为cityId
92 92
     void upDatePersonCityToId (String personId);
93
+
94
+    Integer judgeBindStatusByCondition(Integer userId, Integer orgId, String phone);
95
+
96
+    /**
97
+     * 第三方获取人员信息接口
98
+     * @param personId
99
+     * @return
100
+     */
101
+    ResponseBean ThirdUserInfo(String personId);
93 102
 }

+ 39
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java Целия файл

@@ -3,8 +3,13 @@ package com.huiju.estateagents.service;
3 3
 
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaConsultantInfo;
6 7
 import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
10
+import io.swagger.models.auth.In;
11
+
12
+import java.util.List;
8 13
 
9 14
 /**
10 15
  * <p>
@@ -22,6 +27,40 @@ public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecor
22 27
 	 * @return
23 28
 	 */
24 29
 	IPage<TaPersonVisitRecord> getPersonVisitRecordList(IPage<TaPersonVisitRecord> pg, String customerId);
30
+
31
+	/**
32
+	 * 分页获取个人中心访客记录
33
+	 * @param pg
34
+	 * @param userId
35
+	 * @param orgId
36
+	 * @return
37
+	 */
38
+	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId);
39
+
40
+	/**
41
+	 * 分页获取个人中心所有访客记录
42
+	 * @param pg
43
+	 * @param userId
44
+	 * @param orgId
45
+	 * @return
46
+	 */
47
+	IPage<TaPersonVisitRecord> getWxActivityVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId, String eventType);
48
+
49
+	/**
50
+	 * 获取这个人的活动数据列表
51
+	 * @param userId
52
+	 * @param personId
53
+	 * @param orgId
54
+	 * @return
55
+	 */
56
+	IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, Integer userId, String personId, Integer orgId);
57
+
25 58
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
26 59
 //    TaPerson customerInfo(String personId);
60
+
61
+	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, String eventType, String shareName, String shareTel, String buildingId, String personType, List<TaPersonBuilding> taPersonBuildingList);
62
+
63
+	IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, Integer userId, Integer orgId);
64
+
65
+	Integer countShareNumByEventType(String targetId, Integer orgId, Integer userId, String eventType);
27 66
 }

+ 4
- 1
src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java Целия файл

@@ -3,8 +3,11 @@ package com.huiju.estateagents.service;
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 7
 import com.huiju.estateagents.entity.TaPointsExchange;
7 8
 
9
+import java.util.List;
10
+
8 11
 /**
9 12
  * <p>
10 13
  * 积分兑换记录  服务类
@@ -15,5 +18,5 @@ import com.huiju.estateagents.entity.TaPointsExchange;
15 18
  */
16 19
 public interface ITaPointsExchangeService extends IService<TaPointsExchange> {
17 20
 	
18
-	ResponseBean selectList(Integer pageNum, Integer pageSize, TaPointsExchange taPointsExchange);
21
+	ResponseBean selectList(Integer pageNum, Integer pageSize, TaPointsExchange taPointsExchange, List<TaPersonBuilding> taPersonBuildingList);
19 22
 }

+ 22
- 10
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.service;
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 7
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7 8
 import com.baomidou.mybatisplus.extension.service.IService;
8 9
 import com.huiju.estateagents.excel.AgentsRecommendCustomer;
@@ -34,22 +35,22 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
34 35
 
35 36
     IPage<TaRecommendCustomer> getUnSignedCustomerList(int pageNumber, int pageSize, String building,String personId);
36 37
 
37
-    IPage getCustomerList(Integer status,int pageNumber, int pageSize, String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, String customerType, Integer orgId);
38
+    IPage getCustomerList(Integer status,int pageNumber, int pageSize, String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, String customerType, Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
38 39
 
39
-    IPage<TaRecommendCustomer> getRecCustomerList(int pageNumber, int pageSize, String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, Integer orgId);
40
+    IPage<TaRecommendCustomer> getRecCustomerList(int pageNumber, int pageSize, String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
40 41
 
41
-    IPage<TaRecommendCustomer> getRepCustomerList(int pageNumber, int pageSize,String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, Integer orgId);
42
+    IPage<TaRecommendCustomer> getRepCustomerList(int pageNumber, int pageSize,String building,String name,String tel,String consultName,String consultTel,String entryType,String verifyStatus,Integer sex, Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
42 43
 
43 44
     IPage<TaPerson> getIndependentAgents(int pageNumber, int pageSize,String name,String tel, Integer orgId);
44 45
 
45 46
 
46
-    TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize);
47
+    TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList);
47 48
 
48
-    TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize);
49
+    TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList);
49 50
 
50 51
     TaRecommendCustomer getCustomerById(String customerId);
51 52
 
52
-    IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);
53
+    IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
53 54
 
54 55
     TaRecommendCustomer newByPerson(TaPerson person);
55 56
 
@@ -58,21 +59,21 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
58 59
      * @param orgId
59 60
      * @return
60 61
      */
61
-    List<ExcelRecommendCustomer> getRecCustomerExport(Integer orgId, Integer pageCode, Integer pageSize);
62
+    List<ExcelRecommendCustomer> getRecCustomerExport(Integer orgId, Integer pageCode, Integer pageSize,List<TaPersonBuilding> taPersonBuildingList);
62 63
 
63 64
     /**
64 65
      * 导出数据(推荐客户) 总数
65 66
      * @param orgId
66 67
      * @return
67 68
      */
68
-    Integer getRecCustomerExportCount(Integer orgId);
69
+    Integer getRecCustomerExportCount(Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
69 70
 
70 71
     /**
71 72
      * 导出数据(报备客户) 总数
72 73
      * @param orgId
73 74
      * @return
74 75
      */
75
-    Integer getRepCustomerReportCount(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex, Integer orgId);
76
+    Integer getRepCustomerReportCount(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex, Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
76 77
 
77 78
     /**
78 79
      * 导出数据(报备客户)
@@ -81,7 +82,7 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
81 82
      * @param pageSize
82 83
      * @return
83 84
      */
84
-    List<ReporRecommendCustomer> getRepCustomerReportExport(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex, Integer orgId, Integer pageCode, Integer pageSize);
85
+    List<ReporRecommendCustomer> getRepCustomerReportExport(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex, Integer orgId, Integer pageCode, Integer pageSize,List<TaPersonBuilding> taPersonBuildingList);
85 86
 
86 87
     /**
87 88
      * 导出数据(经纪人) 总数
@@ -137,4 +138,15 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
137 138
      * @return
138 139
      */
139 140
     ResponseBean updateMyCust(TaRecommendCustomer taRecommendCustomer, String openid);
141
+
142
+    /**
143
+     * 查询置业顾问的 归属客户
144
+     * @param openid
145
+     * @param keywords
146
+     * @param pageNumber
147
+     * @param pageSize
148
+     * @return
149
+     */
150
+    ResponseBean getAdminMyCustList(String openid, String keywords, int pageNumber, int pageSize);
151
+
140 152
 }

+ 5
- 2
src/main/java/com/huiju/estateagents/service/ITaShareActivityService.java Целия файл

@@ -2,6 +2,7 @@ package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaPersonBuilding;
5 6
 import com.huiju.estateagents.entity.TaShareActivity;
6 7
 
7 8
 import java.time.LocalDateTime;
@@ -17,7 +18,7 @@ import java.util.List;
17 18
  */
18 19
 public interface ITaShareActivityService extends IService<TaShareActivity> {
19 20
 
20
-    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, String activityName, String status, LocalDateTime startTime, LocalDateTime endTime, Integer cityId, Integer orgId);
21
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, String activityName, String status, LocalDateTime startTime, LocalDateTime endTime, Integer cityId, Integer orgId,List<TaPersonBuilding> personBuildingList);
21 22
 
22 23
     /**
23 24
      * 判断活动是否开始
@@ -42,5 +43,7 @@ public interface ITaShareActivityService extends IService<TaShareActivity> {
42 43
      * @param orgId
43 44
      * @return
44 45
      */
45
-    ResponseBean getEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, Integer orgId);
46
+    ResponseBean getEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, Integer orgId,Integer status,String name,List<TaPersonBuilding> personBuildingList);
47
+
48
+    Integer countGroupBuyPeople(TaShareActivity taShareActivity);
46 49
 }

+ 113
- 2
src/main/java/com/huiju/estateagents/service/impl/ExtendContentServiceImpl.java Целия файл

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.common.CommConstant;
7
-import com.huiju.estateagents.entity.ExtendContent;
8
-import com.huiju.estateagents.mapper.ExtendContentMapper;
7
+import com.huiju.estateagents.drainage.entity.TaDrainage;
8
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
9
+import com.huiju.estateagents.entity.*;
10
+import com.huiju.estateagents.mapper.*;
9 11
 import com.huiju.estateagents.service.IExtendContentService;
12
+import io.jsonwebtoken.lang.Collections;
10 13
 import org.apache.commons.lang3.StringUtils;
11 14
 import org.springframework.beans.factory.annotation.Autowired;
12 15
 import org.springframework.stereotype.Service;
@@ -26,9 +29,25 @@ public class ExtendContentServiceImpl extends ServiceImpl<ExtendContentMapper, E
26 29
 
27 30
     @Autowired
28 31
     private ExtendContentMapper extendContentMapper;
32
+    @Autowired
33
+    private TaBuildingMapper taBuildingMapper;
34
+    @Autowired
35
+    private TaBuildingDynamicMapper taBuildingDynamicMapper;
36
+    @Autowired
37
+    private TaNewsMapper taNewsMapper;
38
+    @Autowired
39
+    private HelpActivityMapper helpActivityMapper;
40
+    @Autowired
41
+    private TaShareActivityMapper taShareActivityMapper;
42
+    @Autowired
43
+    private TaDrainageMapper taDrainageMapper;
44
+
29 45
     @Override
30 46
     public ResponseBean extendContentAdd(ExtendContent extendContent) {
31 47
         ResponseBean responseBean= new ResponseBean<>();
48
+        if (extendContent.getStatus() == null){
49
+            extendContent.setStatus(0);
50
+        }
32 51
         extendContentMapper.insert(extendContent);
33 52
         responseBean.addSuccess("成功");
34 53
         return  responseBean;
@@ -84,4 +103,96 @@ public class ExtendContentServiceImpl extends ServiceImpl<ExtendContentMapper, E
84 103
             extendContentMapper.updateById(extendContent);
85 104
         }
86 105
     }
106
+
107
+    @Override
108
+    public boolean judgleRelationBuildAndActivity(ExtendContent extendContent) {
109
+        //判断已关联的项目或者活动是否取消发布
110
+        if (StringUtils.isNotEmpty(extendContent.getBuildingId())){
111
+            QueryWrapper<TaBuilding> taBuildingQueryWrapper = new QueryWrapper<>();
112
+            taBuildingQueryWrapper.eq("building_id", extendContent.getBuildingId());
113
+            TaBuilding taBuilding = taBuildingMapper.selectOne(taBuildingQueryWrapper);
114
+            if (taBuilding.getStatus() == 0){
115
+                return false;
116
+            }
117
+        }
118
+
119
+        if (CommConstant.CAROUSEL_ACTIVITY.equals(extendContent.getContentType())
120
+                && StringUtils.isNotEmpty(extendContent.getTargetId())){
121
+            QueryWrapper<TaBuildingDynamic> taBuildingDynamicQueryWrapper = new QueryWrapper<>();
122
+            taBuildingDynamicQueryWrapper.eq("dynamic_id", extendContent.getTargetId());
123
+            TaBuildingDynamic taBuildingDynamic = taBuildingDynamicMapper.selectOne(taBuildingDynamicQueryWrapper);
124
+            if (taBuildingDynamic.getStatus() == 0){
125
+                return false;
126
+            }
127
+        }
128
+
129
+        if (CommConstant.CAROUSEL_NEWS.equals(extendContent.getContentType())
130
+                && StringUtils.isNotEmpty(extendContent.getTargetId())){
131
+            QueryWrapper<TaNews> taNewsQueryWrapper = new QueryWrapper<>();
132
+            taNewsQueryWrapper.eq("news_id", extendContent.getTargetId());
133
+            TaNews taNews = taNewsMapper.selectOne(taNewsQueryWrapper);
134
+            if (taNews.getNewsStatus() == 1){
135
+                return false;
136
+            }
137
+        }
138
+
139
+        if (CommConstant.POINTS_CHANGE_HELP.equals(extendContent.getContentType())
140
+                && StringUtils.isNotEmpty(extendContent.getTargetId())){
141
+            QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
142
+            helpActivityQueryWrapper.eq("help_activity_id", extendContent.getTargetId());
143
+            HelpActivity helpActivity = helpActivityMapper.selectOne(helpActivityQueryWrapper);
144
+            if (helpActivity.getStatus() == -1){
145
+                return false;
146
+            }
147
+        }
148
+
149
+        if (CommConstant.POINTS_CHANGE_GROUP.equals(extendContent.getContentType())
150
+                && StringUtils.isNotEmpty(extendContent.getTargetId())){
151
+            QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
152
+            taShareActivityQueryWrapper.eq("group_activity_id", extendContent.getTargetId());
153
+            TaShareActivity taShareActivity = taShareActivityMapper.selectOne(taShareActivityQueryWrapper);
154
+            if (taShareActivity.getStatus() == -1){
155
+                return false;
156
+            }
157
+        }
158
+
159
+        if (CommConstant.TARGET_TYPE_H5.equals(extendContent.getContentType())
160
+                && StringUtils.isNotEmpty(extendContent.getTargetId())){
161
+            QueryWrapper<TaDrainage> taDrainageQueryWrapper = new QueryWrapper<>();
162
+            taDrainageQueryWrapper.eq("drainage_id", extendContent.getTargetId());
163
+            TaDrainage taDrainage = taDrainageMapper.selectOne(taDrainageQueryWrapper);
164
+            if (taDrainage.getStatus() == 0){
165
+                return false;
166
+            }
167
+        }
168
+
169
+
170
+        return true;
171
+    }
172
+
173
+    @Override
174
+    public boolean advertistExistFlag(ExtendContent extendContent, Integer orgId) {
175
+        //一个城市只能有一个开屏广告
176
+        if (extendContent.getStatus() == 1 && CommConstant.OPEN_SCREEN.equals(extendContent.getShowType())){
177
+            QueryWrapper<ExtendContent> taExtendContentQueryWrapper = new QueryWrapper<>();
178
+            if (extendContent.getCityId() == null){
179
+                TaBuilding taBuilding = taBuildingMapper.selectBuilding(extendContent.getBuildingId());
180
+                taExtendContentQueryWrapper.eq("city_id", taBuilding.getCityId());
181
+            }else{
182
+                taExtendContentQueryWrapper.eq("city_id", extendContent.getCityId());
183
+            }
184
+
185
+            taExtendContentQueryWrapper.eq("org_id", orgId);
186
+            taExtendContentQueryWrapper.eq("status", 1);
187
+            taExtendContentQueryWrapper.eq("show_type", extendContent.getShowType());
188
+            if (null != extendContent.getContentId()){
189
+                taExtendContentQueryWrapper.ne("content_id", extendContent.getContentId());
190
+            }
191
+            List<ExtendContent> extContentInfo = extendContentMapper.selectList(taExtendContentQueryWrapper);
192
+            if (!Collections.isEmpty(extContentInfo)){
193
+                return false;
194
+            }
195
+        }
196
+        return true;
197
+    }
87 198
 }

+ 72
- 34
src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java Целия файл

@@ -5,19 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
8 9
 import com.huiju.estateagents.common.StringUtils;
9
-import com.huiju.estateagents.entity.HelpActivity;
10
-import com.huiju.estateagents.entity.HelpInitiateRecord;
11
-import com.huiju.estateagents.entity.HelpRecord;
12
-import com.huiju.estateagents.entity.TaShareActivity;
10
+import com.huiju.estateagents.entity.*;
13 11
 import com.huiju.estateagents.event.EventBus;
14 12
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
15 13
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
16 14
 import com.huiju.estateagents.excel.HelpRecordExport;
17
-import com.huiju.estateagents.mapper.HelpActivityMapper;
18
-import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
19
-import com.huiju.estateagents.mapper.HelpRecordMapper;
20
-import com.huiju.estateagents.mapper.TaShareActivityMapper;
15
+import com.huiju.estateagents.mapper.*;
21 16
 import com.huiju.estateagents.service.IHelpActivityService;
22 17
 import org.apache.commons.collections.CollectionUtils;
23 18
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +41,12 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
46 41
     @Autowired
47 42
     HelpInitiateRecordMapper helpInitiateRecordMapper;
48 43
 
44
+    @Autowired
45
+    private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
46
+
47
+    @Autowired
48
+    private TaShareRecordMapper taShareRecordMapper;
49
+
49 50
     @Autowired
50 51
     HelpRecordMapper helpRecordMapper;
51 52
 
@@ -56,10 +57,10 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
56 57
     TaShareActivityMapper taShareActivityMapper;
57 58
 
58 59
     @Override
59
-    public ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId) {
60
+    public ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId, List<TaPersonBuilding> personBuildingList) {
60 61
         ResponseBean responseBean = new ResponseBean<>();
61 62
         IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
62
-        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg, cityId, buildingId, title, startDate, endDate, activityStatus, orgId);
63
+        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg, cityId, buildingId, title, startDate, endDate, activityStatus, orgId, personBuildingList);
63 64
         responseBean.addSuccess(result);
64 65
         return responseBean;
65 66
     }
@@ -68,7 +69,7 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
68 69
     public int helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
69 70
         helpActivity.setOrgId(orgId)
70 71
                 .setCreateDate(LocalDateTime.now());
71
-                taHelpActivityMapper.insert(helpActivity);
72
+        taHelpActivityMapper.insert(helpActivity);
72 73
         return helpActivity.getHelpActivityId();
73 74
     }
74 75
 
@@ -78,7 +79,7 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
78 79
     }
79 80
 
80 81
     @Override
81
-    public ResponseBean helpRecord(Integer helpActivityId, String status,Integer pageNum,Integer pageSize,String tel) {
82
+    public ResponseBean helpRecord(Integer helpActivityId, String status, Integer pageNum, Integer pageSize, String tel) {
82 83
         ResponseBean responseBean = new ResponseBean<>();
83 84
         //  status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
84 85
 
@@ -87,9 +88,9 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
87 88
         // 得到活动限制助力的总数
88 89
         int persionNumCount = helpActivity.getPersonNum();
89 90
         IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
90
-        IPage<HelpInitiateRecord> list = helpInitiateRecordMapper.selectPageList(pg,helpActivityId,status,tel);
91
+        IPage<HelpInitiateRecord> list = helpInitiateRecordMapper.selectPageList(pg, helpActivityId, status, tel);
91 92
 
92
-        List<HelpInitiateRecord>  helpInitiateRecordList= list.getRecords();
93
+        List<HelpInitiateRecord> helpInitiateRecordList = list.getRecords();
93 94
         for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
94 95
             helpInitiateRecord.setPersionNumCount(persionNumCount);
95 96
             // 统计助力成功的总数(发起人得到助力数满了即可)
@@ -130,7 +131,7 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
130 131
     public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
131 132
         ResponseBean responseBean = new ResponseBean<>();
132 133
         IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
133
-        IPage<HelpRecord> helpRecordList= helpRecordMapper.taHelpRecordDetails(pg,helpRecordInitiateId);
134
+        IPage<HelpRecord> helpRecordList = helpRecordMapper.taHelpRecordDetails(pg, helpRecordInitiateId);
134 135
         responseBean.addSuccess(helpRecordList);
135 136
         return responseBean;
136 137
     }
@@ -139,26 +140,26 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
139 140
     public ResponseBean helpInitiateRecordVerify(Integer helpRecordInitiateId, String verifyCode) {
140 141
         ResponseBean responseBean = new ResponseBean<>();
141 142
         HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecordInitiateId);
142
-        if (null ==verifyCode || "".equals(verifyCode)){
143
+        if (null == verifyCode || "".equals(verifyCode)) {
143 144
             responseBean.addError("请输入核销码");
144 145
             return responseBean;
145 146
         }
146 147
 
147 148
         // 判断是否已核销
148
-        if ("1".equals(helpInitiateRecord.getVerificationStatus())){
149
+        if ("1".equals(helpInitiateRecord.getVerificationStatus())) {
149 150
             responseBean.addSuccess("已核销");
150 151
             return responseBean;
151 152
         }
152 153
 
153
-        if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))){
154
+        if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))) {
154 155
             helpInitiateRecord.setVerificationStatus(1);
155 156
             helpInitiateRecordMapper.updateById(helpInitiateRecord);
156 157
 
157 158
             // 活动核销加积分
158
-            applicationContext.publishEvent(new EventBus(helpInitiateRecord, EventBus.EventType.ActivityVerificationSign,helpInitiateRecord.getOrgId()));
159
+            applicationContext.publishEvent(new EventBus(helpInitiateRecord, EventBus.EventType.ActivityVerificationSign, helpInitiateRecord.getOrgId()));
159 160
 
160 161
             responseBean.addSuccess("成功");
161
-        }else {
162
+        } else {
162 163
             responseBean.addError("核销码错误,请重新输入");
163 164
         }
164 165
         return responseBean;
@@ -166,34 +167,34 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
166 167
 
167 168
     @Override
168 169
     public Integer getHelpInitiateRecordSucceed(String tel, Integer helpActivityId) {
169
-        QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery= new QueryWrapper<>();
170
-        helpInitiateRecordQuery.eq("help_activity_id",helpActivityId);
171
-        helpInitiateRecordQuery.eq(!StringUtils.isEmpty(tel), "phone",tel);
170
+        QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery = new QueryWrapper<>();
171
+        helpInitiateRecordQuery.eq("help_activity_id", helpActivityId);
172
+        helpInitiateRecordQuery.eq(!StringUtils.isEmpty(tel), "phone", tel);
172 173
         return helpInitiateRecordMapper.selectCount(helpInitiateRecordQuery);
173 174
     }
174 175
 
175 176
     @Override
176 177
     public List<HelpInitiateRecordSucceed> getHelpInitiateRecordSucceedExportList(int i, Integer pageSize, String tel, Integer helpActivityId) {
177
-         List<HelpInitiateRecordSucceed> lsit= helpInitiateRecordMapper.getHelpInitiateRecordSucceedExportList(i,pageSize,tel,helpActivityId);
178
+        List<HelpInitiateRecordSucceed> lsit = helpInitiateRecordMapper.getHelpInitiateRecordSucceedExportList(i, pageSize, tel, helpActivityId);
178 179
         return lsit;
179 180
     }
180 181
 
181 182
     @Override
182
-    public List<HelpProceedAndFinish> getHelpProceedAndFinishExportList(int i, Integer pageSize, String tel, Integer helpActivityId,String condition) {
183
-        List<HelpProceedAndFinish> lsit= helpInitiateRecordMapper.getHelpProceedAndFinishExportList(i,pageSize,tel,helpActivityId,condition);
183
+    public List<HelpProceedAndFinish> getHelpProceedAndFinishExportList(int i, Integer pageSize, String tel, Integer helpActivityId, String condition) {
184
+        List<HelpProceedAndFinish> lsit = helpInitiateRecordMapper.getHelpProceedAndFinishExportList(i, pageSize, tel, helpActivityId, condition);
184 185
         return lsit;
185 186
     }
186 187
 
187 188
     @Override
188 189
     public Integer getHelpRecord(Integer helpRecordInitiateId) {
189
-        QueryWrapper<HelpRecord> helpInitiateRecordQuery= new QueryWrapper<>();
190
-        helpInitiateRecordQuery.eq("help_record_initiate_id",helpRecordInitiateId);
190
+        QueryWrapper<HelpRecord> helpInitiateRecordQuery = new QueryWrapper<>();
191
+        helpInitiateRecordQuery.eq("help_record_initiate_id", helpRecordInitiateId);
191 192
         return helpRecordMapper.selectCount(helpInitiateRecordQuery);
192 193
     }
193 194
 
194 195
     @Override
195 196
     public List<HelpRecordExport> getHelpRecordExportList(int i, Integer pageSize, Integer helpRecordInitiateId) {
196
-        List<HelpRecordExport> lsit= helpRecordMapper.getHelpRecordExportList(i,pageSize,helpRecordInitiateId);
197
+        List<HelpRecordExport> lsit = helpRecordMapper.getHelpRecordExportList(i, pageSize, helpRecordInitiateId);
197 198
         return lsit;
198 199
     }
199 200
 
@@ -213,19 +214,56 @@ public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, Hel
213 214
     }
214 215
 
215 216
     @Override
216
-    public ResponseBean wxhelpActivityAndGroup(Integer orgId,String buildingId,String cityID) {
217
+    public ResponseBean wxhelpActivityAndGroup(Integer orgId, String buildingId, String cityID, TaPerson person) {
217 218
         ResponseBean responseBean = new ResponseBean<>();
219
+        //查询是否报名了普通活动
220
+        QueryWrapper<TaActivityDynamicEnlist> queryWrapper = new QueryWrapper<>();
221
+        queryWrapper.eq("org_id", orgId);
222
+        queryWrapper.eq("person_id", person.getPersonId());
223
+        List<TaActivityDynamicEnlist> taActivityDynamicEnlists = taActivityDynamicEnlistMapper.selectList(queryWrapper);
224
+        //查询是否报名了拼团活动
225
+        QueryWrapper<TaShareRecord> taShareRecordQueryWrapper = new QueryWrapper<>();
226
+        taShareRecordQueryWrapper.eq("org_id", orgId);
227
+        taShareRecordQueryWrapper.eq("person_id", person.getPersonId());
228
+        List<TaShareRecord> taShareRecords = taShareRecordMapper.selectList(taShareRecordQueryWrapper);
229
+        //判断是否发起了助力活动
230
+        QueryWrapper<HelpInitiateRecord> helpInitiateRecordListQueryWrapper = new QueryWrapper<>();
231
+        helpInitiateRecordListQueryWrapper.eq("org_id", orgId);
232
+        helpInitiateRecordListQueryWrapper.eq("person_id", person.getPersonId());
233
+        List<HelpInitiateRecord> helpInitiateRecords = helpInitiateRecordMapper.selectList(helpInitiateRecordListQueryWrapper);
234
+
218 235
         // buildingId 楼盘ID为空时首页只查置顶的活动,楼盘ID不为空查所有拼团和助力
219
-        List<HelpActivity> HelpActivity = taHelpActivityMapper.selectWxhelpActivityAndGroup(orgId,buildingId,cityID);
220
-        responseBean.addSuccess(HelpActivity);
236
+        List<HelpActivity> helpActivities = taHelpActivityMapper.selectWxhelpActivityAndGroup(orgId, buildingId, cityID);
237
+        for (HelpActivity helpActivity : helpActivities) {
238
+            if ("activity".equals(helpActivity.getType())) {
239
+                taActivityDynamicEnlists.forEach(dynamic -> {
240
+                    if (helpActivity.getActivityId().equals(dynamic.getDynamicId())) {
241
+                        helpActivity.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
242
+                    }
243
+                });
244
+            } else if ("group".equals(helpActivity.getType())) {
245
+                taShareRecords.forEach(share -> {
246
+                    if (helpActivity.getActivityId().equals(share.getGroupActivityId().toString())) {
247
+                        helpActivity.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
248
+                    }
249
+                });
250
+            } else if ("help".equals(helpActivity.getType())) {
251
+                helpInitiateRecords.forEach(help -> {
252
+                    if (helpActivity.getActivityId().equals(help.getHelpActivityId().toString())) {
253
+                        helpActivity.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
254
+                    }
255
+                });
256
+            }
257
+        }
258
+        responseBean.addSuccess(helpActivities);
221 259
         return responseBean;
222 260
     }
223 261
 
224 262
     @Override
225
-    public ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId) {
263
+    public ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId, Integer status, String name, List<TaPersonBuilding> personBuildingList) {
226 264
         ResponseBean responseBean = new ResponseBean<>();
227 265
         IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
228
-        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListEffectivePage(pg, cityId, orgId, buildingId);
266
+        IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListEffectivePage(pg, cityId, orgId, buildingId, status, name, personBuildingList);
229 267
         responseBean.addSuccess(result);
230 268
         return responseBean;
231 269
     }

+ 278
- 50
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java Целия файл

@@ -6,22 +6,19 @@ import com.alibaba.fastjson.JSONObject;
6 6
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.*;
9
-import com.huiju.estateagents.entity.TaMiniapp;
10
-import com.huiju.estateagents.entity.TaMiniappQrcode;
11
-import com.huiju.estateagents.entity.TaMiniappTemplate;
12
-import com.huiju.estateagents.entity.TaPerson;
13
-import com.huiju.estateagents.mapper.TaMiniFormidsMapper;
14
-import com.huiju.estateagents.mapper.TaMiniappMapper;
15
-import com.huiju.estateagents.mapper.TaMiniappQrcodeMapper;
16
-import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
9
+import com.huiju.estateagents.entity.*;
10
+import com.huiju.estateagents.mapper.*;
17 11
 import com.huiju.estateagents.service.IMiniAppService;
12
+import com.huiju.estateagents.service.ISysOrgParamsService;
18 13
 import com.huiju.estateagents.service.ITaMiniFormidsService;
14
+import com.huiju.estateagents.service.ITaPersonMessageRuleService;
19 15
 import lombok.extern.slf4j.Slf4j;
20 16
 import me.chanjar.weixin.common.error.WxErrorException;
21 17
 import org.springframework.beans.factory.annotation.Autowired;
22 18
 import org.springframework.stereotype.Service;
23 19
 
24 20
 import java.io.File;
21
+import java.time.Duration;
25 22
 import java.time.LocalDateTime;
26 23
 import java.util.ArrayList;
27 24
 import java.util.List;
@@ -45,9 +42,21 @@ public class MiniAppServiceImpl implements IMiniAppService {
45 42
     @Autowired
46 43
     TaMiniappTemplateMapper taMiniappTemplateMapper;
47 44
 
45
+    @Autowired
46
+    SysSmsSettingMapper sysSmsSettingMapper;
47
+
48
+    @Autowired
49
+    ITaPersonMessageRuleService iTaPersonMessageRuleService;
50
+
51
+    @Autowired
52
+    ISysOrgParamsService iSysOrgParamsService;
53
+
48 54
     @Autowired
49 55
     WxUtils wxUtils;
50 56
 
57
+    @Autowired
58
+    SMSUtils smsUtils;
59
+
51 60
     @Override
52 61
     public WxMaJscode2SessionResult getSessionInfo(String code, String appid) throws WxErrorException {
53 62
         WxMaService wxService = wxUtils.getMiniApp(appid);
@@ -76,57 +85,185 @@ public class MiniAppServiceImpl implements IMiniAppService {
76 85
 
77 86
     @Override
78 87
     public void sendNoticeMessage(TaPerson toUser, String link, String name, String phone, String content, LocalDateTime dt) {
79
-        List<WxMaTemplateData> data = new ArrayList<>();
80
-        data.add(new WxMaTemplateData("keyword1", name, "#fffff"));
81
-        data.add(new WxMaTemplateData("keyword2", phone, "#fffff"));
82
-        data.add(new WxMaTemplateData("keyword3", content, "#fffff"));
83
-        data.add(new WxMaTemplateData("keyword4", DateUtils.cutSecond(dt), "#fffff"));
88
+        TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
89
+        if (null == miniapp) {
90
+            log.error("小程序 {} 不存在", toUser.getMiniappId());
91
+            return ;
92
+        }
93
+
94
+        // 消息内容类型
95
+        String contentType = CommConstant.MESSAGE_CONTENT_OF_NOTICE;
96
+
97
+        // 查询消息类型, 优先选择订阅消息发送
98
+        TaMiniappTemplate tpl = getTplByType(contentType, toUser.getMiniappId());
99
+
100
+        boolean isSubscribe = null != tpl && (null == tpl.getIsSubscribe() ? false : tpl.getIsSubscribe());
101
+
102
+        // 入库的消息类型使用的是 MESSAGE_TYPE_OF_SOMEWAY, 不能使用真正的类型
103
+        // 因为 通知消息 只注重内容, 不在乎 发送方式
104
+        String messageType = CommConstant.MESSAGE_TYPE_OF_SOMEWAY;
84 105
 
85
-        sendMessage(CommConstant.MINIAPP_TPL_NOTICE, toUser, link, data);
106
+        // 消息发送间隔, -1 代表不限制
107
+        float interval = -1f;
108
+
109
+        // 获取系统设置, 单位分钟
110
+        SysOrgParams sysOrgParams = iSysOrgParamsService.getParamByCode(CommConstant.SYSPARAM_NOTICE_MESSAGE_INTERVAL, toUser.getOrgId());
111
+        if (null != sysOrgParams && !StringUtils.isEmpty(sysOrgParams.getParamValue())) {
112
+            interval = Float.parseFloat(sysOrgParams.getParamValue());
113
+        }
114
+
115
+        // 获取用户消息发送记录
116
+        TaPersonMessageRule taPersonMessageRule = iTaPersonMessageRuleService.getByPersonAndType(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
117
+        if (null == taPersonMessageRule) {
118
+            interval = -1f;
119
+        }
120
+
121
+        // 如果需要判断间隔
122
+        if (interval > 0 && null != taPersonMessageRule.getLastSendTime()) {
123
+            LocalDateTime now = LocalDateTime.now();
124
+            // 间隔时间
125
+            Duration diff = Duration.between(taPersonMessageRule.getLastSendTime(), now);
126
+
127
+            // 统一转换为 秒 比较
128
+            // 如果间隔时间小于设定时间, 就不发送消息
129
+            if ((diff.toMillis() / 1000) < (interval * 60)) {
130
+                log.info("通知消息间隔小于设定值, 不变发送消息");
131
+                return;
132
+            }
133
+        }
134
+
135
+        String[] smsParams = { name, miniapp.getName() + "小程序" };
136
+        if (null == tpl) {
137
+            log.error("小程序 {} 不存在 或者 无通知消息模板 {}", toUser.getMiniappId(), contentType);
138
+
139
+            // 短信发送
140
+            sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
141
+        } else {
142
+
143
+            if (isSubscribe) {
144
+                String[] data = new String[] { name, phone, content, DateUtils.cutSecond(dt) };
145
+                ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
146
+                if (res.getCode() != ResponseBean.CODE_SUCCESS) {
147
+                    // 使用短信发送
148
+                    sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
149
+                }
150
+            } else {
151
+                List<WxMaTemplateData> data = new ArrayList<>();
152
+                data.add(new WxMaTemplateData("keyword1", name, "#fffff"));
153
+                data.add(new WxMaTemplateData("keyword2", phone, "#fffff"));
154
+                data.add(new WxMaTemplateData("keyword3", content, "#fffff"));
155
+                data.add(new WxMaTemplateData("keyword4", DateUtils.cutSecond(dt), "#fffff"));
156
+
157
+                sendMessage(contentType, toUser, link, data);
158
+            }
159
+        }
160
+
161
+        // 更新消息发送时间
162
+        iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
86 163
     }
87 164
     
88 165
     @Override
89 166
     public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
90
-        List<WxMaTemplateData> data = new ArrayList<>();
91
-        data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
92
-        data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
93
-        data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
94
-        
95
-        sendMessage(CommConstant.MINIAPP_TPL_HELP, toUser, link, data);
167
+        TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
168
+        if (null == miniapp) {
169
+            log.error("小程序 {} 不存在", toUser.getMiniappId());
170
+            return ;
171
+        }
172
+
173
+        // 消息内容类型
174
+        String contentType = CommConstant.MESSAGE_CONTENT_OF_HELP;
175
+
176
+        TaMiniappTemplate tpl = getTplByType(contentType, toUser.getMiniappId());
177
+
178
+        boolean isSubscribe = null != tpl && (null == tpl.getIsSubscribe() ? false : tpl.getIsSubscribe());
179
+
180
+        // 消息发送类型
181
+        String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
182
+                isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
183
+
184
+        String[] smsParams = { miniapp.getName() + "小程序-" + activityName };
185
+
186
+        if (null == tpl) {
187
+            log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
188
+
189
+            // 短信发送
190
+            sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
191
+        } else {
192
+
193
+            if (isSubscribe) {
194
+                String[] data = new String[] { activityName, result, DateUtils.cutSecond(dt)};
195
+                ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
196
+                if (res.getCode() != ResponseBean.CODE_SUCCESS) {
197
+                    // 使用短信发送
198
+                    sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
199
+
200
+                    messageType = CommConstant.MESSAGE_TYPE_OF_SMS;
201
+                }
202
+            } else {
203
+                List<WxMaTemplateData> data = new ArrayList<>();
204
+                data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
205
+                data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
206
+                data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
207
+                sendMessage(contentType, toUser, link, data);
208
+            }
209
+        }
210
+
211
+        // TODO 写消息发送日志
212
+
213
+        // 更新消息发送时间
214
+        iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
96 215
     }
97
-    
216
+
98 217
     @Override
99 218
     public void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
100
-        List<WxMaTemplateData> data = new ArrayList<>();
101
-        data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
102
-        data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
103
-        data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
104
-        
105
-        sendMessage(CommConstant.MINIAPP_TPL_GROUP, toUser, link, data);
106
-    }
219
+        TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
220
+        if (null == miniapp) {
221
+            log.error("小程序 {} 不存在", toUser.getMiniappId());
222
+            return ;
223
+        }
107 224
 
108
-    @Override
109
-    public void sendMainBizMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName, String bizType, String content) {
110
-        List<WxMaTemplateData> data = new ArrayList<>();
111
-        data.add(new WxMaTemplateData("keyword1", custName, "#fffff"));
112
-        data.add(new WxMaTemplateData("keyword2", StringUtils.ifNull(phone, "未知"), "#fffff"));
113
-        data.add(new WxMaTemplateData("keyword3",StringUtils.ifNull(sex, "未知"), "#fffff"));
114
-        data.add(new WxMaTemplateData("keyword4", fromName, "#fffff"));
115
-        data.add(new WxMaTemplateData("keyword5", bizType, "#fffff"));
116
-        data.add(new WxMaTemplateData("keyword6", content, "#fffff"));
117
-
118
-        sendMessage("mainbiz", toUser, link, data);
119
-    }
225
+        // 消息内容类型
226
+        String contentType = CommConstant.MESSAGE_CONTENT_OF_GROUP;
120 227
 
121
-    @Override
122
-    public void sendNewCustomerMessage(TaPerson toUser, String link, String custName, String phone, String sex, String fromName) {
123
-        List<WxMaTemplateData> data = new ArrayList<>();
124
-        data.add(new WxMaTemplateData("keyword1", custName, "#fffff"));
125
-        data.add(new WxMaTemplateData("keyword2", StringUtils.ifNull(phone, "未知"), "#fffff"));
126
-        data.add(new WxMaTemplateData("keyword3",StringUtils.ifNull(sex, "未知"), "#fffff"));
127
-        data.add(new WxMaTemplateData("keyword4", fromName, "#fffff"));
128
-
129
-        sendMessage("newCustomer", toUser, link, data);
228
+        TaMiniappTemplate tpl = getTplByType(contentType, toUser.getMiniappId());
229
+
230
+        boolean isSubscribe = null != tpl && (null == tpl.getIsSubscribe() ? false : tpl.getIsSubscribe());
231
+
232
+        // 消息发送类型
233
+        String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
234
+                isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
235
+
236
+        String[] smsParams = { miniapp.getName() + "小程序-" + activityName };
237
+
238
+        if (null == tpl) {
239
+            log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
240
+
241
+            // 短信发送
242
+            sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
243
+        } else {
244
+
245
+            if (isSubscribe) {
246
+                String[] data = new String[] { activityName, result, DateUtils.cutSecond(dt) };
247
+                ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
248
+                if (res.getCode() != ResponseBean.CODE_SUCCESS) {
249
+                    // 使用短信发送
250
+                    sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), contentType, smsParams);
251
+
252
+                    messageType = CommConstant.MESSAGE_TYPE_OF_SMS;
253
+                }
254
+            } else {
255
+                List<WxMaTemplateData> data = new ArrayList<>();
256
+                data.add(new WxMaTemplateData("keyword1", result, "#fffff"));
257
+                data.add(new WxMaTemplateData("keyword2", activityName, "#fffff"));
258
+                data.add(new WxMaTemplateData("keyword3", DateUtils.cutSecond(dt), "#fffff"));
259
+                sendMessage(contentType, toUser, link, data);
260
+            }
261
+        }
262
+
263
+        // TODO 写消息发送日志
264
+
265
+        // 更新消息发送时间
266
+        iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, contentType, toUser.getOrgId());
130 267
     }
131 268
 
132 269
     @Override
@@ -220,6 +357,7 @@ public class MiniAppServiceImpl implements IMiniAppService {
220 357
         return taMiniappList;
221 358
     }
222 359
 
360
+    @Deprecated
223 361
     private void sendMessage(String tplName, TaPerson toUser, String link, List<WxMaTemplateData> data) {
224 362
         String appid = toUser.getMiniappId();
225 363
         if (StringUtils.isEmpty(appid)) {
@@ -248,13 +386,103 @@ public class MiniAppServiceImpl implements IMiniAppService {
248 386
         } catch (WxErrorException e) {
249 387
             e.printStackTrace();
250 388
         }
389
+
390
+        // TODO 写消息发送日志
391
+    }
392
+
393
+    private ResponseBean sendSubscribeMessage(TaMiniappTemplate tpl, TaPerson toUser, String link, String[] data) {
394
+        String appid = toUser.getMiniappId();
395
+        if (StringUtils.isEmpty(appid)) {
396
+            log.error("人员 {} 无对应来源小程序信息", toUser);
397
+            return ResponseBean.error("消息接收人无 appid 信息", ResponseBean.ERROR_ILLEGAL_PARAMS);
398
+        }
399
+
400
+        if (null == tpl) {
401
+            return ResponseBean.error("小程序未设置消息模板", ResponseBean.ERROR_ILLEGAL_PARAMS);
402
+        }
403
+
404
+        if (StringUtils.isEmpty(tpl.getTplFields())) {
405
+            return ResponseBean.error("小程序消息模板未设置字段内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
406
+        }
407
+
408
+        List<WxMaSubscribeData> sendData = createMessageData(data, tpl.getTplFields());
409
+
410
+        WxMaSubscribeMessage message = WxMaSubscribeMessage.builder()
411
+                .templateId(tpl.getTplId())
412
+                .data(sendData)
413
+                .page(StringUtils.ifNull(link, CommConstant.MINIAPP_INDEX))
414
+                .toUser(toUser.getMiniOpenid())
415
+                .build();
416
+
417
+        try {
418
+            WxMaService wxService = wxUtils.getMiniApp(appid);
419
+            wxService.getMsgService().sendSubscribeMsg(message);
420
+
421
+            // TODO 写消息发送日志
422
+
423
+            return ResponseBean.success("消息发送成功");
424
+        } catch (WxErrorException e) {
425
+            e.printStackTrace();
426
+
427
+            // TODO 写消息发送日志
428
+
429
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
430
+        }
431
+    }
432
+
433
+    private String sendSmsMessage(String tel, String type, String[] params) {
434
+        if (StringUtils.isEmpty(tel) || StringUtils.isEmpty(type)) {
435
+            return "短信发送失败: 没有手机号或者短信模板";
436
+        }
437
+
438
+        QueryWrapper<SysSmsSetting> query = new QueryWrapper<>();
439
+        query.eq("sms_type", type);
440
+        query.eq("status", CommConstant.STATUS_NORMAL);
441
+        query.last("limit 1");
442
+
443
+        SysSmsSetting smsSetting = sysSmsSettingMapper.selectOne(query);
444
+        if (null == smsSetting) {
445
+
446
+            // TODO 写消息发送日志
447
+
448
+            return "没有设置有效的【" + type + "】短信模板";
449
+        }
450
+
451
+        boolean success = smsUtils.sendMessage(smsSetting.getTplCode(), tel, params);
452
+
453
+        // TODO 写消息发送日志
454
+
455
+        return success ? null : "短信发送失败";
251 456
     }
252 457
 
253
-    private TaMiniappTemplate getTplByType(String type, String appid) {
458
+    private List<WxMaSubscribeData> createMessageData(String[] list, String fieldsStr) {
459
+        List<WxMaSubscribeData> data = new ArrayList<>();
460
+        if (list == null || list.length == 0 || StringUtils.isEmpty(fieldsStr)) return data;
461
+
462
+        String[] fileds = fieldsStr.split("\\|");
463
+
464
+        int length = Math.min(fileds.length, list.length);
465
+        for (int i = 0; i < length; i++) {
466
+            data.add(new WxMaSubscribeData(fileds[i], list[i], "#fffff"));
467
+        }
468
+        return data;
469
+    }
470
+
471
+    @Override
472
+    public TaMiniappTemplate getTplByType(String type, String appid) {
254 473
         TaMiniappTemplate tpl = taMiniappTemplateMapper.selectTplByType(type, appid);
255 474
         return tpl;
256 475
     }
257 476
 
477
+    @Override
478
+    public List<TaMiniappTemplate> getTpls(String appid) {
479
+        QueryWrapper<TaMiniappTemplate> query = new QueryWrapper<>();
480
+        query.eq("miniapp_id", appid);
481
+        query.orderByAsc("serial_no");
482
+
483
+        return taMiniappTemplateMapper.selectList(query);
484
+    }
485
+
258 486
     public TaMiniapp getMinappByOrg(Integer org) {
259 487
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
260 488
         queryWrapper.eq("org_id", org);

+ 0
- 2
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java Целия файл

@@ -10,12 +10,10 @@ import com.huiju.estateagents.mapper.*;
10 10
 import com.huiju.estateagents.po.PersonPO;
11 11
 import com.huiju.estateagents.service.IStatisticalService;
12 12
 import lombok.extern.slf4j.Slf4j;
13
-import org.omg.CORBA.OBJECT_NOT_EXIST;
14 13
 import org.springframework.beans.factory.annotation.Autowired;
15 14
 import org.springframework.stereotype.Service;
16 15
 
17 16
 import java.time.LocalDate;
18
-import java.time.LocalDateTime;
19 17
 import java.util.*;
20 18
 
21 19
 /**

+ 54
- 0
src/main/java/com/huiju/estateagents/service/impl/SysOrgParamsServiceImpl.java Целия файл

@@ -1,11 +1,16 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 5
 import com.huiju.estateagents.entity.SysOrgParams;
5 6
 import com.huiju.estateagents.mapper.SysOrgParamsMapper;
6 7
 import com.huiju.estateagents.service.ISysOrgParamsService;
8
+import org.springframework.beans.factory.annotation.Autowired;
7 9
 import org.springframework.stereotype.Service;
8 10
 
11
+import java.util.ArrayList;
12
+import java.util.List;
13
+
9 14
 /**
10 15
  * <p>
11 16
  * 组织参数配置表  服务实现类
@@ -16,5 +21,54 @@ import org.springframework.stereotype.Service;
16 21
  */
17 22
 @Service
18 23
 public class SysOrgParamsServiceImpl extends ServiceImpl<SysOrgParamsMapper, SysOrgParams> implements ISysOrgParamsService {
24
+    @Autowired
25
+    SysOrgParamsMapper sysOrgParamsMapper;
26
+
27
+    @Override
28
+    public SysOrgParams getParamByCode(String paramCode, Integer orgId) {
29
+        QueryWrapper<SysOrgParams> queryWrapper = new QueryWrapper<>();
30
+        queryWrapper.eq("org_id", orgId);
31
+        queryWrapper.eq("param_code", paramCode);
32
+        queryWrapper.last("limit 1");
33
+
34
+        return sysOrgParamsMapper.selectOne(queryWrapper);
35
+    }
36
+
37
+    /**
38
+     * 从模板中导入系统参数, 支持多次导入
39
+     * 已经导入的不会再次导入
40
+     * @param orgId
41
+     * @return
42
+     */
43
+    @Override
44
+    public boolean importParamsFromTemplate(Integer orgId) {
45
+        // 查询模板列表, org 为 0 代表为模板数据
46
+        QueryWrapper<SysOrgParams> queryWrapper = new QueryWrapper<>();
47
+        queryWrapper.eq("org_id", 0);
48
+
49
+        List<SysOrgParams> tpls = sysOrgParamsMapper.selectList(queryWrapper);
50
+        List<SysOrgParams> willSave = new ArrayList<>();
51
+
52
+        for(SysOrgParams param: tpls) {
53
+            QueryWrapper<SysOrgParams> query = new QueryWrapper<>();
54
+            query.eq("org_id", orgId);
55
+            query.eq("param_code", param.getParamCode());
56
+
57
+            // 使用 count 查询是否该参数已经存在
58
+            // 如果存在, 则不处理
59
+            int count = this.count(query);
60
+
61
+            if (count == 0) {
62
+                param.setParamId(null);
63
+                param.setOrgId(orgId);
64
+                willSave.add(param);
65
+            }
66
+        }
67
+
68
+        if (willSave.size() > 0) {
69
+            return this.saveBatch(willSave);
70
+        }
19 71
 
72
+        return true;
73
+    }
20 74
 }

+ 24
- 0
src/main/java/com/huiju/estateagents/service/impl/SysSmsSettingImpl.java Целия файл

@@ -0,0 +1,24 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.entity.SysProjectParams;
6
+import com.huiju.estateagents.entity.SysSmsSetting;
7
+import com.huiju.estateagents.mapper.SysProjectParamsMapper;
8
+import com.huiju.estateagents.mapper.SysSmsSettingMapper;
9
+import com.huiju.estateagents.service.ISysProjectParamsService;
10
+import com.huiju.estateagents.service.ISysSmsSettingService;
11
+import org.springframework.stereotype.Service;
12
+
13
+/**
14
+ * <p>
15
+ * 项目参数配置表  服务实现类
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-08-01
20
+ */
21
+@Service
22
+public class SysSmsSettingImpl extends ServiceImpl<SysSmsSettingMapper, SysSmsSetting> implements ISysSmsSettingService {
23
+
24
+}

+ 33
- 2
src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java Целия файл

@@ -74,12 +74,12 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
74 74
         binder.registerCustomEditor(Date.class, editor);
75 75
     }
76 76
     @Override
77
-    public ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title,Integer orgId) {
77
+    public ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title,Integer orgId,String activityStatus,List<TaPersonBuilding> personBuildingList) {
78 78
         Page<TaBuildingDynamic> page = new Page<>();
79 79
         page.setSize(pageSize == null ? 10 : pageSize);
80 80
         page.setCurrent(pageNum == null ? 1 : pageNum);
81 81
 
82
-        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.buildingDynamicList(page, name, buildingId,cityId,isEnlist,time,title,orgId);
82
+        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.buildingDynamicList(page, name, buildingId,cityId,isEnlist,time,title,orgId,activityStatus,personBuildingList);
83 83
 
84 84
         HashMap hashMap= new HashMap<>();
85 85
         hashMap.put("list",buildingDynamic.getRecords());
@@ -367,6 +367,37 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
367 367
         return taActivityDynamicEnlistMapper.getTaActivityDynamicEnlistExport(i,pageSize,dynamicId,isCheckin,name,phone,orgId);
368 368
     }
369 369
 
370
+    /**
371
+     * 下拉选框数据
372
+     *
373
+     * @param pageNum
374
+     * @param pageSize
375
+     * @param name
376
+     * @param buildingId
377
+     * @param cityId
378
+     * @param isEnlist
379
+     * @param time
380
+     * @param title
381
+     * @param orgId
382
+     * @param activityStatus
383
+     * @return
384
+     */
385
+    @Override
386
+    public ResponseBean iBuildingDynamicSelectedList(Integer pageNum, Integer pageSize, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus,List<TaPersonBuilding> personBuildingList) {
387
+        Page<TaBuildingDynamic> page = new Page<>();
388
+        page.setSize(pageSize == null ? 10 : pageSize);
389
+        page.setCurrent(pageNum == null ? 1 : pageNum);
390
+
391
+        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.iBuildingDynamicSelectedList(page, name, buildingId,cityId,isEnlist,time,title,orgId,activityStatus,personBuildingList);
392
+
393
+        HashMap hashMap= new HashMap<>();
394
+        hashMap.put("list",buildingDynamic.getRecords());
395
+        hashMap.put("total",buildingDynamic.getTotal());
396
+        hashMap.put("pageNum",buildingDynamic.getCurrent());
397
+        hashMap.put("pageSize",buildingDynamic.getSize());
398
+        return ResponseBean.success(hashMap);
399
+    }
400
+
370 401
     @Override
371 402
     public IPage<TaBuildingDynamic> getJoinedActivity(int pageNumber, int pageSize,String building,TaPerson person,Integer orgId){
372 403
         QueryWrapper<TaActivityDynamicEnlist> activityDynamicEnlistQueryWrapper = new QueryWrapper<>();

+ 35
- 0
src/main/java/com/huiju/estateagents/service/impl/TaBuildingIntentionServiceImpl.java Целия файл

@@ -1,14 +1,18 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 5
 import com.huiju.estateagents.base.ResponseBean;
5 6
 import com.huiju.estateagents.entity.TaBuildingIntention;
6 7
 import com.huiju.estateagents.entity.TdBizEvent;
7 8
 import com.huiju.estateagents.mapper.TaBuildingIntentionMapper;
9
+import com.huiju.estateagents.mapper.TdBizEventMapper;
8 10
 import com.huiju.estateagents.service.ITaBuildingIntentionService;
9 11
 import org.springframework.beans.factory.annotation.Autowired;
10 12
 import org.springframework.stereotype.Service;
11 13
 
14
+import java.time.LocalDateTime;
15
+import java.util.ArrayList;
12 16
 import java.util.List;
13 17
 import java.util.stream.Collectors;
14 18
 
@@ -26,6 +30,9 @@ public class TaBuildingIntentionServiceImpl extends ServiceImpl<TaBuildingIntent
26 30
     @Autowired
27 31
     private TaBuildingIntentionMapper taBuildingIntentionMapper;
28 32
 
33
+    @Autowired
34
+    private TdBizEventMapper tdBizEventMapper;
35
+
29 36
     @Override
30 37
     public ResponseBean taBuildingIntentionAddOrUpdate(List<TdBizEvent>tdBizEventsList, String buildingId, Integer orgId) {
31 38
         ResponseBean responseBean = new ResponseBean();
@@ -53,4 +60,32 @@ public class TaBuildingIntentionServiceImpl extends ServiceImpl<TaBuildingIntent
53 60
         responseBean.addSuccess("操作成功!");
54 61
         return responseBean;
55 62
     }
63
+
64
+    /**
65
+     * 保存楼盘默认值
66
+     *
67
+     * @param orgId
68
+     * @param buildingId
69
+     */
70
+    @Override
71
+    public void saveDefaultIntention(Integer orgId, String buildingId) {
72
+        //获取所有的意向值类型
73
+        List<TdBizEvent> tdBizEventList = tdBizEventMapper.selectList(new QueryWrapper<>());
74
+        //构造意向值
75
+        List<TaBuildingIntention> taBuildingIntentions = new ArrayList<>();
76
+        tdBizEventList.forEach(e -> {
77
+            TaBuildingIntention taBuildingIntention = new TaBuildingIntention();
78
+            taBuildingIntention.setIntentionId(e.getIntentionId());
79
+            taBuildingIntention.setEventId(e.getEventId());
80
+            taBuildingIntention.setEventCode(e.getEventCode());
81
+            taBuildingIntention.setEventName(e.getEventName());
82
+            taBuildingIntention.setIntention(1);
83
+            taBuildingIntention.setCreateDate(LocalDateTime.now());
84
+            taBuildingIntention.setBuildingId(buildingId);
85
+            taBuildingIntention.setStatus(1);
86
+            taBuildingIntention.setOrgId(orgId);
87
+            taBuildingIntentions.add(taBuildingIntention);
88
+        });
89
+        this.saveBatch(taBuildingIntentions);
90
+    }
56 91
 }

+ 124
- 16
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Целия файл

@@ -8,25 +8,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
8 8
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9 9
 import com.google.common.collect.Lists;
10 10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.taUser.entity.TaUser;
12
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11 13
 import com.huiju.estateagents.common.CommConstant;
12 14
 import com.huiju.estateagents.common.DateUtils;
13 15
 import com.huiju.estateagents.common.StringUtils;
14 16
 import com.huiju.estateagents.entity.*;
15 17
 import com.huiju.estateagents.mapper.*;
16
-import com.huiju.estateagents.service.ITaBuildingMapRelationService;
17
-import com.huiju.estateagents.service.ITaBuildingService;
18
+import com.huiju.estateagents.service.*;
18 19
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
19
-import com.huiju.estateagents.service.TaPosterService;
20
-import com.huiju.estateagents.service.TaShareContentService;
20
+import javafx.scene.control.Tab;
21 21
 import org.apache.commons.collections.CollectionUtils;
22 22
 import org.springframework.beans.factory.annotation.Autowired;
23 23
 import org.springframework.stereotype.Service;
24 24
 
25 25
 import java.time.LocalDateTime;
26
-import java.util.ArrayList;
27
-import java.util.HashMap;
28
-import java.util.List;
29
-import java.util.Map;
26
+import java.util.*;
30 27
 import java.util.stream.Collectors;
31 28
 
32 29
 /**
@@ -70,13 +67,13 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
70 67
     TdCityMapper tdCityMapper;
71 68
 
72 69
     @Autowired
73
-    private TaBuildingProjectTypeMapper taBuildingProjectTypeMapper;
70
+    private TaGoodsMapper taGoodsMapper;
74 71
 
75 72
     @Autowired
76
-    private TaPosterService taPosterService;
73
+    private TaNewsMapper taNewsMapper;
77 74
 
78 75
     @Autowired
79
-    private TaShareContentService taShareContentService;
76
+    private TaBuildingDynamicMapper taBuildingDynamicMapper;
80 77
 
81 78
     @Autowired
82 79
     private HelpActivityMapper helpActivityMapper;
@@ -84,19 +81,34 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
84 81
     @Autowired
85 82
     private TaShareActivityMapper taShareActivityMapper;
86 83
 
84
+    @Autowired
85
+    private TaExtendContentMapper taExtendContentMapper;
86
+
87
+    @Autowired
88
+    private TaBuildingProjectTypeMapper taBuildingProjectTypeMapper;
89
+
90
+    @Autowired
91
+    private TaPosterService taPosterService;
92
+
93
+    @Autowired
94
+    private TaShareContentService taShareContentService;
95
+
87 96
     @Autowired
88 97
     private  TaOrgMapper  taOrgMapper;
89 98
 
90 99
     @Autowired
91 100
     private ITaBuildingMapRelationService iTaBuildingMapRelationService;
92 101
 
102
+    @Autowired
103
+    public ITaBuildingIntentionService iTaBuildingIntentionService;
104
+
93 105
     @Override
94
-    public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId) {
106
+    public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId,List<TaPersonBuilding> taPersonBuildingList) {
95 107
         Page<TaBuilding> page = new Page<>();
96 108
         page.setSize(pageSize == null ? 10 : pageSize);
97 109
         page.setCurrent(pageNum == null ? 1 : pageNum);
98 110
 
99
-        List<TaBuilding> buildings = taBuildingMapper.buildingList(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain, orgId);
111
+        List<TaBuilding> buildings = taBuildingMapper.buildingList(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain, orgId,taPersonBuildingList);
100 112
 
101 113
         if (null != buildings) {
102 114
             for(TaBuilding taBuilding: buildings) {
@@ -125,13 +137,12 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
125 137
         return ResponseBean.success(page);
126 138
     }
127 139
     @Override
128
-    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId) {
140
+    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId,List<TaPersonBuilding> taPersonBuildingList) {
129 141
         Page<TaBuilding> page = new Page<>();
130 142
         page.setSize(pageSize == null ? 10 : pageSize);
131 143
         page.setCurrent(pageNum == null ? 1 : pageNum);
132
-        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId);
144
+        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId,taPersonBuildingList);
133 145
         page.setRecords(building);
134
-
135 146
         return ResponseBean.success(page);
136 147
     }
137 148
 
@@ -286,10 +297,17 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
286 297
 
287 298
     @Override
288 299
     public ResponseBean buildingUpdate(String parameter, Integer orgId) {
300
+        ResponseBean responseBean = new ResponseBean();
289 301
         JSONObject object= JSONObject.parseObject(parameter);
290 302
 
291 303
         TaBuilding building = object.toJavaObject(TaBuilding.class);
292 304
 
305
+        boolean isMainMoreThanTenFlag = publishCountIsMainBuilding(building, orgId, null, "update");
306
+        if (!isMainMoreThanTenFlag){
307
+            responseBean.addError("每个城市只能推荐10个楼盘到首页,请先将已推荐楼盘取消推荐后再推荐当前楼盘。");
308
+            return responseBean;
309
+        }
310
+
293 311
         // 先删除视频
294 312
         UpdateWrapper<TaBuilding> updateWrapper = new UpdateWrapper<>();
295 313
         updateWrapper.eq("building_id", building.getBuildingId());
@@ -349,6 +367,48 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
349 367
             TdCity city = tdCityMapper.selectById(building.getCityId());
350 368
             city.setStatus("1");
351 369
             tdCityMapper.updateById(city);
370
+
371
+            //更新商品城市
372
+            TaGoods taGoods = new TaGoods();
373
+            taGoods.setCityId(building.getCityId());
374
+            QueryWrapper<TaGoods> goodsQueryWrapper = new QueryWrapper<>();
375
+            goodsQueryWrapper.eq("building_id", building.getBuildingId());
376
+            taGoodsMapper.update(taGoods, goodsQueryWrapper);
377
+
378
+            //更新资讯城市
379
+            TaNews taNews = new TaNews();
380
+            taNews.setCityId(building.getCityId());
381
+            QueryWrapper<TaNews> newsQueryWrapper = new QueryWrapper<>();
382
+            newsQueryWrapper.eq("building_id", building.getBuildingId());
383
+            taNewsMapper.update(taNews, newsQueryWrapper);
384
+
385
+            //更新活动城市
386
+            TaBuildingDynamic taBuildingDynamic = new TaBuildingDynamic();
387
+            taBuildingDynamic.setCityId(building.getCityId());
388
+            QueryWrapper<TaBuildingDynamic> taBuildingDynamicQueryWrapper = new QueryWrapper<>();
389
+            taBuildingDynamicQueryWrapper.eq("building_id", building.getBuildingId());
390
+            taBuildingDynamicMapper.update(taBuildingDynamic, taBuildingDynamicQueryWrapper);
391
+
392
+            //更新助力城市
393
+            HelpActivity helpActivity = new HelpActivity();
394
+            helpActivity.setCityId(building.getCityId());
395
+            QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
396
+            helpActivityQueryWrapper.eq("building_id", building.getBuildingId());
397
+            helpActivityMapper.update(helpActivity, helpActivityQueryWrapper);
398
+
399
+            //更新拼团城市
400
+            TaShareActivity taShareActivity = new TaShareActivity();
401
+            taShareActivity.setCityId(building.getCityId());
402
+            QueryWrapper<TaShareActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
403
+            taShareActivityQueryWrapper.eq("building_id", building.getBuildingId());
404
+            taShareActivityMapper.update(taShareActivity, taShareActivityQueryWrapper);
405
+
406
+            //更新首页轮播、开屏广告、宣传位
407
+            TaExtendContent taExtendContent = new TaExtendContent();
408
+            taExtendContent.setCityId(building.getCityId());
409
+            QueryWrapper<TaExtendContent> taExtendContentQueryWrapper = new QueryWrapper<>();
410
+            taExtendContentQueryWrapper.eq("building_id", building.getBuildingId());
411
+            taExtendContentMapper.update(taExtendContent, taExtendContentQueryWrapper);
352 412
         }
353 413
 
354 414
         // 项目类型
@@ -382,6 +442,8 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
382 442
 
383 443
     @Override
384 444
     public ResponseBean buildingAdd(String parameter, Integer orgId) {
445
+        ResponseBean responseBean = new ResponseBean();
446
+
385 447
         JSONObject object= JSONObject.parseObject(parameter);
386 448
         // 根据orgId查询当前楼盘最大数
387 449
         TaOrg taOrg = taOrgMapper.selectById(orgId);
@@ -395,6 +457,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
395 457
         }
396 458
 
397 459
         TaBuilding building = object.toJavaObject(TaBuilding.class);
460
+
398 461
         if(null!= object.getDate("openingDate")){
399 462
             building.setOpeningDate(DateUtils.date2LocalDateTime(object.getDate("openingDate")));
400 463
         }
@@ -452,6 +515,8 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
452 515
             insertBuildingMapRelationBeach(taBuildingMapRelations, building.getBuildingId(), orgId);
453 516
         }
454 517
 
518
+        //添加默认意向值
519
+        iTaBuildingIntentionService.saveDefaultIntention(building.getOrgId(),building.getBuildingId());
455 520
 
456 521
         return ResponseBean.success(building);
457 522
     }
@@ -478,6 +543,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
478 543
 
479 544
     @Override
480 545
     public ResponseBean buildingUpdateStatus(String parameter, Integer orgId) {
546
+        ResponseBean responseBean = new ResponseBean();
481 547
         TaBuilding  building = new TaBuilding();
482 548
         JSONObject jsonobject = JSONObject.parseObject(parameter);
483 549
         Integer  status= jsonobject.getInteger("status");
@@ -487,6 +553,13 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
487 553
         buildingIdQueryWrapper.eq("org_id", orgId);
488 554
         building.setBuildingId(id);
489 555
         building.setStatus(status);
556
+
557
+        boolean isMainMoreThanTenFlag = publishCountIsMainBuilding(taBuildingMapper.selectOne(buildingIdQueryWrapper), orgId, status, "updateStatus");
558
+        if (!isMainMoreThanTenFlag){
559
+            responseBean.addError("每个城市只能推荐10个楼盘到首页,请先将已推荐楼盘取消推荐后再推荐当前楼盘。");
560
+            return responseBean;
561
+        }
562
+
490 563
         taBuildingMapper.update(building,buildingIdQueryWrapper);
491 564
         return ResponseBean.success("");
492 565
     }
@@ -550,6 +623,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
550 623
         QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
551 624
         buildingApartmentQueryWrapper.eq("apartment_id", building.getApartmentId());
552 625
         building.setInsideArea(building.getInsideArea() == null ? 0d : building.getInsideArea());
626
+        building.setBuildingArea(building.getBuildingArea() == null ? 0d : building.getBuildingArea());
553 627
         taBuildingApartmentMapper.update(building,buildingApartmentQueryWrapper);
554 628
 
555 629
         JSONObject jsonobject = JSONObject.parseObject(parameter);
@@ -818,6 +892,40 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
818 892
         return taBuildingMapper.countNumByHeavy(heavy, dynamicId);
819 893
     }
820 894
 
895
+    /**
896
+     * 推荐到首页楼盘不能超过10个
897
+     * @param taBuilding
898
+     * @return
899
+     */
900
+    public boolean publishCountIsMainBuilding(TaBuilding taBuilding, Integer orgId, Integer status, String operte) {
901
+        QueryWrapper<TaBuilding> queryWrapper = new QueryWrapper<>();
902
+        queryWrapper.eq("building_id", taBuilding.getBuildingId());
903
+        queryWrapper.eq("org_id", orgId);
904
+        TaBuilding info = taBuildingMapper.selectOne(queryWrapper);
905
+        if (operte.equals("update") && (taBuilding.getIsMain() != 1 || info.getStatus() == 2)){
906
+            return true;
907
+        }
908
+        if (operte.equals("updateStatus") && status == 2){
909
+            return true;
910
+        }
911
+        QueryWrapper<TaBuilding> taBuildingQueryWrapper = new QueryWrapper<>();
912
+        taBuildingQueryWrapper.eq("city_id", taBuilding.getCityId());
913
+        taBuildingQueryWrapper.eq("is_main", 1);
914
+        taBuildingQueryWrapper.eq("org_id", orgId);
915
+        taBuildingQueryWrapper.ne("status", "-1");
916
+        taBuildingQueryWrapper.ne("status", "2");
917
+        if (taBuilding.getBuildingId() != null){
918
+            taBuildingQueryWrapper.ne("building_id", taBuilding.getBuildingId());
919
+        }
920
+        List<TaBuilding> taBuildings = taBuildingMapper.selectList(taBuildingQueryWrapper);
921
+        if (taBuildings != null && taBuildings.size() >= 10){
922
+            return false;
923
+        }
924
+        return true;
925
+    }
926
+
927
+
928
+
821 929
 
822 930
     private List<TaBuildingImg> insertImgBatch(List<TaBuildingImg> imgs, String buildingId) {
823 931
         return imgs.stream().map(img -> {

+ 21
- 18
src/main/java/com/huiju/estateagents/service/impl/TaChatServiceImpl.java Целия файл

@@ -64,7 +64,7 @@ public class TaChatServiceImpl extends ServiceImpl<TaChatMapper, TaChat> impleme
64 64
         List<TaChat> result = taChatMapper.getChatHistory(page, fromPerson, chatWith);
65 65
         page.setRecords(result);
66 66
 
67
-        updateMessageStateOfPerson(fromPerson);
67
+        updateMessageStatus(chatWith,fromPerson,CommConstant.MESSAGE_READED);
68 68
 
69 69
         return ResponseBean.success(page);
70 70
     }
@@ -85,23 +85,25 @@ public class TaChatServiceImpl extends ServiceImpl<TaChatMapper, TaChat> impleme
85 85
         List<Map<String, Object>> friendList = new ArrayList<>();
86 86
         if (null != result && result.size() > 0) {
87 87
             for (TaChat taChat: result) {
88
-                boolean isSend = taChat.getSendPerson().equals(personId) ? true : false;
89
-                String chatWith = isSend ? taChat.getReceivePerson() : taChat.getSendPerson();
90
-                String name = isSend ? taChat.getReceiveName() : taChat.getSendName();
91
-                String chatAvatar = isSend ? taChat.getReceiveAvatar() : taChat.getSendAvatar();
92
-                Integer unReadNum = taChatMapper.getUnReadMessage(personId, chatWith);
93
-
94
-                Map<String, Object> friend = new HashMap<>();
95
-                friend.put("friendId", chatWith);
96
-                friend.put("name", name);
97
-                friend.put("avatar", chatAvatar);
98
-                friend.put("messageType", taChat.getMessageType());
99
-                friend.put("message", taChat.getMessage());
100
-                friend.put("createDate", taChat.getCreateDate());
101
-                friend.put("unReadNum", unReadNum);
102
-                friend.put("isSend", isSend);
103
-
104
-                friendList.add(friend);
88
+                if (null != taChat.getSendPerson() && null != taChat.getSendAvatar() && null != taChat.getSendName() && null != taChat.getReceivePerson()){
89
+                    boolean isSend = taChat.getSendPerson().equals(personId) ? true : false;
90
+                    String chatWith = isSend ? taChat.getReceivePerson() : taChat.getSendPerson();
91
+                    String name = isSend ? taChat.getReceiveName() : taChat.getSendName();
92
+                    String chatAvatar = isSend ? taChat.getReceiveAvatar() : taChat.getSendAvatar();
93
+                    Integer unReadNum = taChatMapper.getUnReadMessage(personId, chatWith);
94
+
95
+                    Map<String, Object> friend = new HashMap<>();
96
+                    friend.put("friendId", chatWith);
97
+                    friend.put("name", name);
98
+                    friend.put("avatar", chatAvatar);
99
+                    friend.put("messageType", taChat.getMessageType());
100
+                    friend.put("message", taChat.getMessage());
101
+                    friend.put("createDate", taChat.getCreateDate());
102
+                    friend.put("unReadNum", unReadNum);
103
+                    friend.put("isSend", isSend);
104
+
105
+                    friendList.add(friend);
106
+                }
105 107
             }
106 108
         }
107 109
 
@@ -117,6 +119,7 @@ public class TaChatServiceImpl extends ServiceImpl<TaChatMapper, TaChat> impleme
117 119
 
118 120
     @Override
119 121
     public ResponseBean chat(JSONObject message) {
122
+        System.out.println("进入聊天");
120 123
         TaChat taChat = new TaChat();
121 124
         taChat.setCreateDate(LocalDateTime.now());
122 125
         taChat.setMessage((String) message.get("message"));

+ 43
- 0
src/main/java/com/huiju/estateagents/service/impl/TaCustomImgServiceImpl.java Целия файл

@@ -0,0 +1,43 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.entity.TaCustomImg;
8
+import com.huiju.estateagents.mapper.TaCustomImgMapper;
9
+import com.huiju.estateagents.service.ITaCustomImgService;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.stereotype.Service;
12
+
13
+/**
14
+ * <p>
15
+ *  服务实现类
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-12-17
20
+ */
21
+@Service
22
+public class TaCustomImgServiceImpl extends ServiceImpl<TaCustomImgMapper, TaCustomImg> implements ITaCustomImgService {
23
+
24
+    @Autowired
25
+    private TaCustomImgMapper taCustomImgMapper;
26
+
27
+    @Override
28
+    public boolean countCustomImg(TaCustomImg taCustomImg, Integer orgId) {
29
+        ResponseBean responseBean = new ResponseBean();
30
+        QueryWrapper<TaCustomImg> queryWrapper = new QueryWrapper<>();
31
+        queryWrapper.eq("img_type", taCustomImg.getImgType());
32
+        queryWrapper.eq("org_id", orgId);
33
+        if (taCustomImg.getImgId() != null){
34
+            queryWrapper.ne("img_id", taCustomImg.getImgId());
35
+        }
36
+        TaCustomImg indexTacustomImg = taCustomImgMapper.selectOne(queryWrapper);
37
+        if (indexTacustomImg != null){
38
+            responseBean.addError("您已新增了推荐图,请勿重新添加");
39
+            return false;
40
+        }
41
+        return true;
42
+    }
43
+}

+ 8
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMiniappTemplateServiceImpl.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 4
 import com.huiju.estateagents.entity.TaMiniappTemplate;
5 5
 import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
6 6
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
7
+import org.springframework.beans.factory.annotation.Autowired;
7 8
 import org.springframework.stereotype.Service;
8 9
 
9 10
 /**
@@ -16,5 +17,12 @@ import org.springframework.stereotype.Service;
16 17
  */
17 18
 @Service
18 19
 public class TaMiniappTemplateServiceImpl extends ServiceImpl<TaMiniappTemplateMapper, TaMiniappTemplate> implements ITaMiniappTemplateService {
20
+    @Autowired
21
+    TaMiniappTemplateMapper taMiniappTemplateMapper;
19 22
 
23
+    @Override
24
+    public TaMiniappTemplate getTplByType(String type, String appid) {
25
+        TaMiniappTemplate tpl = taMiniappTemplateMapper.selectTplByType(type, appid);
26
+        return tpl;
27
+    }
20 28
 }

+ 5
- 5
src/main/java/com/huiju/estateagents/service/impl/TaNewsServiceImpl.java Целия файл

@@ -8,10 +8,7 @@ import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.BeanTools;
9 9
 import com.huiju.estateagents.common.CommConstant;
10 10
 import com.huiju.estateagents.common.StringUtils;
11
-import com.huiju.estateagents.entity.TaBuilding;
12
-import com.huiju.estateagents.entity.TaNews;
13
-import com.huiju.estateagents.entity.TaNewsType;
14
-import com.huiju.estateagents.entity.TaSave;
11
+import com.huiju.estateagents.entity.*;
15 12
 import com.huiju.estateagents.exception.EstaException;
16 13
 import com.huiju.estateagents.mapper.TaFavorMapper;
17 14
 import com.huiju.estateagents.mapper.TaNewsMapper;
@@ -23,6 +20,7 @@ import org.springframework.stereotype.Service;
23 20
 
24 21
 import java.time.LocalDateTime;
25 22
 import java.util.List;
23
+import java.util.stream.Collectors;
26 24
 
27 25
 /**
28 26
  * <p>
@@ -58,7 +56,7 @@ public class TaNewsServiceImpl extends ServiceImpl<TaNewsMapper, TaNews> impleme
58 56
 
59 57
 
60 58
     @Override
61
-    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus,String title) {
59
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus,String title, Integer cityId,List<TaPersonBuilding> personBuildingList) {
62 60
         ResponseBean responseBean = new ResponseBean();
63 61
 
64 62
         IPage<TaNews> page = new Page<>();
@@ -71,7 +69,9 @@ public class TaNewsServiceImpl extends ServiceImpl<TaNewsMapper, TaNews> impleme
71 69
         taNewsQueryWrapper.eq(newsTypeId != null,"news_type_id", newsTypeId);
72 70
         taNewsQueryWrapper.eq(newsStatus != null, "news_status", newsStatus);
73 71
         taNewsQueryWrapper.eq("status", 1);
72
+        taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
74 73
         taNewsQueryWrapper.like(title!=null,"news_name", title);
74
+        taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
75 75
         taNewsQueryWrapper.orderByAsc("news_status");
76 76
         taNewsQueryWrapper.orderByDesc("weight","create_date");
77 77
         IPage<TaNews> taNewsIPage = this.page(page, taNewsQueryWrapper);

+ 5
- 1
src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java Целия файл

@@ -9,6 +9,7 @@ import com.huiju.estateagents.common.BeanTools;
9 9
 import com.huiju.estateagents.entity.TaBuilding;
10 10
 import com.huiju.estateagents.entity.TaNews;
11 11
 import com.huiju.estateagents.entity.TaNewsType;
12
+import com.huiju.estateagents.entity.TaPersonBuilding;
12 13
 import com.huiju.estateagents.exception.EstaException;
13 14
 import com.huiju.estateagents.mapper.TaNewsTypeMapper;
14 15
 import com.huiju.estateagents.service.ITaBuildingService;
@@ -19,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
19 20
 import org.springframework.stereotype.Service;
20 21
 
21 22
 import java.time.LocalDateTime;
23
+import java.util.List;
24
+import java.util.stream.Collectors;
22 25
 
23 26
 /**
24 27
  * <p>
@@ -39,7 +42,7 @@ public class TaNewsTypeServiceImpl extends ServiceImpl<TaNewsTypeMapper, TaNewsT
39 42
 
40 43
 
41 44
     @Override
42
-    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId) {
45
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList) {
43 46
         ResponseBean responseBean = new ResponseBean();
44 47
         IPage<TaNewsType> page = new Page<>();
45 48
         page.setCurrent(pageNum);
@@ -49,6 +52,7 @@ public class TaNewsTypeServiceImpl extends ServiceImpl<TaNewsTypeMapper, TaNewsT
49 52
         taNewsQueryWrapper.eq(StringUtils.isNotBlank(buildingId),"building_id", buildingId);
50 53
         taNewsQueryWrapper.eq(orgId != null,"org_id", orgId);
51 54
         taNewsQueryWrapper.eq("status", 1);
55
+        taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id", personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
52 56
         taNewsQueryWrapper.orderByDesc("create_date");
53 57
         IPage<TaNewsType> typeIPage = this.page(page, taNewsQueryWrapper);
54 58
 

+ 67
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonMessageRuleImpl.java Целия файл

@@ -0,0 +1,67 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.entity.TaPersonMessageRule;
5
+import com.huiju.estateagents.mapper.TaPersonMessageRuleMapper;
6
+import com.huiju.estateagents.service.ITaPersonMessageRuleService;
7
+import io.swagger.models.auth.In;
8
+import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.stereotype.Service;
10
+
11
+import java.time.LocalDateTime;
12
+
13
+/**
14
+ * <p>
15
+ * 楼盘户型对应图片表 服务实现类
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-05-10
20
+ */
21
+@Service
22
+public class TaPersonMessageRuleImpl extends ServiceImpl<TaPersonMessageRuleMapper, TaPersonMessageRule> implements ITaPersonMessageRuleService {
23
+    @Autowired
24
+    private TaPersonMessageRuleMapper taPersonMessageRuleMapper;
25
+
26
+    @Override
27
+    public TaPersonMessageRule getByPersonAndType(String personId, String messageType, String contentType, Integer orgId) {
28
+        return taPersonMessageRuleMapper.getByPersonAndType(personId, messageType, contentType, orgId);
29
+    }
30
+
31
+    @Override
32
+    public TaPersonMessageRule saveOrUpdateByPersonAndMessage(String personId, String messageType, String contentType, Integer orgId) {
33
+        boolean success = false;
34
+        LocalDateTime now = LocalDateTime.now();
35
+        TaPersonMessageRule rule = getByPersonAndType(personId, messageType, contentType, orgId);
36
+
37
+        if (null == rule) {
38
+            // 没有信息则插入新记录
39
+            TaPersonMessageRule data = new TaPersonMessageRule();
40
+            data.setPersonId(personId);
41
+            data.setMessageType(messageType);
42
+            data.setContentType(contentType);
43
+            data.setOrgId(orgId);
44
+            data.setLimitNum(-1);   // 暂定 -1 是不限制
45
+            data.setLastSendTime(now);
46
+
47
+            success = save(data);
48
+            return success ? data : null;
49
+        } else {
50
+            // 有的话则更新记录
51
+            rule.setLastSendTime(now);
52
+
53
+            if (rule.getLimitNum() > -1) {
54
+                Integer left = rule.getLeftNum();
55
+                if (null == left || left <= 0) {
56
+                    left = 0;
57
+                } else {
58
+                    left -= 1;
59
+                }
60
+                rule.setLeftNum(left);
61
+            }
62
+
63
+            success = updateById(rule);
64
+            return success ? rule : null;
65
+        }
66
+    }
67
+}

+ 49
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java Целия файл

@@ -132,10 +132,30 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
132 132
             person.setAvatarurl(userInfo.getAvatarUrl());
133 133
             person.setNickname(userInfo.getNickName());
134 134
 
135
+            //获取推荐客户表中此人的信息并更新头像和姓名
136
+            updateTaRecommendCustomer(person);
137
+
135 138
             return person;
136 139
         }
137 140
     }
138 141
 
142
+    //获取推荐客户表中此人的信息并更新头像和姓名
143
+    private void updateTaRecommendCustomer(TaPerson person) {
144
+        //获取客户列表
145
+        QueryWrapper<TaRecommendCustomer> taRecommendCustomerQueryWrapper = new QueryWrapper<>();
146
+        taRecommendCustomerQueryWrapper.eq("person_id",person.getPersonId());
147
+        taRecommendCustomerQueryWrapper.eq("org_id",person.getOrgId());
148
+        List<TaRecommendCustomer> taRecommendCustomerList = taRecommendCustomerMapper.selectList(taRecommendCustomerQueryWrapper);
149
+        taRecommendCustomerList.forEach(e -> {
150
+            //没有姓名和头像的情况下更新
151
+            if (StringUtils.isEmpty(e.getName()) || "匿名用户".equals(e.getName())){
152
+                e.setName(person.getNickname());
153
+                e.setPicture(person.getAvatarurl());
154
+                taRecommendCustomerMapper.updateById(e);
155
+            }
156
+        });
157
+    }
158
+
139 159
     @Override
140 160
     public TaPerson updatePersonPhone(String miniOpenid, String phone,Integer orgId) {
141 161
         // 先查询是否存在用户
@@ -262,6 +282,7 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
262 282
         result.put("unReadNum", 0);
263 283
         result.put("projects", buildings);
264 284
         result.put("address", taBuilding.getAddress());
285
+        result.put("buildingName", taBuilding.getBuildingName());
265 286
         result.put("coordinate", taBuilding.getCoordinate());
266 287
         result.put("personTags",person.getPersonTags());
267 288
         result.put("posters",taPosterService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));
@@ -756,6 +777,34 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
756 777
         taPersonMapper.upDatePersonCityToId(personId);
757 778
     }
758 779
 
780
+    @Override
781
+    public Integer judgeBindStatusByCondition(Integer userId, Integer orgId, String phone) {
782
+        return taPersonMapper.judgeBindStatusByCondition(userId, orgId, phone);
783
+    }
784
+
785
+    /**
786
+     * 第三方获取人员信息接口
787
+     *
788
+     * @param personId
789
+     * @return
790
+     */
791
+    @Override
792
+    public ResponseBean ThirdUserInfo(String personId) {
793
+        TaPerson person = taPersonMapper.getById(personId);
794
+        if (null == person){
795
+            return ResponseBean.error("当前人员不存在",ResponseBean.ERROR_UNAVAILABLE);
796
+        }
797
+        Map<String,Object> map = new HashMap<>();
798
+        map.put("name", person.getName());
799
+        map.put("avatar", person.getPhoto());
800
+        map.put("wxname", person.getNickname());
801
+        map.put("wxavatar", person.getAvatarurl());
802
+        map.put("tel", StringUtils.isEmpty(person.getTel()) ? person.getPhone() : person.getTel());
803
+        map.put("personType", person.getPersonType());
804
+        map.put("personId", person.getPersonId());
805
+        return ResponseBean.success(map);
806
+    }
807
+
759 808
 
760 809
     public String codeGenerator (){
761 810
         double r = Math.random();

+ 165
- 10
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java Целия файл

@@ -1,14 +1,19 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
-import com.huiju.estateagents.entity.HelpActivity;
6
-import com.huiju.estateagents.entity.TaBuildingDynamic;
7
-import com.huiju.estateagents.entity.TaNews;
8
-import com.huiju.estateagents.entity.TaPerson;
9
-import com.huiju.estateagents.entity.TaPersonVisitRecord;
10
-import com.huiju.estateagents.entity.TaRecommendCustomer;
11
-import com.huiju.estateagents.entity.TaShareActivity;
6
+import com.huiju.estateagents.center.taUser.entity.TaUser;
7
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
8
+import com.alibaba.fastjson.JSONObject;
9
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10
+import com.baomidou.mybatisplus.core.metadata.IPage;
11
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
+import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.common.StringUtils;
14
+import com.huiju.estateagents.drainage.entity.TaDrainage;
15
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
16
+import com.huiju.estateagents.entity.*;
12 17
 import com.huiju.estateagents.mapper.HelpActivityMapper;
13 18
 import com.huiju.estateagents.mapper.TaBuildingDynamicMapper;
14 19
 import com.huiju.estateagents.mapper.TaNewsMapper;
@@ -20,6 +25,7 @@ import com.huiju.estateagents.service.ITaPersonVisitRecordService;
20 25
 import org.springframework.beans.factory.annotation.Autowired;
21 26
 import org.springframework.stereotype.Service;
22 27
 
28
+import java.util.Collections;
23 29
 import java.util.List;
24 30
 
25 31
 /**
@@ -50,7 +56,16 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
50 56
 	
51 57
 	@Autowired
52 58
 	private TaNewsMapper taNewsMapper;
53
-	
59
+
60
+	@Autowired
61
+	private TaUserMapper taUserMapper;
62
+
63
+	@Autowired
64
+	private TaPersonMapper taPersonMapper;
65
+
66
+	@Autowired
67
+	private TaDrainageMapper taDrainageMapper;
68
+
54 69
 	/**
55 70
 	 * 分页获取客户访问记录
56 71
 	 *
@@ -85,7 +100,6 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
85 100
 				if (null != helpActivity){
86 101
 					e.setActivityName(helpActivity.getTitle());
87 102
 				}
88
-				
89 103
 			}
90 104
 			//获取咨询标题
91 105
 			if ("news".equals(e.getEventType()) && null != e.getTargetId()){
@@ -93,12 +107,153 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
93 107
 				if (null != taNews){
94 108
 					e.setActivityName(taNews.getNewsName());
95 109
 				}
96
-				
110
+			}
111
+			//获取H5活动标题
112
+			if ("h5".equals(e.getEventType()) && null != e.getTargetId()){
113
+				TaDrainage taDrainage = taDrainageMapper.selectById(e.getTargetId());
114
+				if (null != taDrainage){
115
+					e.setActivityName(taDrainage.getName());
116
+				}
97 117
 			}
98 118
 		});
99 119
 		result.setRecords(records);
100 120
 		return result;
101 121
 	}
122
+
123
+	@Override
124
+	public IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, String eventType, String shareName, String shareTel, String buildingId, String personType, List<TaPersonBuilding> taPersonBuildingList) {
125
+		IPage<TaPersonVisitRecord> taPersonVisitRecordIPage = personVisitRecordMapper.getDrainageVisitRecord(pg, orgId, activityName, eventType, shareName, shareTel, buildingId, personType, taPersonBuildingList);
126
+		List<TaPersonVisitRecord> taPersonVisitRecords = taPersonVisitRecordIPage.getRecords();
127
+		for (TaPersonVisitRecord e : taPersonVisitRecords) {
128
+
129
+			TaPerson personInfo = taPersonMapper.selectById(e.getPersonId());
130
+			if (personInfo != null) {
131
+				e.setUserName(personInfo.getNickname());
132
+				e.setUserTel(personInfo.getPhone());
133
+			}
134
+
135
+			TaPerson userShareInfo = taPersonMapper.selectById(e.getSharePersonId());
136
+			if (userShareInfo != null) {
137
+				e.setShareName(userShareInfo.getNickname());
138
+				e.setShareTel(userShareInfo.getPhone());
139
+			}
140
+
141
+			if (CommConstant.EVENT_H5.equals(e.getEventType())) {
142
+				e.setActivityName(e.getDrainageName());
143
+				continue;
144
+			}
145
+			if (CommConstant.POSTER_CONTENT_TYPE_BUILDING.equals(e.getEventType())) {
146
+				e.setActivityName(e.getBuildingName());
147
+				continue;
148
+			}
149
+			if (CommConstant.POSTER_CONTENT_TYPE_NEWS.equals(e.getEventType())) {
150
+				e.setActivityName(e.getNewsName());
151
+				continue;
152
+			}
153
+			if (CommConstant.POINTS_CHANGE_HELP.equals(e.getEventType())) {
154
+				e.setActivityName(e.getHelpActivityName());
155
+				continue;
156
+			}
157
+			if (CommConstant.POINTS_CHANGE_GROUP.equals(e.getEventType())) {
158
+				e.setActivityName(e.getGroupActivityName());
159
+				continue;
160
+			}
161
+		}
162
+		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
163
+		return taPersonVisitRecordIPage;
164
+	}
165
+
166
+	@Override
167
+	public IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, Integer userId, Integer orgId) {
168
+		IPage<TaConsultantInfo> result = personVisitRecordMapper.getConsultantShareInfoList(pg,userId,orgId);
169
+		return result;
170
+	}
171
+
172
+	@Override
173
+	public Integer countShareNumByEventType(String targetId, Integer orgId, Integer userId, String eventType) {
174
+		return personVisitRecordMapper.countShareNumByEventType(targetId, orgId, userId, eventType);
175
+	}
176
+
177
+	/**
178
+	 * 分页获取个人中心访客记录
179
+	 *
180
+	 * @param pg
181
+	 * @param userId
182
+	 * @param orgId
183
+	 * @return
184
+	 */
185
+	@Override
186
+	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId) {
187
+		//根据userId获取用户信息
188
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
189
+		taPersonQueryWrapper.eq("user_id",userId);
190
+		taPersonQueryWrapper.eq("org_id",orgId);
191
+		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
192
+		//获取我的访问客户列表
193
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, CommConstant.EVENT_H5,taPerson.getPersonId());
194
+		List<TaPersonVisitRecord> records = result.getRecords();
195
+		//判断是否我的客户状态
196
+		records.forEach(e -> {
197
+			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
198
+			queryWrapper.eq("realty_consultant",e.getConsultantId());
199
+			queryWrapper.eq("person_id",e.getPersonId());
200
+			TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectOne(queryWrapper);
201
+			if (null != taRecommendCustomer){
202
+				//1是我的客户
203
+				e.setMyCustomer(CommConstant.STATUS_NORMAL);
204
+			}
205
+		});
206
+		return result;
207
+	}
208
+
209
+
210
+	/**
211
+	 * 分页获取个人中心访客记录
212
+	 *
213
+	 * @param pg
214
+	 * @param userId
215
+	 * @param orgId
216
+	 * @return
217
+	 */
218
+	@Override
219
+	public IPage<TaPersonVisitRecord> getWxActivityVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId, String eventType) {
220
+		//根据userId获取用户信息
221
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
222
+		taPersonQueryWrapper.eq("user_id",userId);
223
+		taPersonQueryWrapper.eq("org_id",orgId);
224
+		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
225
+		//获取我的访问客户列表
226
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxActivityVisitRecordList(pg,userId,orgId, targetId,taPerson.getPersonId(), eventType);
227
+		List<TaPersonVisitRecord> records = result.getRecords();
228
+		//判断是否我的客户状态
229
+		records.forEach(e -> {
230
+			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
231
+			queryWrapper.eq("realty_consultant",e.getConsultantId());
232
+			queryWrapper.eq("person_id",e.getPersonId());
233
+			List<TaRecommendCustomer> taRecommendCustomers = taRecommendCustomerMapper.selectList(queryWrapper);
234
+			if (taRecommendCustomers.size() > 0){
235
+				//1是我的客户
236
+				e.setMyCustomer(CommConstant.STATUS_NORMAL);
237
+				//返回customer_id给微信端
238
+				e.setCustomerId(taRecommendCustomers.get(0).getCustomerId());
239
+			}
240
+		});
241
+		return result;
242
+	}
243
+
244
+	/**
245
+	 * 获取这个人的活动数据列表
246
+	 *
247
+	 * @param userId
248
+	 * @param personId
249
+	 * @param orgId
250
+	 * @return
251
+	 */
252
+	@Override
253
+	public IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg,Integer userId, String personId, Integer orgId) {
254
+		return personVisitRecordMapper.getWxVisitRecordActivityList(pg,userId,personId,orgId,CommConstant.EVENT_H5);
255
+	}
256
+
102 257
 //    @Autowired
103 258
 //    private TaPersonMapper taPersonMapper;
104 259
 //    @Autowired

+ 3
- 2
src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java Целия файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 6
 import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 8
 import com.huiju.estateagents.entity.TaPointsExchange;
8 9
 import com.huiju.estateagents.mapper.TaPointsExchangeMapper;
9 10
 import com.huiju.estateagents.service.ITaPointsExchangeService;
@@ -34,10 +35,10 @@ public class TaPointsExchangeServiceImpl extends ServiceImpl<TaPointsExchangeMap
34 35
 	 * @return
35 36
 	 */
36 37
 	@Override
37
-	public ResponseBean selectList(Integer pageNum, Integer pageSize,TaPointsExchange taPointsExchange) {
38
+	public ResponseBean selectList(Integer pageNum, Integer pageSize,TaPointsExchange taPointsExchange,List<TaPersonBuilding> taPersonBuildingList) {
38 39
 		Page page = new Page(pageNum,pageSize);
39 40
 		// 分页查询
40
-		List<TaPointsExchange> list = taPointsExchangeMapper.selectListByParams(page,taPointsExchange);
41
+		List<TaPointsExchange> list = taPointsExchangeMapper.selectListByParams(page,taPointsExchange,taPersonBuildingList);
41 42
 		page.setRecords(list);
42 43
 		return ResponseBean.success(page);
43 44
 	}

+ 4
- 1
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java Целия файл

@@ -242,7 +242,7 @@ public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMappe
242 242
 
243 243
 		// 发放积分
244 244
 		TaPerson taPerson = taPersonMapper.getById(taRecommendCustomer.getRecommendPerson());
245
-		if (savePoints(taPerson, changeType, changeParams, pointsAmount, orgId)) {
245
+		if (null != taPerson && savePoints(taPerson, changeType, changeParams, pointsAmount, orgId)) {
246 246
 			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
247 247
 		}
248 248
 	}
@@ -286,6 +286,9 @@ public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMappe
286 286
 	}
287 287
 
288 288
 	private boolean savePoints(TaPerson person, String changeType, String changeParams, Integer pointsAmount, Integer orgId) {
289
+		if (null == person){
290
+			return true;
291
+		}
289 292
 		TaPointsRecords taPointsRecords = new TaPointsRecords();
290 293
 		taPointsRecords.setPersonId(person.getPersonId());
291 294
 		taPointsRecords.setPersonName(StringUtils.ifNull(person.getName(),person.getNickname()));

+ 0
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Целия файл


Някои файлове не бяха показани, защото твърде много файлове са промени