ソースを参照

Merge branch 'dev'

傅行帆 5 年 前
コミット
70530ad328
共有100 個のファイルを変更した2323 個の追加339 個の削除を含む
  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 ファイルの表示

10
 	</parent>
10
 	</parent>
11
 	<groupId>com.huiju</groupId>
11
 	<groupId>com.huiju</groupId>
12
 	<artifactId>estateagents</artifactId>
12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.2.2</version>
13
+	<version>v3.5.5</version>
14
 	<name>estateages</name>
14
 	<name>estateages</name>
15
 	<description>置业经纪人</description>
15
 	<description>置业经纪人</description>
16
 
16
 
56
 		<dependency>
56
 		<dependency>
57
 			<groupId>com.github.binarywang</groupId>
57
 			<groupId>com.github.binarywang</groupId>
58
 			<artifactId>weixin-java-miniapp</artifactId>
58
 			<artifactId>weixin-java-miniapp</artifactId>
59
-			<version>3.3.0</version>
59
+			<version>3.6.0</version>
60
 		</dependency>
60
 		</dependency>
61
 		<dependency>
61
 		<dependency>
62
 			<groupId>com.alibaba</groupId>
62
 			<groupId>com.alibaba</groupId>
205
 					<include>application.yml</include>
205
 					<include>application.yml</include>
206
 					<include>application-${profiles.active}.yml</include>
206
 					<include>application-${profiles.active}.yml</include>
207
 					<include>mapper/**/*.xml</include>
207
 					<include>mapper/**/*.xml</include>
208
+					<include>log/*.xml</include>
208
 				</includes>
209
 				</includes>
209
 			</resource>
210
 			</resource>
210
 		</resources>
211
 		</resources>

+ 25
- 1
src/main/java/com/huiju/estateagents/base/BaseController.java ファイルの表示

1
 package com.huiju.estateagents.base;
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
 import com.huiju.estateagents.common.JWTUtils;
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
 import javax.servlet.http.HttpServletRequest;
11
 import javax.servlet.http.HttpServletRequest;
12
+import java.util.ArrayList;
13
+import java.util.List;
6
 import java.util.Map;
14
 import java.util.Map;
7
 
15
 
8
 /**
16
 /**
10
  * @date 2018-12-18
18
  * @date 2018-12-18
11
  */
19
  */
12
 public class BaseController {
20
 public class BaseController {
13
-	
21
+	@Autowired
22
+	private ITaUserService taUserService;
23
+
24
+	@Autowired
25
+	private ITaPersonBuildingService taPersonBuildingService;
26
+
14
 	/**
27
 	/**
15
 	 * 获取orgId
28
 	 * 获取orgId
16
 	 * @param request
29
 	 * @param request
59
 		
72
 		
60
 		return null;
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 ファイルの表示

367
         try {
367
         try {
368
             //使用分页插件
368
             //使用分页插件
369
             IPage pg = new Page<>(pageNum, pageSize);
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
             if(null != isConsultant && isConsultant == 1){
375
             if(null != isConsultant && isConsultant == 1){
377
-                taUserQueryWrapper.eq("is_consultant",true);
376
+                taUser.setIsConsultant(true);
378
             }else if (null != isConsultant && isConsultant == 0){
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
             List<TaUser> taUserList = result.getRecords();
382
             List<TaUser> taUserList = result.getRecords();
384
             taUserList.forEach(e -> {
383
             taUserList.forEach(e -> {
385
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
384
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
427
             taUser.setLoginPassword("");
426
             taUser.setLoginPassword("");
428
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
427
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
429
             taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
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
             responseBean.addSuccess(taUser);
442
             responseBean.addSuccess(taUser);
435
         }catch (Exception e){
443
         }catch (Exception e){

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java ファイルの表示

198
      */
198
      */
199
     @TableField(exist = false)
199
     @TableField(exist = false)
200
     private Integer miniStatus;
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 ファイルの表示

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.huiju.estateagents.center.taUser.entity.TaTags;
5
 import com.huiju.estateagents.center.taUser.entity.TaTags;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
9
 import org.apache.ibatis.annotations.Param;
9
 
10
 
26
 	List<TaTags> getTagsList(@Param("userId") Integer userId,@Param("orgId") Integer orgId);
27
 	List<TaTags> getTagsList(@Param("userId") Integer userId,@Param("orgId") Integer orgId);
27
 	
28
 	
28
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("loginName") String loginName,@Param("orgId") Integer orgId);
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 ファイルの表示

5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.center.taUser.entity.TaTags;
6
 import com.huiju.estateagents.center.taUser.entity.TaTags;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
8
 
9
 
9
 import java.util.List;
10
 import java.util.List;
10
 import java.util.Map;
11
 import java.util.Map;
51
      * @return
52
      * @return
52
      */
53
      */
53
     ResponseBean departureUser(Integer userId, List<String> customerIdList, Integer consultantUserId);
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 ファイルの表示

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

+ 70
- 0
src/main/java/com/huiju/estateagents/cleancode/CleanCode.java ファイルの表示

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 ファイルの表示

125
     public final static String POINTS_CHANGE_DOCUMENT_VERIFY = "document_verify";
125
     public final static String POINTS_CHANGE_DOCUMENT_VERIFY = "document_verify";
126
 
126
 
127
     /**
127
     /**
128
-     * 资料审核
128
+     * 活动签到
129
      */
129
      */
130
     public final static String POINTS_CHANGE_ACTIVITY_CHECKIN = "activity_checkin";
130
     public final static String POINTS_CHANGE_ACTIVITY_CHECKIN = "activity_checkin";
131
 
131
 
445
      * 消息通知
445
      * 消息通知
446
      * 必须存在表   td_miniapp_template_type 中
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
      * 必须存在表   td_miniapp_template_type 中
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
      * 必须存在表   td_miniapp_template_type 中
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
      * 埋点类型h5
515
      * 埋点类型h5
516
      */
516
      */
517
     public static final String EVENT_H5 = "h5";
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 ファイルの表示

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

+ 2
- 2
src/main/java/com/huiju/estateagents/common/SMSUtils.java ファイルの表示

94
         return String.join("", nums);
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
         SMSProperties.Template message = new SMSProperties.Template();
99
         SMSProperties.Template message = new SMSProperties.Template();
100
         message.setCode(code);
100
         message.setCode(code);
118
         );
118
         );
119
 
119
 
120
         if (((ResponseEntity<String>) response).getStatusCodeValue() != HttpStatus.OK.value()) {
120
         if (((ResponseEntity<String>) response).getStatusCodeValue() != HttpStatus.OK.value()) {
121
-            log.error("请求发送短信验证码失败: {}", response.toString());
121
+            log.error("请求发送短信失败: {}", response.toString());
122
             return false;
122
             return false;
123
         }
123
         }
124
 
124
 

+ 2
- 2
src/main/java/com/huiju/estateagents/common/WxUtils.java ファイルの表示

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

+ 5
- 1
src/main/java/com/huiju/estateagents/controller/ExtendContentController.java ファイルの表示

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

+ 11
- 4
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java ファイルの表示

109
                                          @RequestParam(value = "activityStatus", required = false) Integer activityStatus,
109
                                          @RequestParam(value = "activityStatus", required = false) Integer activityStatus,
110
                                          HttpServletRequest request) {
110
                                          HttpServletRequest request) {
111
         Integer orgId = getOrgId(request);
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
         return helpActivityList;
113
         return helpActivityList;
114
     }
114
     }
115
 
115
 
135
                                          @RequestParam(value = "name", required = false) String name,
135
                                          @RequestParam(value = "name", required = false) String name,
136
                                          HttpServletRequest request) {
136
                                          HttpServletRequest request) {
137
         Integer orgId = getOrgId(request);
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
         return helpActivityList;
139
         return helpActivityList;
140
     }
140
     }
141
 
141
 
553
     public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
553
     public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
554
                                                @RequestParam(value = "buildingId",required = false) String buildingId,
554
                                                @RequestParam(value = "buildingId",required = false) String buildingId,
555
                                                @RequestParam(value = "cityId",required = false) String cityId) {
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 ファイルの表示

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

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java ファイルの表示

107
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
107
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
108
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
108
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
109
                                      HttpServletRequest request){
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
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
141
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
142
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
142
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
143
                                            HttpServletRequest request){
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 ファイルの表示

130
                                              @RequestParam(required = false)String isEnlist,
130
                                              @RequestParam(required = false)String isEnlist,
131
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
131
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
132
                                              @RequestParam(required = false)String activityStatus,HttpServletRequest request){
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
         return responseBean;
134
         return responseBean;
135
     }
135
     }
136
 
136
 
155
                                              @RequestParam(required = false)String isEnlist,
155
                                              @RequestParam(required = false)String isEnlist,
156
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
156
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,
157
                                              @RequestParam(required = false)String activityStatus,HttpServletRequest request){
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
         return responseBean;
159
         return responseBean;
160
     }
160
     }
161
 
161
 
537
         }
537
         }
538
         return responseBean;
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
     @ApiOperation(value = "后端删除", notes = "后端删除")
563
     @ApiOperation(value = "后端删除", notes = "后端删除")

+ 183
- 0
src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java ファイルの表示

1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.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 ファイルの表示

10
 import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.entity.TaGoods;
11
 import com.huiju.estateagents.entity.TaGoods;
12
 import com.huiju.estateagents.entity.TaPerson;
12
 import com.huiju.estateagents.entity.TaPerson;
13
+import com.huiju.estateagents.entity.TaPersonBuilding;
13
 import com.huiju.estateagents.service.ITaBuildingService;
14
 import com.huiju.estateagents.service.ITaBuildingService;
14
 import com.huiju.estateagents.service.ITaGoodsService;
15
 import com.huiju.estateagents.service.ITaGoodsService;
15
 import com.huiju.estateagents.service.ITaPersonService;
16
 import com.huiju.estateagents.service.ITaPersonService;
