Selaa lähdekoodia

Merge branch 'dev'

傅行帆 5 vuotta sitten
vanhempi
commit
70530ad328
100 muutettua tiedostoa jossa 2323 lisäystä ja 339 poistoa
  1. 3
    2
      pom.xml
  2. 25
    1
      src/main/java/com/huiju/estateagents/base/BaseController.java
  3. 21
    13
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  4. 3
    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. 10
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java
  7. 60
    14
      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. 30
    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. 5
    1
      src/main/java/com/huiju/estateagents/controller/ExtendContentController.java
  14. 11
    4
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  15. 3
    3
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  16. 2
    2
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  17. 23
    2
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  18. 183
    0
      src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java
  19. 5
    0
      src/main/java/com/huiju/estateagents/controller/TaGoodsController.java
  20. 15
    0
      src/main/java/com/huiju/estateagents/controller/TaMiniappTemplateController.java
  21. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaNewsController.java
  22. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java
  23. 65
    5
      src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
  24. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java
  25. 15
    15
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  26. 6
    3
      src/main/java/com/huiju/estateagents/controller/TaRoleController.java
  27. 2
    2
      src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java
  28. 2
    2
      src/main/java/com/huiju/estateagents/entity/HelpActivity.java
  29. 56
    0
      src/main/java/com/huiju/estateagents/entity/SysSmsSetting.java
  30. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java
  31. 34
    0
      src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java
  32. 47
    0
      src/main/java/com/huiju/estateagents/entity/TaCustomImg.java
  33. 8
    0
      src/main/java/com/huiju/estateagents/entity/TaMiniappTemplate.java
  34. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaPerson.java
  35. 78
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonMessageRule.java
  36. 30
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java
  37. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java
  38. 5
    3
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  39. 3
    2
      src/main/java/com/huiju/estateagents/mapper/HelpActivityMapper.java
  40. 19
    0
      src/main/java/com/huiju/estateagents/mapper/SysSmsSettingMapper.java
  41. 4
    2
      src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java
  42. 4
    4
      src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java
  43. 18
    0
      src/main/java/com/huiju/estateagents/mapper/TaCustomImgMapper.java
  44. 28
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonMessageRuleMapper.java
  45. 10
    2
      src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java
  46. 2
    1
      src/main/java/com/huiju/estateagents/mapper/TaPointsExchangeMapper.java
  47. 12
    11
      src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java
  48. 5
    3
      src/main/java/com/huiju/estateagents/service/IHelpActivityService.java
  49. 5
    4
      src/main/java/com/huiju/estateagents/service/IMiniAppService.java
  50. 2
    0
      src/main/java/com/huiju/estateagents/service/ISysOrgParamsService.java
  51. 5
    5
      src/main/java/com/huiju/estateagents/service/ISysProjectParamsService.java
  52. 17
    0
      src/main/java/com/huiju/estateagents/service/ISysSmsSettingService.java
  53. 3
    2
      src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java
  54. 7
    0
      src/main/java/com/huiju/estateagents/service/ITaBuildingIntentionService.java
  55. 3
    2
      src/main/java/com/huiju/estateagents/service/ITaBuildingService.java
  56. 16
    0
      src/main/java/com/huiju/estateagents/service/ITaCustomImgService.java
  57. 1
    1
      src/main/java/com/huiju/estateagents/service/ITaMiniappTemplateService.java
  58. 2
    1
      src/main/java/com/huiju/estateagents/service/ITaNewsService.java
  59. 4
    1
      src/main/java/com/huiju/estateagents/service/ITaNewsTypeService.java
  60. 35
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonMessageRuleService.java
  61. 9
    2
      src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java
  62. 4
    1
      src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java
  63. 12
    10
      src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java
  64. 3
    2
      src/main/java/com/huiju/estateagents/service/ITaShareActivityService.java
  65. 72
    34
      src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java
  66. 278
    50
      src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java
  67. 54
    0
      src/main/java/com/huiju/estateagents/service/impl/SysOrgParamsServiceImpl.java
  68. 24
    0
      src/main/java/com/huiju/estateagents/service/impl/SysSmsSettingImpl.java
  69. 4
    4
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java
  70. 35
    0
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingIntentionServiceImpl.java
  71. 94
    23
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java
  72. 43
    0
      src/main/java/com/huiju/estateagents/service/impl/TaCustomImgServiceImpl.java
  73. 8
    0
      src/main/java/com/huiju/estateagents/service/impl/TaMiniappTemplateServiceImpl.java
  74. 4
    5
      src/main/java/com/huiju/estateagents/service/impl/TaNewsServiceImpl.java
  75. 5
    1
      src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java
  76. 67
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonMessageRuleImpl.java
  77. 21
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java
  78. 49
    17
      src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java
  79. 3
    2
      src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java
  80. 4
    1
      src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java
  81. 83
    29
      src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java
  82. 6
    2
      src/main/java/com/huiju/estateagents/service/impl/TaShareActivityServiceImpl.java
  83. 2
    2
      src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java
  84. 3
    3
      src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java
  85. 26
    4
      src/main/java/com/huiju/estateagents/websocket/ChatServer.java
  86. 8
    3
      src/main/resources/application-prod.yml
  87. 1
    1
      src/main/resources/application-test.yml
  88. 59
    0
      src/main/resources/log/logback-spring.xml
  89. 54
    4
      src/main/resources/mapper/HelpActivityMapper.xml
  90. 1
    1
      src/main/resources/mapper/HelpInitiateRecordMapper.xml
  91. 5
    0
      src/main/resources/mapper/SysSmsSettingMapper.xml
  92. 12
    0
      src/main/resources/mapper/TaBuildingDynamicMapper.xml
  93. 12
    0
      src/main/resources/mapper/TaBuildingMapper.xml
  94. 5
    0
      src/main/resources/mapper/TaCustomImgMapper.xml
  95. 1
    1
      src/main/resources/mapper/TaDrainageMapper.xml
  96. 1
    0
      src/main/resources/mapper/TaMiniappTemplateMapper.xml
  97. 15
    0
      src/main/resources/mapper/TaPersonMessageRuleMapper.xml
  98. 177
    13
      src/main/resources/mapper/TaPersonVisitRecordMapper.xml
  99. 6
    0
      src/main/resources/mapper/TaPointsExchangeMapper.xml
  100. 0
    0
      src/main/resources/mapper/TaRecommendCustomerMapper.xml

+ 3
- 2
pom.xml Näytä tiedosto

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.2.2</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>
@@ -205,6 +205,7 @@
205 205
 					<include>application.yml</include>
206 206
 					<include>application-${profiles.active}.yml</include>
207 207
 					<include>mapper/**/*.xml</include>
208
+					<include>log/*.xml</include>
208 209
 				</includes>
209 210
 			</resource>
210 211
 		</resources>

+ 25
- 1
src/main/java/com/huiju/estateagents/base/BaseController.java Näytä tiedosto

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

+ 21
- 13
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java Näytä tiedosto

@@ -367,19 +367,18 @@ public class TaUserController extends BaseController {
367 367
         try {
368 368
             //使用分页插件
369 369
             IPage pg = new Page<>(pageNum, pageSize);
370
-            QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
371
-            taUserQueryWrapper.eq("org_id",getOrgId(request));
372
-            taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
373
-            taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
374
-            taUserQueryWrapper.eq(null != status,"status",status);
375
-//            taUserQueryWrapper.ne("status", 9);
370
+            TaUser taUser = new TaUser();
371
+            taUser.setOrgId(getOrgId(request));
372
+            taUser.setUserName(userName);
373
+            taUser.setPhone(phone);
374
+            taUser.setStatus(status);
376 375
             if(null != isConsultant && isConsultant == 1){
377
-                taUserQueryWrapper.eq("is_consultant",true);
376
+                taUser.setIsConsultant(true);
378 377
             }else if (null != isConsultant && isConsultant == 0){
379
-                taUserQueryWrapper.eq("is_consultant",false);
378
+                taUser.setIsConsultant(false);
380 379
             }
381
-//            taUserQueryWrapper.ne("IFNULL(is_admin,0)",CommConstant.STATUS_NORMAL);
382
-            IPage<TaUser> result = iTaUserService.page(pg,taUserQueryWrapper);
380
+
381
+            IPage<TaUser> result = iTaUserService.seleUserList(pg,taUser,getTaPersonBuildingListByUserId(request));
383 382
             List<TaUser> taUserList = result.getRecords();
384 383
             taUserList.forEach(e -> {
385 384
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
@@ -427,9 +426,18 @@ public class TaUserController extends BaseController {
427 426
             taUser.setLoginPassword("");
428 427
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
429 428
             taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
430
-            TaPersonBuilding taPersonBuilding = taPersonBuildingService.getOne(taPersonBuildingQueryWrapper);
431
-            if (null != taPersonBuilding){
432
-                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
+                }
433 441
             }
434 442
             responseBean.addSuccess(taUser);
435 443
         }catch (Exception e){

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Näytä tiedosto

@@ -198,4 +198,7 @@ public class TaUser implements Serializable {
198 198
      */
199 199
     @TableField(exist = false)
200 200
     private Integer miniStatus;
201
+
202
+    @TableField(exist = false)
203
+    private List<String> buildingIds = new ArrayList<String>();
201 204
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java Näytä tiedosto

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

+ 10
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java Näytä tiedosto

@@ -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;
@@ -51,4 +52,13 @@ public interface ITaUserService extends IService<TaUser> {
51 52
      * @return
52 53
      */
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);
54 64
 }

+ 60
- 14
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Näytä tiedosto

@@ -19,10 +19,7 @@ import com.huiju.estateagents.common.MD5Utils;
19 19
 import com.huiju.estateagents.common.StringUtils;
20 20
 import com.huiju.estateagents.entity.*;
21 21
 import com.huiju.estateagents.mapper.*;
22
-import com.huiju.estateagents.service.ITaBuildingReportService;
23
-import com.huiju.estateagents.service.ITaPersonService;
24
-import com.huiju.estateagents.service.ITaRecommendCustomerService;
25
-import com.huiju.estateagents.service.ITdReportService;
22
+import com.huiju.estateagents.service.*;
26 23
 import org.apache.commons.collections.CollectionUtils;
27 24
 import org.springframework.beans.factory.annotation.Autowired;
28 25
 import org.springframework.stereotype.Service;
@@ -88,6 +85,9 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
88 85
 
89 86
 	@Autowired
90 87
     private ITaRecommendCustomerService iTaRecommendCustomerService;
88
+
89
+	@Autowired
90
+	private ISysOrgParamsService iSysOrgParamsService;
91 91
 	
92 92
 	@Override
93 93
 	public IPage<Map<String,Object>> getPageList(IPage pg) {
@@ -172,6 +172,9 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
172 172
 			throw new Exception("生成用户信息失败");
173 173
 		}
174 174
 
175
+		// 导入系统参数
176
+		iSysOrgParamsService.importParamsFromTemplate(taOrg.getOrgId());
177
+
175 178
 		return taUser;
176 179
 	}
177 180
 
@@ -200,6 +203,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
200 203
                        QueryWrapper<TaOrgCity> taOrgCityParent = new QueryWrapper<>();
201 204
                         taOrgCityParent.eq("city_id",tdCity.getParentid());
202 205
                         taOrgCityParent.eq("org_id",orgid);
206
+						taOrgCityParent.last("limit 1");
203 207
 						TaOrgCity taOrgParent = taOrgCityMapper.selectOne(taOrgCityParent);
204 208
 						// 如果为空,查询行政表
205 209
 						if (null == taOrgParent){
@@ -239,6 +243,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
239 243
 
240 244
 		QueryWrapper<TaMiniapp> wrapper = new QueryWrapper<>();
241 245
 		wrapper.eq("org_id", taOrg.getOrgId());
246
+		wrapper.last("limit 1");
242 247
 
243 248
 		TaMiniapp taMiniapp = taMiniappMapper.selectOne(wrapper);
244 249
 		if (null != taMiniapp) {
@@ -364,11 +369,25 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
364 369
 		});
365 370
 		
366 371
 		//保存项目
367
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
368
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
369
-		taPersonBuilding.setUserId(taUser.getUserId());
370
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
371
-		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
+
372 391
 		return taUser;
373 392
 	}
374 393
 	
@@ -424,11 +443,24 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
424 443
 		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
425 444
 		taPersonBuildingMapper.delete(taPersonBuildingQueryWrapper);
426 445
 		//保存项目
427
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
428
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
429
-		taPersonBuilding.setUserId(taUser.getUserId());
430
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
431
-		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
+		}
432 464
 		
433 465
 		//更新person
434 466
 		TaPerson taPerson = new TaPerson();
@@ -512,6 +544,19 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
512 544
 		return ResponseBean.success("操作成功!");
513 545
 	}
514 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
+
515 560
 	private boolean updateUserStatus(TaUser user) {
516 561
 		UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
517 562
 		updateWrapper.eq("user_id", user.getUserId());
@@ -519,6 +564,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
519 564
 
520 565
         QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
521 566
         taPersonQueryWrapper.eq("user_id", user.getUserId());
567
+		taPersonQueryWrapper.last("limit 1");
522 568
         TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
523 569
         // 可能存在没有绑定小程序端
524 570
         if (null != taPerson) {

+ 70
- 0
src/main/java/com/huiju/estateagents/cleancode/CleanCode.java Näytä tiedosto

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

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

@@ -125,7 +125,7 @@ public class CommConstant {
125 125
     public final static String POINTS_CHANGE_DOCUMENT_VERIFY = "document_verify";
126 126
 
127 127
     /**
128
-     * 资料审核
128
+     * 活动签到
129 129
      */
130 130
     public final static String POINTS_CHANGE_ACTIVITY_CHECKIN = "activity_checkin";
131 131
 
@@ -445,19 +445,19 @@ public class CommConstant {
445 445
      * 消息通知
446 446
      * 必须存在表   td_miniapp_template_type 中
447 447
      */
448
-    public static final String MINIAPP_TPL_NOTICE = "notice";
448
+    public static final String MESSAGE_CONTENT_OF_NOTICE = "notice";
449 449
     
450 450
     /**
451 451
      * 助力通知
452 452
      * 必须存在表   td_miniapp_template_type 中
453 453
      */
454
-    public static final String MINIAPP_TPL_HELP = "help-result";
454
+    public static final String MESSAGE_CONTENT_OF_HELP = "help-result";
455 455
     
456 456
     /**
457 457
      * 拼团通知
458 458
      * 必须存在表   td_miniapp_template_type 中
459 459
      */
460
-    public static final String MINIAPP_TPL_GROUP = "group-result";
460
+    public static final String MESSAGE_CONTENT_OF_GROUP = "group-result";
461 461
     
462 462
     /**
463 463
      * 活动以结束
@@ -515,4 +515,30 @@ public class CommConstant {
515 515
      * 埋点类型h5
516 516
      */
517 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
+
518 544
 }

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

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

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

@@ -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());

+ 5
- 1
src/main/java/com/huiju/estateagents/controller/ExtendContentController.java Näytä tiedosto

@@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletRequest;
33 33
 import java.time.LocalDateTime;
34 34
 import java.util.Collection;
35 35
 import java.util.List;
36
+import java.util.stream.Collectors;
36 37
 
37 38
 /**
38 39
  * <p>
@@ -97,7 +98,9 @@ public class ExtendContentController extends BaseController {
97 98
                                           @RequestParam(value = "showType", required = false) String showType,HttpServletRequest request){
98 99
             ResponseBean responseBean = new ResponseBean();
99 100
             IPage<ExtendContent> pg = new Page<>(pageNum, pageSize);
100
-            QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
101
+
102
+        List<TaPersonBuilding> taPersonBuildingList = getTaPersonBuildingListByUserId(request);
103
+        QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
101 104
             queryWrapper.eq(cityId != null, "city_id", cityId);
102 105
             queryWrapper.eq(StringUtils.isNotBlank(buildingId), "building_id", buildingId);
103 106
             queryWrapper.eq(StringUtils.isNotBlank(showType), "show_type", showType);
@@ -106,6 +109,7 @@ public class ExtendContentController extends BaseController {
106 109
             queryWrapper.ne("status",9);
107 110
             queryWrapper.eq(status != null, "status", status);
108 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"));
109 113
             queryWrapper.orderByDesc("create_date");
110 114
             IPage<ExtendContent> result = iExtendContentService.page(pg, queryWrapper);
111 115
 

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

@@ -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
 
@@ -135,7 +135,7 @@ public class HelpActivityController extends BaseController {
135 135
                                          @RequestParam(value = "name", required = false) String name,
136 136
                                          HttpServletRequest request) {
137 137
         Integer orgId = getOrgId(request);
138
-        ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId,status,name);
138
+        ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId,status,name,getTaPersonBuildingListByUserId(request));
139 139
         return helpActivityList;
140 140
     }
141 141
 
@@ -553,8 +553,15 @@ public class HelpActivityController extends BaseController {
553 553
     public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
554 554
                                                @RequestParam(value = "buildingId",required = false) String buildingId,
555 555
                                                @RequestParam(value = "cityId",required = false) String cityId) {
556
-            ResponseBean lsit = taHelpActivityService.wxhelpActivityAndGroup(getOrgId(request),buildingId,cityId);
557
-                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;
558 565
         }
559 566
 
560 567
 }

+ 3
- 3
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Näytä tiedosto

@@ -112,11 +112,12 @@ public class MiniAppController extends BaseController {
112 112
             TaMiniapp miniapp = taMiniappService.getById(appid);
113 113
             WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
114 114
             Integer orgId =miniapp.getOrgId();
115
-            Map<String, String> miniResp = new HashMap<>();
115
+            Map<String, Object> miniResp = new HashMap<>();
116 116
             miniResp.put("openid", session.getOpenid());
117 117
             miniResp.put("sessionKey", session.getSessionKey());
118 118
             miniResp.put("unionid", session.getUnionid());
119 119
             miniResp.put("name",miniapp.getName());
120
+            miniResp.put("tpls", miniAppService.getTpls(appid));
120 121
 
121 122
             //如果是分享进来且没有进入过小程序,给分享人发放积分
122 123
             QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
@@ -219,7 +220,7 @@ public class MiniAppController extends BaseController {
219 220
             result.put("extraInfo", extraInfo);
220 221
             result.put("miniAuthorized", null != taPerson.getAvatarurl() && taPerson.getAvatarurl().indexOf("wx.qlogo.cn") > 0);
221 222
 
222
-            String token = miniResp.get("token");
223
+            String token = (String) miniResp.get("token");
223 224
             sysTokenService.saveToken(token);
224 225
 
225 226
             return ResponseBean.success(result);
@@ -408,7 +409,6 @@ public class MiniAppController extends BaseController {
408 409
         }
409 410
     }
410 411
 
411
-
412 412
     public Integer getOrgId(HttpServletRequest request){
413 413
 
414 414
         Map map = JWTUtils.getUserIdAndOrgId(request);

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Näytä tiedosto

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

+ 23
- 2
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Näytä tiedosto

@@ -130,7 +130,7 @@ public class TaBuildingDynamicController extends BaseController {
130 130
                                              @RequestParam(required = false)String isEnlist,
131 131
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
132 132
                                              @RequestParam(required = false)String activityStatus,HttpServletRequest request){
133
-        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus);
133
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus,getTaPersonBuildingListByUserId(request));
134 134
         return responseBean;
135 135
     }
136 136
 
@@ -155,7 +155,7 @@ public class TaBuildingDynamicController extends BaseController {
155 155
                                              @RequestParam(required = false)String isEnlist,
156 156
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
157 157
                                              @RequestParam(required = false)String activityStatus,HttpServletRequest request){
158
-        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicSelectedList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus);
158
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicSelectedList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request),activityStatus,getTaPersonBuildingListByUserId(request));
159 159
         return responseBean;
160 160
     }
161 161
 
@@ -537,6 +537,27 @@ public class TaBuildingDynamicController extends BaseController {
537 537
         }
538 538
         return responseBean;
539 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
+    }
540 561
     
541 562
     
542 563
     @ApiOperation(value = "后端删除", notes = "后端删除")

+ 183
- 0
src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java Näytä tiedosto

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

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

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

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

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaNewsController.java Näytä tiedosto

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

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java Näytä tiedosto

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

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

@@ -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
     /**
@@ -231,15 +237,17 @@ public class TaPersonVisitRecordController extends BaseController {
231 237
     public ResponseBean drainageVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
232 238
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
233 239
                                                 @RequestParam(value ="activityName",required = false) String activityName,
234
-                                                @RequestParam(value ="drainageId",required = false) Integer drainageId,
240
+                                                @RequestParam(value ="buildingId",required = false) String buildingId,
235 241
                                                 @RequestParam(value ="shareName",required = false) String shareName,
236 242
                                                 @RequestParam(value ="shareTel",required = false) String shareTel,
243
+                                                @RequestParam(value ="eventType",required = false) String eventType,
244
+                                                @RequestParam(value ="personType",required = false) String personType,
237 245
                                                 HttpServletRequest request) {
238 246
         ResponseBean responseBean = new ResponseBean();
239 247
         try {
240 248
             //使用分页插件
241 249
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
242
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getDrainageVisitRecord(pg, getOrgId(request), activityName, drainageId, shareName, shareTel);
250
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getDrainageVisitRecord(pg, getOrgId(request), activityName, eventType, shareName, shareTel, buildingId, personType, getTaPersonBuildingListByUserId(request));
243 251
             responseBean.addSuccess(result);
244 252
             return responseBean;
245 253
         } catch (Exception e) {
@@ -255,13 +263,16 @@ public class TaPersonVisitRecordController extends BaseController {
255 263
      * @return
256 264
      */
257 265
     @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
258
-    public ResponseBean wxVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
266
+    public ResponseBean wxPersonVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
259 267
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
260
-                                                @RequestParam(value = "userId") Integer userId,HttpServletRequest request){
268
+                                                @RequestParam(value = "userId") Integer userId,
269
+                                                @RequestParam(value = "targetId")String targetId,
270
+                                                @RequestParam(value = "eventType")String eventType,
271
+                                                HttpServletRequest request){
261 272
         try {
262 273
             //使用分页插件
263 274
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
264
-            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request));
275
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getWxVisitRecordList(pg, userId,getOrgId(request),targetId, eventType);
265 276
             return ResponseBean.success(result);
266 277
         }catch (Exception e){
267 278
             e.printStackTrace();
@@ -291,4 +302,53 @@ public class TaPersonVisitRecordController extends BaseController {
291 302
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
292 303
         }
293 304
     }