27
 import java.util.HashMap;
28
 import java.util.HashMap;
28
 import java.util.List;
29
 import java.util.List;
29
 import java.util.Map;
30
 import java.util.Map;
31
+import java.util.stream.Collectors;
30
 
32
 
31
 /**
33
 /**
32
  * <p>
34
  * <p>
78
                                     @RequestParam(value ="status",required = false) Integer status,HttpServletRequest request){
80
                                     @RequestParam(value ="status",required = false) Integer status,HttpServletRequest request){
79
         ResponseBean responseBean = new ResponseBean();
81
         ResponseBean responseBean = new ResponseBean();
80
         try {
82
         try {
83
+            List<TaPersonBuilding> taPersonBuildingListByUserId = getTaPersonBuildingListByUserId(request);
84
+
81
             //使用分页插件
85
             //使用分页插件
82
 		    IPage<TaGoods> pg = new Page<>(pageNum, pageSize);
86
 		    IPage<TaGoods> pg = new Page<>(pageNum, pageSize);
83
             QueryWrapper<TaGoods> queryWrapper = new QueryWrapper<>();
87
             QueryWrapper<TaGoods> queryWrapper = new QueryWrapper<>();
87
             queryWrapper.eq(null != status,"status",status);
91
             queryWrapper.eq(null != status,"status",status);
88
             queryWrapper.eq("org_id",getOrgId(request));
92
             queryWrapper.eq("org_id",getOrgId(request));
89
             queryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id",buildingId);
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
             queryWrapper.orderByDesc("create_date");
95
             queryWrapper.orderByDesc("create_date");
91
 
96
 
92
             IPage<TaGoods> result = iTaGoodsService.page(pg, queryWrapper);
97
             IPage<TaGoods> result = iTaGoodsService.page(pg, queryWrapper);

+ 15
- 0
src/main/java/com/huiju/estateagents/controller/TaMiniappTemplateController.java ファイルの表示

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.StringUtils;
8
 import com.huiju.estateagents.entity.TaMiniappTemplate;
9
 import com.huiju.estateagents.entity.TaMiniappTemplate;
9
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
10
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
10
 import org.slf4j.Logger;
11
 import org.slf4j.Logger;
12
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.web.bind.annotation.*;
14
 import org.springframework.web.bind.annotation.*;
14
 
15
 
16
+import javax.servlet.http.HttpServletRequest;
17
+
15
 /**
18
 /**
16
  * <p>
19
  * <p>
17
     * 小程序消息模板  前端控制器
20
     * 小程序消息模板  前端控制器
143
         }
146
         }
144
         return responseBean;
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 ファイルの表示

84
                                    @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
84
                                    @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
85
                                    @RequestParam(value = "title", required = false) String title,
85
                                    @RequestParam(value = "title", required = false) String title,
86
                                    @RequestParam(value = "cityId", required = false) Integer cityId){
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
         return responseBean;
88
         return responseBean;
89
     }
89
     }
90
 
90
 

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java ファイルの表示

60
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
60
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
61
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
61
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
62
                                        HttpServletRequest request){
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
         return responseBean;
64
         return responseBean;
65
     }
65
     }
66
 
66
 

+ 65
- 5
src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java ファイルの表示

11
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.common.StringUtils;
12
 import com.huiju.estateagents.entity.*;
12
 import com.huiju.estateagents.entity.*;
13
 import com.huiju.estateagents.service.*;
13
 import com.huiju.estateagents.service.*;
14
+import org.apache.commons.collections.map.HashedMap;
14
 import org.slf4j.Logger;
15
 import org.slf4j.Logger;
15
 import org.slf4j.LoggerFactory;
16
 import org.slf4j.LoggerFactory;
16
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.web.bind.annotation.*;
18
 import org.springframework.web.bind.annotation.*;
18
 
19
 
19
 import javax.servlet.http.HttpServletRequest;
20
 import javax.servlet.http.HttpServletRequest;
21
+import java.lang.reflect.Method;
20
 import java.time.LocalDateTime;
22
 import java.time.LocalDateTime;
21
 import java.time.ZoneOffset;
23
 import java.time.ZoneOffset;
22
 import java.util.List;
24
 import java.util.List;
25
+import java.util.Map;
23
 
26
 
24
 
27
 
25
 /**
28
 /**
48
     public ITaPersonIntentionRecordService personIntentionRecordService;
51
     public ITaPersonIntentionRecordService personIntentionRecordService;
49
     @Autowired
52
     @Autowired
50
     public ITaBuildingService buildingService;
53
     public ITaBuildingService buildingService;
54
+    @Autowired
55
+    private ITaRecommendCustomerService taRecommendCustomerService;
56
+
51
 
57
 
52
 
58
 
53
     /**
59
     /**
231
     public ResponseBean drainageVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
237
     public ResponseBean drainageVisitRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
232
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
238
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
233
                                                 @RequestParam(value ="activityName",required = false) String activityName,
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
                                                 @RequestParam(value ="shareName",required = false) String shareName,
241
                                                 @RequestParam(value ="shareName",required = false) String shareName,
236
                                                 @RequestParam(value ="shareTel",required = false) String shareTel,
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
                                                 HttpServletRequest request) {
245
                                                 HttpServletRequest request) {
238
         ResponseBean responseBean = new ResponseBean();
246
         ResponseBean responseBean = new ResponseBean();
239
         try {
247
         try {
240
             //使用分页插件
248
             //使用分页插件
241
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
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
             responseBean.addSuccess(result);
251
             responseBean.addSuccess(result);
244
             return responseBean;
252
             return responseBean;
245
         } catch (Exception e) {
253
         } catch (Exception e) {
255
      * @return
263
      * @return
256
      */
264
      */