305
+
306
+    /**
307
+     * 置业顾问分享项目、活动、资讯、助力、拼团信息
308
+     * @param pageNumber
309
+     * @param pageSize
310
+     * @param userId
311
+     * @param request
312
+     * @return
313
+     */
314
+    @RequestMapping(value = "/wx/shareRecords",method= RequestMethod.GET)
315
+    public ResponseBean wxShareRecordsByUserId(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
316
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
317
+                                              @RequestParam(value = "userId") Integer userId,
318
+                                              HttpServletRequest request){
319
+        ResponseBean responseBean = new ResponseBean();
320
+        if (userId == null){
321
+            return responseBean;
322
+        }
323
+        //使用分页插件
324
+        IPage<TaConsultantInfo> pg = new Page<>(pageNumber, pageSize);
325
+        IPage<TaConsultantInfo> result = iTaPersonVisitRecordService.getConsultantShareInfoList(pg, userId, getOrgId(request));
326
+
327
+        List<TaConsultantInfo> taConsultantInfos = result.getRecords();
328
+        taConsultantInfos.forEach(e ->{
329
+            Integer shareNum = iTaPersonVisitRecordService.countShareNumByEventType(e.getTargetId(), getOrgId(request), userId, e.getEventType());
330
+            switch (e.getEventType()){
331
+                case CommConstant.POSTER_CONTENT_TYPE_ACTIVITY:
332
+                    e.setActivityShareNum(shareNum);
333
+                    break;
334
+                case CommConstant.POINTS_CHANGE_HELP:
335
+                    e.setHelpActivityShareNum(shareNum);
336
+                    break;
337
+                case CommConstant.POINTS_CHANGE_GROUP:
338
+                    e.setGroupActivityShareNum(shareNum);
339
+                    break;
340
+                case CommConstant.CAROUSEL_NEWS:
341
+                    e.setNewsNum(shareNum);
342
+                    break;
343
+                case CommConstant.POSTER_CONTENT_TYPE_BUILDING:
344
+                    e.setBuildingNum(shareNum);
345
+                    break;
346
+                case CommConstant.EVENT_H5:
347
+                    e.setDrainageShareNum(shareNum);
348
+                    break;
349
+            }
350
+        });
351
+        result.setRecords(taConsultantInfos);
352
+        return ResponseBean.success(result);
353
+    }
294 354
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java Näytä tiedosto

@@ -80,7 +80,7 @@ public class TaPointsExchangeController extends BaseController {
80 80
             taPointsExchange.setTel(tel);
81 81
             taPointsExchange.setOrgId(getOrgId(request));
82 82
             
83
-            responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange);
83
+            responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange,getTaPersonBuildingListByUserId(request));
84 84
 
85 85
         }catch (Exception e){
86 86
             e.printStackTrace();

+ 15
- 15
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Näytä tiedosto

@@ -320,7 +320,7 @@ public class TaRecommendCustomerController extends BaseController {
320 320
 //                TaPersonBuilding personBuilding = taPersonBuildingMapper.selectOne(queryWrapper);
321 321
 //                buildingId = personBuilding.getBuildingId();
322 322
 //            }
323
-            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)));
324 324
         }catch (Exception e){
325 325
             e.printStackTrace();
326 326
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -342,7 +342,7 @@ public class TaRecommendCustomerController extends BaseController {
342 342
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
343 343
                                          @RequestParam(value = "sex",required = false)Integer sex){
344 344
         try{
345
-            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)));
346 346
         }catch (Exception e){
347 347
             e.printStackTrace();
348 348
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -363,7 +363,7 @@ public class TaRecommendCustomerController extends BaseController {
363 363
                                          @RequestParam(value = "sex",required = false)Integer sex, HttpServletRequest request){
364 364
         Integer orgid = getOrgId(request);
365 365
         try{
366
-            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)));
367 367
         }catch (Exception e){
368 368
             e.printStackTrace();
369 369
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -398,7 +398,7 @@ public class TaRecommendCustomerController extends BaseController {
398 398
     public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
399 399
         Integer orgId = getOrgId(request);
400 400
         try{
401
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId));
401
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId,getTaPersonBuildingListByUserId(request)));
402 402
         }catch (Exception e){
403 403
             e.printStackTrace();
404 404
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -415,7 +415,7 @@ public class TaRecommendCustomerController extends BaseController {
415 415
         }
416 416
         TaPerson person = taPersons.get(0);
417 417
         try{
418
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId));
418
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId,null));
419 419
         }catch (Exception e){
420 420
             e.printStackTrace();
421 421
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -521,10 +521,10 @@ public class TaRecommendCustomerController extends BaseController {
521 521
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
522 522
     public ResponseBean getCustomerDetail(@PathVariable String id,
523 523
                                           @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
524
-                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
524
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
525 525
         ResponseBean responseBean = new ResponseBean();
526 526
         try {
527
-            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize));
527
+            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
528 528
         }catch (Exception e){
529 529
             e.printStackTrace();
530 530
             responseBean.addError(e.getMessage());
@@ -535,10 +535,10 @@ public class TaRecommendCustomerController extends BaseController {
535 535
     @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
536 536
     public ResponseBean getPublicCustomerDetail(@PathVariable String id,
537 537
                                                 @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
538
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
538
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,HttpServletRequest request) {
539 539
         ResponseBean responseBean = new ResponseBean();
540 540
         try {
541
-            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize));
541
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize,getTaPersonBuildingListByUserId(request)));
542 542
         }catch (Exception e){
543 543
             e.printStackTrace();
544 544
             responseBean.addError(e.getMessage());
@@ -618,7 +618,7 @@ public class TaRecommendCustomerController extends BaseController {
618 618
         response.setCharacterEncoding("utf-8");
619 619
         response.setHeader("Content-disposition", "attachment;filename=推荐客户.xlsx");
620 620
 
621
-        Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request));
621
+        Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request),getTaPersonBuildingListByUserId(request));
622 622
 
623 623
         Integer pageCode = 0;
624 624
         Integer pageSize = 100;
@@ -629,7 +629,7 @@ public class TaRecommendCustomerController extends BaseController {
629 629
         // 设置 sheet, 同一个sheet只需要设置一次
630 630
         WriteSheet writeSheet = EasyExcel.writerSheet("推荐客户").build();
631 631
         do {
632
-            List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize);
632
+            List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize,getTaPersonBuildingListByUserId(request));
633 633
             excelWriter.write(recCustomerExport, writeSheet);
634 634
 
635 635
             pageCode ++;
@@ -660,7 +660,7 @@ public class TaRecommendCustomerController extends BaseController {
660 660
         response.setCharacterEncoding("utf-8");
661 661
         response.setHeader("Content-disposition", "attachment;filename=报备客户.xlsx");
662 662
 
663
-        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));
664 664
 
665 665
         Integer pageCode = 0;
666 666
         Integer pageSize = 100;
@@ -672,7 +672,7 @@ public class TaRecommendCustomerController extends BaseController {
672 672
         WriteSheet writeSheet = EasyExcel.writerSheet("报备客户").build();
673 673
         List<ReporRecommendCustomer> recCustomerExport = null;
674 674
         do {
675
-            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));
676 676
             excelWriter.write(recCustomerExport, writeSheet);
677 677
 
678 678
             pageCode ++;
@@ -794,11 +794,11 @@ public class TaRecommendCustomerController extends BaseController {
794 794
             // 设置 sheet, 同一个sheet只需要设置一次
795 795
             WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-私客").build();
796 796
 
797
-            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));
798 798
             pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
799 799
             List<PrivateCustomerExport> privateList = null;
800 800
             do {
801
-                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));
802 802
                 excelWriter.write(privateList, writeSheet);
803 803
 
804 804
                 pageCode ++;

+ 6
- 3
src/main/java/com/huiju/estateagents/controller/TaRoleController.java Näytä tiedosto

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

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java Näytä tiedosto

@@ -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());
@@ -114,7 +114,7 @@ public class TaShareActivityController extends BaseController {
114 114
                                             HttpServletRequest request){
115 115
         ResponseBean responseBean = new ResponseBean();
116 116
         try {
117
-            responseBean = iTaShareActivityService.getEffectiveList(pageNum, pageSize, cityId, buildingId, getOrgId(request),status,name);
117
+            responseBean = iTaShareActivityService.getEffectiveList(pageNum, pageSize, cityId, buildingId, getOrgId(request),status,name,getTaPersonBuildingListByUserId(request));
118 118
         }catch (Exception e){
119 119
             e.printStackTrace();
120 120
             logger.error("taShareActivityList -=- {}",e.toString());

+ 2
- 2
src/main/java/com/huiju/estateagents/entity/HelpActivity.java Näytä tiedosto

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

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

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

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

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

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

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

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

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

@@ -130,6 +130,30 @@ public class TaPersonVisitRecord implements Serializable {
130 130
     @TableField(exist = false)
131 131
     private String activityName;
132 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
+
133 157
     /**
134 158
      * 分享者名称
135 159
      */
@@ -164,4 +188,10 @@ public class TaPersonVisitRecord implements Serializable {
164 188
      */
165 189
     @TableField(exist = false)
166 190
     private String nickname;
191
+
192
+    /**
193
+     * 客户id
194
+     */
195
+    @TableField(exist = false)
196
+    private String customerId;
167 197
 }

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

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

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

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

@@ -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,Integer status,String name);
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 Näytä tiedosto

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

+ 4
- 2
src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java Näytä tiedosto

@@ -4,11 +4,13 @@ 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;
10 11
 
11 12
 import java.time.LocalDateTime;
13
+import java.util.List;
12 14
 import java.util.Map;
13 15
 
14 16
 /**
@@ -28,7 +30,7 @@ public interface TaBuildingDynamicMapper extends BaseMapper<TaBuildingDynamic> {
28 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,@Param("activityStatus") String activityStatus);
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
      * 详情
@@ -87,5 +89,5 @@ public interface TaBuildingDynamicMapper extends BaseMapper<TaBuildingDynamic> {
87 89
      */
88 90
     void updateProcessingActivity();
89 91
 
90
-    IPage<TaBuildingDynamic> iBuildingDynamicSelectedList(Page<TaBuildingDynamic> page, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus);
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);
91 93
 }

+ 4
- 4
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java Näytä tiedosto

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

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

+ 28
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMessageRuleMapper.java Näytä tiedosto

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

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

@@ -3,6 +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;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
6 9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
7 10
 import org.apache.ibatis.annotations.Mapper;
8 11
 import org.apache.ibatis.annotations.Param;
@@ -69,8 +72,13 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
69 72
      * @param orgId
70 73
      * @return
71 74
      */
72
-	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, @Param("orgId") Integer orgId, @Param("activityName") String activityName, @Param("drainageId") Integer drainageId, @Param("shareName") String shareName, @Param("shareTel") String shareTel);
73
-    IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("eventType") String eventType,@Param("personId") String personId);
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("targetId") String targetId,@Param("personId") String personId, @Param("eventType")String eventType);
74 78
 
75 79
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
80
+
81
+    IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, @Param("userId") Integer userId, @Param("orgId") Integer orgId);
82
+
83
+    Integer countShareNumByEventType(@Param("targetId") String targetId, @Param("orgId")Integer orgId, @Param("userId")Integer userId, @Param("eventType")String eventType);
76 84
 }

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

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

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

+ 5
- 3
src/main/java/com/huiju/estateagents/service/IHelpActivityService.java Näytä tiedosto

@@ -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,Integer status,String name);
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 Näytä tiedosto

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

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

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

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

+ 3
- 2
src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java Näytä tiedosto

@@ -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,String activityStatus);
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
      * 项目详情
@@ -138,5 +139,5 @@ public interface ITaBuildingDynamicService extends IService<TaBuildingDynamic> {
138 139
      * @param activityStatus
139 140
      * @return
140 141
      */
141
-    ResponseBean iBuildingDynamicSelectedList(Integer pageNum, Integer pageSize, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus);
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);
142 143
 }

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

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

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

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

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

@@ -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, Integer cityId);
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 Näytä tiedosto

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

@@ -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
- 2
src/main/java/com/huiju/estateagents/service/ITaPersonVisitRecordService.java Näytä tiedosto

@@ -3,8 +3,11 @@ 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;
8 11
 
9 12
 import java.util.List;
10 13
 
@@ -32,7 +35,7 @@ public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecor
32 35
 	 * @param orgId