257
     @RequestMapping(value="/wx/visitRecord",method= RequestMethod.GET)
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
                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
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
         try {
272
         try {
262
             //使用分页插件
273
             //使用分页插件
263
             IPage<TaPersonVisitRecord> pg = new Page<>(pageNumber, pageSize);
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
             return ResponseBean.success(result);
276
             return ResponseBean.success(result);
266
         }catch (Exception e){
277
         }catch (Exception e){
267
             e.printStackTrace();
278
             e.printStackTrace();
291
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
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 ファイルの表示

80
             taPointsExchange.setTel(tel);
80
             taPointsExchange.setTel(tel);
81
             taPointsExchange.setOrgId(getOrgId(request));
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
         }catch (Exception e){
85
         }catch (Exception e){
86
             e.printStackTrace();
86
             e.printStackTrace();

+ 15
- 15
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java ファイルの表示

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

+ 6
- 3
src/main/java/com/huiju/estateagents/controller/TaRoleController.java ファイルの表示

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

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java ファイルの表示

88
                                             HttpServletRequest request){
88
                                             HttpServletRequest request){
89
         ResponseBean responseBean = new ResponseBean();
89
         ResponseBean responseBean = new ResponseBean();
90
         try {
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
         }catch (Exception e){
92
         }catch (Exception e){
93
             e.printStackTrace();
93
             e.printStackTrace();
94
             logger.error("taShareActivityList -=- {}",e.toString());
94
             logger.error("taShareActivityList -=- {}",e.toString());
114
                                             HttpServletRequest request){
114
                                             HttpServletRequest request){
115
         ResponseBean responseBean = new ResponseBean();
115
         ResponseBean responseBean = new ResponseBean();
116
         try {
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
         }catch (Exception e){
118
         }catch (Exception e){
119
             e.printStackTrace();
119
             e.printStackTrace();
120
             logger.error("taShareActivityList -=- {}",e.toString());
120
             logger.error("taShareActivityList -=- {}",e.toString());

+ 2
- 2
src/main/java/com/huiju/estateagents/entity/HelpActivity.java ファイルの表示

154
      * activityId
154
      * activityId
155
      */
155
      */
156
     @TableField(exist = false)
156
     @TableField(exist = false)
157
-    private Integer activityId;
157
+    private String activityId;
158
 
158
 
159
     /**
159
     /**
160
      * 助力拼团2表和1
160
      * 助力拼团2表和1
161
      * type(1助力,2拼团)
161
      * type(1助力,2拼团)
162
      */
162
      */
163
     @TableField(exist = false)
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 ファイルの表示

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

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java ファイルの表示

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

+ 34
- 0
src/main/java/com/huiju/estateagents/entity/TaConsultantInfo.java ファイルの表示

1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+
5
+@Data
6
+public class TaConsultantInfo {
7
+    private 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 ファイルの表示

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

+ 8
- 0
src/main/java/com/huiju/estateagents/entity/TaMiniappTemplate.java ファイルの表示

54
      */
54
      */
55
     private Integer fieldNum;
55
     private Integer fieldNum;
56
 
56
 
57
+    /**
58
+     * 是否订阅消息
59
+     */
60
+    private Boolean isSubscribe;
57
 
61
 
62
+    /**
63
+     * 模板字段列表 | 分隔
64
+     */
65
+    private String tplFields;
58
 }
66
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java ファイルの表示

281
 
281
 
282
     @TableField(exist = false)
282
     @TableField(exist = false)
283
     private Integer duration;
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 ファイルの表示

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 ファイルの表示

130
     @TableField(exist = false)
130
     @TableField(exist = false)
131
     private String activityName;
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
      */
188
      */
165
     @TableField(exist = false)
189
     @TableField(exist = false)
166
     private String nickname;
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 ファイルの表示

198
 
198
 
199
     @TableField(exist = false)
199
     @TableField(exist = false)
200
     private String avatarurl;
200
     private String avatarurl;
201
+
202
+    /**
203
+     * 来源类型
204
+     */
205
+    @TableField(exist = false)
206
+    private String personFrom;
201
 }
207
 }

+ 5
- 3
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java ファイルの表示

50
     
50
     
51
     private String[] whiteList = {
51
     private String[] whiteList = {
52
             "/wx/chat", // 聊天暂时不鉴权
52
             "/wx/chat", // 聊天暂时不鉴权
53
-            "/api/wx/login",
53
+            "/api/wx/",
54
             "/api/wx/tdCity",
54
             "/api/wx/tdCity",
55
             "/api/admin/signin",
55
             "/api/admin/signin",
56
             "/api/taCheckin/activity",
56
             "/api/taCheckin/activity",
64
             "/swagger-ui.html",
64
             "/swagger-ui.html",
65
             "/webjars",
65
             "/webjars",
66
             "/webjars/springfox-swagger-ui",
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
             response.getOutputStream().write(JSONObject.toJSONBytes(resp));
104
             response.getOutputStream().write(JSONObject.toJSONBytes(resp));
103
             return false;
105
             return false;
104
         }
106
         }
105
-        
107
+
106
         // 白名单跳过
108
         // 白名单跳过
107
         if (inWhiteList(request)) {
109
         if (inWhiteList(request)) {
108
             return true;
110
             return true;

+ 3
- 2
src/main/java/com/huiju/estateagents/mapper/HelpActivityMapper.java ファイルの表示

3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.huiju.estateagents.entity.HelpActivity;
5
 import com.huiju.estateagents.entity.HelpActivity;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
8
 
9
 
31
      * @param orgId
32
      * @param orgId
32
      * @return
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
     void updateActivityToUnStart();
37
     void updateActivityToUnStart();
37
 
38
 
54
      * @param orgId
55
      * @param orgId
55
      * @return
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 ファイルの表示

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 ファイルの表示

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.entity.TaBuildingDynamic;
6
 import com.huiju.estateagents.entity.TaBuildingDynamic;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
9
 import org.apache.ibatis.annotations.Param;
9
 import org.apache.ibatis.annotations.Update;
10
 import org.apache.ibatis.annotations.Update;
10
 
11
 
11
 import java.time.LocalDateTime;
12
 import java.time.LocalDateTime;
13
+import java.util.List;
12
 import java.util.Map;
14
 import java.util.Map;
13
 
15
 
14
 /**
16
 /**
28
      * @param selected
30
      * @param selected
29
      * @return
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
      */
89
      */
88
     void updateProcessingActivity();
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 ファイルの表示

1
 package com.huiju.estateagents.mapper;
1
 package com.huiju.estateagents.mapper;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.huiju.estateagents.entity.TaBuilding;
4
 import com.huiju.estateagents.entity.TaBuilding;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
9
-import org.apache.ibatis.annotations.Select;
10
 import org.apache.ibatis.annotations.Update;
9
 import org.apache.ibatis.annotations.Update;
11
 
10
 
12
 import java.time.LocalDateTime;
11
 import java.time.LocalDateTime;
28
      * @param page
27
      * @param page
29
      * @return
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
      * @param page
34
      * @param page
35
+     * @param
36
      * @return
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
     @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")
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 ファイルの表示

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 ファイルの表示

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 ファイルの表示

3
 
3
 
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.huiju.estateagents.entity.TaConsultantInfo;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
7
 import org.apache.ibatis.annotations.Mapper;
10
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
11
 import org.apache.ibatis.annotations.Param;
69
      * @param orgId
72
      * @param orgId
70
      * @return
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
     IPage<TaPersonVisitRecord> getWxVisitRecordActivityList(IPage<TaPersonVisitRecord> pg, @Param("userId") Integer userId,@Param("personId") String personId,@Param("orgId") Integer orgId,@Param("eventType") String eventType);
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 ファイルの表示

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

+ 12
- 11
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java ファイルの表示

3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.huiju.estateagents.entity.PersonIntention;
4
 import com.huiju.estateagents.entity.PersonIntention;
5
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8
 import com.huiju.estateagents.excel.*;
9
 import com.huiju.estateagents.excel.*;
32
 
33
 
33
     TaRecommendCustomer getCustomerById(@Param("customerId")String customerId);
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
     IPage<TaPerson> getIndependentAgents(IPage<TaPerson>page, @Param("name") String name, @Param("tel") String tel, @Param("orgId") Integer orgId);
39
     IPage<TaPerson> getIndependentAgents(IPage<TaPerson>page, @Param("name") String name, @Param("tel") String tel, @Param("orgId") Integer orgId);
39
 
40
 
40
     /**
41
     /**
54
      * @param orgId
55
      * @param orgId
55
      * @return
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
      * @param orgId
62
      * @param orgId
62
      * @return
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
      * @param orgId
69
      * @param orgId
69
      * @return
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
      * @param orgId
76
      * @param orgId
76
      * @return
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
      * @param status
134
      * @param status
134
      * @return
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
      * @param status
152
      * @param status
152
      * @return
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
      */
187
      */
187
     TaRecommendCustomer getMyCustDetailById(String customerId);
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 ファイルの表示

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.HelpActivity;
5
 import com.huiju.estateagents.entity.HelpActivity;
6
+import com.huiju.estateagents.entity.TaPerson;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
8
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
7
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
9
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
8
 import com.huiju.estateagents.excel.HelpRecordExport;
10
 import com.huiju.estateagents.excel.HelpRecordExport;
32
      * @param orgId
34
      * @param orgId
33
      * @return
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
      * @param orgId
137
      * @param orgId
136
      * @return
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
      * @param orgId
147
      * @param orgId
146
      * @return
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 ファイルの表示

8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.entity.TaMiniapp;
9
 import com.huiju.estateagents.entity.TaMiniapp;
10
 import com.huiju.estateagents.entity.TaMiniappQrcode;
10
 import com.huiju.estateagents.entity.TaMiniappQrcode;
11
+import com.huiju.estateagents.entity.TaMiniappTemplate;
11
 import com.huiju.estateagents.entity.TaPerson;
12
 import com.huiju.estateagents.entity.TaPerson;
12
 import me.chanjar.weixin.common.error.WxErrorException;
13
 import me.chanjar.weixin.common.error.WxErrorException;
13
 
14
 
29
     
30
     
30
     void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
31
     void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt);
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
     ResponseBean getQrCode(String paramsStr, String appid);
33
     ResponseBean getQrCode(String paramsStr, String appid);
37
 
34
 
38
     String createQrCode(WxMaService service, String path) throws Exception;
35
     String createQrCode(WxMaService service, String path) throws Exception;
40
     TaMiniappQrcode getQrCodeBySerialNo(Integer id);
37
     TaMiniappQrcode getQrCodeBySerialNo(Integer id);
41
 
38
 
42
     List<TaMiniapp> getAllAvaliableMiniapps();
39
     List<TaMiniapp> getAllAvaliableMiniapps();
40
+
41
+    TaMiniappTemplate getTplByType(String type, String appid);
42
+
43
+    List<TaMiniappTemplate> getTpls(String appid);
43
 }
44
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ISysOrgParamsService.java ファイルの表示

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

+ 5
- 5
src/main/java/com/huiju/estateagents/service/ISysProjectParamsService.java ファイルの表示

7
 /**
7
 /**
8
  * <p>
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
 public interface ISysProjectParamsService extends IService<SysProjectParams> {
15
 public interface ISysProjectParamsService extends IService<SysProjectParams> {
16
 
16
 
17
 }
17
 }

+ 17
- 0
src/main/java/com/huiju/estateagents/service/ISysSmsSettingService.java ファイルの表示

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 ファイルの表示

7
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
7
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
8
 import com.huiju.estateagents.entity.TaBuildingDynamic;
8
 import com.huiju.estateagents.entity.TaBuildingDynamic;
9
 import com.huiju.estateagents.entity.TaPerson;
9
 import com.huiju.estateagents.entity.TaPerson;
10
+import com.huiju.estateagents.entity.TaPersonBuilding;
10
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
11
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
11
 
12
 
12
 import java.time.LocalDateTime;
13
 import java.time.LocalDateTime;
27
      * 项目动态管理列表
28
      * 项目动态管理列表
28
      * @return
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
      * @param activityStatus
139
      * @param activityStatus
139
      * @return
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 ファイルの表示

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

+ 3
- 2
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java ファイルの表示

3
 import com.huiju.estateagents.base.ResponseBean;
3
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.entity.TaBuilding;
4
 import com.huiju.estateagents.entity.TaBuilding;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 
7
 
7
 import java.time.LocalDateTime;
8
 import java.time.LocalDateTime;
8
 import java.util.List;
9
 import java.util.List;
23
      * @param pageSize
24
      * @param pageSize
24
      * @return
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
      * @param pageSize
32
      * @param pageSize
32
      * @return
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 ファイルの表示

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

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaMiniappTemplateService.java ファイルの表示

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

+ 2
- 1
src/main/java/com/huiju/estateagents/service/ITaNewsService.java ファイルの表示

4
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.entity.TaNews;
6
 import com.huiju.estateagents.entity.TaNews;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 
8
 
8
 import java.util.List;
9
 import java.util.List;
9
 
10
 
26
      * @param newsTypeId
27
      * @param newsTypeId
27
      * @return
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
      * 根据Id查询资讯数据
33
      * 根据Id查询资讯数据

+ 4
- 1
src/main/java/com/huiju/estateagents/service/ITaNewsTypeService.java ファイルの表示

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.TaNewsType;
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
  * <p>
11
  * <p>
22
      * @param orgId
25
      * @param orgId
23
      * @return
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
      * 根据Id查询资讯类型数据
31
      * 根据Id查询资讯类型数据

+ 35
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonMessageRuleService.java ファイルの表示

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 ファイルの表示

3
 
3
 
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaConsultantInfo;
6
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
10
+import io.swagger.models.auth.In;
8
 
11
 
9
 import java.util.List;
12
 import java.util.List;
10
 
13
 
32
 	 * @param orgId
35
 	 * @param orgId
33
 	 * @return
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
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
49
 //    IPage<TaPerson> selectCustomer(IPage<TaPerson> page);
47
 //    TaPerson customerInfo(String personId);
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 ファイルの表示

3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import com.huiju.estateagents.entity.TaPointsExchange;
7
 import com.huiju.estateagents.entity.TaPointsExchange;
7
 
8
 
9
+import java.util.List;
10
+
8
 /**
11
 /**
9
  * <p>
12
  * <p>
10
  * 积分兑换记录  服务类
13
  * 积分兑换记录  服务类
15
  */
18
  */
16
 public interface ITaPointsExchangeService extends IService<TaPointsExchange> {
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 ファイルの表示

3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7
 import com.huiju.estateagents.entity.TaRecommendCustomer;
7
 import com.baomidou.mybatisplus.extension.service.IService;
8
 import com.baomidou.mybatisplus.extension.service.IService;
8
 import com.huiju.estateagents.excel.AgentsRecommendCustomer;
9
 import com.huiju.estateagents.excel.AgentsRecommendCustomer;
34
 
35
 
35
     IPage<TaRecommendCustomer> getUnSignedCustomerList(int pageNumber, int pageSize, String building,String personId);
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
     IPage<TaPerson> getIndependentAgents(int pageNumber, int pageSize,String name,String tel, Integer orgId);
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
     TaRecommendCustomer getCustomerById(String customerId);
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
     TaRecommendCustomer newByPerson(TaPerson person);
55
     TaRecommendCustomer newByPerson(TaPerson person);
55
 
56
 
58
      * @param orgId
59
      * @param orgId
59
      * @return
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
      * @param orgId
66
      * @param orgId
66
      * @return
67
      * @return
67
      */
68
      */
68
-    Integer getRecCustomerExportCount(Integer orgId);
69
+    Integer getRecCustomerExportCount(Integer orgId,List<TaPersonBuilding> taPersonBuildingList);
69
 
70
 
70
     /**
71
     /**
71
      * 导出数据(报备客户) 总数
72
      * 导出数据(报备客户) 总数
72
      * @param orgId
73
      * @param orgId
73
      * @return
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
      * @param pageSize
82
      * @param pageSize
82
      * @return
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
      * @return
148
      * @return
148
      */
149
      */
149
     ResponseBean getAdminMyCustList(String openid, String keywords, int pageNumber, int pageSize);
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 ファイルの表示

2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaPersonBuilding;
5
 import com.huiju.estateagents.entity.TaShareActivity;
6
 import com.huiju.estateagents.entity.TaShareActivity;
6
 
7
 
7
 import java.time.LocalDateTime;
8
 import java.time.LocalDateTime;
17
  */
18
  */
18
 public interface ITaShareActivityService extends IService<TaShareActivity> {
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
      * @param orgId
43
      * @param orgId
43
      * @return
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
     Integer countGroupBuyPeople(TaShareActivity taShareActivity);
48
     Integer countGroupBuyPeople(TaShareActivity taShareActivity);
48
 }
49
 }

+ 72
- 34
src/main/java/com/huiju/estateagents/service/impl/HelpActivityServiceImpl.java ファイルの表示

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.StringUtils;
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
 import com.huiju.estateagents.event.EventBus;
11
 import com.huiju.estateagents.event.EventBus;
14
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
12
 import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
15
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
13
 import com.huiju.estateagents.excel.HelpProceedAndFinish;
16
 import com.huiju.estateagents.excel.HelpRecordExport;
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
 import com.huiju.estateagents.service.IHelpActivityService;
16
 import com.huiju.estateagents.service.IHelpActivityService;
22
 import org.apache.commons.collections.CollectionUtils;
17
 import org.apache.commons.collections.CollectionUtils;
23
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.beans.factory.annotation.Autowired;
46
     @Autowired
41
     @Autowired
47
     HelpInitiateRecordMapper helpInitiateRecordMapper;
42
     HelpInitiateRecordMapper helpInitiateRecordMapper;
48
 
43
 
44
+    @Autowired
45
+    private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
46
+
47
+    @Autowired
48
+    private TaShareRecordMapper taShareRecordMapper;
49
+
49
     @Autowired
50
     @Autowired
50
     HelpRecordMapper helpRecordMapper;
51
     HelpRecordMapper helpRecordMapper;
51
 
52
 
56
     TaShareActivityMapper taShareActivityMapper;
57
     TaShareActivityMapper taShareActivityMapper;
57
 
58
 
58
     @Override
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
         ResponseBean responseBean = new ResponseBean<>();
61
         ResponseBean responseBean = new ResponseBean<>();
61
         IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
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
         responseBean.addSuccess(result);
64
         responseBean.addSuccess(result);
64
         return responseBean;
65
         return responseBean;
65
     }
66
     }
68
     public int helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
69
     public int helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
69
         helpActivity.setOrgId(orgId)
70
         helpActivity.setOrgId(orgId)
70
                 .setCreateDate(LocalDateTime.now());
71
                 .setCreateDate(LocalDateTime.now());
71
-                taHelpActivityMapper.insert(helpActivity);
72
+        taHelpActivityMapper.insert(helpActivity);
72
         return helpActivity.getHelpActivityId();
73
         return helpActivity.getHelpActivityId();
73
     }
74
     }
74
 
75
 
78
     }
79
     }
79
 
80
 
80
     @Override
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
         ResponseBean responseBean = new ResponseBean<>();
83
         ResponseBean responseBean = new ResponseBean<>();
83
         //  status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
84
         //  status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
84
 
85
 
87
         // 得到活动限制助力的总数
88
         // 得到活动限制助力的总数
88
         int persionNumCount = helpActivity.getPersonNum();
89
         int persionNumCount = helpActivity.getPersonNum();
89
         IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
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
         for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
94
         for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
94
             helpInitiateRecord.setPersionNumCount(persionNumCount);
95
             helpInitiateRecord.setPersionNumCount(persionNumCount);
95
             // 统计助力成功的总数(发起人得到助力数满了即可)
96
             // 统计助力成功的总数(发起人得到助力数满了即可)
130
     public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
131
     public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
131
         ResponseBean responseBean = new ResponseBean<>();
132
         ResponseBean responseBean = new ResponseBean<>();
132
         IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
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
         responseBean.addSuccess(helpRecordList);
135
         responseBean.addSuccess(helpRecordList);
135
         return responseBean;
136
         return responseBean;
136
     }
137
     }
139
     public ResponseBean helpInitiateRecordVerify(Integer helpRecordInitiateId, String verifyCode) {
140
     public ResponseBean helpInitiateRecordVerify(Integer helpRecordInitiateId, String verifyCode) {
140
         ResponseBean responseBean = new ResponseBean<>();
141
         ResponseBean responseBean = new ResponseBean<>();
141
         HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecordInitiateId);
142
         HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecordInitiateId);
142
-        if (null ==verifyCode || "".equals(verifyCode)){
143
+        if (null == verifyCode || "".equals(verifyCode)) {
143
             responseBean.addError("请输入核销码");
144
             responseBean.addError("请输入核销码");
144
             return responseBean;
145
             return responseBean;
145
         }
146
         }
146
 
147
 
147
         // 判断是否已核销
148
         // 判断是否已核销
148
-        if ("1".equals(helpInitiateRecord.getVerificationStatus())){
149
+        if ("1".equals(helpInitiateRecord.getVerificationStatus())) {
149
             responseBean.addSuccess("已核销");
150
             responseBean.addSuccess("已核销");
150
             return responseBean;
151
             return responseBean;
151
         }
152
         }
152
 
153
 
153
-        if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))){
154
+        if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))) {
154
             helpInitiateRecord.setVerificationStatus(1);
155
             helpInitiateRecord.setVerificationStatus(1);
155
             helpInitiateRecordMapper.updateById(helpInitiateRecord);
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
             responseBean.addSuccess("成功");
161
             responseBean.addSuccess("成功");
161
-        }else {
162
+        } else {
162
             responseBean.addError("核销码错误,请重新输入");
163
             responseBean.addError("核销码错误,请重新输入");
163
         }
164
         }
164
         return responseBean;
165
         return responseBean;
166
 
167
 
167
     @Override
168
     @Override
168
     public Integer getHelpInitiateRecordSucceed(String tel, Integer helpActivityId) {
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
         return helpInitiateRecordMapper.selectCount(helpInitiateRecordQuery);
173
         return helpInitiateRecordMapper.selectCount(helpInitiateRecordQuery);
173
     }
174
     }
174
 
175
 
175
     @Override
176
     @Override
176
     public List<HelpInitiateRecordSucceed> getHelpInitiateRecordSucceedExportList(int i, Integer pageSize, String tel, Integer helpActivityId) {
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
         return lsit;
179
         return lsit;
179
     }
180
     }
180
 
181
 
181
     @Override
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
         return lsit;
185
         return lsit;
185
     }
186
     }
186
 
187
 
187
     @Override
188
     @Override
188
     public Integer getHelpRecord(Integer helpRecordInitiateId) {
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
         return helpRecordMapper.selectCount(helpInitiateRecordQuery);
192
         return helpRecordMapper.selectCount(helpInitiateRecordQuery);
192
     }
193
     }
193
 
194
 
194
     @Override
195
     @Override
195
     public List<HelpRecordExport> getHelpRecordExportList(int i, Integer pageSize, Integer helpRecordInitiateId) {
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
         return lsit;
198
         return lsit;
198
     }
199
     }
199
 
200
 
213
     }
214
     }
214
 
215
 
215
     @Override
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
         ResponseBean responseBean = new ResponseBean<>();
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
         // buildingId 楼盘ID为空时首页只查置顶的活动,楼盘ID不为空查所有拼团和助力
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
         return responseBean;
259
         return responseBean;
222
     }
260
     }
223
 
261
 
224
     @Override
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
         ResponseBean responseBean = new ResponseBean<>();
264
         ResponseBean responseBean = new ResponseBean<>();
227
         IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
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
         responseBean.addSuccess(result);
267
         responseBean.addSuccess(result);
230
         return responseBean;
268
         return responseBean;
231
     }
269
     }

+ 278
- 50
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java ファイルの表示