33 36
 	 * @return
34 37
 	 */
35
-	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId);
38
+	IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId, String eventType);
36 39
 
37 40
 	/**
38 41
 	 * 获取这个人的活动数据列表
@@ -46,5 +49,9 @@ public interface ITaPersonVisitRecordService extends IService<TaPersonVisitRecor
46 49
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
47 50
 //    TaPerson customerInfo(String personId);
48 51
 
49
-	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, Integer drainageId, String shareName, String shareTel);
52
+	IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, String eventType, String shareName, String shareTel, String buildingId, String personType, List<TaPersonBuilding> taPersonBuildingList);
53
+
54
+	IPage<TaConsultantInfo> getConsultantShareInfoList(IPage<TaConsultantInfo> pg, Integer userId, Integer orgId);
55
+
56
+	Integer countShareNumByEventType(String targetId, Integer orgId, Integer userId, String eventType);
50 57
 }

+ 4
- 1
src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java Näytä tiedosto

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

+ 12
- 10
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java Näytä tiedosto

@@ -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
      * 导出数据(经纪人) 总数
@@ -147,4 +148,5 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
147 148
      * @return
148 149
      */
149 150
     ResponseBean getAdminMyCustList(String openid, String keywords, int pageNumber, int pageSize);
151
+
150 152
 }

+ 3
- 2
src/main/java/com/huiju/estateagents/service/ITaShareActivityService.java Näytä tiedosto

@@ -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,7 +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,Integer status,String name);
46
+    ResponseBean getEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, Integer orgId,Integer status,String name,List<TaPersonBuilding> personBuildingList);
46 47
 
47 48
     Integer countGroupBuyPeople(TaShareActivity taShareActivity);
48 49
 }

+ 72
- 34
src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java Näytä tiedosto

@@ -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,Integer status,String name) {
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,status,name);
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 Näytä tiedosto

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

+ 54
- 0
src/main/java/com/huiju/estateagents/service/impl/SysOrgParamsServiceImpl.java Näytä tiedosto

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

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

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

@@ -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,String activityStatus) {
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,activityStatus);
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());
@@ -383,12 +383,12 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
383 383
      * @return
384 384
      */
385 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) {
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 387
         Page<TaBuildingDynamic> page = new Page<>();
388 388
         page.setSize(pageSize == null ? 10 : pageSize);
389 389
         page.setCurrent(pageNum == null ? 1 : pageNum);
390 390
 
391
-        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.iBuildingDynamicSelectedList(page, name, buildingId,cityId,isEnlist,time,title,orgId,activityStatus);
391
+        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.iBuildingDynamicSelectedList(page, name, buildingId,cityId,isEnlist,time,title,orgId,activityStatus,personBuildingList);
392 392
 
393 393
         HashMap hashMap= new HashMap<>();
394 394
         hashMap.put("list",buildingDynamic.getRecords());

+ 35
- 0
src/main/java/com/huiju/estateagents/service/impl/TaBuildingIntentionServiceImpl.java Näytä tiedosto

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

+ 94
- 23
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Näytä tiedosto

@@ -8,16 +8,15 @@ 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;
21 20
 import javafx.scene.control.Tab;
22 21
 import org.apache.commons.collections.CollectionUtils;
23 22
 import org.springframework.beans.factory.annotation.Autowired;
@@ -68,13 +67,13 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
68 67
     TdCityMapper tdCityMapper;
69 68
 
70 69
     @Autowired
71
-    private TaBuildingProjectTypeMapper taBuildingProjectTypeMapper;
70
+    private TaGoodsMapper taGoodsMapper;
72 71
 
73 72
     @Autowired
74
-    private TaPosterService taPosterService;
73
+    private TaNewsMapper taNewsMapper;
75 74
 
76 75
     @Autowired
77
-    private TaShareContentService taShareContentService;
76
+    private TaBuildingDynamicMapper taBuildingDynamicMapper;
78 77
 
79 78
     @Autowired
80 79
     private HelpActivityMapper helpActivityMapper;
@@ -82,19 +81,34 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
82 81
     @Autowired
83 82
     private TaShareActivityMapper taShareActivityMapper;
84 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
+
85 96
     @Autowired
86 97
     private  TaOrgMapper  taOrgMapper;
87 98
 
88 99
     @Autowired
89 100
     private ITaBuildingMapRelationService iTaBuildingMapRelationService;
90 101
 
102
+    @Autowired
103
+    public ITaBuildingIntentionService iTaBuildingIntentionService;
104
+
91 105
     @Override
92
-    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) {
93 107
         Page<TaBuilding> page = new Page<>();
94 108
         page.setSize(pageSize == null ? 10 : pageSize);
95 109
         page.setCurrent(pageNum == null ? 1 : pageNum);
96 110
 
97
-        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);
98 112
 
99 113
         if (null != buildings) {
100 114
             for(TaBuilding taBuilding: buildings) {
@@ -123,13 +137,12 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
123 137
         return ResponseBean.success(page);
124 138
     }
125 139
     @Override
126
-    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) {
127 141
         Page<TaBuilding> page = new Page<>();
128 142
         page.setSize(pageSize == null ? 10 : pageSize);
129 143
         page.setCurrent(pageNum == null ? 1 : pageNum);
130
-        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);
131 145
         page.setRecords(building);
132
-
133 146
         return ResponseBean.success(page);
134 147
     }
135 148
 
@@ -289,7 +302,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
289 302
 
290 303
         TaBuilding building = object.toJavaObject(TaBuilding.class);
291 304
 
292
-        boolean isMainMoreThanTenFlag = countIsMainBuilding(building);
305
+        boolean isMainMoreThanTenFlag = publishCountIsMainBuilding(building, orgId, null, "update");
293 306
         if (!isMainMoreThanTenFlag){
294 307
             responseBean.addError("每个城市只能推荐10个楼盘到首页,请先将已推荐楼盘取消推荐后再推荐当前楼盘。");
295 308
             return responseBean;
@@ -354,6 +367,48 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
354 367
             TdCity city = tdCityMapper.selectById(building.getCityId());
355 368
             city.setStatus("1");
356 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);
357 412
         }
358 413
 
359 414
         // 项目类型
@@ -403,12 +458,6 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
403 458
 
404 459
         TaBuilding building = object.toJavaObject(TaBuilding.class);
405 460
 
406
-        boolean isMainMoreThanTenFlag = countIsMainBuilding(building);
407
-        if (!isMainMoreThanTenFlag){
408
-            responseBean.addError("每个城市只能推荐10个楼盘到首页,请先将已推荐楼盘取消推荐后再推荐当前楼盘。");
409
-            return responseBean;
410
-        }
411
-
412 461
         if(null!= object.getDate("openingDate")){
413 462
             building.setOpeningDate(DateUtils.date2LocalDateTime(object.getDate("openingDate")));
414 463
         }
@@ -466,6 +515,8 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
466 515
             insertBuildingMapRelationBeach(taBuildingMapRelations, building.getBuildingId(), orgId);
467 516
         }
468 517
 
518
+        //添加默认意向值
519
+        iTaBuildingIntentionService.saveDefaultIntention(building.getOrgId(),building.getBuildingId());
469 520
 
470 521
         return ResponseBean.success(building);
471 522
     }
@@ -492,6 +543,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
492 543
 
493 544
     @Override
494 545
     public ResponseBean buildingUpdateStatus(String parameter, Integer orgId) {
546
+        ResponseBean responseBean = new ResponseBean();
495 547
         TaBuilding  building = new TaBuilding();
496 548
         JSONObject jsonobject = JSONObject.parseObject(parameter);
497 549
         Integer  status= jsonobject.getInteger("status");
@@ -501,6 +553,13 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
501 553
         buildingIdQueryWrapper.eq("org_id", orgId);
502 554
         building.setBuildingId(id);
503 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
+
504 563
         taBuildingMapper.update(building,buildingIdQueryWrapper);
505 564
         return ResponseBean.success("");
506 565
     }
@@ -564,6 +623,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
564 623
         QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
565 624
         buildingApartmentQueryWrapper.eq("apartment_id", building.getApartmentId());
566 625
         building.setInsideArea(building.getInsideArea() == null ? 0d : building.getInsideArea());
626
+        building.setBuildingArea(building.getBuildingArea() == null ? 0d : building.getBuildingArea());
567 627
         taBuildingApartmentMapper.update(building,buildingApartmentQueryWrapper);
568 628
 
569 629
         JSONObject jsonobject = JSONObject.parseObject(parameter);
@@ -837,25 +897,36 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
837 897
      * @param taBuilding
838 898
      * @return
839 899
      */