6
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.common.*;
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
 import com.huiju.estateagents.service.IMiniAppService;
11
 import com.huiju.estateagents.service.IMiniAppService;
12
+import com.huiju.estateagents.service.ISysOrgParamsService;
18
 import com.huiju.estateagents.service.ITaMiniFormidsService;
13
 import com.huiju.estateagents.service.ITaMiniFormidsService;
14
+import com.huiju.estateagents.service.ITaPersonMessageRuleService;
19
 import lombok.extern.slf4j.Slf4j;
15
 import lombok.extern.slf4j.Slf4j;
20
 import me.chanjar.weixin.common.error.WxErrorException;
16
 import me.chanjar.weixin.common.error.WxErrorException;
21
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.stereotype.Service;
18
 import org.springframework.stereotype.Service;
23
 
19
 
24
 import java.io.File;
20
 import java.io.File;
21
+import java.time.Duration;
25
 import java.time.LocalDateTime;
22
 import java.time.LocalDateTime;
26
 import java.util.ArrayList;
23
 import java.util.ArrayList;
27
 import java.util.List;
24
 import java.util.List;
45
     @Autowired
42
     @Autowired
46
     TaMiniappTemplateMapper taMiniappTemplateMapper;
43
     TaMiniappTemplateMapper taMiniappTemplateMapper;
47
 
44
 
45
+    @Autowired
46
+    SysSmsSettingMapper sysSmsSettingMapper;
47
+
48
+    @Autowired
49
+    ITaPersonMessageRuleService iTaPersonMessageRuleService;
50
+
51
+    @Autowired
52
+    ISysOrgParamsService iSysOrgParamsService;
53
+
48
     @Autowired
54
     @Autowired
49
     WxUtils wxUtils;
55
     WxUtils wxUtils;
50
 
56
 
57
+    @Autowired
58
+    SMSUtils smsUtils;
59
+
51
     @Override
60
     @Override
52
     public WxMaJscode2SessionResult getSessionInfo(String code, String appid) throws WxErrorException {
61
     public WxMaJscode2SessionResult getSessionInfo(String code, String appid) throws WxErrorException {
53
         WxMaService wxService = wxUtils.getMiniApp(appid);
62
         WxMaService wxService = wxUtils.getMiniApp(appid);
76
 
85
 
77
     @Override
86
     @Override
78
     public void sendNoticeMessage(TaPerson toUser, String link, String name, String phone, String content, LocalDateTime dt) {
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
     @Override
165
     @Override
89
     public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
166
     public void sendHelpMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
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
     @Override
217
     @Override
99
     public void sendGroupMessage(TaPerson toUser, String link, String result, String activityName, LocalDateTime dt) {
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
     @Override
269
     @Override
220
         return taMiniappList;
357
         return taMiniappList;
221
     }
358
     }
222
 
359
 
360
+    @Deprecated
223
     private void sendMessage(String tplName, TaPerson toUser, String link, List<WxMaTemplateData> data) {
361
     private void sendMessage(String tplName, TaPerson toUser, String link, List<WxMaTemplateData> data) {
224
         String appid = toUser.getMiniappId();
362
         String appid = toUser.getMiniappId();
225
         if (StringUtils.isEmpty(appid)) {
363
         if (StringUtils.isEmpty(appid)) {
248
         } catch (WxErrorException e) {
386
         } catch (WxErrorException e) {
249
             e.printStackTrace();
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
         TaMiniappTemplate tpl = taMiniappTemplateMapper.selectTplByType(type, appid);
473
         TaMiniappTemplate tpl = taMiniappTemplateMapper.selectTplByType(type, appid);
255
         return tpl;
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
     public TaMiniapp getMinappByOrg(Integer org) {
486
     public TaMiniapp getMinappByOrg(Integer org) {
259
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
487
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
260
         queryWrapper.eq("org_id", org);
488
         queryWrapper.eq("org_id", org);

+ 54
- 0
src/main/java/com/huiju/estateagents/service/impl/SysOrgParamsServiceImpl.java ファイルの表示

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.huiju.estateagents.entity.SysOrgParams;
5
 import com.huiju.estateagents.entity.SysOrgParams;
5
 import com.huiju.estateagents.mapper.SysOrgParamsMapper;
6
 import com.huiju.estateagents.mapper.SysOrgParamsMapper;
6
 import com.huiju.estateagents.service.ISysOrgParamsService;
7
 import com.huiju.estateagents.service.ISysOrgParamsService;
8
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
9
 import org.springframework.stereotype.Service;
8
 
10
 
11
+import java.util.ArrayList;
12
+import java.util.List;
13
+
9
 /**
14
 /**
10
  * <p>
15
  * <p>
11
  * 组织参数配置表  服务实现类
16
  * 组织参数配置表  服务实现类
16
  */
21
  */
17
 @Service
22
 @Service
18
 public class SysOrgParamsServiceImpl extends ServiceImpl<SysOrgParamsMapper, SysOrgParams> implements ISysOrgParamsService {
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 ファイルの表示

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 ファイルの表示

74
         binder.registerCustomEditor(Date.class, editor);
74
         binder.registerCustomEditor(Date.class, editor);
75
     }
75
     }
76
     @Override
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
         Page<TaBuildingDynamic> page = new Page<>();
78
         Page<TaBuildingDynamic> page = new Page<>();
79
         page.setSize(pageSize == null ? 10 : pageSize);
79
         page.setSize(pageSize == null ? 10 : pageSize);
80
         page.setCurrent(pageNum == null ? 1 : pageNum);
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
         HashMap hashMap= new HashMap<>();
84
         HashMap hashMap= new HashMap<>();
85
         hashMap.put("list",buildingDynamic.getRecords());
85
         hashMap.put("list",buildingDynamic.getRecords());
383
      * @return
383
      * @return
384
      */
384
      */
385
     @Override
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
         Page<TaBuildingDynamic> page = new Page<>();
387
         Page<TaBuildingDynamic> page = new Page<>();
388
         page.setSize(pageSize == null ? 10 : pageSize);
388
         page.setSize(pageSize == null ? 10 : pageSize);
389
         page.setCurrent(pageNum == null ? 1 : pageNum);
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
         HashMap hashMap= new HashMap<>();
393
         HashMap hashMap= new HashMap<>();
394
         hashMap.put("list",buildingDynamic.getRecords());
394
         hashMap.put("list",buildingDynamic.getRecords());

+ 35
- 0
src/main/java/com/huiju/estateagents/service/impl/TaBuildingIntentionServiceImpl.java ファイルの表示

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.TaBuildingIntention;
6
 import com.huiju.estateagents.entity.TaBuildingIntention;
6
 import com.huiju.estateagents.entity.TdBizEvent;
7
 import com.huiju.estateagents.entity.TdBizEvent;
7
 import com.huiju.estateagents.mapper.TaBuildingIntentionMapper;
8
 import com.huiju.estateagents.mapper.TaBuildingIntentionMapper;
9
+import com.huiju.estateagents.mapper.TdBizEventMapper;
8
 import com.huiju.estateagents.service.ITaBuildingIntentionService;
10
 import com.huiju.estateagents.service.ITaBuildingIntentionService;
9
 import org.springframework.beans.factory.annotation.Autowired;
11
 import org.springframework.beans.factory.annotation.Autowired;
10
 import org.springframework.stereotype.Service;
12
 import org.springframework.stereotype.Service;
11
 
13
 
14
+import java.time.LocalDateTime;
15
+import java.util.ArrayList;
12
 import java.util.List;
16
 import java.util.List;
13
 import java.util.stream.Collectors;
17
 import java.util.stream.Collectors;
14
 
18
 
26
     @Autowired
30
     @Autowired
27
     private TaBuildingIntentionMapper taBuildingIntentionMapper;
31
     private TaBuildingIntentionMapper taBuildingIntentionMapper;
28
 
32
 
33
+    @Autowired
34
+    private TdBizEventMapper tdBizEventMapper;
35
+
29
     @Override
36
     @Override
30
     public ResponseBean taBuildingIntentionAddOrUpdate(List<TdBizEvent>tdBizEventsList, String buildingId, Integer orgId) {
37
     public ResponseBean taBuildingIntentionAddOrUpdate(List<TdBizEvent>tdBizEventsList, String buildingId, Integer orgId) {
31
         ResponseBean responseBean = new ResponseBean();
38
         ResponseBean responseBean = new ResponseBean();
53
         responseBean.addSuccess("操作成功!");
60
         responseBean.addSuccess("操作成功!");
54
         return responseBean;
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 ファイルの表示

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

+ 43
- 0
src/main/java/com/huiju/estateagents/service/impl/TaCustomImgServiceImpl.java ファイルの表示

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

+ 8
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMiniappTemplateServiceImpl.java ファイルの表示

4
 import com.huiju.estateagents.entity.TaMiniappTemplate;
4
 import com.huiju.estateagents.entity.TaMiniappTemplate;
5
 import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
5
 import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
6
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
6
 import com.huiju.estateagents.service.ITaMiniappTemplateService;
7
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
8
 import org.springframework.stereotype.Service;
8
 
9
 
9
 /**
10
 /**
16
  */
17
  */
17
 @Service
18
 @Service
18
 public class TaMiniappTemplateServiceImpl extends ServiceImpl<TaMiniappTemplateMapper, TaMiniappTemplate> implements ITaMiniappTemplateService {
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 ファイルの表示

8
 import com.huiju.estateagents.common.BeanTools;
8
 import com.huiju.estateagents.common.BeanTools;
9
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.StringUtils;
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
 import com.huiju.estateagents.exception.EstaException;
12
 import com.huiju.estateagents.exception.EstaException;
16
 import com.huiju.estateagents.mapper.TaFavorMapper;
13
 import com.huiju.estateagents.mapper.TaFavorMapper;
17
 import com.huiju.estateagents.mapper.TaNewsMapper;
14
 import com.huiju.estateagents.mapper.TaNewsMapper;
23
 
20
 
24
 import java.time.LocalDateTime;
21
 import java.time.LocalDateTime;
25
 import java.util.List;
22
 import java.util.List;
23
+import java.util.stream.Collectors;
26
 
24
 
27
 /**
25
 /**
28
  * <p>
26
  * <p>
58
 
56
 
59
 
57
 
60
     @Override
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
         ResponseBean responseBean = new ResponseBean();
60
         ResponseBean responseBean = new ResponseBean();
63
 
61
 
64
         IPage<TaNews> page = new Page<>();
62
         IPage<TaNews> page = new Page<>();
73
         taNewsQueryWrapper.eq("status", 1);
71
         taNewsQueryWrapper.eq("status", 1);
74
         taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
72
         taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
75
         taNewsQueryWrapper.like(title!=null,"news_name", title);
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
         taNewsQueryWrapper.orderByAsc("news_status");
75
         taNewsQueryWrapper.orderByAsc("news_status");
77
         taNewsQueryWrapper.orderByDesc("weight","create_date");
76
         taNewsQueryWrapper.orderByDesc("weight","create_date");
78
         IPage<TaNews> taNewsIPage = this.page(page, taNewsQueryWrapper);
77
         IPage<TaNews> taNewsIPage = this.page(page, taNewsQueryWrapper);

+ 5
- 1
src/main/java/com/huiju/estateagents/service/impl/TaNewsTypeServiceImpl.java ファイルの表示

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

+ 67
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonMessageRuleImpl.java ファイルの表示

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 ファイルの表示

132
             person.setAvatarurl(userInfo.getAvatarUrl());
132
             person.setAvatarurl(userInfo.getAvatarUrl());
133
             person.setNickname(userInfo.getNickName());
133
             person.setNickname(userInfo.getNickName());
134
 
134
 
135
+            //获取推荐客户表中此人的信息并更新头像和姓名
136
+            updateTaRecommendCustomer(person);
137
+
135
             return person;
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
     @Override
159
     @Override
140
     public TaPerson updatePersonPhone(String miniOpenid, String phone,Integer orgId) {
160
     public TaPerson updatePersonPhone(String miniOpenid, String phone,Integer orgId) {
141
         // 先查询是否存在用户
161
         // 先查询是否存在用户
262
         result.put("unReadNum", 0);
282
         result.put("unReadNum", 0);
263
         result.put("projects", buildings);
283
         result.put("projects", buildings);
264
         result.put("address", taBuilding.getAddress());
284
         result.put("address", taBuilding.getAddress());
285
+        result.put("buildingName", taBuilding.getBuildingName());
265
         result.put("coordinate", taBuilding.getCoordinate());
286
         result.put("coordinate", taBuilding.getCoordinate());
266
         result.put("personTags",person.getPersonTags());
287
         result.put("personTags",person.getPersonTags());
267
         result.put("posters",taPosterService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));
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 ファイルの表示

10
 import com.baomidou.mybatisplus.core.metadata.IPage;
10
 import com.baomidou.mybatisplus.core.metadata.IPage;
11
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.common.StringUtils;
13
 import com.huiju.estateagents.drainage.entity.TaDrainage;
14
 import com.huiju.estateagents.drainage.entity.TaDrainage;
14
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
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
 import com.huiju.estateagents.mapper.HelpActivityMapper;
17
 import com.huiju.estateagents.mapper.HelpActivityMapper;
23
 import com.huiju.estateagents.mapper.TaBuildingDynamicMapper;
18
 import com.huiju.estateagents.mapper.TaBuildingDynamicMapper;
24
 import com.huiju.estateagents.mapper.TaNewsMapper;
19
 import com.huiju.estateagents.mapper.TaNewsMapper;
30
 import org.springframework.beans.factory.annotation.Autowired;
25
 import org.springframework.beans.factory.annotation.Autowired;
31
 import org.springframework.stereotype.Service;
26
 import org.springframework.stereotype.Service;
32
 
27
 
28
+import java.util.Collections;
33
 import java.util.List;
29
 import java.util.List;
34
 
30
 
35
 /**
31
 /**
125
 	}
121
 	}
126
 
122
 
127
 	@Override
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
 		List<TaPersonVisitRecord> taPersonVisitRecords = taPersonVisitRecordIPage.getRecords();
126
 		List<TaPersonVisitRecord> taPersonVisitRecords = taPersonVisitRecordIPage.getRecords();
131
-		taPersonVisitRecords.forEach(e -> {
127
+		for (TaPersonVisitRecord e : taPersonVisitRecords) {
128
+
132
 			TaPerson personInfo = taPersonMapper.selectById(e.getPersonId());
129
 			TaPerson personInfo = taPersonMapper.selectById(e.getPersonId());
133
-			if (personInfo != null){
130
+			if (personInfo != null) {
134
 				e.setUserName(personInfo.getNickname());
131
 				e.setUserName(personInfo.getNickname());
135
 				e.setUserTel(personInfo.getPhone());
132
 				e.setUserTel(personInfo.getPhone());
136
 			}
133
 			}
137
 
134
 
138
 			TaPerson userShareInfo = taPersonMapper.selectById(e.getSharePersonId());
135
 			TaPerson userShareInfo = taPersonMapper.selectById(e.getSharePersonId());
139
-			if (userShareInfo != null){
136
+			if (userShareInfo != null) {
140
 				e.setShareName(userShareInfo.getNickname());
137
 				e.setShareName(userShareInfo.getNickname());
141
 				e.setShareTel(userShareInfo.getPhone());
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
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
162
 		taPersonVisitRecordIPage.setRecords(taPersonVisitRecords);
145
 		return taPersonVisitRecordIPage;
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
 	 * @return
183
 	 * @return
154
 	 */
184
 	 */
155
 	@Override
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
 		//根据userId获取用户信息
187
 		//根据userId获取用户信息
158
 		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
188
 		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
159
 		taPersonQueryWrapper.eq("user_id",userId);
189
 		taPersonQueryWrapper.eq("user_id",userId);
160
 		taPersonQueryWrapper.eq("org_id",orgId);
190
 		taPersonQueryWrapper.eq("org_id",orgId);
161
 		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
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
 		List<TaPersonVisitRecord> records = result.getRecords();
194
 		List<TaPersonVisitRecord> records = result.getRecords();
165
 		//判断是否我的客户状态
195
 		//判断是否我的客户状态
166
 		records.forEach(e -> {
196
 		records.forEach(e -> {
167
 			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
197
 			QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper();
168
 			queryWrapper.eq("realty_consultant",e.getConsultantId());
198
 			queryWrapper.eq("realty_consultant",e.getConsultantId());
169
 			queryWrapper.eq("person_id",e.getPersonId());
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
 				//1是我的客户
202
 				//1是我的客户
173
 				e.setMyCustomer(CommConstant.STATUS_NORMAL);
203
 				e.setMyCustomer(CommConstant.STATUS_NORMAL);
204
+				//返回customer_id给微信端
205
+				e.setCustomerId(taRecommendCustomers.get(0).getCustomerId());
174
 			}
206
 			}
175
 		});
207
 		});
176
 		return result;
208
 		return result;

+ 3
- 2
src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java ファイルの表示

4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
 import com.huiju.estateagents.entity.TaPointsExchange;
8
 import com.huiju.estateagents.entity.TaPointsExchange;
8
 import com.huiju.estateagents.mapper.TaPointsExchangeMapper;
9
 import com.huiju.estateagents.mapper.TaPointsExchangeMapper;
9
 import com.huiju.estateagents.service.ITaPointsExchangeService;
10
 import com.huiju.estateagents.service.ITaPointsExchangeService;
34
 	 * @return
35
 	 * @return
35
 	 */
36
 	 */
36
 	@Override
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
 		Page page = new Page(pageNum,pageSize);
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
 		page.setRecords(list);
42
 		page.setRecords(list);
42
 		return ResponseBean.success(page);
43
 		return ResponseBean.success(page);
43
 	}
44
 	}

+ 4
- 1
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java ファイルの表示

242
 
242
 
243
 		// 发放积分
243
 		// 发放积分
244
 		TaPerson taPerson = taPersonMapper.getById(taRecommendCustomer.getRecommendPerson());
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
 			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
246
 			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
247
 		}
247
 		}
248
 	}
248
 	}
286
 	}
286
 	}
287
 
287
 