840
-    public boolean countIsMainBuilding(TaBuilding taBuilding) {
841
-        if (taBuilding.getIsMain() != 1){
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){
842 909
             return true;
843 910
         }
844 911
         QueryWrapper<TaBuilding> taBuildingQueryWrapper = new QueryWrapper<>();
845 912
         taBuildingQueryWrapper.eq("city_id", taBuilding.getCityId());
846 913
         taBuildingQueryWrapper.eq("is_main", 1);
847
-        taBuildingQueryWrapper.eq("status", 1);
914
+        taBuildingQueryWrapper.eq("org_id", orgId);
915
+        taBuildingQueryWrapper.ne("status", "-1");
916
+        taBuildingQueryWrapper.ne("status", "2");
848 917
         if (taBuilding.getBuildingId() != null){
849 918
             taBuildingQueryWrapper.ne("building_id", taBuilding.getBuildingId());
850 919
         }
851 920
         List<TaBuilding> taBuildings = taBuildingMapper.selectList(taBuildingQueryWrapper);
852
-        if (taBuildings != null && taBuildings.size() > 10){
921
+        if (taBuildings != null && taBuildings.size() >= 10){
853 922
             return false;
854 923
         }
855 924
         return true;
856 925
     }
857 926
 
858 927
 
928
+
929
+
859 930
     private List<TaBuildingImg> insertImgBatch(List<TaBuildingImg> imgs, String buildingId) {
860 931
         return imgs.stream().map(img -> {
861 932
             TaBuildingImg Images = new TaBuildingImg();

+ 43
- 0
src/main/java/com/huiju/estateagents/service/impl/TaCustomImgServiceImpl.java Näytä tiedosto

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

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

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

@@ -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, Integer cityId) {
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<>();
@@ -73,6 +71,7 @@ public class TaNewsServiceImpl extends ServiceImpl<TaNewsMapper, TaNews> impleme
73 71
         taNewsQueryWrapper.eq("status", 1);
74 72
         taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
75 73
         taNewsQueryWrapper.like(title!=null,"news_name", title);
74
+        taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
76 75
         taNewsQueryWrapper.orderByAsc("news_status");
77 76
         taNewsQueryWrapper.orderByDesc("weight","create_date");
78 77
         IPage<TaNews> taNewsIPage = this.page(page, taNewsQueryWrapper);

+ 5
- 1
src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java Näytä tiedosto

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

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

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

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

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

@@ -10,15 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10 10
 import com.baomidou.mybatisplus.core.metadata.IPage;
11 11
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12 12
 import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.common.StringUtils;
13 14
 import com.huiju.estateagents.drainage.entity.TaDrainage;
14 15
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
15
-import com.huiju.estateagents.entity.HelpActivity;
16
-import com.huiju.estateagents.entity.TaBuildingDynamic;
17
-import com.huiju.estateagents.entity.TaNews;
18
-import com.huiju.estateagents.entity.TaPerson;
19
-import com.huiju.estateagents.entity.TaPersonVisitRecord;
20
-import com.huiju.estateagents.entity.TaRecommendCustomer;
21
-import com.huiju.estateagents.entity.TaShareActivity;
16
+import com.huiju.estateagents.entity.*;
22 17
 import com.huiju.estateagents.mapper.HelpActivityMapper;
23 18
 import com.huiju.estateagents.mapper.TaBuildingDynamicMapper;
24 19
 import com.huiju.estateagents.mapper.TaNewsMapper;
@@ -30,6 +25,7 @@ import com.huiju.estateagents.service.ITaPersonVisitRecordService;
30 25
 import org.springframework.beans.factory.annotation.Autowired;
31 26
 import org.springframework.stereotype.Service;
32 27
 
28
+import java.util.Collections;
33 29
 import java.util.List;
34 30
 
35 31
 /**
@@ -125,25 +121,59 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
125 121
 	}
126 122
 
127 123
 	@Override
128
-	public IPage<TaPersonVisitRecord> getDrainageVisitRecord(IPage<TaPersonVisitRecord> pg, Integer orgId, String activityName, Integer drainageId, String shareName, String shareTel) {
129
-		IPage<TaPersonVisitRecord> taPersonVisitRecordIPage = personVisitRecordMapper.getDrainageVisitRecord(pg, orgId, activityName, drainageId, shareName, shareTel);
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);
130 126
 		List<TaPersonVisitRecord> taPersonVisitRecords = taPersonVisitRecordIPage.getRecords();
131
-		taPersonVisitRecords.forEach(e -> {
127
+		for (TaPersonVisitRecord e : taPersonVisitRecords) {
128
+
132 129
 			TaPerson personInfo = taPersonMapper.selectById(e.getPersonId());
133
-			if (personInfo != null){
130
+			if (personInfo != null) {
134 131
 				e.setUserName(personInfo.getNickname());
135 132
 				e.setUserTel(personInfo.getPhone());
136 133
 			}
137 134
 
138 135
 			TaPerson userShareInfo = taPersonMapper.selectById(e.getSharePersonId());
139
-			if (userShareInfo != null){
136
+			if (userShareInfo != null) {
140 137
 				e.setShareName(userShareInfo.getNickname());
141 138
 				e.setShareTel(userShareInfo.getPhone());
142 139
 			}
143
-		});
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
+		}
144 162
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
145 163
 		return taPersonVisitRecordIPage;
146 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
+
147 177
 	/**
148 178
 	 * 分页获取个人中心访客记录
149 179
 	 *
@@ -153,24 +183,26 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
153 183
 	 * @return
154 184
 	 */
155 185
 	@Override
156
-	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId) {
186
+	public IPage<TaPersonVisitRecord> getWxVisitRecordList(IPage<TaPersonVisitRecord> pg, Integer userId, Integer orgId, String targetId, String eventType) {
157 187
 		//根据userId获取用户信息
158 188
 		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
159 189
 		taPersonQueryWrapper.eq("user_id",userId);
160 190
 		taPersonQueryWrapper.eq("org_id",orgId);
161 191
 		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
162 192
 		//获取我的访问客户列表
163
-		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, CommConstant.EVENT_H5,taPerson.getPersonId());
193
+		IPage<TaPersonVisitRecord> result = personVisitRecordMapper.getWxVisitRecordList(pg,userId,orgId, targetId,taPerson.getPersonId(), eventType);
164 194
 		List<TaPersonVisitRecord> records = result.getRecords();
165 195
 		//判断是否我的客户状态
166 196
 		records.forEach(e -> {
167 197
 			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
168 198
 			queryWrapper.eq("realty_consultant",e.getConsultantId());
169 199
 			queryWrapper.eq("person_id",e.getPersonId());
170
-			TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectOne(queryWrapper);
171
-			if (null != taRecommendCustomer){
200
+			List<TaRecommendCustomer> taRecommendCustomers = taRecommendCustomerMapper.selectList(queryWrapper);
201
+			if (taRecommendCustomers.size() > 0){
172 202
 				//1是我的客户
173 203
 				e.setMyCustomer(CommConstant.STATUS_NORMAL);
204
+				//返回customer_id给微信端
205
+				e.setCustomerId(taRecommendCustomers.get(0).getCustomerId());
174 206
 			}
175 207
 		});
176 208
 		return result;

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

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

@@ -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()));

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
7 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
10 11
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
11 12
 import com.huiju.estateagents.common.CommConstant;
12 13
 import com.huiju.estateagents.common.DateUtils;
@@ -84,6 +85,12 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
84 85
     @Autowired
85 86
     private TaDrainageMapper taDrainageMapper;
86 87
 
88
+    @Autowired
89
+    private TaUserMapper taUserMapper;
90
+
91
+    @Autowired
92
+    private TdPersonFromMapper tdPersonFromMapper;
93
+
87 94
     @Override
88 95
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
89 96
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
@@ -309,6 +316,35 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
309 316
 //            return ResponseBean.error(checkResult, ResponseBean.ERROR_MISSING_PARAMS);
310 317
 //        }
311 318
 
319
+        if (StringUtils.isEmpty(params.getString("realtyConsultant"))) {
320
+            return ResponseBean.error("置业顾问不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
321
+        }
322
+
323
+        // 查找置业顾问对应的 TaPerson 及 TaUser
324
+        TaPerson consultantPerson = taPersonMapper.selectById(params.getString("realtyConsultant"));
325
+        TaUser consultantUser = null;
326
+        if (null == consultantPerson) {
327
+            consultantUser = taUserMapper.selectById(params.getString("realtyConsultant"));
328
+            if (null != consultantUser && null != consultantUser.getUserId() && consultantUser.getUserId() > 0) {
329
+                QueryWrapper<TaPerson> query = new QueryWrapper<>();
330
+                query.eq("org_id", consultantUser.getOrgId());
331
+                query.eq("user_id", consultantUser.getUserId());
332
+                query.last("limit 1");
333
+                consultantPerson = taPersonMapper.selectOne(query);
334
+            }
335
+        } else {
336
+            consultantUser = taUserMapper.selectById(consultantPerson.getUserId());
337
+        }
338
+
339
+        if (null == consultantUser || consultantUser.getStatus() != CommConstant.STATUS_NORMAL) {
340
+            return ResponseBean.error("置业顾问不存在或已被注销", ResponseBean.ERROR_UNAVAILABLE);
341
+        }
342
+
343
+        // 如果置业顾问还没有绑定小程序
344
+        if (null == consultantPerson) {
345
+            consultantPerson = new TaPerson();
346
+        }
347
+
312 348
         TaRecommendCustomer taRecommendCustomer = new TaRecommendCustomer();
313 349
         taRecommendCustomer.setOrgId(orgId);
314 350
         taRecommendCustomer.setName(taPerson.getNickname());
@@ -316,11 +352,11 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
316 352
         taRecommendCustomer.setPhone(params.getString("phone"));
317 353
         taRecommendCustomer.setSex(null == taPerson.getGender() ? null : ("1".equals(taPerson.getGender()) ? 1 : 2));
318 354
 //        taRecommendCustomer.setDescribe(params.getString("describe"));
319
-        taRecommendCustomer.setRealtyConsultant(params.getString("realtyConsultant"));
355
+        taRecommendCustomer.setRealtyConsultant(consultantUser.getUserId().toString());
320 356
         //如果没有传building_id的情况构造building_id
321 357
         if (StringUtils.isEmpty(params.getString("buildingId")) && !StringUtils.isEmpty(params.getString("realtyConsultant"))){
322 358
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
323
-            taPersonBuildingQueryWrapper.eq("person_id",params.getString("realtyConsultant")).or().eq("user_id",params.getString("realtyConsultant"));
359
+            taPersonBuildingQueryWrapper.eq("person_id", consultantPerson.getPersonId()).or().eq("user_id", consultantUser.getUserId());
324 360
             List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingMapper.selectList(taPersonBuildingQueryWrapper);
325 361
             if (taPersonBuildingList.size() > 0){
326 362
                 params.put("buildingId",taPersonBuildingList.get(0).getBuildingId());
@@ -377,14 +413,14 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
377 413
             String conName = "";
378 414
             TaPerson conPerson = taPersonMapper.selectById(result.get(0).getRealtyConsultant());
379 415
             if (null != conPerson){
380
-                if(params.getString("realtyConsultant").equals(conPerson.getPersonId())){
416
+                if(null != consultantPerson && consultantPerson.getPersonId().equals(conPerson.getPersonId())){
381 417
                    return  ResponseBean.success("bound");
382 418
                 }
383 419
                 conName = conPerson.getName();
384 420
             }else {
385 421
                 TaUser conUser = userService.getById(result.get(0).getRealtyConsultant());
386 422
                 if(null != conUser){
387
-                    if(params.getString("realtyConsultant").equals(conUser.getUserId().toString())){
423
+                    if(consultantUser.getUserId().equals(conUser.getUserId())){
388 424
                         return ResponseBean.success("bound");
389 425
                     }
390 426
                     conName = conUser.getUserName();
@@ -400,11 +436,11 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
400 436
         }
401 437
 
402 438
         // 找到销售经理,并推送消息
403
-        TaPerson saleMan = taPersonMapper.getSalesExecutive();
404
-        if (null != saleMan && !StringUtils.isEmpty(saleMan.getMiniOpenid())) {
405
-            // 发送消息
406
-            iMiniAppService.sendNewCustomerMessage(saleMan, CommConstant.MINIAPP_INDEX, taRecommendCustomer.getName(), taRecommendCustomer.getPhone(), "", taPerson.getName());
407
-        }
439
+//        TaPerson saleMan = taPersonMapper.getSalesExecutive();
440
+//        if (null != saleMan && !StringUtils.isEmpty(saleMan.getMiniOpenid())) {
441
+//            // 发送消息
442
+//            iMiniAppService.sendNewCustomerMessage(saleMan, CommConstant.MINIAPP_INDEX, taRecommendCustomer.getName(), taRecommendCustomer.getPhone(), "", taPerson.getName());
443
+//        }
408 444
 
409 445
         return ResponseBean.success(taRecommendCustomer);
410 446
     }
@@ -444,7 +480,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
444 480
     }
445 481
 
446 482
     @Override
447
-    public 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){
483
+    public 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){
448 484
 
449 485
         if (CommConstant.CUTOMER_TYPE_PUBLIC.equals(customerType)) {
450 486
 
@@ -492,7 +528,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
492 528
         } else {
493 529
             // 私客
494 530
             IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
495
-            return taRecommendCustomerMapper.getCustomerList(page, building, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
531
+            return taRecommendCustomerMapper.getCustomerList(page, building, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status,taPersonBuildingList);
496 532
         }
497 533
 
498 534
     }
@@ -504,16 +540,16 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
504 540
     }
505 541
 
506 542
     @Override
507
-    public 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){
543
+    public 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){
508 544
         IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
509
-        return taRecommendCustomerMapper.getRecCustomerList(page,building,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgId);
545
+        return taRecommendCustomerMapper.getRecCustomerList(page,building,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgId,taPersonBuildingList);
510 546
     }
511 547
 
512 548
 
513 549
     @Override
514
-    public 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){
550
+    public 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){
515 551
         IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
516
-        return taRecommendCustomerMapper.getRepCustomerList(page,building,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgId);
552
+        return taRecommendCustomerMapper.getRepCustomerList(page,building,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgId,taPersonBuildingList);
517 553
     }
518 554
 
519 555
     @Override
@@ -523,7 +559,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
523 559
 
524 560
 
525 561
     @Override
526
-    public TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize){
562
+    public TaRecommendCustomer getCustomerDetail(String customerId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList){
527 563
         String personId = taRecommendCustomerMapper.getCustomerById(customerId).getPersonId();
528 564
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getCustomerDetail(customerId,personId);
529 565
         TaPerson person = taPersonMapper.selectById(personId);
@@ -572,7 +608,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
572 608
             taPersonVisitRecordIPage.setRecords(records);
573 609
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
574 610
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
575
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
611
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
576 612
             Map<String,String>geoInfo = new HashMap<>();
577 613
             geoInfo.put("provience",person.getProvince());
578 614
             geoInfo.put("country",person.getCountry());
@@ -600,11 +636,20 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
600 636
                 taRecommendCustomer.setConsultant(user);
601 637
             }
602 638
         }
639
+        //构造来源类型
640
+        taRecommendCustomer.setPersonFrom("");
641
+        if (null != person && null != person.getFromCode()){
642
+            QueryWrapper<TdPersonFrom> tdPersonFromQueryWrapper = new QueryWrapper<>();
643
+            tdPersonFromQueryWrapper.eq("from_code",person.getFromCode());
644
+            TdPersonFrom tdPersonFrom = tdPersonFromMapper.selectOne(tdPersonFromQueryWrapper);
645
+            taRecommendCustomer.setPersonFrom(null != tdPersonFrom ? tdPersonFrom.getFromName() : "");
646
+        }
647
+
603 648
         return taRecommendCustomer;
604 649
     }
605 650
 
606 651
     @Override
607
-    public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize){
652
+    public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList){
608 653
         TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
609 654
         if(!StringUtils.isEmpty(personId)){
610 655
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
@@ -651,19 +696,28 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
651 696
             taPersonVisitRecordIPage.setRecords(records);
652 697
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
653 698
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
654
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
699
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
655 700
             taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
656 701
             taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
657 702
             TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
658 703
             if(null != city){
659 704
                 taRecommendCustomer.setCity(city.getName());
660 705
             }
706
+
707
+            //构造来源类型
708
+            taRecommendCustomer.setPersonFrom("");
709
+            if (null != taRecommendCustomer.getFromCode()){
710
+                QueryWrapper<TdPersonFrom> tdPersonFromQueryWrapper = new QueryWrapper<>();
711
+                tdPersonFromQueryWrapper.eq("from_code",taRecommendCustomer.getFromCode());
712
+                TdPersonFrom tdPersonFrom = tdPersonFromMapper.selectOne(tdPersonFromQueryWrapper);
713
+                taRecommendCustomer.setPersonFrom(null != tdPersonFrom ? tdPersonFrom.getFromName() : "");
714
+            }
661 715
         }
662 716
         return taRecommendCustomer;
663 717
     }
664 718
 
665 719
     @Override
666
-    public IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId){
720
+    public IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId,List<TaPersonBuilding> taPersonBuildingList){
667 721
 
668 722
         QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
669 723
         // todo
@@ -673,7 +727,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
673 727
 ////        queryWrapper.eq("building_id",building);
674 728
 //        queryWrapper.eq("status", CommConstant.VERIFY_AGREE);
675 729
 //        queryWrapper.eq("org_id", orgId);
676
-        return taRecommendCustomerMapper.getCustomersIRecommended(page,customerId,CommConstant.STATUS_NORMAL,orgId);
730
+        return taRecommendCustomerMapper.getCustomersIRecommended(page,customerId,CommConstant.STATUS_NORMAL,orgId,taPersonBuildingList);
677 731
     }