288
 	private boolean savePoints(TaPerson person, String changeType, String changeParams, Integer pointsAmount, Integer orgId) {
288
 	private boolean savePoints(TaPerson person, String changeType, String changeParams, Integer pointsAmount, Integer orgId) {
289
+		if (null == person){
290
+			return true;
291
+		}
289
 		TaPointsRecords taPointsRecords = new TaPointsRecords();
292
 		TaPointsRecords taPointsRecords = new TaPointsRecords();
290
 		taPointsRecords.setPersonId(person.getPersonId());
293
 		taPointsRecords.setPersonId(person.getPersonId());
291
 		taPointsRecords.setPersonName(StringUtils.ifNull(person.getName(),person.getNickname()));
294
 		taPointsRecords.setPersonName(StringUtils.ifNull(person.getName(),person.getNickname()));

+ 83
- 29
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java ファイルの表示

7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
10
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
11
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
11
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.DateUtils;
13
 import com.huiju.estateagents.common.DateUtils;
84
     @Autowired
85
     @Autowired
85
     private TaDrainageMapper taDrainageMapper;
86
     private TaDrainageMapper taDrainageMapper;
86
 
87
 
88
+    @Autowired
89
+    private TaUserMapper taUserMapper;
90
+
91
+    @Autowired
92
+    private TdPersonFromMapper tdPersonFromMapper;
93
+
87
     @Override
94
     @Override
88
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
95
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
89
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
96
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
309
 //            return ResponseBean.error(checkResult, ResponseBean.ERROR_MISSING_PARAMS);
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
         TaRecommendCustomer taRecommendCustomer = new TaRecommendCustomer();
348
         TaRecommendCustomer taRecommendCustomer = new TaRecommendCustomer();
313
         taRecommendCustomer.setOrgId(orgId);
349
         taRecommendCustomer.setOrgId(orgId);
314
         taRecommendCustomer.setName(taPerson.getNickname());
350
         taRecommendCustomer.setName(taPerson.getNickname());
316
         taRecommendCustomer.setPhone(params.getString("phone"));
352
         taRecommendCustomer.setPhone(params.getString("phone"));
317
         taRecommendCustomer.setSex(null == taPerson.getGender() ? null : ("1".equals(taPerson.getGender()) ? 1 : 2));
353
         taRecommendCustomer.setSex(null == taPerson.getGender() ? null : ("1".equals(taPerson.getGender()) ? 1 : 2));
318
 //        taRecommendCustomer.setDescribe(params.getString("describe"));
354
 //        taRecommendCustomer.setDescribe(params.getString("describe"));
319
-        taRecommendCustomer.setRealtyConsultant(params.getString("realtyConsultant"));
355
+        taRecommendCustomer.setRealtyConsultant(consultantUser.getUserId().toString());
320
         //如果没有传building_id的情况构造building_id
356
         //如果没有传building_id的情况构造building_id
321
         if (StringUtils.isEmpty(params.getString("buildingId")) && !StringUtils.isEmpty(params.getString("realtyConsultant"))){
357
         if (StringUtils.isEmpty(params.getString("buildingId")) && !StringUtils.isEmpty(params.getString("realtyConsultant"))){
322
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
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
             List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingMapper.selectList(taPersonBuildingQueryWrapper);
360
             List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingMapper.selectList(taPersonBuildingQueryWrapper);
325
             if (taPersonBuildingList.size() > 0){
361
             if (taPersonBuildingList.size() > 0){
326
                 params.put("buildingId",taPersonBuildingList.get(0).getBuildingId());
362
                 params.put("buildingId",taPersonBuildingList.get(0).getBuildingId());
377
             String conName = "";
413
             String conName = "";
378
             TaPerson conPerson = taPersonMapper.selectById(result.get(0).getRealtyConsultant());
414
             TaPerson conPerson = taPersonMapper.selectById(result.get(0).getRealtyConsultant());
379
             if (null != conPerson){
415
             if (null != conPerson){
380
-                if(params.getString("realtyConsultant").equals(conPerson.getPersonId())){
416
+                if(null != consultantPerson && consultantPerson.getPersonId().equals(conPerson.getPersonId())){
381
                    return  ResponseBean.success("bound");
417
                    return  ResponseBean.success("bound");
382
                 }
418
                 }
383
                 conName = conPerson.getName();
419
                 conName = conPerson.getName();
384
             }else {
420
             }else {
385
                 TaUser conUser = userService.getById(result.get(0).getRealtyConsultant());
421
                 TaUser conUser = userService.getById(result.get(0).getRealtyConsultant());
386
                 if(null != conUser){
422
                 if(null != conUser){
387
-                    if(params.getString("realtyConsultant").equals(conUser.getUserId().toString())){
423
+                    if(consultantUser.getUserId().equals(conUser.getUserId())){
388
                         return ResponseBean.success("bound");
424
                         return ResponseBean.success("bound");
389
                     }
425
                     }
390
                     conName = conUser.getUserName();
426
                     conName = conUser.getUserName();
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
         return ResponseBean.success(taRecommendCustomer);
445
         return ResponseBean.success(taRecommendCustomer);
410
     }
446
     }
444
     }
480
     }
445
 
481
 
446
     @Override
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
         if (CommConstant.CUTOMER_TYPE_PUBLIC.equals(customerType)) {
485
         if (CommConstant.CUTOMER_TYPE_PUBLIC.equals(customerType)) {
450
 
486
 
492
         } else {
528
         } else {
493
             // 私客
529
             // 私客
494
             IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
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
     }
540
     }
505
 
541
 
506
     @Override
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
         IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
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
     @Override
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
         IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
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
     @Override
555
     @Override
523
 
559
 
524
 
560
 
525
     @Override
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
         String personId = taRecommendCustomerMapper.getCustomerById(customerId).getPersonId();
563
         String personId = taRecommendCustomerMapper.getCustomerById(customerId).getPersonId();
528
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getCustomerDetail(customerId,personId);
564
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.getCustomerDetail(customerId,personId);
529
         TaPerson person = taPersonMapper.selectById(personId);
565
         TaPerson person = taPersonMapper.selectById(personId);
572
             taPersonVisitRecordIPage.setRecords(records);
608
             taPersonVisitRecordIPage.setRecords(records);
573
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
609
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
574
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
610
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
575
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
611
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
576
             Map<String,String>geoInfo = new HashMap<>();
612
             Map<String,String>geoInfo = new HashMap<>();
577
             geoInfo.put("provience",person.getProvince());
613
             geoInfo.put("provience",person.getProvince());
578
             geoInfo.put("country",person.getCountry());
614
             geoInfo.put("country",person.getCountry());
600
                 taRecommendCustomer.setConsultant(user);
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
         return taRecommendCustomer;
648
         return taRecommendCustomer;
604
     }
649
     }
605
 
650
 
606
     @Override
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
         TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
653
         TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
609
         if(!StringUtils.isEmpty(personId)){
654
         if(!StringUtils.isEmpty(personId)){
610
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
655
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
651
             taPersonVisitRecordIPage.setRecords(records);
696
             taPersonVisitRecordIPage.setRecords(records);
652
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
697
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
653
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
698
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
654
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
699
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
655
             taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
700
             taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
656
             taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
701
             taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
657
             TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
702
             TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
658
             if(null != city){
703
             if(null != city){
659
                 taRecommendCustomer.setCity(city.getName());
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
         return taRecommendCustomer;
716
         return taRecommendCustomer;
663
     }
717
     }
664
 
718
 
665
     @Override
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
         QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
722
         QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
669
         // todo
723
         // todo
673
 ////        queryWrapper.eq("building_id",building);
727
 ////        queryWrapper.eq("building_id",building);
674
 //        queryWrapper.eq("status", CommConstant.VERIFY_AGREE);
728
 //        queryWrapper.eq("status", CommConstant.VERIFY_AGREE);
675
 //        queryWrapper.eq("org_id", orgId);
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
     @Override
733
     @Override
737
 
791
 
738
 
792
 
739
     @Override
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
     @Override
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
     @Override
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
     @Override
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 ファイルの表示

6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.common.StringUtils;
8
 import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.entity.TaPersonBuilding;
9
 import com.huiju.estateagents.entity.TaShareActivity;
10
 import com.huiju.estateagents.entity.TaShareActivity;
10
 import com.huiju.estateagents.entity.TaShareRecord;
11
 import com.huiju.estateagents.entity.TaShareRecord;
11
 import com.huiju.estateagents.mapper.TaShareActivityMapper;
12
 import com.huiju.estateagents.mapper.TaShareActivityMapper;
17
 
18
 
18
 import java.time.LocalDateTime;
19
 import java.time.LocalDateTime;
19
 import java.util.List;
20
 import java.util.List;
21
+import java.util.stream.Collectors;
20
 
22
 
21
 /**
23
 /**
22
  * <p>
24
  * <p>
35
     private TaShareRecordMapper taShareRecordMapper;
37
     private TaShareRecordMapper taShareRecordMapper;
36
 
38
 
37
     @Override
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
         ResponseBean responseBean = new ResponseBean();
41
         ResponseBean responseBean = new ResponseBean();
40
         Page<TaShareActivity> page = new Page<>();
42
         Page<TaShareActivity> page = new Page<>();
41
         page.setSize(pageSize == null ? 10 : pageSize);
43
         page.setSize(pageSize == null ? 10 : pageSize);
49
         queryWrapper.eq(endTime != null, "end_time", endTime);
51
         queryWrapper.eq(endTime != null, "end_time", endTime);
50
         queryWrapper.eq(orgId != null, "org_id", orgId);
52
         queryWrapper.eq(orgId != null, "org_id", orgId);
51
         queryWrapper.eq(cityId != null, "city_id", cityId);
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
         queryWrapper.orderByDesc("heavy");
55
         queryWrapper.orderByDesc("heavy");
53
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);
56
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);
54
 
57
 
83
     }
86
     }
84
 
87
 
85
     @Override
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
         ResponseBean responseBean = new ResponseBean();
90
         ResponseBean responseBean = new ResponseBean();
88
         Page<TaShareActivity> page = new Page<>();
91
         Page<TaShareActivity> page = new Page<>();
89
         page.setSize(pageSize == null ? 10 : pageSize);
92
         page.setSize(pageSize == null ? 10 : pageSize);
96
         queryWrapper.eq(cityId != null, "city_id", cityId);
99
         queryWrapper.eq(cityId != null, "city_id", cityId);
97
         queryWrapper.eq(buildingId != null, "building_id", buildingId);
100
         queryWrapper.eq(buildingId != null, "building_id", buildingId);
98
         queryWrapper.like(!StringUtils.isEmpty(name), "activity_name", name);
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
         queryWrapper.orderByAsc("activity_status");
103
         queryWrapper.orderByAsc("activity_status");
100
         queryWrapper.orderByAsc("start_time");
104
         queryWrapper.orderByAsc("start_time");
101
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);
105
         IPage<TaShareActivity> taNewsIPage = this.page(page, queryWrapper);

+ 2
- 2
src/main/java/com/huiju/estateagents/service/impl/TaShareChildRecordServiceImpl.java ファイルの表示

214
         //发送给发起者
214
         //发送给发起者
215
         TaPerson taPerson = taPersonMapper.selectById(taShareRecord.getPersonId());
215
         TaPerson taPerson = taPersonMapper.selectById(taShareRecord.getPersonId());
216
         if (null != taPerson){
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
         shareChildRecordList.forEach(e -> {
226
         shareChildRecordList.forEach(e -> {
227
             TaPerson toTaPerson = taPersonMapper.selectById(e.getPersonId());
227
             TaPerson toTaPerson = taPersonMapper.selectById(e.getPersonId());
228
             if (null != toTaPerson){
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 ファイルの表示

39
 		QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
39
 		QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
40
 		queryWrapper.eq("appid",appidHeader);
40
 		queryWrapper.eq("appid",appidHeader);
41
 		TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = taThirdPartyMiniappConfigMapper.selectOne(queryWrapper);
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
 		//判断nowHeader是十五分钟之内(15 * 60 * 1000)
46
 		//判断nowHeader是十五分钟之内(15 * 60 * 1000)
47
 		if (System.currentTimeMillis() - Long.valueOf(nowHeader) > (15 * 60 * 1000)){
47
 		if (System.currentTimeMillis() - Long.valueOf(nowHeader) > (15 * 60 * 1000)){

+ 26
- 4
src/main/java/com/huiju/estateagents/websocket/ChatServer.java ファイルの表示

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

+ 8
- 3
src/main/resources/application-prod.yml ファイルの表示

20
 ##mybatis-plus
20
 ##mybatis-plus
21
 mybatis-plus:
21
 mybatis-plus:
22
   configuration:
22
   configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
     call-setters-on-nulls: true
23
     call-setters-on-nulls: true
25
   mapper-locations: classpath:mapper/**/*.xml
24
   mapper-locations: classpath:mapper/**/*.xml
26
 wx:
25
 wx:
50
 
49
 
51
 # 手机短信服务
50
 # 手机短信服务
52
 sms:
51
 sms:
53
-  url: http://micservice.ycjcjy.com/sms
52
+  # 先使用外网地址, 后期使用内网地址
53
+  url: http://101.200.84.17:8081/sms
54
   method: POST
54
   method: POST
55
   contentType: "application/json;charset=UTF-8"
55
   contentType: "application/json;charset=UTF-8"
56
   template:
56
   template:
71
     sign: AI智慧案场
71
     sign: AI智慧案场
72
 
72
 
73
   visitor:
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 ファイルの表示

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

+ 59
- 0
src/main/resources/log/logback-spring.xml ファイルの表示

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 ファイルの表示

29
             and ha.activity_status = #{activityStatus}
29
             and ha.activity_status = #{activityStatus}
30
         </if>
30
         </if>
31
             and ha.org_id=#{orgId}
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
         </where>
38
         </where>
33
         GROUP BY ha.help_activity_id
39
         GROUP BY ha.help_activity_id
34
         order by ha.heavy desc
40
         order by ha.heavy desc
60
 			SELECT
66
 			SELECT
61
                 a.city_id as cityId,
67
                 a.city_id as cityId,
62
 				a.help_activity_id as activityId,
68
 				a.help_activity_id as activityId,
63
-				a.img as img,
69
+				a.list_img as img,
64
                 a.banner_list_img as bannerListImg,
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
 			FROM
77
 			FROM
67
 				ta_help_activity a
78
 				ta_help_activity a
68
 				WHERE
79
 				WHERE
82
 				SELECT
93
 				SELECT
83
                     s.city_id as cityId,
94
                     s.city_id as cityId,
84
 					s.group_activity_id as activityId,
95
 					s.group_activity_id as activityId,
85
-					s.main_img as img,
96
+					s.list_img as img,
86
                     s.banner_list_img as bannerListImg,
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
 				FROM
104
 				FROM
89
 					ta_share_activity s
105
 					ta_share_activity s
90
 					WHERE
106
 					WHERE
99
                     and s.building_id = #{buildingId}
115
                     and s.building_id = #{buildingId}
100
                 </if>
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
     </select>
146
     </select>
103
 
147
 
104
     <select id="helpActivityListEffectivePage" resultType="com.huiju.estateagents.entity.HelpActivity">
148
     <select id="helpActivityListEffectivePage" resultType="com.huiju.estateagents.entity.HelpActivity">
119
             <if test="status != null">
163
             <if test="status != null">
120
                 and status = #{status}
164
                 and status = #{status}
121
             </if>
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
             and ha.org_id=#{orgId}
172
             and ha.org_id=#{orgId}
123
             and ha.activity_status in (0, 1)
173
             and ha.activity_status in (0, 1)
124
         </where>
174
         </where>

+ 1
- 1
src/main/resources/mapper/HelpInitiateRecordMapper.xml ファイルの表示

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

+ 5
- 0
src/main/resources/mapper/SysSmsSettingMapper.xml ファイルの表示

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

+ 12
- 0
src/main/resources/mapper/TaBuildingDynamicMapper.xml ファイルの表示

45
         <if test="time != null">
45
         <if test="time != null">
46
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
46
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
47
         </if>
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
         ORDER BY tbd.heavy DESC
54
         ORDER BY tbd.heavy DESC
49
   </select>
55
   </select>
50
 
56
 
77
         <if test="time != null">
83
         <if test="time != null">
78
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
84
             and TO_DAYS(tbd.create_date) = TO_DAYS(#{time})
79
         </if>
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
         ORDER BY tbd.heavy DESC
92
         ORDER BY tbd.heavy DESC
81
     </select>
93
     </select>
82
 
94
 

+ 12
- 0
src/main/resources/mapper/TaBuildingMapper.xml ファイルの表示

29
             <if test="orgId != null">
29
             <if test="orgId != null">
30
                 and  ta_building.org_id = #{orgId}
30
                 and  ta_building.org_id = #{orgId}
31
             </if>
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
         </where>
38
         </where>
33
         ORDER BY status ASC, create_date DESC
39
         ORDER BY status ASC, create_date DESC
34
     </select>
40
     </select>
59
             <if test="orgId != null and orgId != ''">
65
             <if test="orgId != null and orgId != ''">
60
                 and  ta_building.org_id = #{orgId}
66
                 and  ta_building.org_id = #{orgId}
61
             </if>
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
         </where>
74
         </where>
63
         ORDER BY create_date DESC,status asc
75
         ORDER BY create_date DESC,status asc
64
     </select>
76
     </select>

+ 5
- 0
src/main/resources/mapper/TaCustomImgMapper.xml ファイルの表示

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

+ 1
- 1
src/main/resources/mapper/TaDrainageMapper.xml ファイルの表示

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

+ 1
- 0
src/main/resources/mapper/TaMiniappTemplateMapper.xml ファイルの表示

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

+ 15
- 0
src/main/resources/mapper/TaPersonMessageRuleMapper.xml ファイルの表示

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.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 ファイルの表示

6
         <trim suffixOverrides=",">
6
         <trim suffixOverrides=",">
7
             t.record_id,
7
             t.record_id,
8
             t.person_id,
8
             t.person_id,
9
-            t.person_type,
9
+            c.person_type,
10
             t.visit_time,
10
             t.visit_time,
11
             t.leave_time,
11
             t.leave_time,
12
             t.visit_duration,
12
             t.visit_duration,
95
             t.* ,
95
             t.* ,
96
 	        p.`name` as user_name,
96
 	        p.`name` as user_name,
97
 	        p.`nickname` as nickname,
97
 	        p.`nickname` as nickname,
98
-	        p.avatarurl,
99
-	        d.name as activity_name,
100
-	        d.create_date
98
+	        p.avatarurl
101
         FROM
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
             left JOIN ta_person p on t.person_id = p.person_id
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
         GROUP BY
102
         GROUP BY
106
             t.person_id
103
             t.person_id
107
         ORDER BY
104
         ORDER BY
125
         select * from (
122
         select * from (
126
             select
123
             select
127
             <include refid="columnSql"></include>,
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
             b.drainage_id
131
             b.drainage_id
130
             from ta_person_visit_record t
132
             from ta_person_visit_record t
131
             left join ta_drainage b on t.target_id = b.drainage_id
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
             left join ta_person c on t.share_person_id = c.person_id
139
             left join ta_person c on t.share_person_id = c.person_id
133
             where
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
             <if test="orgId != null and orgId != ''">
142
             <if test="orgId != null and orgId != ''">
137
                 and t.org_id = #{orgId}
143
                 and t.org_id = #{orgId}
138
             </if>
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
             </if>
147
             </if>
142
             <if test="activityName !=null and activityName != ''">
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
             </if>
153
             </if>
145
             <if test="shareName !=null and shareName != ''">
154
             <if test="shareName !=null and shareName != ''">
146
                 and c.nickname like concat('%',#{shareName},'%')
155
                 and c.nickname like concat('%',#{shareName},'%')
148
             <if test="shareTel !=null and shareTel != ''">
157
             <if test="shareTel !=null and shareTel != ''">
149
                 and c.phone = #{shareTel}
158
                 and c.phone = #{shareTel}
150
             </if>
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
             order by t.visit_time desc
175
             order by t.visit_time desc
152
         ) t
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
         order by t.visit_time desc
307
         order by t.visit_time desc
155
     </select>
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
 </mapper>
321
 </mapper>

+ 6
- 0
src/main/resources/mapper/TaPointsExchangeMapper.xml ファイルの表示

58
         <if test="taPointsExchange.endVerifyDate != null and taPointsExchange.endVerifyDate != ''">
58
         <if test="taPointsExchange.endVerifyDate != null and taPointsExchange.endVerifyDate != ''">
59
             and  date_format(t.verify_date,'%Y-%m-%d') &lt;= date_format(#{taPointsExchange.endVerifyDate},'%Y-%m-%d')
59
             and  date_format(t.verify_date,'%Y-%m-%d') &lt;= date_format(#{taPointsExchange.endVerifyDate},'%Y-%m-%d')
60
         </if>
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
         order by t.create_date desc
67
         order by t.create_date desc
62
     </select>
68
     </select>
63
 </mapper>
69
 </mapper>

+ 0
- 0
src/main/resources/mapper/TaRecommendCustomerMapper.xml ファイルの表示


多くのファイルが変更されたため、一部のファイルはこの差分に表示されません