678 732
 
679 733
     @Override
@@ -737,24 +791,24 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
737 791
 
738 792
 
739 793
     @Override
740
-    public List<ExcelRecommendCustomer> getRecCustomerExport(Integer orgId, Integer pageCode, Integer pageSize) {
741
-        return taRecommendCustomerMapper.getRecCustomerExport(orgId, pageCode, pageSize);
794
+    public List<ExcelRecommendCustomer> getRecCustomerExport(Integer orgId, Integer pageCode, Integer pageSize,List<TaPersonBuilding> taPersonBuildingList) {
795
+        return taRecommendCustomerMapper.getRecCustomerExport(orgId, pageCode, pageSize,taPersonBuildingList);
742 796
     }
743 797
 
744 798
     @Override
745
-    public Integer getRecCustomerExportCount(Integer orgId) {
746
-        return taRecommendCustomerMapper.getRecCustomerExportCount(orgId);
799
+    public Integer getRecCustomerExportCount(Integer orgId,List<TaPersonBuilding> taPersonBuildingList) {
800
+        return taRecommendCustomerMapper.getRecCustomerExportCount(orgId,taPersonBuildingList);
747 801
     }
748 802
 
749 803
 
750 804
     @Override
751
-    public Integer getRepCustomerReportCount(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex,Integer orgId) {
752
-        return taRecommendCustomerMapper.getRepCustomerReportCount(building, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId);
805
+    public Integer getRepCustomerReportCount(String building, String name, String tel, String consultName, String consultTel, String entryType, String verifyStatus, Integer sex,Integer orgId,List<TaPersonBuilding> taPersonBuildingList) {
806
+        return taRecommendCustomerMapper.getRepCustomerReportCount(building, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,taPersonBuildingList);
753 807
     }
754 808
 
755 809
     @Override
756
-    public 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) {
757
-        return taRecommendCustomerMapper.getRepCustomerReportExport(building, name, tel, consultName, consultTel, entryType,verifyStatus,sex, orgId, pageCode, pageSize);
810
+    public 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) {
811
+        return taRecommendCustomerMapper.getRepCustomerReportExport(building, name, tel, consultName, consultTel, entryType,verifyStatus,sex, orgId, pageCode, pageSize,taPersonBuildingList);
758 812
     }
759 813
 
760 814
 

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

@@ -6,6 +6,7 @@ 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 8
 import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.entity.TaPersonBuilding;
9 10
 import com.huiju.estateagents.entity.TaShareActivity;
10 11
 import com.huiju.estateagents.entity.TaShareRecord;
11 12
 import com.huiju.estateagents.mapper.TaShareActivityMapper;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
17 18
 
18 19
 import java.time.LocalDateTime;
19 20
 import java.util.List;
21
+import java.util.stream.Collectors;
20 22
 
21 23
 /**
22 24
  * <p>
@@ -35,7 +37,7 @@ public class TaShareActivityServiceImpl extends ServiceImpl<TaShareActivityMappe
35 37
     private TaShareRecordMapper taShareRecordMapper;
36 38
 
37 39
     @Override
38
-    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, String activityName, String activityStatus, LocalDateTime startTime, LocalDateTime endTime, Integer cityId, Integer orgId) {
40
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, String activityName, String activityStatus, LocalDateTime startTime, LocalDateTime endTime, Integer cityId, Integer orgId,List<TaPersonBuilding> personBuildingList) {
39 41
         ResponseBean responseBean = new ResponseBean();
40 42
         Page<TaShareActivity> page = new Page<>();
41 43
         page.setSize(pageSize == null ? 10 : pageSize);
@@ -49,6 +51,7 @@ public class TaShareActivityServiceImpl extends ServiceImpl<TaShareActivityMappe
49 51
         queryWrapper.eq(endTime != null, "end_time", endTime);
50 52
         queryWrapper.eq(orgId != null, "org_id", orgId);
51 53
         queryWrapper.eq(cityId != null, "city_id", cityId);
54
+        queryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
52 55
         queryWrapper.orderByDesc("heavy");
53 56
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);
54 57
 
@@ -83,7 +86,7 @@ public class TaShareActivityServiceImpl extends ServiceImpl<TaShareActivityMappe
83 86
     }
84 87
 
85 88
     @Override
86
-    public ResponseBean getEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, Integer orgId,Integer status,String name) {
89
+    public ResponseBean getEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, Integer orgId,Integer status,String name,List<TaPersonBuilding> personBuildingList) {
87 90
         ResponseBean responseBean = new ResponseBean();
88 91
         Page<TaShareActivity> page = new Page<>();
89 92
         page.setSize(pageSize == null ? 10 : pageSize);
@@ -96,6 +99,7 @@ public class TaShareActivityServiceImpl extends ServiceImpl<TaShareActivityMappe
96 99
         queryWrapper.eq(cityId != null, "city_id", cityId);
97 100
         queryWrapper.eq(buildingId != null, "building_id", buildingId);
98 101
         queryWrapper.like(!StringUtils.isEmpty(name), "activity_name", name);
102
+        queryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
99 103
         queryWrapper.orderByAsc("activity_status");
100 104
         queryWrapper.orderByAsc("start_time");
101 105
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);

+ 2
- 2
src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java Näytä tiedosto

@@ -214,7 +214,7 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
214 214
         //发送给发起者
215 215
         TaPerson taPerson = taPersonMapper.selectById(taShareRecord.getPersonId());
216 216
         if (null != taPerson){
217
-            miniAppService.sendHelpMessage(taPerson,link,"拼团成功",taShareActivity.getActivityName(),LocalDateTime.now());
217
+            miniAppService.sendGroupMessage(taPerson,link,"拼团成功",taShareActivity.getActivityName(),LocalDateTime.now());
218 218
         }
219 219
         
220 220
         //批量发送给助力者
@@ -226,7 +226,7 @@ public class TaShareChildRecordServiceImpl extends ServiceImpl<TaShareChildRecor
226 226
         shareChildRecordList.forEach(e -> {
227 227
             TaPerson toTaPerson = taPersonMapper.selectById(e.getPersonId());
228 228
             if (null != toTaPerson){
229
-                miniAppService.sendHelpMessage(toTaPerson,link,"拼团成功",taShareActivity.getActivityName(),LocalDateTime.now());
229
+                miniAppService.sendGroupMessage(toTaPerson,link,"拼团成功",taShareActivity.getActivityName(),LocalDateTime.now());
230 230
             }
231 231
         });
232 232
     }

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

@@ -39,9 +39,9 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
39 39
 		QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
40 40
 		queryWrapper.eq("appid",appidHeader);
41 41
 		TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = taThirdPartyMiniappConfigMapper.selectOne(queryWrapper);
42
-		if (LocalDateTime.now().isAfter(taThirdPartyMiniappConfig.getExpirationDate())){
43
-			return "秘钥已过期,请重新申请";
44
-		}
42
+//		if (LocalDateTime.now().isAfter(taThirdPartyMiniappConfig.getExpirationDate())){
43
+//			return "秘钥已过期,请重新申请";
44
+//		}
45 45
 		
46 46
 		//判断nowHeader是十五分钟之内(15 * 60 * 1000)
47 47
 		if (System.currentTimeMillis() - Long.valueOf(nowHeader) > (15 * 60 * 1000)){

+ 26
- 4
src/main/java/com/huiju/estateagents/websocket/ChatServer.java Näytä tiedosto

@@ -48,6 +48,7 @@ public class ChatServer {
48 48
      * 连接建立成功调用的方法*/
49 49
     @OnOpen
50 50
     public void onOpen(Session session,@PathParam("sid") String sid) {
51
+        removeSameFromSets(sid);
51 52
         this.session = session;
52 53
         webSocketSet.add(this);
53 54
         addOnlineCount();
@@ -60,9 +61,7 @@ public class ChatServer {
60 61
      */
61 62
     @OnClose
62 63
     public void onClose() {
63
-        webSocketSet.remove(this);
64
-        subOnlineCount();
65
-        log.info("有一连接关闭!当前在线人数为" + getOnlineCount());
64
+        removeFromSets();
66 65
     }
67 66
 
68 67
     /**
@@ -83,7 +82,7 @@ public class ChatServer {
83 82
 
84 83
         JSONObject jsnMsg = JSONObject.parseObject(message);
85 84
 
86
-        if ( null == ChatServer.taChatService) {
85
+        if (null == ChatServer.taChatService) {
87 86
             ChatServer.taChatService = applicationContext.getBean(ITaChatService.class);
88 87
         }
89 88
         System.out.println("收到的聊天消息的信息=========" + jsnMsg.toJSONString());
@@ -106,7 +105,9 @@ public class ChatServer {
106 105
     public void onError(Session session, Throwable error) {
107 106
         log.error("发生错误");
108 107
         error.printStackTrace();
108
+        removeFromSets();
109 109
     }
110
+
110 111
     /**
111 112
      * 实现服务器主动推送
112 113
      */
@@ -114,6 +115,26 @@ public class ChatServer {
114 115
         this.session.getBasicRemote().sendText(message);
115 116
     }
116 117
 
118
+    private void removeFromSets() {
119
+        for(ChatServer c: webSocketSet) {
120
+            if (sid.equals(c.sid)) {
121
+                webSocketSet.remove(c);
122
+                subOnlineCount();
123
+                log.info("有一连接关闭:"+sid+"!当前在线人数为" + getOnlineCount());
124
+            }
125
+        }
126
+    }
127
+
128
+    private void removeSameFromSets(String currentSid) {
129
+        for(ChatServer c: webSocketSet) {
130
+            if (currentSid.equals(c.sid)) {
131
+                webSocketSet.remove(c);
132
+                subOnlineCount();
133
+                log.info("有一连接关闭:"+sid+"!当前在线人数为" + getOnlineCount());
134
+            }
135
+        }
136
+    }
137
+
117 138
     /**
118 139
      * 发自定义消息
119 140
      * */
@@ -128,6 +149,7 @@ public class ChatServer {
128 149
                     item.sendMessage(message);
129 150
                 }
130 151
             } catch (IOException e) {
152
+                log.error("推送消息错误: " + e.getMessage());
131 153
                 continue;
132 154
             }
133 155
         }

+ 8
- 3
src/main/resources/application-prod.yml Näytä tiedosto

@@ -20,7 +20,6 @@ spring:
20 20
 ##mybatis-plus
21 21
 mybatis-plus:
22 22
   configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24 23
     call-setters-on-nulls: true
25 24
   mapper-locations: classpath:mapper/**/*.xml
26 25
 wx:
@@ -50,7 +49,8 @@ ali:
50 49
 
51 50
 # 手机短信服务
52 51
 sms:
53
-  url: http://micservice.ycjcjy.com/sms
52
+  # 先使用外网地址, 后期使用内网地址
53
+  url: http://101.200.84.17:8081/sms
54 54
   method: POST
55 55
   contentType: "application/json;charset=UTF-8"
56 56
   template:
@@ -71,4 +71,9 @@ sms:
71 71
     sign: AI智慧案场
72 72
 
73 73
   visitor:
74
-    code: "0501"
74
+    code: "0501"
75
+
76
+#日志配置
77
+logging:
78
+  config: classpath:log/logback-spring.xml
79
+  debug: true

+ 1
- 1
src/main/resources/application-test.yml Näytä tiedosto

@@ -50,7 +50,7 @@ ali:
50 50
 
51 51
 # 手机短信服务
52 52
 sms:
53
-  url: http://micservice.ycjcjy.com/sms
53
+  url: http://101.200.84.17:8081/sms
54 54
   method: POST
55 55
   contentType: "application/json;charset=UTF-8"
56 56
   template:

+ 59
- 0
src/main/resources/log/logback-spring.xml Näytä tiedosto

@@ -0,0 +1,59 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<configuration debug="false">
3
+    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
4
+    <property name="LOG_HOME" value="/home/estateagents/estateagents-3.5/service/logs" />
5
+    <!-- 控制台输出 -->
6
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
7
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
8
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
9
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
10
+        </encoder>
11
+    </appender>
12
+    <!-- 按照每天生成日志文件 -->
13
+    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
14
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
15
+            <!--日志文件输出的文件名-->
16
+            <FileNamePattern>${LOG_HOME}/estateagents-%d{yyyy-MM-dd}.log</FileNamePattern>
17
+            <!--日志文件保留天数-->
18
+            <MaxHistory>30</MaxHistory>
19
+        </rollingPolicy>
20
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
21
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
22
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
23
+        </encoder>
24
+        <!--日志文件最大的大小-->
25
+<!--        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
26
+<!--            <MaxFileSize>10MB</MaxFileSize>-->
27
+<!--        </triggeringPolicy>-->
28
+    </appender>
29
+
30
+    <!-- 按照每天生成日志文件 -->
31
+    <appender name="MYSQL"  class="ch.qos.logback.core.rolling.RollingFileAppender">
32
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
33
+            <!--日志文件输出的文件名-->
34
+            <FileNamePattern>${LOG_HOME}/estateagents-%d{yyyy-MM-dd}-sql.log</FileNamePattern>
35
+            <!--日志文件保留天数-->
36
+            <MaxHistory>3</MaxHistory>
37
+        </rollingPolicy>
38
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
39
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
40
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
41
+        </encoder>
42
+        <!--日志文件最大的大小-->
43
+                <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
44
+                    <MaxFileSize>1024MB</MaxFileSize>
45
+                </triggeringPolicy>
46
+    </appender>
47
+
48
+    <!--myibatis log configure-->
49
+    <logger name="com.huiju.estateagents.mapper" level="DEBUG" additivity="false">
50
+        <appender-ref ref="MYSQL" />
51
+    </logger>
52
+
53
+    <!-- 日志输出级别 -->
54
+    <root level="INFO">
55
+        <appender-ref ref="STDOUT" />
56
+        <appender-ref ref="FILE" />
57
+        <appender-ref ref="MYSQL" />
58
+    </root>
59
+</configuration>

+ 54
- 4
src/main/resources/mapper/HelpActivityMapper.xml Näytä tiedosto

@@ -29,6 +29,12 @@
29 29
             and ha.activity_status = #{activityStatus}
30 30
         </if>
31 31
             and ha.org_id=#{orgId}
32
+        <if test="personBuildingList != null and personBuildingList.size > 0">
33
+            AND ha.building_id in
34
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
35
+                #{personBuilding.buildingId}
36
+            </foreach>
37
+        </if>
32 38
         </where>
33 39
         GROUP BY ha.help_activity_id
34 40
         order by ha.heavy desc
@@ -60,9 +66,14 @@
60 66
 			SELECT
61 67
                 a.city_id as cityId,
62 68
 				a.help_activity_id as activityId,
63
-				a.img as img,
69
+				a.list_img as img,
64 70
                 a.banner_list_img as bannerListImg,
65
-				1 AS type
71
+                a.title as title,
72
+                a.end_date as endDate,
73
+                a.`status` as status,
74
+                a.activity_status as activityStatus,
75
+				"help" AS type,
76
+                a.heavy
66 77
 			FROM
67 78
 				ta_help_activity a
68 79
 				WHERE
@@ -82,9 +93,14 @@
82 93
 				SELECT
83 94
                     s.city_id as cityId,
84 95
 					s.group_activity_id as activityId,
85
-					s.main_img as img,
96
+					s.list_img as img,
86 97
                     s.banner_list_img as bannerListImg,
87
-					2 AS type
98
+                    s.activity_name as title,
99
+                    s.end_time as endDate,
100
+                    s.status as status,
101
+                    s.activity_status as activityStatus,
102
+					"group" AS type,
103
+                    s.heavy
88 104
 				FROM
89 105
 					ta_share_activity s
90 106
 					WHERE
@@ -99,6 +115,34 @@
99 115
                     and s.building_id = #{buildingId}
100 116
                 </if>
101 117
 			)
118
+		UNION ALL
119
+		    (
120
+                SELECT
121
+                t.city_id as cityId,
122
+                t.dynamic_id as activityId,
123
+                t.list_img_url as img,
124
+                t.banner_list_img as bannerListImg,
125
+                t.title as title,
126
+                t.end_date as endDate,
127
+                t.status as status,
128
+                t.activity_status as activityStatus,
129
+                "activity" AS type,
130
+                t.heavy
131
+                FROM
132
+                ta_building_dynamic t
133
+                WHERE
134
+                t.org_id =#{orgId} and t.`status` = 1
135
+                <if test="buildingId  == null or  buildingId =='' ">
136
+                    and  t.home = 1
137
+                </if>
138
+                <if test="cityID != null and cityID != ''">
139
+                    and  t.city_id = #{cityID}
140
+                </if>
141
+                <if test="buildingId != null and buildingId != ''">
142
+                    and t.building_id = #{buildingId}
143
+                </if>
144
+            )
145
+            order by heavy desc
102 146
     </select>
103 147
 
104 148
     <select id="helpActivityListEffectivePage" resultType="com.huiju.estateagents.entity.HelpActivity">
@@ -119,6 +163,12 @@
119 163
             <if test="status != null">
120 164
                 and status = #{status}
121 165
             </if>
166
+            <if test="personBuildingList != null and personBuildingList.size > 0">
167
+                AND ha.building_id in
168
+                <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
169
+                    #{personBuilding.buildingId}
170
+                </foreach>
171
+            </if>
122 172
             and ha.org_id=#{orgId}
123 173
             and ha.activity_status in (0, 1)
124 174
         </where>

+ 1
- 1
src/main/resources/mapper/HelpInitiateRecordMapper.xml Näytä tiedosto

@@ -87,7 +87,7 @@
87 87
       SELECT
88 88
         t.*,
89 89
         a.title,
90
-        a.img,
90
+        a.list_img as img,
91 91
         a.activity_status,
92 92
         a.end_date
93 93
     FROM

+ 5
- 0
src/main/resources/mapper/SysSmsSettingMapper.xml Näytä tiedosto

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

+ 12
- 0
src/main/resources/mapper/TaBuildingDynamicMapper.xml Näytä tiedosto

@@ -45,6 +45,12 @@
45 45
         <if test="time != null">
46 46
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
47 47
         </if>
48
+        <if test="personBuildingList != null and personBuildingList.size > 0">
49
+            AND tbd.building_id in
50
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
51
+                #{personBuilding.buildingId}
52
+            </foreach>
53
+        </if>
48 54
         ORDER BY tbd.heavy DESC
49 55
   </select>
50 56
 
@@ -77,6 +83,12 @@
77 83
         <if test="time != null">
78 84
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
79 85
         </if>
86
+        <if test="personBuildingList != null and personBuildingList.size > 0">
87
+            AND tbd.building_id in
88
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
89
+                #{personBuilding.buildingId}
90
+            </foreach>
91
+        </if>
80 92
         ORDER BY tbd.heavy DESC
81 93
     </select>
82 94
 

+ 12
- 0
src/main/resources/mapper/TaBuildingMapper.xml Näytä tiedosto

@@ -29,6 +29,12 @@
29 29
             <if test="orgId != null">
30 30
                 and  ta_building.org_id = #{orgId}
31 31
             </if>
32
+            <if test="personBuildingList != null and personBuildingList.size > 0">
33
+                AND ta_building.building_id in
34
+                <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
35
+                    #{personBuilding.buildingId}
36
+                </foreach>
37
+            </if>
32 38
         </where>
33 39
         ORDER BY status ASC, create_date DESC
34 40
     </select>
@@ -59,6 +65,12 @@
59 65
             <if test="orgId != null and orgId != ''">
60 66
                 and  ta_building.org_id = #{orgId}
61 67
             </if>
68
+            <if test="personBuildingList != null and personBuildingList.size > 0">
69
+                AND ta_building.building_id in
70
+                <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
71
+                    #{personBuilding.buildingId}
72
+                </foreach>
73
+            </if>
62 74
         </where>
63 75
         ORDER BY create_date DESC,status asc
64 76
     </select>

+ 5
- 0
src/main/resources/mapper/TaCustomImgMapper.xml Näytä tiedosto

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

+ 1
- 1
src/main/resources/mapper/TaDrainageMapper.xml Näytä tiedosto

@@ -4,6 +4,6 @@
4 4
     <update id="updateDrainageToEnd">
5 5
         update ta_drainage
6 6
         set status = 0
7
-        where NOW() > end_date
7
+        where NOW() > end_date and status != -1
8 8
     </update>
9 9
 </mapper>

+ 1
- 0
src/main/resources/mapper/TaMiniappTemplateMapper.xml Näytä tiedosto

@@ -10,5 +10,6 @@
10 10
         WHERE
11 11
             t.miniapp_id = #{appid}
12 12
         AND s.tpl_type = #{type}
13
+        limit 1
13 14
     </select>
14 15
 </mapper>

+ 15
- 0
src/main/resources/mapper/TaPersonMessageRuleMapper.xml Näytä tiedosto

@@ -0,0 +1,15 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaPersonMessageRuleMapper">
4
+    <select id="getByPersonAndType" resultType="com.huiju.estateagents.entity.TaPersonMessageRule">
5
+        SELECT
6
+            *
7
+        FROM
8
+            ta_person_message_rule t
9
+        WHERE t.person_id = #{personId}
10
+        AND t.message_type = #{messageType}
11
+        AND t.content_type = #{contentType}
12
+        AND t.org_id = #{orgId}
13
+        limit 1
14
+    </select>
15
+</mapper>

+ 177
- 13
src/main/resources/mapper/TaPersonVisitRecordMapper.xml Näytä tiedosto

@@ -6,7 +6,7 @@
6 6
         <trim suffixOverrides=",">
7 7
             t.record_id,
8 8
             t.person_id,
9
-            t.person_type,
9
+            c.person_type,
10 10
             t.visit_time,
11 11
             t.leave_time,
12 12
             t.visit_duration,
@@ -95,13 +95,10 @@
95 95
             t.* ,
96 96
 	        p.`name` as user_name,
97 97
 	        p.`nickname` as nickname,
98
-	        p.avatarurl,
99
-	        d.name as activity_name,
100
-	        d.create_date
98
+	        p.avatarurl
101 99
         FROM
102
-            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and event_type = #{eventType} AND consultant_id = #{userId} and person_id != #{personId} ORDER BY visit_time DESC LIMIT 999) t
100
+            ( SELECT * FROM ta_person_visit_record WHERE org_id = #{orgId} and target_id = #{targetId} AND consultant_id = #{userId} and person_id != #{personId} and event_type = #{eventType} ORDER BY visit_time DESC LIMIT 999) t
103 101
             left JOIN ta_person p on t.person_id = p.person_id
104
-            LEFT join ta_drainage d on t.target_id = d.drainage_id
105 102
         GROUP BY
106 103
             t.person_id
107 104
         ORDER BY
@@ -125,22 +122,34 @@
125 122
         select * from (
126 123
             select
127 124
             <include refid="columnSql"></include>,
128
-            b.name as activityName,
125
+            b.name as drainageName,
126
+            d.building_name as buildingName,
127
+            tn.news_name as newsName,
128
+            tha.title as helpActivityName,
129
+            tsa.activity_name as groupActivityName,
130
+            tbd.title as activityName,
129 131
             b.drainage_id
130 132
             from ta_person_visit_record t
131 133
             left join ta_drainage b on t.target_id = b.drainage_id
134
+            left join ta_building d on t.target_id = d.building_id
135
+            left join ta_news tn on t.target_id = tn.news_id
136
+            left join ta_help_activity tha on t.target_id = tha.help_activity_id
137
+            left join ta_share_activity tsa on t.target_id = tsa.group_activity_id
138
+            left join ta_building_dynamic tbd on t.target_id = tbd.dynamic_id
132 139
             left join ta_person c on t.share_person_id = c.person_id
133 140
             where
134
-            t.event_type = 'h5'
135
-            and t.share_person_id is not null
141
+            t.share_person_id != t.person_id and t.share_person_id is not null and t.share_person_id != ''
136 142
             <if test="orgId != null and orgId != ''">
137 143
                 and t.org_id = #{orgId}
138 144
             </if>
139
-            <if test="drainageId !=null and drainageId != ''">
140
-                and b.drainage_Id = #{drainageId}
145
+            <if test="eventType !=null and eventType != ''">
146
+                and t.event_type = #{eventType}
141 147
             </if>
142 148
             <if test="activityName !=null and activityName != ''">
143
-                and b.name like concat('%',#{activityName},'%')
149
+                and (
150
+                (b.name like concat('%',#{activityName},'%') and t.event_type = 'h5')or (d.name like concat('%',#{activityName},'%') and t.event_type = 'building') or (tn.news_name like concat('%',#{activityName},'%') and t.event_type = 'news')
151
+                or (tha.title like concat( '%', #{activityName}, '%' ) and t.event_type = 'help')  or (tsa.activity_name like concat('%',#{activityName},'%') and t.event_type = 'group') or (tbd.title like concat('%',#{activityName},'%') and t.event_type = 'activity')
152
+                )
144 153
             </if>
145 154
             <if test="shareName !=null and shareName != ''">
146 155
                 and c.nickname like concat('%',#{shareName},'%')
@@ -148,10 +157,165 @@
148 157
             <if test="shareTel !=null and shareTel != ''">
149 158
                 and c.phone = #{shareTel}
150 159
             </if>
160
+            <if test="personType == 'Realty Consultant'">
161
+                and t.consultant_id is not null  and t.consultant_id != ''
162
+            </if>
163
+            <if test="personType == 'customer'">
164
+                and t.consultant_id is null
165
+            </if>
166
+            <if test="buildingId !=null and buildingId != ''">
167
+                and t.building_id = #{buildingId}
168
+            </if>
169
+            <if test="personBuildingList != null and personBuildingList.size > 0">
170
+                AND t.building_id in
171
+                <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
172
+                    #{personBuilding.buildingId}
173
+                </foreach>
174
+            </if>
151 175
             order by t.visit_time desc
152 176
         ) t
153
-        group by t.person_id, t.share_person_id
177
+        group by t.person_id, t.share_person_id,t.target_id,t.event_type
178
+        order by t.visit_time desc
179
+    </select>
180
+
181
+    <select id="getConsultantShareInfoList" resultType="com.huiju.estateagents.entity.TaConsultantInfo">
182
+        select * From (
183
+            select * from (
184
+                select
185
+                t.target_id,
186
+                a.url as activity_img,
187
+                a.building_name as activity_name,
188
+                a.building_name,
189
+                a.address,
190
+                a.price,
191
+                t.event_type,
192
+                t.visit_time
193
+                from ta_person_visit_record t
194
+                left join (select b.url, a.building_name,a.address,a.price,a.building_id from ta_building a left join ta_building_img b on a.building_id = b.building_id where b.img_type = 'list') a on t.target_id = a.building_id
195
+                where t.event_type = 'building'
196
+                and t.consultant_id = #{userId}
197
+                and t.org_id = #{orgId}
198
+                and t.`event` = 'share' order by t.visit_time desc
199
+            ) t
200
+            group by t.target_id
201
+
202
+        union all
203
+
204
+        select * from (
205
+        select
206
+        t.target_id,
207
+        b.list_img_url as activity_img,
208
+        b.title as activity_name,
209
+        '1' as price,
210
+        '2' as building_name,
211
+        '3' as address,
212
+        t.event_type,
213
+		t.visit_time
214
+        from ta_person_visit_record t
215
+        left join ta_building_dynamic b on t.target_id = b.dynamic_id
216
+        where t.event_type = 'activity'
217
+        and t.consultant_id = #{userId}
218
+        and t.org_id = #{orgId}
219
+        and t.`event` = 'share' order by t.visit_time desc
220
+        ) t
221
+        group by t.target_id
222
+
223
+        union all
224
+
225
+        select * from (
226
+        select
227
+        t.target_id,
228
+        c.list_img as activity_img,
229
+        c.title as activity_name,
230
+        '1' as price,
231
+        '2' as building_name,
232
+        '3' as address,
233
+        t.event_type,
234
+		t.visit_time
235
+        from ta_person_visit_record t
236
+        left join ta_help_activity c on t.target_id = c.help_activity_id
237
+        where t.event_type = 'help'
238
+        and t.consultant_id = #{userId}
239
+        and t.org_id = #{orgId}
240
+        and t.`event` = 'share' order by t.visit_time desc
241
+        ) t
242
+        group by t.target_id
243
+
244
+        union all
245
+
246
+        select * from (
247
+        select
248
+        t.target_id,
249
+        d.list_img as activity_img,
250
+        d.activity_name as activity_name,
251
+        '1' as price,
252
+        '2' as building_name,
253
+        '3' as address,
254
+        t.event_type,
255
+		t.visit_time
256
+        from ta_person_visit_record t
257
+        left join ta_share_activity d on t.target_id = d.group_activity_id
258
+        where t.event_type = 'group'
259
+        and t.consultant_id = #{userId}
260
+        and t.org_id = #{orgId}
261
+        and t.`event` = 'share'
262
+        group by t.target_id order by t.visit_time desc
263
+        ) t
264
+
265
+        union all
266
+
267
+        select * from (
268
+        select
269
+        t.target_id,
270
+        e.news_img as activity_img,
271
+        e.news_name as activity_name,
272
+        '1' as price,
273
+        '2' as building_name,
274
+        '3' as address,
275
+        t.event_type,
276
+		t.visit_time
277
+        from ta_person_visit_record t
278
+        left join ta_news e on t.target_id = e.news_id
279
+        where t.event_type = 'news'
280
+        and t.consultant_id = #{userId}
281
+        and t.org_id = #{orgId}
282
+        and t.`event` = 'share' order by t.visit_time desc
283
+        ) t
284
+        group by t.target_id
285
+
286
+        union all
287
+
288
+        select * from (
289
+            select
290
+            t.target_id,
291
+            f.share_img as activity_img,
292
+            f.`name` as activity_name,
293
+            '1' as price,
294
+            '2' as building_name,
295
+            '3' as address,
296
+            t.event_type,
297
+            t.visit_time
298
+            from ta_person_visit_record t
299
+            left join ta_drainage f on t.target_id = f.drainage_id
300
+            where t.event_type = 'h5'
301
+            and t.consultant_id = #{userId}
302
+            and t.org_id = #{orgId}
303
+            and t.`event` = 'share' order by t.visit_time desc
304
+            ) t
305
+            group by t.target_id
306
+        ) t
154 307
         order by t.visit_time desc
155 308
     </select>
156 309
 
310
+    <select id="countShareNumByEventType" resultType="java.lang.Integer">
311
+        select count(DISTINCT t.person_id)  from ta_person_visit_record t
312
+        where
313
+        t.consultant_id = #{userId}
314
+        and t.org_id = #{orgId}
315
+        and t.event_type = #{eventType}
316
+        and t.target_id = #{targetId}
317
+        and t.person_id != t.share_person_id
318
+        group by t.event_type
319
+    </select>
320
+
157 321
 </mapper>

+ 6
- 0
src/main/resources/mapper/TaPointsExchangeMapper.xml Näytä tiedosto

@@ -58,6 +58,12 @@
58 58
         <if test="taPointsExchange.endVerifyDate != null and taPointsExchange.endVerifyDate != ''">
59 59
             and  date_format(t.verify_date,'%Y-%m-%d') &lt;= date_format(#{taPointsExchange.endVerifyDate},'%Y-%m-%d')
60 60
         </if>
61
+        <if test="personBuildingList != null and personBuildingList.size > 0">
62
+            AND t.building_id in
63
+            <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
64
+                #{personBuilding.buildingId}
65
+            </foreach>
66
+        </if>
61 67
         order by t.create_date desc
62 68
     </select>
63 69
 </mapper>

+ 0
- 0
src/main/resources/mapper/TaRecommendCustomerMapper.xml Näytä tiedosto


Some files were not shown because too many files changed in this diff