张延森 5 年 前
コミット
fd08dc7f8b
共有100 個のファイルを変更した9746 個の追加445 個の削除を含む
  1. 25
    10
      pom.xml
  2. 81
    0
      src/main/java/com/huiju/estateagents/activity/controller/ActivityController.java
  3. 37
    0
      src/main/java/com/huiju/estateagents/activity/entity/Activity.java
  4. 23
    0
      src/main/java/com/huiju/estateagents/activity/mapper/ActivityMapper.java
  5. 27
    0
      src/main/java/com/huiju/estateagents/activity/service/ActivityServiceI.java
  6. 135
    0
      src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java
  7. 54
    0
      src/main/java/com/huiju/estateagents/base/BaseController.java
  8. 38
    0
      src/main/java/com/huiju/estateagents/base/UserControl.java
  9. 143
    0
      src/main/java/com/huiju/estateagents/center/sysUser/controller/SysTokenController.java
  10. 217
    0
      src/main/java/com/huiju/estateagents/center/sysUser/controller/SysUserController.java
  11. 38
    0
      src/main/java/com/huiju/estateagents/center/sysUser/entity/SysToken.java
  12. 53
    0
      src/main/java/com/huiju/estateagents/center/sysUser/entity/SysUser.java
  13. 18
    0
      src/main/java/com/huiju/estateagents/center/sysUser/mapper/SysTokenMapper.java
  14. 18
    0
      src/main/java/com/huiju/estateagents/center/sysUser/mapper/SysUserMapper.java
  15. 17
    0
      src/main/java/com/huiju/estateagents/center/sysUser/service/ISysTokenService.java
  16. 16
    0
      src/main/java/com/huiju/estateagents/center/sysUser/service/ISysUserService.java
  17. 35
    0
      src/main/java/com/huiju/estateagents/center/sysUser/service/impl/SysTokenServiceImpl.java
  18. 21
    0
      src/main/java/com/huiju/estateagents/center/sysUser/service/impl/SysUserServiceImpl.java
  19. 149
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaButtonUriMapController.java
  20. 149
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaTagUserController.java
  21. 150
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaTagsController.java
  22. 68
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthButtonController.java
  23. 74
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java
  24. 483
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  25. 178
    0
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserRoleController.java
  26. 40
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaButtonUriMap.java
  27. 35
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaTagUser.java
  28. 53
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaTags.java
  29. 187
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java
  30. 51
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaUserRole.java
  31. 20
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaButtonUriMapMapper.java
  32. 18
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaTagUserMapper.java
  33. 18
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaTagsMapper.java
  34. 38
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthButtonMapper.java
  35. 46
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthMenuMapper.java
  36. 27
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java
  37. 18
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserRoleMapper.java
  38. 17
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaButtonUriMapService.java
  39. 16
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaTagUserService.java
  40. 16
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaTagsService.java
  41. 22
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthButtonService.java
  42. 23
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java
  43. 16
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserRoleService.java
  44. 45
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java
  45. 28
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaButtonUriMapServiceImpl.java
  46. 20
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaTagUserServiceImpl.java
  47. 20
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaTagsServiceImpl.java
  48. 84
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthButtonServiceImpl.java
  49. 155
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthMenuServiceImpl.java
  50. 20
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserRoleServiceImpl.java
  51. 431
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java
  52. 152
    5
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  53. 5
    0
      src/main/java/com/huiju/estateagents/common/DateUtils.java
  54. 57
    3
      src/main/java/com/huiju/estateagents/common/JWTUtils.java
  55. 134
    0
      src/main/java/com/huiju/estateagents/common/SMSUtils.java
  56. 33
    36
      src/main/java/com/huiju/estateagents/common/WxUtils.java
  57. 35
    0
      src/main/java/com/huiju/estateagents/config/SMSProperties.java
  58. 37
    0
      src/main/java/com/huiju/estateagents/config/Swagger2Config.java
  59. 0
    51
      src/main/java/com/huiju/estateagents/config/WxProperties.java
  60. 50
    0
      src/main/java/com/huiju/estateagents/controller/CommonController.java
  61. 52
    5
      src/main/java/com/huiju/estateagents/controller/ExtendContentController.java
  62. 558
    0
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  63. 265
    0
      src/main/java/com/huiju/estateagents/controller/HelpInitiateRecordController.java
  64. 184
    0
      src/main/java/com/huiju/estateagents/controller/HelpRecordController.java
  65. 157
    49
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  66. 38
    28
      src/main/java/com/huiju/estateagents/controller/StatisticalController.java
  67. 143
    0
      src/main/java/com/huiju/estateagents/controller/SysButtonInMenuController.java
  68. 174
    0
      src/main/java/com/huiju/estateagents/controller/SysMenuController.java
  69. 92
    26
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  70. 381
    49
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  71. 3
    2
      src/main/java/com/huiju/estateagents/controller/TaBuildingIntentionController.java
  72. 11
    4
      src/main/java/com/huiju/estateagents/controller/TaBuildingReportController.java
  73. 249
    0
      src/main/java/com/huiju/estateagents/controller/TaChannelController.java
  74. 150
    0
      src/main/java/com/huiju/estateagents/controller/TaChannelPersonController.java
  75. 3
    3
      src/main/java/com/huiju/estateagents/controller/TaChatController.java
  76. 2
    2
      src/main/java/com/huiju/estateagents/controller/TaCheckinController.java
  77. 10
    5
      src/main/java/com/huiju/estateagents/controller/TaCustomerMessageController.java
  78. 143
    0
      src/main/java/com/huiju/estateagents/controller/TaDocumentImgController.java
  79. 305
    0
      src/main/java/com/huiju/estateagents/controller/TaDocumentVerifyController.java
  80. 1
    0
      src/main/java/com/huiju/estateagents/controller/TaEventPropertiesController.java
  81. 2
    2
      src/main/java/com/huiju/estateagents/controller/TaFavorController.java
  82. 89
    19
      src/main/java/com/huiju/estateagents/controller/TaGoodsController.java
  83. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaMiniFormidsController.java
  84. 218
    0
      src/main/java/com/huiju/estateagents/controller/TaMiniappController.java
  85. 146
    0
      src/main/java/com/huiju/estateagents/controller/TaMiniappTemplateController.java
  86. 65
    10
      src/main/java/com/huiju/estateagents/controller/TaNewsController.java
  87. 32
    5
      src/main/java/com/huiju/estateagents/controller/TaNewsTypeController.java
  88. 144
    0
      src/main/java/com/huiju/estateagents/controller/TaOrgController.java
  89. 429
    46
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  90. 26
    2
      src/main/java/com/huiju/estateagents/controller/TaPersonVisitRecordController.java
  91. 6
    3
      src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java
  92. 97
    34
      src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java
  93. 55
    7
      src/main/java/com/huiju/estateagents/controller/TaPolicyController.java
  94. 204
    0
      src/main/java/com/huiju/estateagents/controller/TaPosterController.java
  95. 149
    0
      src/main/java/com/huiju/estateagents/controller/TaPosterUsedController.java
  96. 494
    38
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  97. 143
    0
      src/main/java/com/huiju/estateagents/controller/TaRoleButtonController.java
  98. 168
    0
      src/main/java/com/huiju/estateagents/controller/TaRoleController.java
  99. 143
    0
      src/main/java/com/huiju/estateagents/controller/TaRoleMenuController.java
  100. 0
    0
      src/main/java/com/huiju/estateagents/controller/TaSaveController.java

+ 25
- 10
pom.xml ファイルの表示

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v2.5.1</version>
13
+	<version>v3.5.1</version>
14 14
 	<name>estateages</name>
15 15
 	<description>置业经纪人</description>
16 16
 
@@ -108,6 +108,27 @@
108 108
 			<artifactId>guava</artifactId>
109 109
 			<version>26.0-jre</version>
110 110
 		</dependency>
111
+
112
+		<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
113
+		<dependency>
114
+			<groupId>com.alibaba</groupId>
115
+			<artifactId>easyexcel</artifactId>
116
+			<version>2.0.4</version>
117
+		</dependency>
118
+
119
+		<!-- swagger2 -->
120
+		<dependency>
121
+			<groupId>io.springfox</groupId>
122
+			<artifactId>springfox-swagger2</artifactId>
123
+			<version>2.7.0</version>
124
+		</dependency>
125
+
126
+		<dependency>
127
+			<groupId>io.springfox</groupId>
128
+			<artifactId>springfox-swagger-ui</artifactId>
129
+			<version>2.7.0</version>
130
+		</dependency>
131
+
111 132
 	</dependencies>
112 133
 
113 134
 	<profiles>
@@ -150,12 +171,6 @@
150 171
 				<profiles.active>nj</profiles.active>
151 172
 			</properties>
152 173
 		</profile>
153
-		<profile>
154
-			<id>hj</id>
155
-			<properties>
156
-				<profiles.active>hj</profiles.active>
157
-			</properties>
158
-		</profile>
159 174
 		<profile>
160 175
 			<id>gzysd</id>
161 176
 			<properties>
@@ -163,9 +178,9 @@
163 178
 			</properties>
164 179
 		</profile>
165 180
 		<profile>
166
-			<id>jj</id>
181
+			<id>v3</id>
167 182
 			<properties>
168
-				<profiles.active>jj</profiles.active>
183
+				<profiles.active>v3</profiles.active>
169 184
 			</properties>
170 185
 		</profile>
171 186
 	</profiles>
@@ -183,7 +198,7 @@
183 198
 				<includes>
184 199
 					<include>application.yml</include>
185 200
 					<include>application-${profiles.active}.yml</include>
186
-					<include>mapper/*.xml</include>
201
+					<include>mapper/**/*.xml</include>
187 202
 				</includes>
188 203
 			</resource>
189 204
 		</resources>

+ 81
- 0
src/main/java/com/huiju/estateagents/activity/controller/ActivityController.java ファイルの表示

@@ -0,0 +1,81 @@
1
+package com.huiju.estateagents.activity.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.activity.service.ActivityServiceI;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaRecommendCustomer;
9
+import com.huiju.estateagents.service.ITaPersonService;
10
+import com.huiju.estateagents.service.ITaRecommendCustomerService;
11
+import io.swagger.annotations.Api;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RequestMethod;
15
+import org.springframework.web.bind.annotation.RequestParam;
16
+import org.springframework.web.bind.annotation.RestController;
17
+
18
+import javax.servlet.http.HttpServletRequest;
19
+import java.util.List;
20
+
21
+/**
22
+ * @author FXF
23
+ * @date 2019-10-21
24
+ */
25
+@RestController
26
+@RequestMapping("/api")
27
+@Api(value = "所有活动", tags = "所有活动")
28
+public class ActivityController extends BaseController {
29
+	
30
+	@Autowired
31
+	private ActivityServiceI activityService;
32
+	
33
+	@Autowired
34
+	private ITaPersonService taPersonService;
35
+	
36
+	@Autowired
37
+	ITaRecommendCustomerService taRecommendCustomerService;
38
+	
39
+	@RequestMapping(value = "/wx/activity/list", method = RequestMethod.GET)
40
+	public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
41
+	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
42
+	                                           @RequestParam(value = "cityId",required = false)Integer cityId,
43
+	                                           HttpServletRequest request){
44
+		String openid = getOpenId(request);
45
+		Integer orgId = getOrgId(request);
46
+		ResponseBean  responseBean = new ResponseBean();
47
+		List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
48
+		if (null == taPersons || taPersons.size() != 1) {
49
+			return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
50
+		}
51
+		TaPerson person = taPersons.get(0);
52
+		responseBean = activityService.getActivityList(pageNumber,pageSize,orgId,person,cityId);
53
+		
54
+		return responseBean;
55
+	}
56
+	
57
+	@RequestMapping(value = "/wx/customer/activity/list", method = RequestMethod.GET)
58
+	public ResponseBean wxActivityList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
59
+	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
60
+	                                           @RequestParam(value = "customerId") String customerId,
61
+	                                           HttpServletRequest request){
62
+		ResponseBean  responseBean = new ResponseBean();
63
+		Integer orgId = getOrgId(request);
64
+		//查找客户信息
65
+		QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper<>();
66
+		queryWrapper.eq("customer_id",customerId);
67
+		TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getOne(queryWrapper);
68
+		if (null == taRecommendCustomer){
69
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
70
+		}
71
+		if (null == taRecommendCustomer.getPersonId()){
72
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
73
+		}
74
+		
75
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
76
+		taPersonQueryWrapper.eq("person_id",taRecommendCustomer.getPersonId());
77
+		TaPerson person = taPersonService.getOne(taPersonQueryWrapper);
78
+		responseBean = activityService.getCustomerActivityList(pageNumber,pageSize,orgId,person);
79
+		return responseBean;
80
+	}
81
+}

+ 37
- 0
src/main/java/com/huiju/estateagents/activity/entity/Activity.java ファイルの表示

@@ -0,0 +1,37 @@
1
+package com.huiju.estateagents.activity.entity;
2
+
3
+import lombok.Data;
4
+
5
+import java.time.LocalDateTime;
6
+
7
+/**
8
+ * @author FXF
9
+ * @date 2019-10-21
10
+ */
11
+@Data
12
+public class Activity {
13
+
14
+	private Object id;
15
+	
16
+	private String mainImg;
17
+	
18
+	private String title;
19
+	
20
+	private LocalDateTime startDate;
21
+	
22
+	private LocalDateTime endDate;
23
+	
24
+	private Integer weight;
25
+	
26
+	/**
27
+	 *  0:进行中 1:未开始 2:已结束 3:已参与(微信端用)
28
+	 */
29
+	private Integer activityStatus;
30
+	
31
+	private String type;
32
+	
33
+	/**
34
+	 * 完成数量
35
+	 */
36
+	private Integer successNum;
37
+}

+ 23
- 0
src/main/java/com/huiju/estateagents/activity/mapper/ActivityMapper.java ファイルの表示

@@ -0,0 +1,23 @@
1
+package com.huiju.estateagents.activity.mapper;
2
+
3
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
+import com.huiju.estateagents.activity.entity.Activity;
5
+import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
7
+
8
+import java.util.List;
9
+import java.util.Map;
10
+
11
+@Mapper
12
+public interface ActivityMapper {
13
+	List<Activity> getActivityList(Page pg, @Param("orgId") Integer orgId,@Param("status") Integer status,@Param("cityId") Integer cityId);
14
+	
15
+	/**
16
+	 * 获取客户参与的活动列表
17
+	 * @param pg
18
+	 * @param orgId
19
+	 * @param personId
20
+	 * @return
21
+	 */
22
+	List<Map<String,Object>> getCustomerActivityList(Page pg,@Param("orgId") Integer orgId,@Param("personId") String personId);
23
+}

+ 27
- 0
src/main/java/com/huiju/estateagents/activity/service/ActivityServiceI.java ファイルの表示

@@ -0,0 +1,27 @@
1
+package com.huiju.estateagents.activity.service;
2
+
3
+import com.huiju.estateagents.base.ResponseBean;
4
+import com.huiju.estateagents.entity.TaPerson;
5
+
6
+public interface ActivityServiceI {
7
+	
8
+	/**
9
+	 * 获取三个活动
10
+	 * @param pageNumber
11
+	 * @param pageSize
12
+	 * @param orgId
13
+	 * @param person
14
+	 * @return
15
+	 */
16
+	ResponseBean getActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person,Integer cityId);
17
+	
18
+	/**
19
+	 * 获取客户参加的活动信息
20
+	 * @param pageNumber
21
+	 * @param pageSize
22
+	 * @param orgId
23
+	 * @param person
24
+	 * @return
25
+	 */
26
+	ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person);
27
+}

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

@@ -0,0 +1,135 @@
1
+package com.huiju.estateagents.activity.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.huiju.estateagents.activity.entity.Activity;
6
+import com.huiju.estateagents.activity.mapper.ActivityMapper;
7
+import com.huiju.estateagents.activity.service.ActivityServiceI;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.entity.HelpInitiateRecord;
11
+import com.huiju.estateagents.entity.HelpRecord;
12
+import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
13
+import com.huiju.estateagents.entity.TaPerson;
14
+import com.huiju.estateagents.entity.TaShareRecord;
15
+import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
16
+import com.huiju.estateagents.mapper.HelpRecordMapper;
17
+import com.huiju.estateagents.mapper.TaActivityDynamicEnlistMapper;
18
+import com.huiju.estateagents.mapper.TaShareRecordMapper;
19
+import io.swagger.models.auth.In;
20
+import org.springframework.beans.factory.annotation.Autowired;
21
+import org.springframework.stereotype.Service;
22
+
23
+import java.util.List;
24
+import java.util.Map;
25
+
26
+/**
27
+ * @author FXF
28
+ * @date 2019-10-21
29
+ */
30
+@Service
31
+public class ActivityServiceImpl implements ActivityServiceI {
32
+	
33
+	@Autowired
34
+	private ActivityMapper activityMapper;
35
+	
36
+	@Autowired
37
+	private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
38
+	
39
+	@Autowired
40
+	private TaShareRecordMapper taShareRecordMapper;
41
+	
42
+	@Autowired
43
+	private HelpRecordMapper helpRecordMapper;
44
+	
45
+	@Autowired
46
+	private HelpInitiateRecordMapper helpInitiateRecordMapper;
47
+	
48
+	/**
49
+	 * 获取三个活动
50
+	 *
51
+	 * @param pageNumber
52
+	 * @param pageSize
53
+	 * @param orgId
54
+	 * @param person
55
+	 * @return
56
+	 */
57
+	@Override
58
+	public ResponseBean getActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person, Integer cityId) {
59
+		//查询是否报名了普通活动
60
+		QueryWrapper<TaActivityDynamicEnlist> queryWrapper = new QueryWrapper<>();
61
+		queryWrapper.eq("org_id",orgId);
62
+		queryWrapper.eq("person_id",person.getPersonId());
63
+		List<TaActivityDynamicEnlist> taActivityDynamicEnlists = taActivityDynamicEnlistMapper.selectList(queryWrapper);
64
+		//查询是否报名了拼团活动
65
+		QueryWrapper<TaShareRecord> taShareRecordQueryWrapper = new QueryWrapper<>();
66
+		taShareRecordQueryWrapper.eq("org_id",orgId);
67
+		taShareRecordQueryWrapper.eq("person_id",person.getPersonId());
68
+		List<TaShareRecord> taShareRecords = taShareRecordMapper.selectList(taShareRecordQueryWrapper);
69
+		//判断是否发起了助力活动
70
+		QueryWrapper<HelpInitiateRecord> helpInitiateRecordListQueryWrapper = new QueryWrapper<>();
71
+		helpInitiateRecordListQueryWrapper.eq("org_id",orgId);
72
+		helpInitiateRecordListQueryWrapper.eq("person_id",person.getPersonId());
73
+		List<HelpInitiateRecord> HelpInitiateRecords = helpInitiateRecordMapper.selectList(helpInitiateRecordListQueryWrapper);
74
+		
75
+		//分页获取全部数据
76
+		Page pg = new Page(pageNumber,pageSize);
77
+		List<Activity> list = activityMapper.getActivityList(pg,orgId, CommConstant.STATUS_NORMAL,cityId);
78
+		list.forEach(e -> {
79
+			if (e.getType().equals("dynamic")){
80
+				taActivityDynamicEnlists.forEach(dynamic -> {
81
+					if (e.getId().equals(dynamic.getDynamicId())){
82
+						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
83
+					}
84
+				});
85
+				e.setSuccessNum(null);
86
+			}else if (e.getType().equals("group")){
87
+				taShareRecords.forEach(share -> {
88
+					if (e.getId().equals(String.valueOf(share.getGroupActivityId()))){
89
+						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
90
+					}
91
+				});
92
+				//查看此活动已经完成的数量
93
+				QueryWrapper<TaShareRecord> shareRecordQueryWrapper = new QueryWrapper<>();
94
+				shareRecordQueryWrapper.eq("org_id",orgId);
95
+				shareRecordQueryWrapper.eq("group_activity_id",e.getId());
96
+				shareRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
97
+				List<TaShareRecord> taShareRecordsList = taShareRecordMapper.selectList(shareRecordQueryWrapper);
98
+				e.setSuccessNum(taShareRecordsList.size());
99
+			}else if (e.getType().equals("help")){
100
+				HelpInitiateRecords.forEach(help -> {
101
+					if (e.getId().equals(help.getHelpActivityId())){
102
+						e.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
103
+					}
104
+				});
105
+				//查看此活动已经完成的数量
106
+				QueryWrapper<HelpInitiateRecord> helpInitiateRecordQueryWrapper = new QueryWrapper<>();
107
+				helpInitiateRecordQueryWrapper.eq("org_id",orgId);
108
+				helpInitiateRecordQueryWrapper.eq("help_activity_id",e.getId());
109
+				helpInitiateRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
110
+				List<HelpInitiateRecord> helpInitiateRecordList = helpInitiateRecordMapper.selectList(helpInitiateRecordQueryWrapper);
111
+				e.setSuccessNum(helpInitiateRecordList.size());
112
+			}
113
+		});
114
+		pg.setRecords(list);
115
+		return ResponseBean.success(pg);
116
+	}
117
+	
118
+	/**
119
+	 * 获取客户参加的活动信息
120
+	 *
121
+	 * @param pageNumber
122
+	 * @param pageSize
123
+	 * @param orgId
124
+	 * @param person
125
+	 * @return
126
+	 */
127
+	@Override
128
+	public ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person) {
129
+		//分页获取全部数据
130
+		Page pg = new Page(pageNumber,pageSize);
131
+		List<Map<String, Object>> customerActivityList = activityMapper.getCustomerActivityList(pg, orgId, person.getPersonId());
132
+		pg.setRecords(customerActivityList);
133
+		return ResponseBean.success(pg);
134
+	}
135
+}

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

@@ -1,8 +1,62 @@
1 1
 package com.huiju.estateagents.base;
2 2
 
3
+import com.huiju.estateagents.common.JWTUtils;
4
+
5
+import javax.servlet.http.HttpServletRequest;
6
+import java.util.Map;
7
+
3 8
 /**
4 9
  * @author FXF
5 10
  * @date 2018-12-18
6 11
  */
7 12
 public class BaseController {
13
+	
14
+	/**
15
+	 * 获取orgId
16
+	 * @param request
17
+	 * @return
18
+	 */
19
+	public Integer getOrgId(HttpServletRequest request){
20
+		
21
+		Map map = JWTUtils.getUserIdAndOrgId(request);
22
+		if (null != map && null != map.get("orgId")){
23
+			return Integer.valueOf(map.get("orgId").toString());
24
+		}
25
+		
26
+		return null;
27
+	}
28
+
29
+	public String getOpenId(HttpServletRequest request){
30
+
31
+		Map map = JWTUtils.getUserIdAndOrgId(request);
32
+		if (null != map && null != map.get("openId")){
33
+			return map.get("openId").toString();
34
+		}
35
+
36
+		return null;
37
+	}
38
+
39
+	public String getPersonId(HttpServletRequest request){
40
+
41
+		Map map = JWTUtils.getUserIdAndOrgId(request);
42
+		if (null != map && null != map.get("personId")){
43
+			return map.get("personId").toString();
44
+		}
45
+
46
+		return null;
47
+	}
48
+	/**
49
+	 * 获取orgId
50
+	 * @param request
51
+	 * @return
52
+	 */
53
+	public Integer getUserId(HttpServletRequest request){
54
+		
55
+		Map map = JWTUtils.getUserIdAndOrgId(request);
56
+		if (null != map && null != map.get("userId")){
57
+			return Integer.valueOf(map.get("userId").toString());
58
+		}
59
+		
60
+		return null;
61
+	}
8 62
 }

+ 38
- 0
src/main/java/com/huiju/estateagents/base/UserControl.java ファイルの表示

@@ -0,0 +1,38 @@
1
+package com.huiju.estateagents.base;
2
+
3
+import com.huiju.estateagents.center.taUser.entity.TaUser;
4
+import com.huiju.estateagents.exception.EstaException;
5
+import org.springframework.web.context.request.RequestContextHolder;
6
+import org.springframework.web.context.request.ServletRequestAttributes;
7
+
8
+import javax.servlet.http.HttpSession;
9
+
10
+/**
11
+ * 用户控制
12
+ */
13
+public class UserControl {
14
+
15
+    /**
16
+     * 获取用户信息
17
+     * @return
18
+     */
19
+    public static TaUser getUser() {
20
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
21
+        HttpSession session = servletRequestAttributes.getRequest().getSession();
22
+        TaUser taUser = (TaUser) session.getAttribute("miniapp_user");
23
+        if (null == taUser) {
24
+            throw new EstaException("用户信息不存在, 请登录!");
25
+        }
26
+        return taUser;
27
+    }
28
+
29
+    /**
30
+     * 获取公司 org_id
31
+     * @return
32
+     */
33
+    public static Integer getOrgId() {
34
+        TaUser user = getUser();
35
+        return user.getOrgId();
36
+    }
37
+
38
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/center/sysUser/controller/SysTokenController.java ファイルの表示

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

+ 217
- 0
src/main/java/com/huiju/estateagents/center/sysUser/controller/SysUserController.java ファイルの表示

@@ -0,0 +1,217 @@
1
+package com.huiju.estateagents.center.sysUser.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
10
+import com.huiju.estateagents.center.sysUser.entity.SysUser;
11
+import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
12
+import com.huiju.estateagents.center.sysUser.service.ISysUserService;
13
+import com.huiju.estateagents.common.CommConstant;
14
+import com.huiju.estateagents.common.JWTUtils;
15
+import com.huiju.estateagents.common.MD5Utils;
16
+import com.huiju.estateagents.common.StringUtils;
17
+import org.slf4j.Logger;
18
+import org.slf4j.LoggerFactory;
19
+import org.springframework.beans.factory.annotation.Autowired;
20
+import org.springframework.web.bind.annotation.*;
21
+
22
+import javax.servlet.http.HttpServletRequest;
23
+import java.time.LocalDateTime;
24
+import java.util.HashMap;
25
+import java.util.Map;
26
+
27
+/**
28
+ * <p>
29
+    * 系统用户 系统中心账户 前端控制器
30
+    * </p>
31
+ *
32
+ * @author jobob
33
+ * @since 2019-09-11
34
+ */
35
+@RestController
36
+@RequestMapping("/api")
37
+public class SysUserController extends BaseController {
38
+
39
+    private final Logger logger = LoggerFactory.getLogger(SysUserController.class);
40
+
41
+    @Autowired
42
+    public ISysUserService iSysUserService;
43
+    
44
+    @Autowired
45
+    private ISysTokenService sysTokenService;
46
+
47
+    /**
48
+     * 分页查询列表
49
+     * @param pageNum
50
+     * @param pageSize
51
+     * @return
52
+     */
53
+    @RequestMapping(value="/sysUser",method= RequestMethod.GET)
54
+    public ResponseBean sysUserList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
55
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
56
+        ResponseBean responseBean = new ResponseBean();
57
+        try {
58
+            //使用分页插件
59
+		    IPage<SysUser> pg = new Page<>(pageNum, pageSize);
60
+            QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
61
+            queryWrapper.orderByDesc("create_date");
62
+
63
+            IPage<SysUser> result = iSysUserService.page(pg, queryWrapper);
64
+            responseBean.addSuccess(result);
65
+        }catch (Exception e){
66
+            e.printStackTrace();
67
+            logger.error("sysUserList -=- {}",e.toString());
68
+            responseBean.addError(e.getMessage());
69
+        }
70
+        return responseBean;
71
+    }
72
+
73
+    /**
74
+     * 保存对象
75
+     * @param sysUser 实体对象
76
+     * @return
77
+     */
78
+    @RequestMapping(value="/sysUser",method= RequestMethod.POST)
79
+    public ResponseBean sysUserAdd(@RequestBody SysUser sysUser){
80
+        ResponseBean responseBean = new ResponseBean();
81
+        try {
82
+            if (iSysUserService.save(sysUser)){
83
+                responseBean.addSuccess(sysUser);
84
+            }else {
85
+                responseBean.addError("fail");
86
+            }
87
+        }catch (Exception e){
88
+            e.printStackTrace();
89
+            logger.error("sysUserAdd -=- {}",e.toString());
90
+            responseBean.addError(e.getMessage());
91
+        }
92
+        return responseBean;
93
+    }
94
+
95
+    /**
96
+     * 根据id删除对象
97
+     * @param id  实体ID
98
+     */
99
+    @ResponseBody
100
+    @RequestMapping(value="/sysUser/{id}", method= RequestMethod.DELETE)
101
+    public ResponseBean sysUserDelete(@PathVariable Integer id){
102
+        ResponseBean responseBean = new ResponseBean();
103
+        try {
104
+            if(iSysUserService.removeById(id)){
105
+                responseBean.addSuccess("success");
106
+            }else {
107
+                responseBean.addError("fail");
108
+            }
109
+        }catch (Exception e){
110
+            e.printStackTrace();
111
+            logger.error("sysUserDelete -=- {}",e.toString());
112
+            responseBean.addError(e.getMessage());
113
+        }
114
+        return responseBean;
115
+    }
116
+
117
+    /**
118
+     * 修改对象
119
+     * @param sysUser 实体对象
120
+     * @return
121
+     */
122
+    @RequestMapping(value="/center/sysUser",method= RequestMethod.PUT)
123
+    public ResponseBean sysUserUpdate(@RequestBody SysUser sysUser,HttpServletRequest request){
124
+        ResponseBean responseBean = new ResponseBean();
125
+        try {
126
+            String userName = JWTUtils.getSubject(request);
127
+            sysUser.setPassword(MD5Utils.md5(sysUser.getPassword()));
128
+            sysUser.setUserName(userName);
129
+            if (iSysUserService.updateById(sysUser)){
130
+                responseBean.addSuccess(sysUser);
131
+            }else {
132
+                responseBean.addError("fail");
133
+            }
134
+        }catch (Exception e){
135
+            e.printStackTrace();
136
+            logger.error("sysUserUpdate -=- {}",e.toString());
137
+            responseBean.addError(e.getMessage());
138
+        }
139
+        return responseBean;
140
+    }
141
+
142
+    /**
143
+     * 根据id查询对象
144
+     * @param id  实体ID
145
+     */
146
+    @RequestMapping(value="/sysUser/{id}",method= RequestMethod.GET)
147
+    public ResponseBean sysUserGet(@PathVariable Integer id){
148
+        ResponseBean responseBean = new ResponseBean();
149
+        try {
150
+            responseBean.addSuccess(iSysUserService.getById(id));
151
+        }catch (Exception e){
152
+            e.printStackTrace();
153
+            logger.error("sysUserDelete -=- {}",e.toString());
154
+            responseBean.addError(e.getMessage());
155
+        }
156
+        return responseBean;
157
+    }
158
+
159
+    /**
160
+     * 根据id查询对象
161
+     * @param id  实体ID
162
+     */
163
+    @RequestMapping(value="/center/current",method=RequestMethod.GET)
164
+    public ResponseBean currentUser(HttpServletRequest request){
165
+        String userName = JWTUtils.getSubject(request);
166
+        QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
167
+        sysUserQueryWrapper.eq("user_name",userName);
168
+        SysUser sysUser = iSysUserService.getOne(sysUserQueryWrapper);
169
+        sysUser.setPassword(null);
170
+
171
+        return ResponseBean.success(sysUser);
172
+    }
173
+    
174
+    @PostMapping("/center/signin")
175
+    public ResponseBean signin(@RequestBody String paramStr) {
176
+        JSONObject params = JSONObject.parseObject(paramStr);
177
+        if (params == null) {
178
+            return ResponseBean.error("非法参数", ResponseBean.ERROR_MISSING_PARAMS);
179
+        }
180
+        
181
+        String userName = params.getString("userName");
182
+        String userPassword = params.getString("password");
183
+        
184
+        //验证用户名密码是否正确
185
+        QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
186
+        sysUserQueryWrapper.eq("user_name",userName);
187
+        sysUserQueryWrapper.eq("password", MD5Utils.md5(userPassword));
188
+        SysUser sysUser = iSysUserService.getOne(sysUserQueryWrapper);
189
+        if (sysUser == null) {
190
+            return ResponseBean.error("用户名或密码错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
191
+        }
192
+        
193
+        if (sysUser.getStatus() != CommConstant.STATUS_NORMAL) {
194
+            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_UNAVAILABLE);
195
+        }
196
+        
197
+        String token = JWTUtils.newToken(sysUser.getUserName());
198
+    
199
+        //保存token
200
+        sysTokenService.saveToken(token);
201
+        
202
+        Map<String, Object> result = new HashMap<>();
203
+        result.put("token", token);
204
+        result.put("user", sysUser);
205
+        
206
+        return ResponseBean.success(result);
207
+    }
208
+    
209
+    @PostMapping("/center/signout")
210
+    public ResponseBean signout(HttpServletRequest request) {
211
+        String token = JWTUtils.getToken(request);
212
+        QueryWrapper<SysToken> sysTokenQueryWrapper = new QueryWrapper<>();
213
+        sysTokenQueryWrapper.eq("token",token);
214
+        sysTokenService.remove(sysTokenQueryWrapper);
215
+        return ResponseBean.success("成功退出");
216
+    }
217
+}

+ 38
- 0
src/main/java/com/huiju/estateagents/center/sysUser/entity/SysToken.java ファイルの表示

@@ -0,0 +1,38 @@
1
+package com.huiju.estateagents.center.sysUser.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableId;
4
+import lombok.Data;
5
+import lombok.EqualsAndHashCode;
6
+import lombok.experimental.Accessors;
7
+
8
+import java.io.Serializable;
9
+import java.time.LocalDateTime;
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 SysToken implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * token
28
+     */
29
+    @TableId(value = "token")
30
+    private String token;
31
+
32
+    /**
33
+     * 过期时间
34
+     */
35
+    private LocalDateTime expDate;
36
+
37
+
38
+}

+ 53
- 0
src/main/java/com/huiju/estateagents/center/sysUser/entity/SysUser.java ファイルの表示

@@ -0,0 +1,53 @@
1
+package com.huiju.estateagents.center.sysUser.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 SysUser implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 账户登录
28
+     */
29
+    @TableId(value = "user_name")
30
+    private String userName;
31
+
32
+    /**
33
+     * 登录密码
34
+     */
35
+    private String password;
36
+
37
+    /**
38
+     * 用户名称
39
+     */
40
+    private String name;
41
+
42
+    /**
43
+     * 头像
44
+     */
45
+    private String avatar;
46
+
47
+    /**
48
+     * 状态
49
+     */
50
+    private Integer status;
51
+
52
+
53
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/center/sysUser/mapper/SysTokenMapper.java ファイルの表示

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

+ 18
- 0
src/main/java/com/huiju/estateagents/center/sysUser/mapper/SysUserMapper.java ファイルの表示

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

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

@@ -0,0 +1,17 @@
1
+package com.huiju.estateagents.center.sysUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
5
+
6
+/**
7
+ * <p>
8
+ * 令牌表  服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-11
13
+ */
14
+public interface ISysTokenService extends IService<SysToken> {
15
+	
16
+	SysToken saveToken(String token);
17
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/center/sysUser/service/ISysUserService.java ファイルの表示

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.center.sysUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.sysUser.entity.SysUser;
5
+
6
+/**
7
+ * <p>
8
+ * 系统用户 系统中心账户 服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-11
13
+ */
14
+public interface ISysUserService extends IService<SysUser> {
15
+
16
+}

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

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.center.sysUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
6
+import com.huiju.estateagents.center.sysUser.mapper.SysTokenMapper;
7
+import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
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-09-11
20
+ */
21
+@Service
22
+public class SysTokenServiceImpl extends ServiceImpl<SysTokenMapper, SysToken> implements ISysTokenService {
23
+	
24
+	@Autowired
25
+	private SysTokenMapper sysTokenMapper;
26
+	
27
+	@Override
28
+	public SysToken saveToken(String token) {
29
+		SysToken sysToken = new SysToken();
30
+		sysToken.setToken(token);
31
+		sysToken.setExpDate(LocalDateTime.now().plusDays(7));
32
+		sysTokenMapper.insert(sysToken);
33
+		return sysToken;
34
+	}
35
+}

+ 21
- 0
src/main/java/com/huiju/estateagents/center/sysUser/service/impl/SysUserServiceImpl.java ファイルの表示

@@ -0,0 +1,21 @@
1
+package com.huiju.estateagents.center.sysUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.center.sysUser.entity.SysUser;
6
+import com.huiju.estateagents.center.sysUser.mapper.SysUserMapper;
7
+import com.huiju.estateagents.center.sysUser.service.ISysUserService;
8
+import org.springframework.stereotype.Service;
9
+
10
+/**
11
+ * <p>
12
+ * 系统用户 系统中心账户 服务实现类
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-09-11
17
+ */
18
+@Service
19
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
20
+
21
+}

+ 149
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaButtonUriMapController.java ファイルの表示

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

+ 149
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaTagUserController.java ファイルの表示

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

+ 150
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaTagsController.java ファイルの表示

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

+ 68
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthButtonController.java ファイルの表示

@@ -0,0 +1,68 @@
1
+package com.huiju.estateagents.center.taUser.controller;
2
+
3
+import com.alibaba.fastjson.JSONArray;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
8
+import com.huiju.estateagents.entity.SysButtonInMenu;
9
+import org.springframework.beans.factory.annotation.Autowired;
10
+import org.springframework.web.bind.annotation.*;
11
+
12
+import javax.servlet.http.HttpServletRequest;
13
+import java.util.List;
14
+
15
+/**
16
+ * @author weicc
17
+ * @Title: TaUserAuthButtonController
18
+ * @Description: TODO
19
+ * @date 2019/9/23
20
+ */
21
+@RestController
22
+@RequestMapping("/api")
23
+public class TaUserAuthButtonController extends BaseController {
24
+
25
+    @Autowired
26
+    public ITaUserAuthButtonService iTaUserAuthButtonService;
27
+
28
+    /**
29
+     * 根据userId获取菜单列表
30
+     * @param pageNum
31
+     * @param pageSize
32
+     * @return
33
+     */
34
+    @RequestMapping(value="/admin/userAuthButton",method= RequestMethod.GET)
35
+    public ResponseBean getButtonByUserId(HttpServletRequest servletRequest,
36
+                                          @RequestParam("pageNum")Integer pageNum,
37
+                                          @RequestParam("pageSize")Integer pageSize){
38
+        Integer userId = getUserId(servletRequest);
39
+        return iTaUserAuthButtonService.getButtonByUserId(pageNum,pageSize,userId.toString());
40
+    }
41
+
42
+
43
+    /**
44
+     * 获取所有的菜单按钮
45
+     * @param pageNum
46
+     * @param pageSize
47
+     * @return
48
+     */
49
+    @RequestMapping(value="/admin/buttonList",method= RequestMethod.GET)
50
+    public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
51
+                                      @RequestParam("pageSize")Integer pageSize){
52
+        return iTaUserAuthButtonService.getAllButton(pageNum, pageSize);
53
+    }
54
+
55
+    /**
56
+     * 用户授权按钮
57
+     * @return
58
+     */
59
+    @RequestMapping(value="/admin/updateAuthButton",method= RequestMethod.PUT)
60
+    public ResponseBean updateUserAuthMenu(HttpServletRequest request,
61
+                                           @RequestBody String sysButton){
62
+        Integer userId = getUserId(request);
63
+        JSONObject Object = JSONObject.parseObject(sysButton);
64
+        JSONArray JSONArray = Object.getJSONArray("sysButton");
65
+        List<SysButtonInMenu> sysButtonInMenuList = JSONArray.toJavaList(SysButtonInMenu.class);
66
+        return iTaUserAuthButtonService.updateUserAuthButton(userId, sysButtonInMenuList);
67
+    }
68
+}

+ 74
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java ファイルの表示

@@ -0,0 +1,74 @@
1
+package com.huiju.estateagents.center.taUser.controller;
2
+
3
+import com.alibaba.fastjson.JSONArray;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.google.gson.JsonArray;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
9
+import com.huiju.estateagents.entity.SysButtonInMenu;
10
+import com.huiju.estateagents.entity.SysMenu;
11
+import com.huiju.estateagents.entity.TaRole;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+import javax.servlet.http.HttpServletRequest;
16
+import java.util.List;
17
+
18
+/**
19
+ * @author weicc
20
+ * @Title: TaUserAuthMenuController
21
+ * @Description: TODO
22
+ * @date 2019/9/21
23
+ */
24
+@RestController
25
+@RequestMapping("/api")
26
+public class TaUserAuthMenuController extends BaseController {
27
+
28
+    @Autowired
29
+    public ITaUserAuthMenuService iTaUserAuthMenuService;
30
+
31
+    /**
32
+     * 根据userId获取菜单列表
33
+     * @param pageNum
34
+     * @param pageSize
35
+     * @return
36
+     */
37
+    @RequestMapping(value="/admin/userAuthMenu",method= RequestMethod.GET)
38
+    public ResponseBean  getMenuByUserId(@RequestParam("pageNum")Integer pageNum,
39
+                                         @RequestParam("pageSize")Integer pageSize,
40
+                                         HttpServletRequest request){
41
+        Integer userId = getUserId(request);
42
+        return iTaUserAuthMenuService.getMenuByUserId(pageNum,pageSize,userId.toString());
43
+    }
44
+
45
+    /**
46
+     * 获取所有菜单
47
+     * @param pageNum
48
+     * @param pageSize
49
+     * @return
50
+     */
51
+    @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
52
+    public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
53
+                                      @RequestParam("pageSize")Integer pageSize){
54
+        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize);
55
+    }
56
+
57
+    /**
58
+     * 用户授权菜单
59
+     * @return
60
+     */
61
+    @RequestMapping(value="/admin/updateAuthMenu",method= RequestMethod.POST)
62
+    public ResponseBean updateUserAuthMenu(HttpServletRequest request,
63
+                                           @RequestBody String sysMenu){
64
+        JSONObject Object = JSONObject.parseObject(sysMenu);
65
+        String name = Object.getString("name");
66
+        Integer userId = Object.getInteger("id");
67
+        JSONArray JSONArray = Object.getJSONArray("sysMenu");
68
+        List<SysMenu> sysMenuList = JSONArray.toJavaList(SysMenu.class);
69
+
70
+        JSONArray buttonArray = Object.getJSONArray("sysButton");
71
+        List<SysButtonInMenu> sysButtonInMenuList = buttonArray.toJavaList(SysButtonInMenu.class);
72
+        return iTaUserAuthMenuService.updateUserAuthMenu(userId, sysMenuList,name,getOrgId(request),sysButtonInMenuList);
73
+    }
74
+}

+ 483
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java ファイルの表示

@@ -0,0 +1,483 @@
1
+package com.huiju.estateagents.center.taUser.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
+import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
+import com.huiju.estateagents.base.BaseController;
9
+import com.huiju.estateagents.base.ResponseBean;
10
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
11
+import com.huiju.estateagents.center.sysUser.entity.SysUser;
12
+import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
13
+import com.huiju.estateagents.center.taUser.entity.TaTagUser;
14
+import com.huiju.estateagents.center.taUser.entity.TaTags;
15
+import com.huiju.estateagents.center.taUser.entity.TaUser;
16
+import com.huiju.estateagents.center.taUser.entity.TaUserRole;
17
+import com.huiju.estateagents.center.taUser.service.ITaTagUserService;
18
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
19
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
20
+import com.huiju.estateagents.center.taUser.service.ITaUserRoleService;
21
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
22
+import com.huiju.estateagents.common.CommConstant;
23
+import com.huiju.estateagents.common.JWTUtils;
24
+import com.huiju.estateagents.common.MD5Utils;
25
+import com.huiju.estateagents.common.StringUtils;
26
+import com.huiju.estateagents.entity.SysButtonInMenu;
27
+import com.huiju.estateagents.entity.SysMenu;
28
+import com.huiju.estateagents.entity.TaPerson;
29
+import com.huiju.estateagents.entity.TaPersonBuilding;
30
+import com.huiju.estateagents.entity.TaRole;
31
+import com.huiju.estateagents.mapper.TaRoleMapper;
32
+import com.huiju.estateagents.service.ITaPersonBuildingService;
33
+import com.huiju.estateagents.service.ITaRoleService;
34
+import org.slf4j.Logger;
35
+import org.slf4j.LoggerFactory;
36
+import org.springframework.beans.factory.annotation.Autowired;
37
+import org.springframework.web.bind.annotation.*;
38
+import sun.dc.pr.PRError;
39
+
40
+import javax.servlet.http.HttpServletRequest;
41
+import javax.xml.ws.Response;
42
+import java.time.LocalDateTime;
43
+import java.util.ArrayList;
44
+import java.util.HashMap;
45
+import java.util.List;
46
+import java.util.Map;
47
+
48
+/**
49
+ * <p>
50
+    * 用户表  前端控制器
51
+    * </p>
52
+ *
53
+ * @author jobob
54
+ * @since 2019-09-11
55
+ */
56
+@RestController
57
+@RequestMapping("/api")
58
+public class TaUserController extends BaseController {
59
+
60
+    private final Logger logger = LoggerFactory.getLogger(TaUserController.class);
61
+
62
+    @Autowired
63
+    public ITaUserService iTaUserService;
64
+    
65
+    @Autowired
66
+    private ISysTokenService sysTokenService;
67
+
68
+    @Autowired
69
+    private ITaRoleService iTaRoleService;
70
+
71
+    @Autowired
72
+    private ITaUserAuthMenuService iTaUserAuthMenuService;
73
+
74
+    @Autowired
75
+    private ITaUserAuthButtonService iTaUserAuthButtonService;
76
+    
77
+    @Autowired
78
+    private ITaTagUserService taTagUserService;
79
+    
80
+    @Autowired
81
+    private ITaPersonBuildingService taPersonBuildingService;
82
+    
83
+    @Autowired
84
+    private ITaUserRoleService taUserRoleService;
85
+
86
+    @Autowired
87
+    private TaRoleMapper taRoleMapper;
88
+
89
+    /**
90
+     * 分页查询列表
91
+     * @param pageNum
92
+     * @param pageSize
93
+     * @return
94
+     */
95
+    @RequestMapping(value="/center/taUser",method= RequestMethod.GET)
96
+    public ResponseBean taUserList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
97
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
98
+        ResponseBean responseBean = new ResponseBean();
99
+        try {
100
+            //使用分页插件
101
+		    IPage pg = new Page<>(pageNum, pageSize);
102
+            IPage<Map<String,Object>> result = iTaUserService.getPageList(pg);
103
+            responseBean.addSuccess(result);
104
+        }catch (Exception e){
105
+            e.printStackTrace();
106
+            logger.error("taUserList -=- {}",e.toString());
107
+            responseBean.addError(e.getMessage());
108
+        }
109
+        return responseBean;
110
+    }
111
+
112
+    /**
113
+     * 保存对象
114
+     * @param taUser 实体对象
115
+     * @return
116
+     */
117
+    @RequestMapping(value="/center/taUser",method= RequestMethod.POST)
118
+    public ResponseBean taUserAdd(@RequestBody TaUser taUser){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            responseBean.addSuccess(iTaUserService.newUserAndOrg(taUser));
122
+        }catch (Exception e){
123
+            e.printStackTrace();
124
+            logger.error("taUserAdd -=- {}",e.toString());
125
+            responseBean.addError(e.getMessage());
126
+        }
127
+        return responseBean;
128
+    }
129
+
130
+    @PutMapping(value = "/{plat}/turn/taUser/{id}/{type}")
131
+    public ResponseBean turnUser(@PathVariable String type, @PathVariable Integer id) {
132
+        try {
133
+            iTaUserService.turnUserOnOrNot(id, "on".equals(type));
134
+        } catch (Exception e) {
135
+            e.printStackTrace();
136
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
137
+        }
138
+
139
+        return ResponseBean.success("ok");
140
+    }
141
+
142
+    /**
143
+     * 根据id删除对象
144
+     * @param id  实体ID
145
+     */
146
+    @ResponseBody
147
+    @RequestMapping(value="/taUser/{id}", method= RequestMethod.DELETE)
148
+    public ResponseBean taUserDelete(@PathVariable Integer id){
149
+        ResponseBean responseBean = new ResponseBean();
150
+        try {
151
+            if(iTaUserService.removeById(id)){
152
+                responseBean.addSuccess("success");
153
+            }else {
154
+                responseBean.addError("fail");
155
+            }
156
+        }catch (Exception e){
157
+            e.printStackTrace();
158
+            logger.error("taUserDelete -=- {}",e.toString());
159
+            responseBean.addError(e.getMessage());
160
+        }
161
+        return responseBean;
162
+    }
163
+
164
+    /**
165
+     * 修改对象
166
+     * @param id  实体ID
167
+     * @param taUser 实体对象
168
+     * @return
169
+     */
170
+    @RequestMapping(value="/center/taUser/{id}",method= RequestMethod.PUT)
171
+    public ResponseBean taUserUpdate(@PathVariable Integer id,
172
+                                        @RequestBody TaUser taUser){
173
+        ResponseBean responseBean = new ResponseBean();
174
+        try {
175
+            iTaUserService.updateInfoWithOrg(taUser);
176
+        }catch (Exception e){
177
+            e.printStackTrace();
178
+            logger.error("taUserUpdate -=- {}",e.toString());
179
+            responseBean.addError(e.getMessage());
180
+        }
181
+        return responseBean;
182
+    }
183
+    /**
184
+     * 获取用户信息
185
+     */
186
+    @RequestMapping(value="/center/taUser/{id}",method= RequestMethod.GET)
187
+    public ResponseBean taUserGet(@PathVariable Integer id){
188
+        ResponseBean responseBean = new ResponseBean();
189
+        try {
190
+            responseBean.addSuccess(iTaUserService.getInfoWithOrg(id));
191
+        }catch (Exception e){
192
+            e.printStackTrace();
193
+            logger.error("taUserDelete -=- {}",e.toString());
194
+            responseBean.addError(e.getMessage());
195
+        }
196
+
197
+        return responseBean;
198
+    }
199
+
200
+    /**
201
+     * 重置密码
202
+     * @param plat
203
+     * @param id
204
+     * @return
205
+     */
206
+    @PutMapping(value = "/{plat}/password/taUser/{id}")
207
+    public ResponseBean resetPassword(@PathVariable String plat, @PathVariable Integer id, HttpServletRequest request) {
208
+        if (!"center".equals(plat) && !"admin".equals(plat)) {
209
+            return ResponseBean.error("您没有权限进行此操作", ResponseBean.ERROR_AUTH_EXPIRED);
210
+        }
211
+
212
+        String newPass = plat.equals("center") ? "abc@123" : "123456";
213
+        try {
214
+            iTaUserService.resetPassword(id, newPass);
215
+            return ResponseBean.success("新密码为: " + newPass);
216
+        } catch (Exception e) {
217
+            e.printStackTrace();
218
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
219
+        }
220
+    }
221
+
222
+
223
+    /**
224
+     * 业务端  修改密码
225
+     * @return
226
+     */
227
+    @PutMapping(value = "/admin/update/password")
228
+    public ResponseBean updatePassword( @RequestParam String originalPassword,
229
+                                        @RequestParam String newPassword,
230
+                                        HttpServletRequest request) {
231
+
232
+        if (org.apache.commons.lang3.StringUtils.isBlank(newPassword) || newPassword.length() < 6) {
233
+            return ResponseBean.error("新密不能小于6位", ResponseBean.ERROR_UNAVAILABLE);
234
+        }
235
+
236
+        Integer userId = getUserId(request);
237
+
238
+        // 校验当前旧密码是否正确
239
+        String password = MD5Utils.md5(MD5Utils.md5(originalPassword));
240
+        TaUser taUser = iTaUserService.getById(userId);
241
+        if (!password.equals(taUser.getLoginPassword())){
242
+            return ResponseBean.error("旧密码错误,请重新输入", ResponseBean.ERROR_UNAVAILABLE);
243
+        }
244
+
245
+        try {
246
+            iTaUserService.resetPassword(userId, newPassword);
247
+            return ResponseBean.success("操作成功!");
248
+        } catch (Exception e) {
249
+            e.printStackTrace();
250
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
251
+        }
252
+    }
253
+
254
+    /**
255
+     * 获取当前用户信息
256
+     * @param request
257
+     * @return
258
+     */
259
+    @RequestMapping(value="/admin/taUser/current",method= RequestMethod.GET)
260
+    public ResponseBean taUserGetCurrent(HttpServletRequest request){
261
+        ResponseBean responseBean = new ResponseBean();
262
+        Map userMap = new HashMap();
263
+        Map map = JWTUtils.getUserIdAndOrgId(request);
264
+        try {
265
+            TaUser taUser = iTaUserService.getById(map.get("userId").toString());
266
+            List<TaRole> roles = iTaRoleService.getRolesByUser(taUser.getUserId());
267
+            ResponseBean authMenu = iTaUserAuthMenuService.getMenuByUserId(null, null, taUser.getUserId().toString());
268
+            ResponseBean authButton = iTaUserAuthButtonService.getButtonByUserId(null, null, taUser.getUserId().toString());
269
+            taUser.setMenus((List<SysMenu>) authMenu.getData());
270
+            taUser.setButtons((List<SysButtonInMenu>) authButton.getData());
271
+            taUser.setRoles(roles);
272
+            taUser.setLoginPassword("");
273
+
274
+            //获取所有菜单
275
+            List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null).getData();
276
+            List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
277
+
278
+            userMap.put("taUser", taUser);
279
+            userMap.put("menuList", allMenus);
280
+            userMap.put("buttonList", allButtons);
281
+            responseBean.addSuccess(userMap);
282
+        }catch (Exception e){
283
+            e.printStackTrace();
284
+            logger.error("taUserDelete -=- {}",e.toString());
285
+            responseBean.addError(e.getMessage());
286
+        }
287
+        return responseBean;
288
+    }
289
+    
290
+    /**
291
+     * 用户手机号登录
292
+     * @param paramStr
293
+     * @return
294
+     */
295
+    @PostMapping("/admin/taUser/signin")
296
+    public ResponseBean signin(@RequestBody String paramStr) {
297
+        JSONObject params = JSONObject.parseObject(paramStr);
298
+        if (params == null) {
299
+            return ResponseBean.error("非法参数", ResponseBean.ERROR_MISSING_PARAMS);
300
+        }
301
+    
302
+        String userName = params.getString("loginName");
303
+        String userPassword = params.getString("loginPassword");
304
+    
305
+        //验证用户名密码是否正确
306
+        QueryWrapper<TaUser> sysUserQueryWrapper = new QueryWrapper<>();
307
+        sysUserQueryWrapper.eq("login_name",userName);
308
+        sysUserQueryWrapper.eq("login_password", MD5Utils.md5(userPassword));
309
+        TaUser taUser = iTaUserService.getOne(sysUserQueryWrapper);
310
+        if (taUser == null) {
311
+            return ResponseBean.error("用户名或密码错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
312
+        }
313
+    
314
+        if (!taUser.getStatus().equals(CommConstant.STATUS_NORMAL) ) {
315
+            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_UNAVAILABLE);
316
+        }
317
+
318
+        List<TaRole> roles = iTaRoleService.getRolesByUser(taUser.getUserId());
319
+        taUser.setRoles(roles);
320
+        taUser.setLoginPassword("");
321
+        Map map = new HashMap();
322
+        map.put("userId",taUser.getUserId().toString());
323
+        map.put("orgId",taUser.getOrgId().toString());
324
+        String token = JWTUtils.newTokenByMap(map);
325
+
326
+        // 先尝试删除这个Token
327
+        // 因为偶尔出现了,Token插入失败,报的错就是主键重复
328
+        sysTokenService.removeById(token);
329
+
330
+        //保存token
331
+        sysTokenService.saveToken(token);
332
+    
333
+        Map<String, Object> result = new HashMap<>();
334
+        result.put("token", token);
335
+        result.put("user", taUser);
336
+    
337
+        return ResponseBean.success(result);
338
+    }
339
+    
340
+    @PostMapping("/admin/taUser/signout")
341
+    public ResponseBean signout(HttpServletRequest request) {
342
+        String token = JWTUtils.getToken(request);
343
+        QueryWrapper<SysToken> sysTokenQueryWrapper = new QueryWrapper<>();
344
+        sysTokenQueryWrapper.eq("token",token);
345
+        sysTokenService.remove(sysTokenQueryWrapper);
346
+        return ResponseBean.success("成功退出");
347
+    }
348
+    
349
+    
350
+    /**
351
+     * 分页查询列表
352
+     * @param pageNum
353
+     * @param pageSize
354
+     * @return
355
+     */
356
+    @RequestMapping(value="/admin/taUser",method= RequestMethod.GET)
357
+    public ResponseBean taUserList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
358
+                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
359
+                                   @RequestParam(value ="userName",required = false) String userName,
360
+                                   @RequestParam(value ="phone",required = false) String phone,
361
+                                   @RequestParam(value ="status",required = false) Integer status,
362
+                                   @RequestParam(value ="isConsultant",required = false) Integer isConsultant,
363
+                                   HttpServletRequest request){
364
+        ResponseBean responseBean = new ResponseBean();
365
+        try {
366
+            //使用分页插件
367
+            IPage pg = new Page<>(pageNum, pageSize);
368
+            QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
369
+            taUserQueryWrapper.eq("org_id",getOrgId(request));
370
+            taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
371
+            taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
372
+            taUserQueryWrapper.eq(null != status,"status",status);
373
+            if(null != isConsultant && isConsultant == 1){
374
+                taUserQueryWrapper.eq("is_consultant",true);
375
+            }
376
+            taUserQueryWrapper.ne("IFNULL(is_admin,0)",CommConstant.STATUS_NORMAL);
377
+            IPage<TaUser> result = iTaUserService.page(pg,taUserQueryWrapper);
378
+            List<TaUser> taUserList = result.getRecords();
379
+            taUserList.forEach(e -> {
380
+                List<TaTags> taTagsList = iTaUserService.getTagsList(e);
381
+                e.setTaTagsList(taTagsList);
382
+            });
383
+            result.setRecords(taUserList);
384
+            responseBean.addSuccess(result);
385
+        }catch (Exception e){
386
+            e.printStackTrace();
387
+            logger.error("taUserList -=- {}",e.toString());
388
+            responseBean.addError(e.getMessage());
389
+        }
390
+        return responseBean;
391
+    }
392
+    
393
+    
394
+    /**
395
+     * 获取用户信息
396
+     */
397
+    @RequestMapping(value="/admin/taUser/{id}",method= RequestMethod.GET)
398
+    public ResponseBean adminUserGet(@PathVariable Integer id){
399
+        ResponseBean responseBean = new ResponseBean();
400
+        try {
401
+            TaUser taUser = iTaUserService.getById(id);
402
+            QueryWrapper<TaTagUser> queryWrapper = new QueryWrapper<>();
403
+            queryWrapper.eq("user_id",id);
404
+            List<TaTagUser> taTagUserList = taTagUserService.list(queryWrapper);
405
+            List<Integer> tags = new ArrayList<>();
406
+            taTagUserList.forEach(e -> {
407
+                tags.add(e.getTagId());
408
+            });
409
+            taUser.setTaTags(tags);
410
+            //获取角色信息
411
+            QueryWrapper<TaUserRole> taUserRoleQueryWrapper = new QueryWrapper<>();
412
+            taUserRoleQueryWrapper.eq("user_id",id);
413
+            List<TaUserRole> taUserRoleList = taUserRoleService.list(taUserRoleQueryWrapper);
414
+            List<Integer> ids = new ArrayList<>();
415
+            taUserRoleList.forEach(e -> {
416
+                ids.add(e.getRoleId());
417
+            });
418
+            taUser.setRoleIds(ids);
419
+            taUser.setLoginPassword("");
420
+            QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
421
+            taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
422
+            TaPersonBuilding taPersonBuilding = taPersonBuildingService.getOne(taPersonBuildingQueryWrapper);
423
+            if (null != taPersonBuilding){
424
+                taUser.setBuildingId(taPersonBuilding.getBuildingId());
425
+            }
426
+            responseBean.addSuccess(taUser);
427
+        }catch (Exception e){
428
+            e.printStackTrace();
429
+            logger.error("taUserDelete -=- {}",e.toString());
430
+            responseBean.addError(e.getMessage());
431
+        }
432
+        
433
+        return responseBean;
434
+    }
435
+    
436
+    /**
437
+     * 保存对象
438
+     * @param taUser 实体对象
439
+     * @return
440
+     */
441
+    @RequestMapping(value="/admin/taUser",method= RequestMethod.POST)
442
+    public ResponseBean adminUserAdd(@RequestBody TaUser taUser,HttpServletRequest request){
443
+        ResponseBean responseBean = new ResponseBean();
444
+        try {
445
+            taUser.setOrgId(getOrgId(request));
446
+            responseBean.addSuccess(iTaUserService.addAdminUser(taUser));
447
+        }catch (Exception e){
448
+            e.printStackTrace();
449
+            logger.error("taUserAdd -=- {}",e.toString());
450
+            responseBean.addError(e.getMessage());
451
+        }
452
+        return responseBean;
453
+    }
454
+    
455
+    /**
456
+     * 修改对象
457
+     * @param id  实体ID
458
+     * @param taUser 实体对象
459
+     * @return
460
+     */
461
+    @RequestMapping(value="/admin/taUser/{id}",method= RequestMethod.PUT)
462
+    public ResponseBean adminUserUpdate(@PathVariable Integer id,
463
+                                     @RequestBody TaUser taUser,HttpServletRequest request){
464
+        ResponseBean responseBean = new ResponseBean();
465
+        try {
466
+            taUser.setUserId(id);
467
+            taUser.setOrgId(getOrgId(request));
468
+            responseBean.addSuccess(iTaUserService.updateAdminUser(taUser));
469
+        }catch (Exception e){
470
+            e.printStackTrace();
471
+            logger.error("taUserUpdate -=- {}",e.toString());
472
+            responseBean.addError(e.getMessage());
473
+        }
474
+        return responseBean;
475
+    }
476
+
477
+    // 树形菜单
478
+    @RequestMapping(value="/center/taUser/city/tree",method= RequestMethod.GET)
479
+    public ResponseBean cityTree(){
480
+        ResponseBean taUser = iTaUserService.cityTree();
481
+        return taUser;
482
+    }
483
+}

+ 178
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserRoleController.java ファイルの表示

@@ -0,0 +1,178 @@
1
+package com.huiju.estateagents.center.taUser.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.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.entity.TaUserRole;
10
+import com.huiju.estateagents.center.taUser.service.ITaUserRoleService;
11
+import org.slf4j.Logger;
12
+import org.slf4j.LoggerFactory;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.web.bind.annotation.*;
15
+
16
+import java.util.ArrayList;
17
+import java.util.List;
18
+
19
+/**
20
+ * <p>
21
+    * 用户角色表  前端控制器
22
+    * </p>
23
+ *
24
+ * @author jobob
25
+ * @since 2019-09-11
26
+ */
27
+@RestController
28
+@RequestMapping("/")
29
+public class TaUserRoleController extends BaseController {
30
+
31
+    private final Logger logger = LoggerFactory.getLogger(TaUserRoleController.class);
32
+
33
+    @Autowired
34
+    public ITaUserRoleService iTaUserRoleService;
35
+
36
+
37
+    /**
38
+     * 分页查询列表
39
+     * @param pageNum
40
+     * @param pageSize
41
+     * @return
42
+     */
43
+    @RequestMapping(value="/center/taUserRole",method= RequestMethod.GET)
44
+    public ResponseBean taUserRoleList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
45
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
46
+        ResponseBean responseBean = new ResponseBean();
47
+        try {
48
+            //使用分页插件
49
+		    IPage<TaUserRole> pg = new Page<>(pageNum, pageSize);
50
+            QueryWrapper<TaUserRole> queryWrapper = new QueryWrapper<>();
51
+            queryWrapper.orderByDesc("create_date");
52
+
53
+            IPage<TaUserRole> result = iTaUserRoleService.page(pg, queryWrapper);
54
+            responseBean.addSuccess(result);
55
+        }catch (Exception e){
56
+            e.printStackTrace();
57
+            logger.error("taUserRoleList -=- {}",e.toString());
58
+            responseBean.addError(e.getMessage());
59
+        }
60
+        return responseBean;
61
+    }
62
+
63
+    /**
64
+     * 保存对象
65
+     * @param taUserRole 实体对象
66
+     * @return
67
+     */
68
+    @RequestMapping(value="/center/taUserRole",method= RequestMethod.POST)
69
+    public ResponseBean taUserRoleAdd(@RequestBody TaUserRole taUserRole){
70
+        ResponseBean responseBean = new ResponseBean();
71
+        try {
72
+            if (iTaUserRoleService.save(taUserRole)){
73
+                responseBean.addSuccess(taUserRole);
74
+            }else {
75
+                responseBean.addError("fail");
76
+            }
77
+        }catch (Exception e){
78
+            e.printStackTrace();
79
+            logger.error("taUserRoleAdd -=- {}",e.toString());
80
+            responseBean.addError(e.getMessage());
81
+        }
82
+        return responseBean;
83
+    }
84
+    
85
+    /**
86
+     * 批量保存用户角色
87
+     * @param taUserRole 实体对象
88
+     * @return
89
+     */
90
+    @RequestMapping(value="/center/taUserRoleList",method= RequestMethod.POST)
91
+    public ResponseBean taUserRoleListAdd(@RequestBody TaUserRole taUserRole){
92
+        ResponseBean responseBean = new ResponseBean();
93
+        try {
94
+            List<TaUserRole> taUserRoleList = new ArrayList<>();
95
+            List<Integer> roleIdList = taUserRole.getRoleIdList();
96
+            roleIdList.forEach(e -> {
97
+                TaUserRole taUserRoles = new TaUserRole();
98
+                taUserRoles.setRoleId(e);
99
+                taUserRole.setUserId(taUserRole.getUserId());
100
+                taUserRoleList.add(taUserRoles);
101
+            });
102
+            if (iTaUserRoleService.saveBatch(taUserRoleList)){
103
+                responseBean.addSuccess(taUserRole);
104
+            }else {
105
+                responseBean.addError("fail");
106
+            }
107
+        }catch (Exception e){
108
+            e.printStackTrace();
109
+            logger.error("taUserRoleAdd -=- {}",e.toString());
110
+            responseBean.addError(e.getMessage());
111
+        }
112
+        return responseBean;
113
+    }
114
+
115
+    /**
116
+     * 根据id删除对象
117
+     * @param id  实体ID
118
+     */
119
+    @ResponseBody
120
+    @RequestMapping(value="/taUserRole/{id}", method= RequestMethod.DELETE)
121
+    public ResponseBean taUserRoleDelete(@PathVariable Integer id){
122
+        ResponseBean responseBean = new ResponseBean();
123
+        try {
124
+            if(iTaUserRoleService.removeById(id)){
125
+                responseBean.addSuccess("success");
126
+            }else {
127
+                responseBean.addError("fail");
128
+            }
129
+        }catch (Exception e){
130
+            e.printStackTrace();
131
+            logger.error("taUserRoleDelete -=- {}",e.toString());
132
+            responseBean.addError(e.getMessage());
133
+        }
134
+        return responseBean;
135
+    }
136
+
137
+    /**
138
+     * 修改对象
139
+     * @param id  实体ID
140
+     * @param taUserRole 实体对象
141
+     * @return
142
+     */
143
+    @RequestMapping(value="/center/taUserRole/{id}",method= RequestMethod.PUT)
144
+    public ResponseBean taUserRoleUpdate(@PathVariable Integer id,
145
+                                        @RequestBody TaUserRole taUserRole){
146
+        ResponseBean responseBean = new ResponseBean();
147
+        try {
148
+            taUserRole.setRoleId(id);
149
+            if (iTaUserRoleService.updateById(taUserRole)){
150
+                responseBean.addSuccess(taUserRole);
151
+            }else {
152
+                responseBean.addError("fail");
153
+            }
154
+        }catch (Exception e){
155
+            e.printStackTrace();
156
+            logger.error("taUserRoleUpdate -=- {}",e.toString());
157
+            responseBean.addError(e.getMessage());
158
+        }
159
+        return responseBean;
160
+    }
161
+
162
+    /**
163
+     * 根据id查询对象
164
+     * @param id  实体ID
165
+     */
166
+    @RequestMapping(value="/taUserRole/{id}",method= RequestMethod.GET)
167
+    public ResponseBean taUserRoleGet(@PathVariable Integer id){
168
+        ResponseBean responseBean = new ResponseBean();
169
+        try {
170
+            responseBean.addSuccess(iTaUserRoleService.getById(id));
171
+        }catch (Exception e){
172
+            e.printStackTrace();
173
+            logger.error("taUserRoleDelete -=- {}",e.toString());
174
+            responseBean.addError(e.getMessage());
175
+        }
176
+        return responseBean;
177
+    }
178
+}

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

@@ -0,0 +1,40 @@
1
+package com.huiju.estateagents.center.taUser.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * <p>
11
+ * 按钮路由映射表 
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-26
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaButtonUriMap implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 按钮
26
+     */
27
+    private String buttonCode;
28
+
29
+    /**
30
+     * uri
31
+     */
32
+    private String uri;
33
+
34
+    /**
35
+     * 说明
36
+     */
37
+    private String remark;
38
+
39
+
40
+}

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

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.center.taUser.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * <p>
11
+ *  
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-24
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaTagUser implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 人员id
26
+     */
27
+    private Integer userId;
28
+
29
+    /**
30
+     * 标签id
31
+     */
32
+    private Integer tagId;
33
+
34
+
35
+}

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

@@ -0,0 +1,53 @@
1
+package com.huiju.estateagents.center.taUser.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-24
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaTags implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 标签id
28
+     */
29
+    @TableId(value = "tag_id", type = IdType.AUTO)
30
+    private Integer tagId;
31
+
32
+    /**
33
+     * 标签名称
34
+     */
35
+    private String tagName;
36
+
37
+    /**
38
+     * 标签颜色
39
+     */
40
+    private String tagColor;
41
+
42
+    /**
43
+     * 标签图表
44
+     */
45
+    private String tagIcon;
46
+
47
+    /**
48
+     * 公司id
49
+     */
50
+    private Integer orgId;
51
+
52
+
53
+}

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

@@ -0,0 +1,187 @@
1
+package com.huiju.estateagents.center.taUser.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.huiju.estateagents.entity.*;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+import java.util.ArrayList;
14
+import java.util.List;
15
+
16
+/**
17
+ * <p>
18
+ * 用户表 
19
+ * </p>
20
+ *
21
+ * @author jobob
22
+ * @since 2019-09-11
23
+ */
24
+@Data
25
+@EqualsAndHashCode(callSuper = false)
26
+@Accessors(chain = true)
27
+public class TaUser implements Serializable {
28
+
29
+    private static final long serialVersionUID = 1L;
30
+
31
+    /**
32
+     * 用户ID
33
+     */
34
+    @TableId(value = "user_id", type = IdType.AUTO)
35
+    private Integer userId;
36
+
37
+    /**
38
+     * 公司id
39
+     */
40
+    private Integer orgId;
41
+
42
+    /**
43
+     * 用户名称
44
+     */
45
+    private String userName;
46
+
47
+    /**
48
+     * 登录账户
49
+     */
50
+    private String loginName;
51
+
52
+    /**
53
+     * 手机号
54
+     */
55
+    private String phone;
56
+
57
+    /**
58
+     * 登录密码
59
+     */
60
+    private String loginPassword;
61
+
62
+    /**
63
+     * 用户头像
64
+     */
65
+    private String avatar;
66
+
67
+    /**
68
+     * 用户状态
69
+     */
70
+    private Integer status;
71
+
72
+    /**
73
+     * 创建时间
74
+     */
75
+    private LocalDateTime createDate;
76
+
77
+    /**
78
+     * 账户过期时间
79
+     */
80
+    private LocalDateTime expDate;
81
+
82
+    /**
83
+     * 是否管理员
84
+     */
85
+    private Boolean isAdmin;
86
+
87
+    /**
88
+     * 公司名称
89
+     */
90
+    private String orgName;
91
+
92
+    /**
93
+     * 部门
94
+     */
95
+    private String department;
96
+
97
+    /**
98
+     * 职位
99
+     */
100
+    private String position;
101
+
102
+    /**
103
+     * 邮箱
104
+     */
105
+    private String email;
106
+
107
+    /**
108
+     * 身份证号
109
+     */
110
+    private String idNo;
111
+    
112
+    private String address;
113
+    private String photo;
114
+    private String description;
115
+    
116
+    /**
117
+     * 是否置业顾问
118
+     */
119
+    private Boolean isConsultant;
120
+
121
+    /**
122
+     * 公司水印
123
+     */
124
+    @TableField(exist = false)
125
+    private String waterMark;
126
+
127
+    /**
128
+     * 关联小程序
129
+     */
130
+    @TableField(exist = false)
131
+    private TaMiniapp miniapp;
132
+
133
+    /**
134
+     * 授权角色列表
135
+     */
136
+    @TableField(exist = false)
137
+    private List<TaRole> roles;
138
+
139
+    /**
140
+     * 授权菜单列表
141
+     */
142
+    @TableField(exist = false)
143
+    private List<SysMenu> menus;
144
+
145
+    /**
146
+     * 授权按钮列表
147
+     */
148
+    @TableField(exist = false)
149
+    private List<SysButtonInMenu> buttons;
150
+    
151
+    @TableField(exist = false)
152
+    private List<TaTags> taTagsList = new ArrayList<TaTags>();
153
+    
154
+    @TableField(exist = false)
155
+    private List<Integer> taTags = new ArrayList<Integer>();
156
+    
157
+    @TableField(exist = false)
158
+    private List<Integer> roleIds = new ArrayList<Integer>();
159
+    
160
+    @TableField(exist = false)
161
+    private String buildingId;
162
+
163
+    @TableField(exist = false)
164
+    private List<String> projects;
165
+
166
+    /**
167
+     * ta_org/orgNum楼盘最大数
168
+     */
169
+  @TableField(exist = false)
170
+    private int orgNum;
171
+
172
+    // 所有省份城市
173
+    @TableField(exist = false)
174
+    List<TdCity> tdCityList;
175
+
176
+    /**
177
+     * 前台传值城市
178
+     */
179
+    @TableField(exist = false)
180
+    private ArrayList<Integer> selectCityTree;
181
+
182
+    /**
183
+     * 城市ID
184
+     */
185
+    @TableField(exist = false)
186
+    private Integer cityId;
187
+}

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

@@ -0,0 +1,51 @@
1
+package com.huiju.estateagents.center.taUser.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.util.ArrayList;
12
+import java.util.List;
13
+
14
+/**
15
+ * <p>
16
+ * 用户角色表 
17
+ * </p>
18
+ *
19
+ * @author jobob
20
+ * @since 2019-09-11
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaUserRole implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 序号
31
+     */
32
+    @TableId(value = "serial_no", type = IdType.AUTO)
33
+    private Integer serialNo;
34
+
35
+    /**
36
+     * 用户ID
37
+     */
38
+    private Integer userId;
39
+
40
+    /**
41
+     * 角色ID
42
+     */
43
+    private Integer roleId;
44
+    
45
+    /**
46
+     * 角色ID集合
47
+     */
48
+    @TableField(exist = false)
49
+    private List<Integer> roleIdList = new ArrayList<>();
50
+
51
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaButtonUriMapMapper.java ファイルの表示

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.center.taUser.entity.TaButtonUriMap;
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-09-26
15
+ */
16
+@Mapper
17
+public interface TaButtonUriMapMapper extends BaseMapper<TaButtonUriMap> {
18
+	
19
+	TaButtonUriMap getByURI(@Param("uri") String uri);
20
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaTagUserMapper.java ファイルの表示

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

+ 18
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaTagsMapper.java ファイルの表示

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

+ 38
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthButtonMapper.java ファイルの表示

@@ -0,0 +1,38 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.entity.SysButtonInMenu;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+import java.util.List;
11
+
12
+/**
13
+ * @author admin
14
+ * @Title: TaUserAuthButtonMapper
15
+ * @Description: TODO
16
+ * @date 2019/9/23
17
+ */
18
+@Mapper
19
+public interface TaUserAuthButtonMapper  extends BaseMapper<SysButtonInMenu> {
20
+    /**
21
+     * 根据用户Id查询按钮列表
22
+     * @param userId
23
+     * @return
24
+     */
25
+    List<SysButtonInMenu> sysButtonListByUserId(@Param("userId")String userId);
26
+
27
+
28
+    /**
29
+     * 根据角色Id查询按钮列表
30
+     * @param page
31
+     * @return
32
+     */
33
+    List<SysButtonInMenu> sysButtonListByRoleId();
34
+
35
+    void deleteUserAuthButton(@Param("userId") Integer userId);
36
+
37
+    void addUserAuthButton(@Param("userId") Integer userId, @Param("sysButtons") List<SysButtonInMenu> sysButtonInMenus);
38
+}

+ 46
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthMenuMapper.java ファイルの表示

@@ -0,0 +1,46 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.entity.SysMenu;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+import java.util.List;
11
+
12
+
13
+/**
14
+ * @author weicc
15
+ * @Title: TaUserAuthMenuMapper
16
+ * @Description: TODO
17
+ * @date 2019/9/21
18
+ */
19
+@Mapper
20
+public interface TaUserAuthMenuMapper extends BaseMapper<SysMenu> {
21
+    /**
22
+     * 根据用户Id查询菜单列表
23
+     * @param userId
24
+     * @return
25
+     */
26
+    List<SysMenu> sysMenuListByUserId(@Param("userId")String userId);
27
+
28
+
29
+    /**
30
+     * 查询菜单列表
31
+     * @return
32
+     */
33
+    List<SysMenu> sysMenuListByRoleId();
34
+
35
+    /**
36
+     * 删除授权的菜单
37
+     * @param userId
38
+     */
39
+    void deleteUserAuthMenu(@Param("userId") Integer userId);
40
+
41
+    /**
42
+     * 新增授权的菜单
43
+     * @param userId
44
+     */
45
+    void addUserAuthMenu(@Param("userId") Integer userId, @Param("sysMenus") List<SysMenu> sysMenuList);
46
+}

+ 27
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java ファイルの表示

@@ -0,0 +1,27 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.center.taUser.entity.TaTags;
6
+import com.huiju.estateagents.center.taUser.entity.TaUser;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+import java.util.List;
11
+import java.util.Map;
12
+
13
+/**
14
+ * <p>
15
+ * 用户表  Mapper 接口
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-09-11
20
+ */
21
+@Mapper
22
+public interface TaUserMapper extends BaseMapper<TaUser> {
23
+	
24
+	List<Map<String,Object>> getPageList(IPage<TaUser> pg);
25
+	
26
+	List<TaTags> getTagsList(@Param("userId") Integer userId,@Param("orgId") Integer orgId);
27
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserRoleMapper.java ファイルの表示

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

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

@@ -0,0 +1,17 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.taUser.entity.TaButtonUriMap;
5
+
6
+/**
7
+ * <p>
8
+ * 按钮路由映射表  服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-26
13
+ */
14
+public interface ITaButtonUriMapService extends IService<TaButtonUriMap> {
15
+	
16
+	TaButtonUriMap getByURI(String uri);
17
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaTagUserService.java ファイルの表示

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.taUser.entity.TaTagUser;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-24
13
+ */
14
+public interface ITaTagUserService extends IService<TaTagUser> {
15
+
16
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaTagsService.java ファイルの表示

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.taUser.entity.TaTags;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-24
13
+ */
14
+public interface ITaTagsService extends IService<TaTags> {
15
+
16
+}

+ 22
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthButtonService.java ファイルの表示

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.SysButtonInMenu;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * @author admin
11
+ * @Title: ITaUserAuthButtonService
12
+ * @Description: TODO
13
+ * @date 2019/9/23
14
+ */
15
+public interface ITaUserAuthButtonService extends IService<SysButtonInMenu> {
16
+
17
+    ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId);
18
+
19
+    ResponseBean getAllButton(Integer pageNum, Integer pageSize);
20
+
21
+    ResponseBean updateUserAuthButton(Integer userId, List<SysButtonInMenu> sysButtonInMenus);
22
+}

+ 23
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java ファイルの表示

@@ -0,0 +1,23 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.SysButtonInMenu;
6
+import com.huiju.estateagents.entity.SysMenu;
7
+
8
+import java.util.List;
9
+
10
+/**
11
+ * @author admin
12
+ * @Title: ITaUserAuthMenuService
13
+ * @Description: TODO
14
+ * @date 2019/9/21
15
+ */
16
+public interface ITaUserAuthMenuService extends IService<SysMenu> {
17
+
18
+    ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId);
19
+
20
+    ResponseBean getAllMenu(Integer pageNum, Integer pageSize);
21
+
22
+    ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid,List<SysButtonInMenu> sysButtonInMenuList);
23
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserRoleService.java ファイルの表示

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.center.taUser.entity.TaUserRole;
5
+
6
+/**
7
+ * <p>
8
+ * 用户角色表  服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-11
13
+ */
14
+public interface ITaUserRoleService extends IService<TaUserRole> {
15
+
16
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java ファイルの表示

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.center.taUser.entity.TaTags;
7
+import com.huiju.estateagents.center.taUser.entity.TaUser;
8
+
9
+import java.util.List;
10
+import java.util.Map;
11
+
12
+/**
13
+ * <p>
14
+ * 用户表  服务类
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-09-11
19
+ */
20
+public interface ITaUserService extends IService<TaUser> {
21
+	
22
+	IPage<Map<String,Object>> getPageList(IPage<TaUser> pg);
23
+
24
+    TaUser newUserAndOrg(TaUser taUser) throws Exception;
25
+
26
+    TaUser getInfoWithOrg(Integer id);
27
+
28
+    void updateInfoWithOrg(TaUser taUser) throws Exception;
29
+
30
+    void turnUserOnOrNot(Integer id, boolean isOn) throws Exception;
31
+
32
+    void resetPassword(Integer id, String newPass) throws Exception;
33
+    
34
+    List<TaTags> getTagsList(TaUser e);
35
+    
36
+    TaUser addAdminUser(TaUser taUser) throws Exception;
37
+    
38
+    TaUser updateAdminUser(TaUser taUser) throws Exception;
39
+
40
+    /**
41
+     * 查询所有城市
42
+     * @return
43
+     */
44
+    ResponseBean cityTree();
45
+}

+ 28
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaButtonUriMapServiceImpl.java ファイルの表示

@@ -0,0 +1,28 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.center.taUser.entity.TaButtonUriMap;
5
+import com.huiju.estateagents.center.taUser.mapper.TaButtonUriMapMapper;
6
+import com.huiju.estateagents.center.taUser.service.ITaButtonUriMapService;
7
+import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.stereotype.Service;
9
+
10
+/**
11
+ * <p>
12
+ * 按钮路由映射表  服务实现类
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-09-26
17
+ */
18
+@Service
19
+public class TaButtonUriMapServiceImpl extends ServiceImpl<TaButtonUriMapMapper, TaButtonUriMap> implements ITaButtonUriMapService {
20
+	
21
+	@Autowired
22
+	private TaButtonUriMapMapper taButtonUriMapMapper;
23
+	
24
+	@Override
25
+	public TaButtonUriMap getByURI(String uri) {
26
+		return taButtonUriMapMapper.getByURI(uri);
27
+	}
28
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaTagUserServiceImpl.java ファイルの表示

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.center.taUser.entity.TaTagUser;
5
+import com.huiju.estateagents.center.taUser.mapper.TaTagUserMapper;
6
+import com.huiju.estateagents.center.taUser.service.ITaTagUserService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *   服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-24
16
+ */
17
+@Service
18
+public class TaTagUserServiceImpl extends ServiceImpl<TaTagUserMapper, TaTagUser> implements ITaTagUserService {
19
+
20
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaTagsServiceImpl.java ファイルの表示

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.center.taUser.entity.TaTags;
5
+import com.huiju.estateagents.center.taUser.mapper.TaTagsMapper;
6
+import com.huiju.estateagents.center.taUser.service.ITaTagsService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *   服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-24
16
+ */
17
+@Service
18
+public class TaTagsServiceImpl extends ServiceImpl<TaTagsMapper, TaTags> implements ITaTagsService {
19
+
20
+}

+ 84
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthButtonServiceImpl.java ファイルの表示

@@ -0,0 +1,84 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.mapper.TaUserAuthButtonMapper;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
12
+import com.huiju.estateagents.entity.SysButtonInMenu;
13
+import com.huiju.estateagents.entity.SysMenu;
14
+import com.huiju.estateagents.entity.TaRole;
15
+import com.huiju.estateagents.entity.TaRoleButton;
16
+import com.huiju.estateagents.mapper.TaRoleButtonMapper;
17
+import com.huiju.estateagents.mapper.TaRoleMapper;
18
+import org.springframework.beans.factory.annotation.Autowired;
19
+import org.springframework.stereotype.Service;
20
+
21
+import java.util.ArrayList;
22
+import java.util.List;
23
+
24
+/**
25
+ * @author admin
26
+ * @Title: TaUserAuthButtonServiceImpl
27
+ * @Description: TODO
28
+ * @date 2019/9/23
29
+ */
30
+@Service
31
+public class TaUserAuthButtonServiceImpl extends ServiceImpl<TaUserAuthButtonMapper, SysButtonInMenu> implements ITaUserAuthButtonService {
32
+
33
+    @Autowired
34
+    TaUserAuthButtonMapper taUserAuthButtonMapper;
35
+    @Autowired
36
+    TaRoleButtonMapper taRoleButtonMapper;
37
+    @Autowired
38
+    private TaUserMapper taUserMapper;
39
+    @Autowired
40
+    private TaRoleMapper taRoleMapper;
41
+
42
+    @Override
43
+    public ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId) {
44
+        List<SysButtonInMenu> records = taUserAuthButtonMapper.sysButtonListByUserId(userId);
45
+        return ResponseBean.success(records);
46
+    }
47
+
48
+    @Override
49
+    public ResponseBean getAllButton(Integer pageNum, Integer pageSize) {
50
+        List<SysButtonInMenu> records = taUserAuthButtonMapper.sysButtonListByRoleId();
51
+        records.forEach(e -> {
52
+            List<TaRole> taRoles = taRoleMapper.getRolesByBtnId(e.getBtnId());
53
+            e.setRolesList(taRoles);
54
+        });
55
+
56
+        return ResponseBean.success(records);
57
+    }
58
+
59
+    @Override
60
+    public ResponseBean updateUserAuthButton(Integer userId, List<SysButtonInMenu> sysButtonInMenus) {
61
+        ResponseBean responseBean = new ResponseBean();
62
+
63
+        // 人员
64
+        TaUser taUser = taUserMapper.selectById(userId);
65
+        if (null == taUser) {
66
+            responseBean.addError("授权人不存在");
67
+            return responseBean;
68
+        }
69
+
70
+
71
+        try{
72
+            //授权菜单按钮,先删除在新增
73
+            taUserAuthButtonMapper.deleteUserAuthButton(userId);
74
+            taUserAuthButtonMapper.addUserAuthButton(userId, sysButtonInMenus);
75
+            responseBean.addSuccess("操作成功");
76
+            return  responseBean;
77
+        }catch (Exception e){
78
+            responseBean.addSuccess("操作失败");
79
+            e.printStackTrace();
80
+            return responseBean;
81
+        }
82
+
83
+    }
84
+}

+ 155
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthMenuServiceImpl.java ファイルの表示

@@ -0,0 +1,155 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.mapper.TaUserAuthMenuMapper;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
12
+import com.huiju.estateagents.entity.*;
13
+import com.huiju.estateagents.mapper.TaRoleButtonMapper;
14
+import com.huiju.estateagents.mapper.TaRoleMapper;
15
+import com.huiju.estateagents.mapper.TaRoleMenuMapper;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.stereotype.Service;
18
+
19
+import java.time.LocalDateTime;
20
+import java.util.ArrayList;
21
+import java.util.Arrays;
22
+import java.util.List;
23
+
24
+/**
25
+ * @author weicc
26
+ * @Title: TaUserAuthMenuServiceImpl
27
+ * @Description: TODO
28
+ * @date 2019/9/21
29
+ */
30
+@Service
31
+public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper, SysMenu> implements ITaUserAuthMenuService {
32
+
33
+
34
+    @Autowired
35
+    private TaUserAuthMenuMapper taUserAuthMenuMapper;
36
+    @Autowired
37
+    private TaRoleMenuMapper taRoleMenuMapper;
38
+    @Autowired
39
+    private TaUserMapper taUserMapper;
40
+
41
+    @Autowired
42
+    private  TaRoleMapper taRoleMapper;
43
+
44
+    @Autowired
45
+    private TaRoleButtonMapper taRoleButtonMapper;
46
+
47
+    /**
48
+     * 根据用户id获取授权菜单
49
+     * @param pageNum
50
+     * @param pageSize
51
+     * @param userId
52
+     * @return
53
+     */
54
+    @Override
55
+    public ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId) {
56
+
57
+        List<SysMenu> records = taUserAuthMenuMapper.sysMenuListByUserId(userId);
58
+        return ResponseBean.success(records);
59
+    }
60
+
61
+    @Override
62
+    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize) {
63
+
64
+        List<SysMenu> records = taUserAuthMenuMapper.sysMenuListByRoleId();
65
+
66
+        QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
67
+        List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);
68
+
69
+        for (SysMenu sysMenu : records){
70
+            ArrayList<Integer> roles = new ArrayList<>();
71
+            for (TaRoleMenu taRoleMenu : taRoleMenus){
72
+                if (taRoleMenu.getMenuId().equals(sysMenu.getMenuId()) && !roles.contains(taRoleMenu.getRoleId())){
73
+                    roles.add(taRoleMenu.getRoleId());
74
+                }
75
+            }
76
+            sysMenu.setRoles(roles);
77
+        }
78
+
79
+        return ResponseBean.success(records);
80
+    }
81
+
82
+    @Override
83
+    public ResponseBean updateUserAuthMenu(Integer roleId, List<SysMenu> sysMenuList,String name,Integer orgId,List<SysButtonInMenu> sysButtonInMenuList) {
84
+        ResponseBean responseBean = new ResponseBean();
85
+        if (null == roleId){
86
+            addUserAuthMenu( sysMenuList,name,orgId,sysButtonInMenuList);
87
+            return responseBean;
88
+        }
89
+        try {
90
+            //授权菜单,先删除在新增
91
+            taRoleMenuMapper.deleteCurrentMenu(roleId);
92
+            for (SysMenu sysMenu: sysMenuList) {
93
+                TaRoleMenu taRoleMenu = new TaRoleMenu();
94
+                taRoleMenu.setRoleId(roleId);
95
+                taRoleMenu.setMenuId(sysMenu.getMenuId());
96
+                taRoleMenuMapper.insert(taRoleMenu);
97
+            }
98
+            // 更新Role
99
+            TaRole taRole = new TaRole();
100
+            taRole.setRoleId(roleId);
101
+            taRole.setRoleName(name);
102
+            taRoleMapper.updateById(taRole);
103
+
104
+            // 当前角色的所有按钮再重新插入
105
+
106
+            taRoleButtonMapper.deleteCurrentBut(roleId);
107
+            for (SysButtonInMenu sysButtonInMenu :sysButtonInMenuList) {
108
+                TaRoleButton taRoleButton = new TaRoleButton();
109
+                taRoleButton.setRoleId(taRole.getRoleId());
110
+                taRoleButton.setBtnId(sysButtonInMenu.getBtnId());
111
+                taRoleButtonMapper.insert(taRoleButton);
112
+            }
113
+                responseBean.addSuccess("操作成功");
114
+            return responseBean;
115
+        } catch (Exception e) {
116
+            responseBean.addSuccess("操作失败");
117
+            e.printStackTrace();
118
+            return responseBean;
119
+        }
120
+    }
121
+
122
+    public Boolean addUserAuthMenu(List<SysMenu> sysMenuList,String name,Integer orgId,List<SysButtonInMenu> sysButtonInMenuList) {
123
+        ResponseBean responseBean = new ResponseBean();
124
+        try{
125
+            // 新增角色
126
+            TaRole taRole = new TaRole();
127
+            taRole.setRoleName(name);
128
+            taRole.setOrgId(orgId);
129
+            taRole.setStatus(1);
130
+            taRole.setCreateDate(LocalDateTime.now());
131
+            taRoleMapper.insert(taRole);
132
+
133
+            // 新增角色需要的菜单
134
+          for (SysMenu sysMenu: sysMenuList){
135
+              TaRoleMenu taRoleMenu = new TaRoleMenu();
136
+              taRoleMenu.setRoleId(taRole.getRoleId());
137
+              taRoleMenu.setMenuId(sysMenu.getMenuId());
138
+              taRoleMenuMapper.insert(taRoleMenu);
139
+          }
140
+          // 新增角色按钮
141
+          for (SysButtonInMenu sysButtonInMenu :sysButtonInMenuList){
142
+              TaRoleButton  taRoleButton = new TaRoleButton();
143
+              taRoleButton.setRoleId(taRole.getRoleId());
144
+              taRoleButton.setBtnId(sysButtonInMenu.getBtnId());
145
+              taRoleButtonMapper.insert(taRoleButton);
146
+          }
147
+            responseBean.addSuccess("操作成功");
148
+            return  true;
149
+        }catch (Exception e){
150
+            responseBean.addSuccess("操作失败");
151
+            e.printStackTrace();
152
+            return false;
153
+        }
154
+    }
155
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserRoleServiceImpl.java ファイルの表示

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.center.taUser.entity.TaUserRole;
5
+import com.huiju.estateagents.center.taUser.mapper.TaUserRoleMapper;
6
+import com.huiju.estateagents.center.taUser.service.ITaUserRoleService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 用户角色表  服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-11
16
+ */
17
+@Service
18
+public class TaUserRoleServiceImpl extends ServiceImpl<TaUserRoleMapper, TaUserRole> implements ITaUserRoleService {
19
+
20
+}

+ 431
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java ファイルの表示

@@ -0,0 +1,431 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaTagUser;
9
+import com.huiju.estateagents.center.taUser.entity.TaTags;
10
+import com.huiju.estateagents.center.taUser.entity.TaUser;
11
+import com.huiju.estateagents.center.taUser.entity.TaUserRole;
12
+import com.huiju.estateagents.center.taUser.mapper.TaTagUserMapper;
13
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
14
+import com.huiju.estateagents.center.taUser.mapper.TaUserRoleMapper;
15
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
16
+import com.huiju.estateagents.common.CommConstant;
17
+import com.huiju.estateagents.common.MD5Utils;
18
+import com.huiju.estateagents.common.StringUtils;
19
+import com.huiju.estateagents.entity.*;
20
+import com.huiju.estateagents.mapper.*;
21
+import com.huiju.estateagents.service.ITaBuildingReportService;
22
+import com.huiju.estateagents.service.ITdReportService;
23
+import org.apache.commons.collections.CollectionUtils;
24
+import org.springframework.beans.factory.annotation.Autowired;
25
+import org.springframework.stereotype.Service;
26
+
27
+import java.time.LocalDateTime;
28
+import java.util.ArrayList;
29
+import java.util.List;
30
+import java.util.Map;
31
+import java.util.stream.Collectors;
32
+
33
+/**
34
+ * <p>
35
+ * 用户表  服务实现类
36
+ * </p>
37
+ *
38
+ * @author jobob
39
+ * @since 2019-09-11
40
+ */
41
+@Service
42
+public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> implements ITaUserService {
43
+	
44
+	@Autowired
45
+	private TaUserMapper taUserMapper;
46
+
47
+	@Autowired
48
+	private TaOrgMapper taOrgMapper;
49
+
50
+	@Autowired
51
+	private TaMiniappMapper taMiniappMapper;
52
+
53
+	@Autowired
54
+	private TaMiniappTemplateMapper taMiniappTemplateMapper;
55
+	
56
+	@Autowired
57
+	private TaTagUserMapper taTagUserMapper;
58
+	
59
+	@Autowired
60
+	private TaPersonBuildingMapper taPersonBuildingMapper;
61
+	
62
+	@Autowired
63
+	private TaPersonMapper taPersonMapper;
64
+	
65
+	@Autowired
66
+	private TaUserRoleMapper taUserRoleMapper;
67
+
68
+	@Autowired
69
+	private TdPointsRulesMapper tdPointsRulesMapper;
70
+
71
+	@Autowired
72
+	private ITdReportService iTdReportService;
73
+
74
+	@Autowired
75
+	private ITaBuildingReportService iTaBuildingReportService;
76
+
77
+	@Autowired
78
+    private  TdCityMapper tdCityMapper;
79
+
80
+	@Autowired
81
+	private  TaOrgCityMapper taOrgCityMapper;
82
+	
83
+	@Override
84
+	public IPage<Map<String,Object>> getPageList(IPage pg) {
85
+		List<Map<String,Object>> taUserList = taUserMapper.getPageList(pg);
86
+		pg.setRecords(taUserList);
87
+		return pg;
88
+	}
89
+
90
+	@Override
91
+	public TaUser newUserAndOrg(TaUser taUser) throws Exception {
92
+		if (StringUtils.isEmpty(taUser.getPhone())) {
93
+			throw new Exception("电话号码不能为空");
94
+		}
95
+		if (StringUtils.isEmpty(taUser.getUserName())) {
96
+			throw new Exception("用户名称不能为空");
97
+		}
98
+
99
+		if (StringUtils.isEmpty(taUser.getLoginName())) {
100
+			taUser.setLoginName(taUser.getPhone());
101
+		}
102
+
103
+		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
104
+		wrapper.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName());
105
+		List<TaUser> taUserList = this.list(wrapper);
106
+		if (null != taUserList && taUserList.size() > 0) {
107
+			throw new Exception("电话号码或登录名重复");
108
+		}
109
+
110
+		// 先插入 org
111
+		TaOrg taOrg = new TaOrg();
112
+		taOrg.setName(taUser.getOrgName());
113
+		taOrg.setWaterMark(taUser.getWaterMark());
114
+		taOrg.setCreateDate(LocalDateTime.now());
115
+		taOrg.setBuildingNum(taUser.getOrgNum());
116
+		taOrg.setDefaultCityId(taUser.getCityId());
117
+		if (taOrgMapper.insert(taOrg) < 1) {
118
+			throw new Exception("生成用户公司信息失败");
119
+		}
120
+
121
+		// 维护当前城市所在城市
122
+		addAndupdate(taUser.getSelectCityTree(),false,taOrg.getOrgId());
123
+
124
+		// 插入积分, 默认全部 1 积分
125
+		List<TdPointsRules> pointsRules = tdPointsRulesMapper.getTPLRules();
126
+		if (pointsRules != null) {
127
+			for (int i = 0; i < pointsRules.size(); i ++) {
128
+				TdPointsRules rule = pointsRules.get(i);
129
+				rule.setOrgId(taOrg.getOrgId());
130
+				rule.setStatus(CommConstant.STATUS_NORMAL);
131
+				rule.setPointsAmount(1);	// 默认1积分
132
+				tdPointsRulesMapper.insert(rule);
133
+			}
134
+		}
135
+
136
+		// 插入统计,默认全部显示
137
+		QueryWrapper<TdReport> queryWrapper = new QueryWrapper<>();
138
+		queryWrapper.orderByDesc("create_date");
139
+		queryWrapper.eq("status", 1);
140
+		List<TdReport> tdReportList = iTdReportService.list(queryWrapper);
141
+		if (CollectionUtils.isNotEmpty(tdReportList)) {
142
+			List<TaBuildingReport> buildingReportList = tdReportList.stream().map(e -> {
143
+				TaBuildingReport taBuildingReport = new TaBuildingReport();
144
+				taBuildingReport.setOrgId(taOrg.getOrgId());
145
+				taBuildingReport.setReportCode(e.getReportCode());
146
+				taBuildingReport.setCreateDate(LocalDateTime.now());
147
+
148
+				return taBuildingReport;
149
+			}).collect(Collectors.toList());
150
+
151
+			iTaBuildingReportService.saveBatch(buildingReportList);
152
+		}
153
+
154
+		taUser.setOrgId(taOrg.getOrgId());
155
+		taUser.setIsAdmin(true);
156
+		taUser.setLoginPassword(MD5Utils.md5(taUser.getLoginPassword()));
157
+		taUser.setStatus(CommConstant.STATUS_NORMAL);
158
+		taUser.setCreateDate(LocalDateTime.now());
159
+		if (!this.save(taUser)) {
160
+			throw new Exception("生成用户信息失败");
161
+		}
162
+
163
+		return taUser;
164
+	}
165
+
166
+	// 维护公司所在城市
167
+	public void addAndupdate(ArrayList<Integer> selectCityTree,boolean isA,Integer orgid){
168
+
169
+			QueryWrapper<TdCity> tdCityQuery= new QueryWrapper<>();
170
+			tdCityQuery.eq("leveltype",1);
171
+			 List<TdCity> tdCityList= tdCityMapper.selectList(tdCityQuery);
172
+
173
+		// isA=true删除所有城市重新添加
174
+		if (isA == true){
175
+			for(Integer city:selectCityTree) {
176
+				taOrgCityMapper.deleteById(city);
177
+			}
178
+		}
179
+			 // 对比现在的城市ID
180
+			 for(Integer city:selectCityTree){
181
+				for (TdCity tdCity : tdCityList){
182
+					if (city.equals(tdCity.getId())){
183
+						TaOrgCity  taOrgCity = new TaOrgCity();
184
+						taOrgCity.setId(city).setName(tdCity.getName()).setOrgId(orgid).setStatus(1).setParentid(tdCity.getParentid());
185
+					}
186
+
187
+				}
188
+			 }
189
+
190
+	}
191
+
192
+	@Override
193
+	public TaUser getInfoWithOrg(Integer id) {
194
+		TaUser taUser = this.getById(id);
195
+		if (null == taUser) {
196
+			return taUser;
197
+		}
198
+
199
+		TaOrg taOrg = taOrgMapper.selectById(taUser.getOrgId());
200
+		if (null != taOrg) {
201
+			taUser.setOrgName(taOrg.getName());
202
+			taUser.setWaterMark(taOrg.getWaterMark());
203
+			taUser.setOrgNum(taOrg.getBuildingNum());
204
+			taOrg.setDefaultCityId(taUser.getCityId());
205
+		}
206
+
207
+		QueryWrapper<TaMiniapp> wrapper = new QueryWrapper<>();
208
+		wrapper.eq("org_id", taOrg.getOrgId());
209
+
210
+		TaMiniapp taMiniapp = taMiniappMapper.selectOne(wrapper);
211
+		if (null != taMiniapp) {
212
+			QueryWrapper<TaMiniappTemplate> query = new QueryWrapper<>();
213
+			query.eq("miniapp_id", taMiniapp.getMiniappId());
214
+			taMiniapp.setTpls(taMiniappTemplateMapper.selectList(query));
215
+		}
216
+
217
+		taUser.setMiniapp(taMiniapp);
218
+		taUser.setLoginPassword(null);
219
+		return taUser;
220
+	}
221
+
222
+	@Override
223
+	public void updateInfoWithOrg(TaUser taUser) throws Exception {
224
+		TaOrg taOrg = taOrgMapper.selectById(taUser.getOrgId());
225
+		if (null != taOrg) {
226
+			taOrg.setName(taUser.getOrgName());
227
+			taOrg.setWaterMark(taUser.getWaterMark());
228
+			taOrg.setBuildingNum(taUser.getOrgNum());
229
+
230
+			if (taOrgMapper.updateById(taOrg) < 1) {
231
+				throw new Exception("更新用户公司信息失败");
232
+			}
233
+
234
+			addAndupdate(taUser.getSelectCityTree(),true,taOrg.getOrgId());
235
+		}
236
+		
237
+		taUser.setLoginPassword(null);
238
+		if (taUserMapper.updateById(taUser) < 1) {
239
+			throw new Exception("更新用户信息失败");
240
+		}
241
+	}
242
+
243
+	@Override
244
+	public void turnUserOnOrNot(Integer id, boolean isOn) throws Exception {
245
+		TaUser taUser = this.getById(id);
246
+		if (null == taUser) {
247
+			throw new Exception("未找到有效的用户信息");
248
+		}
249
+
250
+		Integer status = isOn ? CommConstant.STATUS_NORMAL : CommConstant.STATUS_CLOSED;
251
+		TaUser user = new TaUser();
252
+		user.setStatus(status);
253
+		user.setUserId(id);
254
+
255
+		if (!this.updateById(user)) {
256
+			throw new Exception("开启或禁用用户失败");
257
+		}
258
+	}
259
+
260
+	@Override
261
+	public void resetPassword(Integer id, String newPass) throws Exception {
262
+		TaUser taUser = this.getById(id);
263
+		if (null == taUser) {
264
+			throw new Exception("未找到有效的用户信息");
265
+		}
266
+
267
+		String encryptPass = MD5Utils.md5(MD5Utils.md5(newPass));
268
+		TaUser user = new TaUser();
269
+		user.setLoginPassword(encryptPass);
270
+		user.setUserId(id);
271
+
272
+		if (!this.updateById(user)) {
273
+			throw new Exception("重置用户密码失败");
274
+		}
275
+	}
276
+	
277
+	@Override
278
+	public List<TaTags> getTagsList(TaUser e) {
279
+		return taUserMapper.getTagsList(e.getUserId(),e.getOrgId());
280
+	}
281
+	
282
+	@Override
283
+	public TaUser  addAdminUser(TaUser taUser) throws Exception {
284
+		if (StringUtils.isEmpty(taUser.getPhone())) {
285
+			throw new Exception("电话号码不能为空");
286
+		}
287
+		if (StringUtils.isEmpty(taUser.getUserName())) {
288
+			throw new Exception("用户名称不能为空");
289
+		}
290
+		
291
+		if (StringUtils.isEmpty(taUser.getLoginName())) {
292
+			taUser.setLoginName(taUser.getPhone());
293
+		}
294
+		
295
+		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
296
+		wrapper.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName());
297
+		wrapper.eq("org_id",taUser.getOrgId());
298
+		List<TaUser> taUserList = this.list(wrapper);
299
+		if (null != taUserList && taUserList.size() > 0) {
300
+			throw new Exception("电话号码或登录名重复");
301
+		}
302
+		taUser.setLoginPassword(MD5Utils.md5(MD5Utils.md5("123456")));
303
+		taUser.setStatus(CommConstant.STATUS_NORMAL);
304
+		taUser.setCreateDate(LocalDateTime.now());
305
+		if (taUserMapper.insert(taUser) < 1) {
306
+			throw new Exception("生成用户信息失败");
307
+		}
308
+		
309
+		//保存标签
310
+		List<Integer> tags = taUser.getTaTags();
311
+		tags.forEach(e -> {
312
+			TaTagUser taTagUser = new TaTagUser();
313
+			taTagUser.setUserId(taUser.getUserId());
314
+			taTagUser.setTagId(e);
315
+			taTagUserMapper.insert(taTagUser);
316
+		});
317
+		
318
+		//保存用户角色
319
+		List<Integer> roleIds = taUser.getRoleIds();
320
+		roleIds.forEach(e -> {
321
+			TaUserRole taUserRole = new TaUserRole();
322
+			taUserRole.setUserId(taUser.getUserId());
323
+			taUserRole.setRoleId(e);
324
+			taUserRoleMapper.insert(taUserRole);
325
+		});
326
+		
327
+		//保存项目
328
+		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
329
+		taPersonBuilding.setBuildingId(taUser.getBuildingId());
330
+		taPersonBuilding.setUserId(taUser.getUserId());
331
+		taPersonBuilding.setCreateDate(LocalDateTime.now());
332
+		taPersonBuildingMapper.insert(taPersonBuilding);
333
+		return taUser;
334
+	}
335
+	
336
+	@Override
337
+	public TaUser updateAdminUser(TaUser taUser) throws Exception {
338
+		TaUser taUserBefore = taUserMapper.selectById(taUser.getUserId());
339
+		if (StringUtils.isEmpty(taUser.getPhone())) {
340
+			throw new Exception("电话号码不能为空");
341
+		}
342
+		if (StringUtils.isEmpty(taUser.getUserName())) {
343
+			throw new Exception("用户名称不能为空");
344
+		}
345
+		if(StringUtils.isEmpty(taUser.getLoginName()) && taUserBefore.getLoginName().equals(taUserBefore.getPhone())){
346
+			taUser.setLoginName(taUser.getPhone());
347
+		}
348
+
349
+		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
350
+		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));
351
+		wrapper.eq("org_id",taUser.getOrgId());
352
+		wrapper.ne("user_id",taUser.getUserId());
353
+		List<TaUser> taUserList = this.list(wrapper);
354
+		if (null != taUserList && taUserList.size() > 0) {
355
+			throw new Exception("电话号码或登录名重复");
356
+		}
357
+		if (taUserMapper.updateById(taUser) < 1){
358
+			throw new Exception("更新用户信息失败");
359
+		}
360
+		QueryWrapper<TaTagUser> queryWrapper = new QueryWrapper<>();
361
+		queryWrapper.eq("user_id",taUser.getUserId());
362
+		taTagUserMapper.delete(queryWrapper);
363
+		//保存标签
364
+		List<Integer> tags = taUser.getTaTags();
365
+		tags.forEach(e -> {
366
+			TaTagUser taTagUser = new TaTagUser();
367
+			taTagUser.setUserId(taUser.getUserId());
368
+			taTagUser.setTagId(e);
369
+			taTagUserMapper.insert(taTagUser);
370
+		});
371
+		
372
+		QueryWrapper<TaUserRole> taUserRoleQueryWrapper = new QueryWrapper<>();
373
+		taUserRoleQueryWrapper.eq("user_id",taUser.getUserId());
374
+		taUserRoleMapper.delete(taUserRoleQueryWrapper);
375
+		//保存用户角色
376
+		List<Integer> roleIds = taUser.getRoleIds();
377
+		roleIds.forEach(e -> {
378
+			TaUserRole taUserRole = new TaUserRole();
379
+			taUserRole.setUserId(taUser.getUserId());
380
+			taUserRole.setRoleId(e);
381
+			taUserRoleMapper.insert(taUserRole);
382
+		});
383
+		
384
+		QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
385
+		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
386
+		taPersonBuildingMapper.delete(taPersonBuildingQueryWrapper);
387
+		//保存项目
388
+		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
389
+		taPersonBuilding.setBuildingId(taUser.getBuildingId());
390
+		taPersonBuilding.setUserId(taUser.getUserId());
391
+		taPersonBuilding.setCreateDate(LocalDateTime.now());
392
+		taPersonBuildingMapper.insert(taPersonBuilding);
393
+		
394
+		//更新person
395
+		TaPerson taPerson = new TaPerson();
396
+		taPerson.setAvatarurl(taUser.getAvatar());
397
+		taPerson.setCompany(taUser.getOrgName());
398
+		taPerson.setTel(taUser.getPhone());
399
+		taPerson.setName(taUser.getUserName());
400
+		taPerson.setAddress(taUser.getAddress());
401
+		taPerson.setIdNo(taUser.getIdNo());
402
+		taPerson.setDepartment(taUser.getDepartment());
403
+		taPerson.setPost(taUser.getPosition());
404
+		taPerson.setPhoto(taUser.getPhoto());
405
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
406
+		taPersonQueryWrapper.eq("user_id",taUser.getUserId());
407
+		taPersonMapper.update(taPerson,taPersonQueryWrapper);
408
+		
409
+		return taUser;
410
+	}
411
+
412
+    @Override
413
+    public ResponseBean cityTree() {
414
+	   ResponseBean responseBean = new ResponseBean<>();
415
+	    // 省份
416
+        TaUser taUser = new TaUser();
417
+	    QueryWrapper<TdCity> tdCityQueryWrapper= new  QueryWrapper<>();
418
+        tdCityQueryWrapper.eq("leveltype",1);
419
+        List<TdCity> tdCityList= tdCityMapper.selectList(tdCityQueryWrapper);
420
+        taUser.setTdCityList(tdCityList);
421
+        for (TdCity tdCity: tdCityList){
422
+            // 根据parentid查询城市
423
+            QueryWrapper<TdCity> tdCityQuery= new  QueryWrapper<>();
424
+            tdCityQuery.eq("parentid",tdCity.getId());
425
+            List<TdCity> city= tdCityMapper.selectList(tdCityQuery);
426
+            tdCity.setChildren(city);
427
+        }
428
+        responseBean.addSuccess(taUser);
429
+        return responseBean;
430
+    }
431
+}

+ 152
- 5
src/main/java/com/huiju/estateagents/common/CommConstant.java ファイルの表示

@@ -18,6 +18,21 @@ public class CommConstant {
18 18
      */
19 19
     public final static String PERSON_ESTATE_AGENT = "estate agent";
20 20
 
21
+    /**
22
+     * 人员类型: 客户
23
+     */
24
+    public final static String PERSON_ESTATE_CUSTOMER = "customer";
25
+
26
+    /**
27
+     * 人员类型: 渠道经纪人
28
+     */
29
+    public final static String PERSON_ESTATE_CHANNEL = "channel agent";
30
+
31
+    /**
32
+     * 人员类型: 游客
33
+     */
34
+    public final static String PERSON_ESTATE_DRIFT = "drift";
35
+
21 36
     /**
22 37
      * 状态: 正常
23 38
      */
@@ -28,6 +43,11 @@ public class CommConstant {
28 43
      */
29 44
     public final static int STATUS_DELETE = -1;
30 45
 
46
+    /**
47
+     * 状态: 关闭、禁用
48
+     */
49
+    public final static int STATUS_CLOSED = 9;
50
+
31 51
     /**
32 52
      * 消息未读
33 53
      */
@@ -75,15 +95,35 @@ public class CommConstant {
75 95
     public final static String POINTS_CHANGE_SHARE_POSTER = "share-poster";
76 96
     
77 97
     /**
78
-     * 注册经纪人
98
+     * 授权手机号
79 99
      */
80 100
     public final static String POINTS_CHANGE_SIGNUP_AGENT = "signup-agent";
101
+    
102
+    /**
103
+     * 拼团
104
+     */
105
+    public final static String POINTS_CHANGE_GROUP = "group";
81 106
 
82 107
     /**
83 108
      * 推荐客户
84 109
      */
85 110
     public final static String POINTS_CHANGE_RECOMMEND_CUSTOMER = "recommend-customer";
86 111
 
112
+    /**
113
+     * 活动核销
114
+     */
115
+    public final static String POINTS_CHANGE_ACTIVITY_VERIFICATION = "activity_verification";
116
+
117
+    /**
118
+     * 资料审核
119
+     */
120
+    public final static String POINTS_CHANGE_DOCUMENT_VERIFY = "document_verify";
121
+
122
+    /**
123
+     * 资料审核
124
+     */
125
+    public final static String POINTS_CHANGE_ACTIVITY_CHECKIN = "activity_checkin";
126
+
87 127
 
88 128
     /**
89 129
      * 小程序默认首页
@@ -167,22 +207,22 @@ public class CommConstant {
167 207
     /**
168 208
      * 客户报备
169 209
      */
170
-    public static final String CUSTOMER_REPORT = "1";
210
+    public static final Integer CUSTOMER_REPORT = 1;
171 211
 
172 212
     /**
173 213
      * 客户到访
174 214
      */
175
-    public static final String CUSTOMER_VISITE = "2";
215
+    public static final Integer CUSTOMER_VISITE = 2;
176 216
 
177 217
     /**
178 218
      * 客户认购
179 219
      */
180
-    public static final String CUSTOMER_PREORDER = "3";
220
+    public static final Integer CUSTOMER_PREORDER = 3 ;
181 221
 
182 222
     /**
183 223
      * 客户签约
184 224
      */
185
-    public static final String CUSTOMER_SIGNED = "4";
225
+    public static final Integer CUSTOMER_SIGNED = 4;
186 226
 
187 227
 
188 228
     /**
@@ -245,6 +285,21 @@ public class CommConstant {
245 285
      */
246 286
     public static final Integer POINTS_RULE_SIGNUP_AGENT = 4;
247 287
 
288
+    /**
289
+     * 活动核销送积分规则
290
+     */
291
+    public static final Integer POINTS_RULE_ACTIVITY_VERIFICATION = 6;
292
+
293
+    /**
294
+     * 资料审核送积分规则
295
+     */
296
+    public static final Integer POINTS_RULE_DOCUMENT_VERIFY = 7;
297
+
298
+    /**
299
+     * 普通活动签到送积分规则
300
+     */
301
+    public static final Integer POINTS_RULE_ACTIVITY_CHECKIN = 8;
302
+
248 303
     /**
249 304
      * 平台积分
250 305
      */
@@ -320,6 +375,7 @@ public class CommConstant {
320 375
     // ------- 性别 start -------
321 376
     public static final Integer SEX_MALE = 1;
322 377
     public static final Integer SEX_FEMALE = 2;
378
+    public static final Integer SEX_UNKNOWN = 3;
323 379
     // ------- 性别 end -------
324 380
 
325 381
     // ------- 推荐客户状态 start -------
@@ -348,4 +404,95 @@ public class CommConstant {
348 404
     public static final Integer NOT_PUBLISH = 0;
349 405
     // ------- 政策发布状态 end -------
350 406
 
407
+    // 公客
408
+    public static final String CUTOMER_TYPE_PUBLIC = "public";
409
+    // 私客
410
+    public static final String CUTOMER_TYPE_PRIVATE = "private";
411
+
412
+
413
+    //项目
414
+    public static final String POSTER_CONTENT_TYPE_BUILDING = "building";
415
+    //活动
416
+    public static final String POSTER_CONTENT_TYPE_ACTIVITY = "activity";
417
+    //资讯
418
+    public static final String POSTER_CONTENT_TYPE_NEWS = "news";
419
+    //人员
420
+    public static final String POSTER_CONTENT_TYPE_PERSON = "person";
421
+	
422
+	
423
+	public static final String GD_KEY = "c9fc664a9030aed2ec2183508c2ca476";
424
+ 
425
+	//已参与微信端用
426
+    public static final Integer ACTIVITY_STATUS_PARTNER = 3;
427
+    
428
+    //发起者
429
+	public static final String HELP_STATUS_INITIATE = "Initiate";
430
+	
431
+	//助力活动
432
+	public static final Object HELP_ACTIVITY = "helpActivity";
433
+	
434
+	//分享活动
435
+	public static final Object GROUP_ACTIVITY = "groupActivity";
436
+	public static final String TARGET_TYPE_H5 = "H5";
437
+    public static final String ACTIVITY_QRCODE = "{\"scene\":\"id=#0&type=#1\",\"page\":\"pages/checkin/index\"}";
438
+    
439
+    /**
440
+     * 消息通知
441
+     * 必须存在表   td_miniapp_template_type 中
442
+     */
443
+    public static final String MINIAPP_TPL_NOTICE = "notice";
444
+    
445
+    /**
446
+     * 助力通知
447
+     * 必须存在表   td_miniapp_template_type 中
448
+     */
449
+    public static final String MINIAPP_TPL_HELP = "help-result";
450
+    
451
+    /**
452
+     * 拼团通知
453
+     * 必须存在表   td_miniapp_template_type 中
454
+     */
455
+    public static final String MINIAPP_TPL_GROUP = "group-result";
456
+    
457
+    /**
458
+     * 活动以结束
459
+     */
460
+    public static final Integer ACTIVITY_STATUS_FINISH = 2;
461
+    
462
+    /**
463
+     * 客户统计类型:跟进客户
464
+     */
465
+	public static final String CUSTOMER_TYPE_FOLLOW = "follow";
466
+    
467
+    /**
468
+     * 客户统计类型:新增客户
469
+     */
470
+    public static final String CUSTOMER_TYPE_NEW = "new";
471
+    
472
+    /**
473
+     * 客户统计类型:到访客户
474
+     */
475
+    public static final String CUSTOMER_TYPE_VISITE = "visite";
476
+
477
+    // =================   项目图片类型 ==============
478
+
479
+    /**
480
+     * 项目banner
481
+     */
482
+    public static final String BUILDING_IMG_BANNER = "banner";
483
+
484
+    /**
485
+     * 项目列表图
486
+     */
487
+    public static final String BUILDING_IMG_LIST = "list";
488
+
489
+    /**
490
+     * 视频封面图
491
+     */
492
+    public static final String BUILDING_IMG_VIDEOIMAGE = "videoImage";
493
+
494
+    /**
495
+     * 户型图
496
+     */
497
+    public static final String BUILDING_IMG_APARMENT = "aparment";
351 498
 }

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

@@ -32,4 +32,9 @@ public class DateUtils {
32 32
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
33 33
         return LocalDateTime.parse(day + " 00:00:00",df);
34 34
     }
35
+
36
+    public static LocalDateTime dayToLocalDateime(String day) {
37
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
38
+        return LocalDateTime.parse(day,df);
39
+    }
35 40
 }

+ 57
- 3
src/main/java/com/huiju/estateagents/common/JWTUtils.java ファイルの表示

@@ -1,13 +1,13 @@
1 1
 package com.huiju.estateagents.common;
2 2
 
3 3
 import io.jsonwebtoken.Jwts;
4
-import io.jsonwebtoken.SignatureAlgorithm;
5 4
 import io.jsonwebtoken.security.Keys;
6 5
 
7 6
 import javax.servlet.http.HttpServletRequest;
8 7
 import java.security.Key;
9 8
 import java.util.Calendar;
10 9
 import java.util.Date;
10
+import java.util.Map;
11 11
 
12 12
 /**
13 13
  * JWTUtils
@@ -17,7 +17,7 @@ import java.util.Date;
17 17
 public class JWTUtils {
18 18
     // 直接定义常量是不安全的
19 19
     public final static Key key = Keys.hmacShaKeyFor("yansenisahero,2019-5-17 16:18:14".getBytes());
20
-
20
+    
21 21
     /**
22 22
      * getSubject 获取 jwt subject
23 23
      * @param request
@@ -38,6 +38,47 @@ public class JWTUtils {
38 38
 
39 39
         return null;
40 40
     }
41
+    
42
+    /**
43
+     * getSubject 获取 jwt subject
44
+     * @param request
45
+     * @return
46
+     */
47
+    public static Map getUserIdAndOrgId(HttpServletRequest request) {
48
+        String jwtHeader = request.getHeader("authorization");
49
+        if (null == jwtHeader || "".equals(jwtHeader.trim())) return null;
50
+        
51
+        String[] jwtAuths = jwtHeader.split("Bearer ");
52
+        if (null == jwtAuths || jwtAuths.length < 2) return null;
53
+        
54
+        try {
55
+            return Jwts.parser().setSigningKey(key).parseClaimsJws(jwtAuths[1]).getBody();
56
+        } catch (Exception e) {
57
+            e.printStackTrace();
58
+        }
59
+        
60
+        return null;
61
+    }
62
+    
63
+    /**
64
+     * getSubject 获取 jwt subject
65
+     * @param request
66
+     * @return
67
+     */
68
+    public static String getToken(HttpServletRequest request) {
69
+        String jwtHeader = request.getHeader("authorization");
70
+        if (null == jwtHeader || "".equals(jwtHeader.trim())) {
71
+            return null;
72
+        }
73
+        
74
+        String[] jwtAuths = jwtHeader.split("Bearer ");
75
+        if (null == jwtAuths || jwtAuths.length < 2) {
76
+            return null;
77
+        }
78
+        
79
+        
80
+        return jwtAuths[1];
81
+    }
41 82
 
42 83
     /**
43 84
      * newToken 生成新的 token
@@ -49,7 +90,20 @@ public class JWTUtils {
49 90
         Calendar calendar = Calendar.getInstance();
50 91
         calendar.setTime(new Date());
51 92
         calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+7);
52
-
53 93
         return Jwts.builder().setSubject(subject).setExpiration(calendar.getTime()).signWith(key).compact();
54 94
     }
95
+    
96
+    /**
97
+     * newToken 生成新的 token
98
+     * @param subject
99
+     * @return
100
+     */
101
+    public static String newTokenByMap(Map subject) {
102
+        // 有效期 7 天
103
+        Calendar calendar = Calendar.getInstance();
104
+        calendar.setTime(new Date());
105
+        calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+7);
106
+
107
+        return Jwts.builder().setClaims(subject).setExpiration(calendar.getTime()).signWith(key).compact();
108
+    }
55 109
 }

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

@@ -0,0 +1,134 @@
1
+package com.huiju.estateagents.common;
2
+
3
+import com.huiju.estateagents.config.SMSProperties;
4
+import lombok.Data;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
8
+import org.springframework.context.annotation.Configuration;
9
+import org.springframework.http.*;
10
+import org.springframework.web.client.RestTemplate;
11
+
12
+import java.time.LocalDateTime;
13
+import java.util.*;
14
+
15
+@Slf4j
16
+@Configuration
17
+@EnableConfigurationProperties(SMSProperties.class)
18
+public class SMSUtils {
19
+    // 短信服务配置
20
+    SMSProperties smsProperties;
21
+
22
+    Map<String, Phone> allPhones;
23
+
24
+    @Autowired
25
+    public SMSUtils(SMSProperties properties) {
26
+        smsProperties = properties;
27
+        allPhones = new HashMap<>();
28
+    }
29
+
30
+    /**
31
+     * 发送验证码到 tel
32
+     * @param tel
33
+     * @return
34
+     */
35
+    public boolean sendCaptcha(String tel) {
36
+        Phone phone = allPhones.get(tel);
37
+        if (null == phone) {
38
+            phone = new Phone();
39
+            phone.setTel(tel);
40
+        }
41
+
42
+        phone.setCaptcha(genCaptcha(smsProperties.getCaptcha().getSize()));
43
+        phone.setExpire(LocalDateTime.now().plusSeconds(smsProperties.getCaptcha().getExpire()));
44
+        allPhones.put(tel, phone);
45
+
46
+        log.info("发送手机 {} 验证码 {}", tel, phone.getCaptcha());
47
+
48
+        String[] params = { phone.getCaptcha(), smsProperties.getCaptcha().getSign() };
49
+        return sendMessage(smsProperties.getCaptcha().getCode(), tel, params);
50
+    }
51
+
52
+    /**
53
+     * 校验验证码
54
+     * @param tel
55
+     * @param smsCaptcha
56
+     * @return
57
+     */
58
+    public boolean checkCaptcha(String tel, String smsCaptcha) {
59
+        Phone phone = allPhones.get(tel);
60
+        if (null == phone) {
61
+            log.error("手机号 {} 的验证码未找到", tel);
62
+            return false;
63
+        }
64
+
65
+        if (null == smsCaptcha || !smsCaptcha.equals(phone.getCaptcha())) {
66
+            log.error("手机号 {} 校验验证码出错, 正确: {}, 错误: {}", tel, phone.getCaptcha(), smsCaptcha);
67
+            return false;
68
+        }
69
+
70
+        LocalDateTime now = LocalDateTime.now();
71
+        if (now.isAfter(phone.getExpire())) {
72
+            log.error("手机号 {} 的验证码已过期", tel);
73
+            return false;
74
+        }
75
+
76
+        // 如果验证成功, 则从缓存中删除
77
+        allPhones.remove(tel);
78
+        return true;
79
+    }
80
+
81
+    public boolean sendVisitor(String tel, String name) {
82
+        log.info("发送手机 {} 客户名称 {}", tel, name);
83
+
84
+        String[] params = { name };
85
+        return sendMessage(smsProperties.getVisitor().getCode(), tel, params);
86
+    }
87
+
88
+    private String genCaptcha(int length) {
89
+        List<String> nums = new ArrayList<>();
90
+        for (int i = 0; i < length; i ++) {
91
+            int rand = (new Random()).nextInt(10);
92
+            nums.add(String.valueOf(rand));
93
+        }
94
+        return String.join("", nums);
95
+    }
96
+
97
+    private boolean sendMessage(String code, String tel, String[] params) {
98
+        // 发送内容
99
+        SMSProperties.Template message = new SMSProperties.Template();
100
+        message.setCode(code);
101
+        message.setTel(tel);
102
+        message.setParams(params);
103
+
104
+        // 构造 request
105
+        HttpHeaders headers = new HttpHeaders();
106
+        headers.setContentType(MediaType.parseMediaType(smsProperties.getContentType()));
107
+//        String body = JSONObject.toJSONString(message);
108
+        HttpMethod method = HttpMethod.resolve(smsProperties.getMethod());
109
+        HttpEntity requestEntity = new HttpEntity(message, headers);
110
+
111
+        RestTemplate template = new RestTemplate();
112
+        HttpEntity<String> response = template.exchange(
113
+                smsProperties.getUrl(),
114
+                method,
115
+                requestEntity,
116
+                String.class,
117
+                new Object()
118
+        );
119
+
120
+        if (((ResponseEntity<String>) response).getStatusCodeValue() != HttpStatus.OK.value()) {
121
+            log.error("请求发送短信验证码失败: {}", response.toString());
122
+            return false;
123
+        }
124
+
125
+        return true;
126
+    }
127
+
128
+    @Data
129
+    public static class Phone {
130
+        String tel;
131
+        String captcha;
132
+        LocalDateTime expire;
133
+    }
134
+}

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

@@ -2,61 +2,58 @@ package com.huiju.estateagents.common;
2 2
 
3 3
 import cn.binarywang.wx.miniapp.api.WxMaService;
4 4
 import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
5
-import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
6
-import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
7 5
 import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
8
-import com.huiju.estateagents.config.WxProperties;
9
-import me.chanjar.weixin.common.error.WxErrorException;
6
+import com.huiju.estateagents.entity.TaMiniapp;
7
+import com.huiju.estateagents.service.IMiniAppService;
10 8
 import org.springframework.beans.factory.annotation.Autowired;
11
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
12
-import org.springframework.context.annotation.Configuration;
9
+import org.springframework.stereotype.Component;
13 10
 
14 11
 import javax.annotation.PostConstruct;
15
-import java.time.LocalDateTime;
16
-import java.util.ArrayList;
17
-import java.util.Arrays;
18 12
 import java.util.List;
19
-import java.util.Map;
13
+import java.util.concurrent.ConcurrentHashMap;
20 14
 
21
-@Configuration
22
-@EnableConfigurationProperties(WxProperties.class)
15
+@Component
23 16
 public class WxUtils {
24
-    static WxMaService miniApp;
25
-
26
-    static WxProperties properties;
17
+    private ConcurrentHashMap<String, WxMaService> serives = new ConcurrentHashMap();
27 18
 
28 19
     @Autowired
29
-    public WxUtils(WxProperties properties) { WxUtils.properties = properties; }
20
+    IMiniAppService iMiniAppService;
30 21
 
31
-    public static WxMaService getMiniApp() {
32
-        return miniApp;
22
+    public WxMaService getMiniApp(String appid) {
23
+        return serives.get(appid);
33 24
     }
34 25
 
35 26
     @PostConstruct
36 27
     public void init() {
37 28
         System.out.println("-------------PostConstruct----------------");
38
-        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
39 29
 
40
-        WxProperties.Miniapp miniProperty = WxUtils.properties.getMiniapp();
41
-
42
-        config.setAppid(miniProperty.getAppid());
43
-        config.setSecret(miniProperty.getSecret());
44
-        config.setToken(miniProperty.getToken());
45
-        config.setAesKey(miniProperty.getAesKey());
46
-        config.setMsgDataFormat(miniProperty.getMsgDataFormat());
30
+        List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
31
+        if (null == taMiniappList) {
32
+            return;
33
+        }
47 34
 
48
-        WxUtils.miniApp = new WxMaServiceImpl();
49
-        WxUtils.miniApp.setWxMaConfig(config);
50
-        System.out.println("-------------PostConstruct- 222---------------");
51
-        System.out.println(WxUtils.miniApp);
35
+        for (TaMiniapp taMiniapp : taMiniappList) {
36
+            WxMaService service = newService(taMiniapp);
37
+            serives.put(taMiniapp.getMiniappId(), service);
38
+        }
52 39
     }
53 40
 
54
-    public static WxProperties.Tpl getTplByName(String name) {
55
-        for ( WxProperties.Tpl t: properties.getTpls()) {
56
-            if (t.getName().equals(name)) {
57
-                return t;
58
-            }
41
+    public WxMaService newService(TaMiniapp taMiniapp, boolean ...changeServices) {
42
+        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
43
+        config.setAppid(taMiniapp.getMiniappId());
44
+        config.setSecret(taMiniapp.getSecret());
45
+        config.setToken(taMiniapp.getToken());
46
+        config.setAesKey(taMiniapp.getAesKey());
47
+        config.setMsgDataFormat("JSON");
48
+
49
+        WxMaService service = new WxMaServiceImpl();
50
+        service.setWxMaConfig(config);
51
+
52
+        if (changeServices.length > 0 && changeServices[0]) {
53
+            serives.remove(taMiniapp.getMiniappId());
54
+            serives.put(taMiniapp.getMiniappId(), service);
59 55
         }
60
-        return null;
56
+
57
+        return service;
61 58
     }
62 59
 }

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

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.config;
2
+
3
+
4
+import lombok.Data;
5
+import org.springframework.boot.context.properties.ConfigurationProperties;
6
+
7
+@Data
8
+@ConfigurationProperties(prefix = "sms")
9
+public class SMSProperties {
10
+    String url;
11
+    String method;
12
+    String contentType;
13
+    Captcha captcha;
14
+    Visitor visitor;
15
+
16
+    @Data
17
+    public static class Template {
18
+        String code;
19
+        String tel;
20
+        String[] params;
21
+    }
22
+
23
+    @Data
24
+    public static class Captcha {
25
+        String code;
26
+        Integer expire;
27
+        Integer size;
28
+        String sign;
29
+    }
30
+
31
+    @Data
32
+    public static class Visitor {
33
+        String code;
34
+    }
35
+}

+ 37
- 0
src/main/java/com/huiju/estateagents/config/Swagger2Config.java ファイルの表示

@@ -0,0 +1,37 @@
1
+package com.huiju.estateagents.config;
2
+
3
+import org.springframework.context.annotation.Bean;
4
+import org.springframework.context.annotation.Configuration;
5
+import springfox.documentation.builders.ApiInfoBuilder;
6
+import springfox.documentation.builders.PathSelectors;
7
+import springfox.documentation.builders.RequestHandlerSelectors;
8
+import springfox.documentation.service.ApiInfo;
9
+import springfox.documentation.service.Contact;
10
+import springfox.documentation.spi.DocumentationType;
11
+import springfox.documentation.spring.web.plugins.Docket;
12
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
13
+
14
+@Configuration
15
+@EnableSwagger2
16
+public class Swagger2Config {
17
+
18
+
19
+    @Bean
20
+    public Docket docket(){
21
+        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
22
+                .apis(RequestHandlerSelectors.basePackage("com.huiju.estateagents.controller"))
23
+                .paths(PathSelectors.any()).build();
24
+    }
25
+    //构建api文档的详细信息函数
26
+    private ApiInfo apiInfo(){
27
+        return new ApiInfoBuilder()
28
+                //页面标题
29
+                .title("营销云 的 RESTful API")
30
+                //版本号
31
+                .version("1.0")
32
+                //描述
33
+                .description("API 描述")
34
+                .build();
35
+    }
36
+
37
+}

+ 0
- 51
src/main/java/com/huiju/estateagents/config/WxProperties.java ファイルの表示

@@ -1,51 +0,0 @@
1
-package com.huiju.estateagents.config;
2
-
3
-import lombok.Data;
4
-import org.springframework.boot.context.properties.ConfigurationProperties;
5
-import org.springframework.context.annotation.Bean;
6
-
7
-import java.util.List;
8
-
9
-@Data
10
-@ConfigurationProperties(prefix = "wx")
11
-public class WxProperties {
12
-    private Miniapp  miniapp;
13
-    private List<Tpl> tpls;
14
-
15
-    @Data
16
-    public static class Miniapp {
17
-
18
-        /**
19
-         * 设置微信小程序的appid
20
-         */
21
-        private String appid;
22
-
23
-        /**
24
-         * 设置微信小程序的Secret
25
-         */
26
-        private String secret;
27
-
28
-        /**
29
-         * 设置微信小程序消息服务器配置的token
30
-         */
31
-        private String token;
32
-
33
-        /**
34
-         * 设置微信小程序消息服务器配置的EncodingAESKey
35
-         */
36
-        private String aesKey;
37
-
38
-        /**
39
-         * 消息格式,XML或者JSON
40
-         */
41
-        private String msgDataFormat;
42
-
43
-    }
44
-
45
-    @Data
46
-    public static class Tpl {
47
-        private String name;
48
-        private String id;
49
-        private Integer keywords;
50
-    }
51
-}

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

@@ -4,7 +4,11 @@ package com.huiju.estateagents.controller;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.common.AliOSSUtils;
6 6
 import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.common.SMSUtils;
8
+import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.service.ITdMiniappTemplateTypeService;
7 10
 import org.apache.ibatis.annotations.Mapper;
11
+import org.springframework.beans.factory.annotation.Autowired;
8 12
 import org.springframework.web.bind.annotation.*;
9 13
 import org.springframework.web.multipart.MultipartFile;
10 14
 
@@ -17,6 +21,11 @@ import java.util.Map;
17 21
 @RestController
18 22
 @RequestMapping("/api")
19 23
 public class CommonController {
24
+    @Autowired
25
+    SMSUtils smsUtils;
26
+
27
+    @Autowired
28
+    ITdMiniappTemplateTypeService iTdMiniappTemplateTypeService;
20 29
 
21 30
     /**
22 31
      * 图片上传
@@ -33,6 +42,47 @@ public class CommonController {
33 42
         }
34 43
     }
35 44
 
45
+    /**
46
+     * 为适应 ANTD 特制的图片上传
47
+     * plat 中心端传 center 管理端传 admin
48
+     * @param multipartFile
49
+     * @return
50
+     */
51
+    @PostMapping("/{plat}/antd/image")
52
+    public Map<String, String> uploadImageForAntd(@RequestParam("file") MultipartFile multipartFile) {
53
+        Map<String, String> result = new HashMap<>();
54
+
55
+        try {
56
+            String img = AliOSSUtils.putObject(multipartFile, CommConstant.ALIOSS_DEFAULT_UPLOAD);
57
+
58
+            result.put("name", StringUtils.ifNull(multipartFile.getOriginalFilename(), multipartFile.getName()));
59
+            result.put("status", "done");
60
+            result.put("thumbUrl", img + "?x-oss-process=style/thumbnail");
61
+            result.put("url", img);
62
+
63
+        } catch (IOException e) {
64
+            result.put("status", "error");
65
+            result.put("message", e.getMessage());
66
+        }
67
+
68
+        return result;
69
+    }
70
+
71
+    @PostMapping("{plat}/captcha")
72
+    public ResponseBean sendCaptcha(@RequestParam String tel) {
73
+        boolean success = smsUtils.sendCaptcha(tel);
74
+        if (success) {
75
+            return ResponseBean.success("发送验证码成功");
76
+        } else {
77
+            return ResponseBean.error("验证码发送失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
78
+        }
79
+    }
80
+
81
+    @GetMapping("/center/dict/templateType")
82
+    public ResponseBean getAllTplTypes() {
83
+        return ResponseBean.success(iTdMiniappTemplateTypeService.getAllTypes());
84
+    }
85
+
36 86
     @GetMapping("/wx/awesome/dict/{typeFor}")
37 87
     public ResponseBean dicts(@PathVariable String typeFor) {
38 88
 

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

@@ -10,6 +10,10 @@ import com.huiju.estateagents.entity.TaBuildingDynamic;
10 10
 import com.huiju.estateagents.service.IExtendContentService;
11 11
 import com.huiju.estateagents.service.ITaBuildingDynamicService;
12 12
 import com.huiju.estateagents.service.ITaBuildingService;
13
+import io.swagger.annotations.Api;
14
+import io.swagger.annotations.ApiImplicitParam;
15
+import io.swagger.annotations.ApiImplicitParams;
16
+import io.swagger.annotations.ApiOperation;
13 17
 import org.apache.commons.lang3.StringUtils;
14 18
 import org.slf4j.Logger;
15 19
 import org.slf4j.LoggerFactory;
@@ -22,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestParam;
22 26
 import org.springframework.web.bind.annotation.ResponseBody;
23 27
 import org.springframework.web.bind.annotation.RestController;
24 28
 
29
+import javax.servlet.http.HttpServletRequest;
25 30
 import java.time.LocalDateTime;
26 31
 
27 32
 /**
@@ -34,6 +39,7 @@ import java.time.LocalDateTime;
34 39
  */
35 40
 @RestController
36 41
 @RequestMapping("/api")
42
+@Api(value = "轮播图", tags = "轮播图")
37 43
 public class ExtendContentController extends BaseController {
38 44
 
39 45
     private final Logger logger = LoggerFactory.getLogger(ExtendContentController.class);
@@ -53,6 +59,16 @@ public class ExtendContentController extends BaseController {
53 59
      * @param pageSize
54 60
      * @return
55 61
      */
62
+    @ApiOperation(value = "后台轮播图列表", notes = "后台轮播图列表")
63
+    @ApiImplicitParams({
64
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
65
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
66
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
67
+            @ApiImplicitParam(dataTypeClass = String.class, name = "contentType", paramType = "query",value = "内容类型"),
68
+            @ApiImplicitParam(dataTypeClass = String.class, name = "showPosition", paramType = "query",value = "发布位置"),
69
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query",value = "状态"),
70
+            @ApiImplicitParam(dataTypeClass = String.class, name = "showType", paramType = "query",value = "发布类型")
71
+    })
56 72
     @RequestMapping(value="/admin/extendContent",method= RequestMethod.GET)
57 73
     public ResponseBean extendContentList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
58 74
                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
@@ -60,7 +76,7 @@ public class ExtendContentController extends BaseController {
60 76
                                           @RequestParam(value = "contentType", required = false) String contentType,
61 77
                                           @RequestParam(value = "showPosition", required = false) String showPosition,
62 78
                                           @RequestParam(value = "status", required = false) Integer status,
63
-                                          @RequestParam(value = "showType", required = false) String showType){
79
+                                          @RequestParam(value = "showType", required = false) String showType,HttpServletRequest request){
64 80
         ResponseBean responseBean = new ResponseBean();
65 81
             IPage<ExtendContent> pg = new Page<>(pageNum, pageSize);
66 82
             QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
@@ -69,6 +85,7 @@ public class ExtendContentController extends BaseController {
69 85
             queryWrapper.eq(StringUtils.isNotBlank(contentType), "content_type", contentType);
70 86
             queryWrapper.eq(StringUtils.isNotBlank(showPosition), "show_position", showPosition);
71 87
             queryWrapper.eq(null!=status, "status", status);
88
+            queryWrapper.eq( "org_id", getOrgId(request));
72 89
             queryWrapper.orderByDesc("create_date");
73 90
             IPage<ExtendContent> result = iExtendContentService.page(pg, queryWrapper);
74 91
             responseBean.addSuccess(result);
@@ -78,6 +95,16 @@ public class ExtendContentController extends BaseController {
78 95
     /**
79 96
      * 微信 开屏 / 轮播图
80 97
      */
98
+    @ApiOperation(value = "微信轮播图列表", notes = "微信轮播图列表")
99
+    @ApiImplicitParams({
100
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
101
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
102
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
103
+            @ApiImplicitParam(dataTypeClass = String.class, name = "contentType", paramType = "query",value = "内容类型"),
104
+            @ApiImplicitParam(dataTypeClass = String.class, name = "targetId", paramType = "query",value = ""),
105
+            @ApiImplicitParam(dataTypeClass = String.class, name = "contentId", paramType = "query",value = "内容ID"),
106
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市ID")
107
+    })
81 108
     @RequestMapping(value="/wx/extendContent/{showType}",method= RequestMethod.GET)
82 109
     public ResponseBean extendContentListShowType(@PathVariable(value = "showType") String showType,
83 110
                                                   @RequestParam(value = "showPosition", required = false) String showPosition,
@@ -85,8 +112,9 @@ public class ExtendContentController extends BaseController {
85 112
                                                   @RequestParam(value = "contentType", required = false) String contentType,
86 113
                                                   @RequestParam(value = "buildingId", required = false) String buildingId,
87 114
                                                   @RequestParam(value = "contentId", required = false) String contentId,
88
-                                                  @RequestParam(value = "cityId", required = false) Integer cityId){
89
-        ResponseBean responseBean= iExtendContentService.selectExtendContentListShowType(showType, showPosition, targetId,contentType, buildingId, contentId, cityId);
115
+                                                  @RequestParam(value = "cityId", required = false) Integer cityId,
116
+                                                  HttpServletRequest request){
117
+        ResponseBean responseBean= iExtendContentService.selectExtendContentListShowType(showType, showPosition, targetId,contentType, buildingId, contentId, cityId,getOrgId(request));
90 118
         return responseBean;
91 119
     }
92 120
 
@@ -96,11 +124,16 @@ public class ExtendContentController extends BaseController {
96 124
      * @param extendContent 实体对象
97 125
      * @return
98 126
      */
127
+    @ApiOperation(value = "后台轮播图保存", notes = "后台轮播图保存")
128
+    @ApiImplicitParams({
129
+            @ApiImplicitParam(dataType = "ExtendContent", name = "extendContent", paramType = "body",value = "轮播图内容")
130
+    })
99 131
     @RequestMapping(value="/admin/extendContent",method= RequestMethod.POST)
100
-    public ResponseBean extendContentAdd(@RequestBody ExtendContent extendContent){
132
+    public ResponseBean extendContentAdd(@RequestBody ExtendContent extendContent, HttpServletRequest request){
101 133
         Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
102 134
         extendContent.setCityId(cityId);
103 135
         extendContent.setCreateDate(LocalDateTime.now());
136
+        extendContent.setOrgId(getOrgId(request));
104 137
         ResponseBean  responseBean= iExtendContentService.extendContentAdd(extendContent);
105 138
           responseBean.addSuccess(extendContent);
106 139
           return responseBean;
@@ -110,6 +143,10 @@ public class ExtendContentController extends BaseController {
110 143
      * 根据id删除对象
111 144
      * @param id  实体ID
112 145
      */
146
+    @ApiOperation(value = "后台轮播图删除", notes = "后台轮播图删除")
147
+    @ApiImplicitParams({
148
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "payh",value = "轮播图id")
149
+    })
113 150
     @ResponseBody
114 151
     @RequestMapping(value="/admin/extendContent/{id}", method= RequestMethod.DELETE)
115 152
     public ResponseBean extendContentDelete(@PathVariable Integer id){
@@ -134,14 +171,20 @@ public class ExtendContentController extends BaseController {
134 171
      * @param extendContent 实体对象
135 172
      * @return
136 173
      */
174
+    @ApiOperation(value = "后台轮播图保存", notes = "后台轮播图保存")
175
+    @ApiImplicitParams({
176
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "payh",value = "轮播图id"),
177
+            @ApiImplicitParam(dataType = "ExtendContent", name = "extendContent", paramType = "body",value = "轮播图内容")
178
+    })
137 179
     @RequestMapping(value="/admin/extendContent/{id}",method= RequestMethod.PUT)
138 180
     public ResponseBean extendContentUpdate(@PathVariable Integer id,
139
-                                        @RequestBody ExtendContent extendContent){
181
+                                        @RequestBody ExtendContent extendContent,HttpServletRequest request){
140 182
         ResponseBean responseBean = new ResponseBean();
141 183
         extendContent.setContentId(id);
142 184
         try {
143 185
             Integer cityId = iTaBuildingService.getCityById(extendContent.getBuildingId());
144 186
             extendContent.setCityId(cityId);
187
+            extendContent.setOrgId(getOrgId(request));
145 188
             if (iExtendContentService.updateById(extendContent)){
146 189
                 responseBean.addSuccess(extendContent);
147 190
             }else {
@@ -159,6 +202,10 @@ public class ExtendContentController extends BaseController {
159 202
      * 根据id查询对象
160 203
      * @param id  实体ID
161 204
      */
205
+    @ApiOperation(value = "后台轮播图查询", notes = "后台轮播图查询")
206
+    @ApiImplicitParams({
207
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "payh",value = "轮播图id")
208
+    })
162 209
     @RequestMapping(value="/admin/extendContent/{id}",method= RequestMethod.GET)
163 210
     public ResponseBean extendContentGet(@PathVariable Integer id){
164 211
         ResponseBean responseBean = new ResponseBean();

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

@@ -0,0 +1,558 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.ExcelWriter;
5
+import com.alibaba.excel.write.metadata.WriteSheet;
6
+import com.alibaba.fastjson.JSONObject;
7
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8
+import com.baomidou.mybatisplus.core.metadata.IPage;
9
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10
+import com.huiju.estateagents.base.BaseController;
11
+import com.huiju.estateagents.base.ResponseBean;
12
+import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.entity.*;
14
+import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
15
+import com.huiju.estateagents.excel.HelpProceedAndFinish;
16
+import com.huiju.estateagents.excel.HelpRecordExport;
17
+import com.huiju.estateagents.excel.PublicCustomerExport;
18
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
19
+import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
20
+import com.huiju.estateagents.service.IHelpActivityService;
21
+import com.huiju.estateagents.service.IHelpInitiateRecordService;
22
+import com.huiju.estateagents.service.IHelpRecordService;
23
+import com.huiju.estateagents.service.ITaBuildingService;
24
+import com.huiju.estateagents.service.ITaPersonService;
25
+import com.huiju.estateagents.service.ITdPosterTemplateService;
26
+import com.huiju.estateagents.service.TaPosterService;
27
+import com.huiju.estateagents.service.TaShareContentService;
28
+import io.swagger.annotations.Api;
29
+import io.swagger.annotations.ApiOperation;
30
+import io.swagger.annotations.ApiImplicitParam;
31
+import io.swagger.annotations.ApiImplicitParams;
32
+import org.apache.ibatis.annotations.Param;
33
+import org.slf4j.Logger;
34
+import org.slf4j.LoggerFactory;
35
+import org.springframework.beans.factory.annotation.Autowired;
36
+import org.springframework.web.bind.annotation.*;
37
+
38
+import javax.servlet.http.HttpServletRequest;
39
+import javax.servlet.http.HttpServletResponse;
40
+import javax.xml.crypto.Data;
41
+import java.io.IOException;
42
+import java.util.HashMap;
43
+import java.util.List;
44
+import java.util.Map;
45
+
46
+/**
47
+ * <p>
48
+    * 助力活动  前端控制器
49
+    * </p>
50
+ *
51
+ * @author jobob
52
+ * @since 2019-10-17
53
+ */
54
+@RestController
55
+@RequestMapping("/api")
56
+@Api(value = "活动助力", tags = "活动助力")
57
+public class HelpActivityController extends BaseController {
58
+
59
+    private final Logger logger = LoggerFactory.getLogger(HelpActivityController.class);
60
+
61
+    @Autowired
62
+    public IHelpActivityService taHelpActivityService;
63
+
64
+    @Autowired
65
+    private ITaBuildingService iTaBuildingService;
66
+    
67
+    @Autowired
68
+    private ITaPersonService taPersonService;
69
+    
70
+    @Autowired
71
+    private IHelpInitiateRecordService helpInitiateRecordService;
72
+    
73
+    @Autowired
74
+    private IHelpRecordService helpRecordService;
75
+    
76
+    @Autowired
77
+    private TaPosterService taPosterService;
78
+    
79
+    @Autowired
80
+    private TaShareContentService taShareContentService;
81
+
82
+    @Autowired
83
+    private HelpInitiateRecordMapper helpInitiateRecordMapper;
84
+    
85
+    @Autowired
86
+    private ITdPosterTemplateService tdPosterTemplateService;
87
+    /**
88
+     * 活动助力列表
89
+     *
90
+     * @param pageNum
91
+     * @param pageSize
92
+     * @return
93
+     */
94
+    @ApiOperation(value = "活动助力列表", notes = "活动助力列表")
95
+    @ApiImplicitParams({
96
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
97
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
98
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query", value = "城市"),
99
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query", value = "项目"),
100
+            @ApiImplicitParam(dataTypeClass = String.class, name = "title", paramType = "query", value = "标题"),
101
+            @ApiImplicitParam(dataTypeClass = String.class, name = "startDate", paramType = "query", value = "活动开始时间"),
102
+            @ApiImplicitParam(dataTypeClass = String.class, name = "endDate", paramType = "query", value = "活动结束时间"),
103
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "activityStatus", paramType = "query", value = "活动状态")
104
+    })
105
+    @RequestMapping(value = "/admin/helpActivity/list", method = RequestMethod.GET)
106
+    public ResponseBean helpActivityList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
107
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
108
+                                         @RequestParam(value = "cityId", required = false) Integer cityId,
109
+                                         @RequestParam(value = "buildingId", required = false) String buildingId,
110
+                                         @RequestParam(value = "title", required = false) String title,
111
+                                         @RequestParam(value = "startDate", required = false) String startDate,
112
+                                         @RequestParam(value = "endDate", required = false) String endDate,
113
+                                         @RequestParam(value = "activityStatus", required = false) Integer activityStatus,
114
+                                         HttpServletRequest request) {
115
+        Integer orgId = getOrgId(request);
116
+        ResponseBean helpActivityList = taHelpActivityService.helpActivityList(pageNum, pageSize, cityId, buildingId, title, startDate, endDate, activityStatus, orgId);
117
+        return helpActivityList;
118
+    }
119
+
120
+    /**
121
+     * 活动助力列表
122
+     *
123
+     * @param pageNum
124
+     * @param pageSize
125
+     * @return
126
+     */
127
+    @ApiOperation(value = "活动助力列表 已开始 和 未开始", notes = "活动助力列表 已开始 和 未开始")
128
+    @ApiImplicitParams({
129
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
130
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
131
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query", value = "城市"),
132
+    })
133
+    @RequestMapping(value = "/admin/helpActivityEffective/list", method = RequestMethod.GET)
134
+    public ResponseBean helpActivityEffectiveList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
135
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
136
+                                         @RequestParam(value = "cityId", required = false) Integer cityId,
137
+                                         @RequestParam(value = "buildingId", required = false) String buildingId,
138
+                                         HttpServletRequest request) {
139
+        Integer orgId = getOrgId(request);
140
+        ResponseBean helpActivityList = taHelpActivityService.helpActivityEffectiveList(pageNum, pageSize, cityId, orgId, buildingId);
141
+        return helpActivityList;
142
+    }
143
+
144
+    @ApiOperation(value = "活动助力新增", notes = "活动助力新增")
145
+    @ApiImplicitParams({
146
+            @ApiImplicitParam(dataType = "HelpActivity", name = "parameter", paramType = "body", value = "当前对象")
147
+    })
148
+    @RequestMapping(value = "/admin/helpActivity/add", method = RequestMethod.POST)
149
+    public ResponseBean helpActivityAdd(@RequestBody String parameter, HttpServletRequest request) {
150
+        HelpActivity helpActivity = JSONObject.parseObject(parameter, HelpActivity.class);
151
+        ResponseBean responseBean = new ResponseBean();
152
+        Integer orgId = getOrgId(request);
153
+        Integer cityId = iTaBuildingService.getCityById(helpActivity.getBuildingId());
154
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
155
+        helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
156
+        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
157
+        if (heavyCount != 0){
158
+            responseBean.addError("权重已存在,请重新编辑");
159
+            return responseBean;
160
+        }
161
+        helpActivity.setCityId(cityId);
162
+        // 活动暂且定位为未开始
163
+        helpActivity.setActivityStatus(1);
164
+        helpActivity.setStatus(1);
165
+        helpActivity.setWeight(0);
166
+        helpActivity.setIsMain(false);
167
+        taHelpActivityService.helpActivityAdd(helpActivity, orgId);
168
+        return responseBean;
169
+    }
170
+
171
+    /**
172
+     * 根据id删除对象
173
+     *
174
+     * @param id 实体ID
175
+     */
176
+    @ResponseBody
177
+    @RequestMapping(value = "/helpActivity/{id}", method = RequestMethod.DELETE)
178
+    public ResponseBean helpActivityDelete(@PathVariable Integer id) {
179
+        ResponseBean responseBean = new ResponseBean();
180
+        try {
181
+            if (taHelpActivityService.removeById(id)) {
182
+                responseBean.addSuccess("success");
183
+            } else {
184
+                responseBean.addError("fail");
185
+            }
186
+        } catch (Exception e) {
187
+            e.printStackTrace();
188
+            logger.error("helpActivityDelete -=- {}", e.toString());
189
+            responseBean.addError(e.getMessage());
190
+        }
191
+        return responseBean;
192
+    }
193
+
194
+
195
+    @ApiOperation(value = "活动助力修改", notes = "活动助力修改")
196
+    @ApiImplicitParams({
197
+            @ApiImplicitParam(dataTypeClass = HelpActivity.class, name = "helpActivity", paramType = "body", value = "当前对象"),
198
+    })
199
+    @RequestMapping(value = "admin/helpActivity/update", method = RequestMethod.PUT)
200
+    public ResponseBean helpActivityUpdate(@RequestBody String parameter) {
201
+        ResponseBean responseBean = new ResponseBean();
202
+        HelpActivity helpActivity = JSONObject.parseObject(parameter, HelpActivity.class);
203
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
204
+        helpActivityQueryWrapper.eq("heavy", helpActivity.getHeavy());
205
+        Integer heavyCount = taHelpActivityService.count(helpActivityQueryWrapper);
206
+        if (heavyCount != 0){
207
+            responseBean.addError("权重已存在,请重新编辑");
208
+            return responseBean;
209
+        }
210
+        Integer cityId = iTaBuildingService.getCityById( helpActivity.getBuildingId());
211
+        helpActivity.setCityId(cityId);
212
+        helpActivity.setHelpActivityId(helpActivity.getHelpActivityId());
213
+        taHelpActivityService.helpActivityUpdate(helpActivity);
214
+        return responseBean;
215
+    }
216
+
217
+    @ApiOperation(value = "根据id查询活动助力详情", notes = "根据id查询活动助力详情")
218
+    @ApiImplicitParams({
219
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "query", value = "活动状态")
220
+    })
221
+    @RequestMapping(value = "admin/helpActivity/details", method = RequestMethod.GET)
222
+    public ResponseBean helpActivityGet(@RequestParam(value = "helpActivityId", required = false) Integer helpActivityId) {
223
+        ResponseBean responseBean = new ResponseBean();
224
+        try {
225
+            responseBean.addSuccess(taHelpActivityService.getById(helpActivityId));
226
+        } catch (Exception e) {
227
+            e.printStackTrace();
228
+            logger.error("helpActivityDelete -=- {}", e.toString());
229
+            responseBean.addError(e.getMessage());
230
+        }
231
+        return responseBean;
232
+    }
233
+
234
+    @ApiOperation(value = "置顶和推首页", notes = "置顶和推首页")
235
+    @ApiImplicitParams({
236
+            @ApiImplicitParam(dataTypeClass = String.class, name = "parameter", paramType = "body", value = "status:0置顶操作,1推首页操作,2结束活动操作,helpActivityId:助力ID")
237
+    })
238
+    @RequestMapping(value = "admin/top/update", method = RequestMethod.POST)
239
+    public ResponseBean top(@RequestBody String parameter) {
240
+        ResponseBean responseBean = new ResponseBean();
241
+        JSONObject object = JSONObject.parseObject(parameter);
242
+        // 根据状态值判断是置顶还是推首页的操作
243
+        String activityStatus = object.getString("status");
244
+        String helpActivityId = object.getString("helpActivityId");
245
+        HelpActivity helpActivity = taHelpActivityService.getById(helpActivityId);
246
+        // 置顶操作
247
+        if (activityStatus.equals("0")) {
248
+            helpActivity.setWeight(Integer.valueOf(helpActivity.getWeight().equals(0) ? 1 : 0));
249
+        }
250
+        // 推首页
251
+        if (activityStatus.equals("1")) {
252
+            helpActivity.setIsMain(true == helpActivity.getIsMain() ? false : true);
253
+        }
254
+        // 结束活动操作
255
+        if (activityStatus.equals("2")) {
256
+            helpActivity.setActivityStatus(2);
257
+            QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery= new QueryWrapper<>();
258
+            helpInitiateRecordQuery.eq("help_activity_id",helpActivityId);
259
+                List<HelpInitiateRecord> list= helpInitiateRecordMapper.selectList(helpInitiateRecordQuery);
260
+                for (HelpInitiateRecord helpInitiateRecord:list){
261
+                    // 助力成功的不更新。
262
+                    if (!helpInitiateRecord.getStatus().equals(0)) {
263
+                        helpInitiateRecord.setStatus(2);
264
+                        helpInitiateRecordMapper.updateById(helpInitiateRecord);
265
+                    }
266
+                }
267
+        }
268
+        Boolean isA = taHelpActivityService.updateById(helpActivity);
269
+        responseBean.addSuccess(isA);
270
+        return responseBean;
271
+    }
272
+
273
+    @RequestMapping(value = "/admin/helpActivity/send/{helpActivityId}", method = RequestMethod.PUT)
274
+    public ResponseBean send(@PathVariable String helpActivityId, HttpServletRequest request) {
275
+        ResponseBean responseBean = new ResponseBean();
276
+        QueryWrapper<HelpActivity> helpActivityQueryWrapper = new QueryWrapper<>();
277
+        helpActivityQueryWrapper.eq("help_activity_id", helpActivityId);
278
+        HelpActivity helpActivity = taHelpActivityService.getOne(helpActivityQueryWrapper);
279
+        helpActivity.setStatus(1);
280
+        helpActivity.setOrgId(getOrgId(request));
281
+        taHelpActivityService.update(helpActivity, helpActivityQueryWrapper);
282
+        return responseBean;
283
+    }
284
+
285
+    @RequestMapping(value = "/admin/helpActivity/cancel/{helpActivityId}", method = RequestMethod.PUT)
286
+    public ResponseBean cancel(@PathVariable String helpActivityId, HttpServletRequest request) {
287
+        ResponseBean responseBean = new ResponseBean();
288
+        QueryWrapper<HelpActivity> taShareActivityQueryWrapper = new QueryWrapper<>();
289
+        taShareActivityQueryWrapper.eq("help_activity_id", helpActivityId);
290
+        HelpActivity helpActivity = taHelpActivityService.getOne(taShareActivityQueryWrapper);
291
+        helpActivity.setStatus(-1);
292
+        helpActivity.setOrgId(getOrgId(request));
293
+        taHelpActivityService.update(helpActivity, taShareActivityQueryWrapper);
294
+        return responseBean;
295
+    }
296
+
297
+    @ApiOperation(value = "助力记录", notes = "助力记录")
298
+    @ApiImplicitParams({
299
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
300
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
301
+            @ApiImplicitParam(dataTypeClass = String.class, name = "helpActivityId", paramType = "query", value = "助力ID"),
302
+            @ApiImplicitParam(dataTypeClass = String.class, name = "tel", paramType = "query", value = "tel"),
303
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query", value = "status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败")
304
+    })
305
+    @RequestMapping(value = "admin/helpRecord", method = RequestMethod.GET)
306
+    public ResponseBean helpRecord(@RequestParam(value = "helpActivityId", required = false) Integer helpActivityId,
307
+                                   @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
308
+                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
309
+                                   @RequestParam(value = "status", required = false) String status,
310
+                                   @RequestParam(value = "tel", required = false) String tel) {
311
+        ResponseBean helpRecord = taHelpActivityService.helpRecord(helpActivityId, status, pageNum, pageSize,tel);
312
+        return helpRecord;
313
+    }
314
+
315
+    @ApiOperation(value = "助力人详情", notes = "助力人详情")
316
+    @ApiImplicitParams({
317
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
318
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
319
+            @ApiImplicitParam(dataTypeClass = String.class, name = "helpRecordInitiateId", paramType = "query", value = "发起助力ID"),
320
+    })
321
+    @RequestMapping(value = "admin/taHelpRecord/details", method = RequestMethod.GET)
322
+    public ResponseBean taHelpRecordDetails(@RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId,
323
+                                            @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
324
+                                            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
325
+        ResponseBean helpRecord = taHelpActivityService.taHelpRecordDetails(helpRecordInitiateId, pageNum, pageSize);
326
+        return helpRecord;
327
+    }
328
+
329
+    @ApiOperation(value = "核销", notes = "核销")
330
+    @ApiImplicitParams({
331
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query", value = "第几页"),
332
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
333
+            @ApiImplicitParam(dataTypeClass = String.class, name = "helpRecordInitiateId", paramType = "query", value = "发起助力ID"),
334
+            @ApiImplicitParam(dataTypeClass = String.class, name = "verifyCode", paramType = "query", value = "核销码"),
335
+    })
336
+    @RequestMapping(value = "admin/helpInitiateRecordVerify", method = RequestMethod.POST)
337
+    public ResponseBean helpInitiateRecordVerify(@RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId,
338
+                                                 @RequestParam(value = "verifyCode", required = false) String verifyCode) {
339
+        ResponseBean helpRecord = taHelpActivityService.helpInitiateRecordVerify(helpRecordInitiateId, verifyCode);
340
+        return helpRecord;
341
+    }
342
+
343
+    /**
344
+     * 导出数据 成功/进行/失败
345
+     *
346
+     * @param request
347
+     * @param response
348
+     * @throws IOException
349
+     */
350
+    @GetMapping("/admin/HelpInitiateRecordSucceed/export")
351
+    public void getCustomerExportList(HttpServletRequest request,
352
+                                      HttpServletResponse response,
353
+                                      @RequestParam(value = "tel", required = false) String tel,
354
+                                      @RequestParam(value = "helpActivityId", required = false) Integer helpActivityId,
355
+                                      @RequestParam(value = "condition", required = false) String condition) throws IOException {
356
+        //        response.setContentType("application/vnd.ms-excel");
357
+        response.setContentType("application/octet-stream");
358
+        response.setCharacterEncoding("utf-8");
359
+        response.setHeader("Content-disposition", "attachment;filename=助力活动发起人.xlsx");
360
+
361
+        Integer orgId = getOrgId(request);
362
+
363
+        Integer pageCode = 0;
364
+        Integer pageSize = 100;
365
+        // 总页数
366
+        Integer pageCount = 0;
367
+
368
+        /**
369
+         * 助力活动发起者
370
+         */
371
+        // 设置读取的class
372
+       // code:helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
373
+        if ("helpSucceed".equals(condition)){
374
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpInitiateRecordSucceed.class).registerWriteHandler(new CustomCellWriteHandler()).build();
375
+            // 设置 sheet, 同一个sheet只需要设置一次
376
+            WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
377
+            Integer count = taHelpActivityService.getHelpInitiateRecordSucceed(tel,helpActivityId);
378
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
379
+            List<HelpInitiateRecordSucceed> publicList = null;
380
+            do {
381
+                publicList = taHelpActivityService.getHelpInitiateRecordSucceedExportList(pageCode * pageSize, pageSize,tel,helpActivityId);
382
+                excelWriter.write(publicList, writeSheet);
383
+
384
+                pageCode++;
385
+            } while (pageCode <= pageCount);
386
+
387
+            // finish 会帮忙关闭流
388
+            excelWriter.finish();
389
+        }else {
390
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpProceedAndFinish.class).registerWriteHandler(new CustomCellWriteHandler()).build();
391
+            // 设置 sheet, 同一个sheet只需要设置一次
392
+            WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
393
+            Integer count = taHelpActivityService.getHelpInitiateRecordSucceed(tel,helpActivityId);
394
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
395
+            List<HelpProceedAndFinish> publicList = null;
396
+            do {
397
+                publicList = taHelpActivityService.getHelpProceedAndFinishExportList(pageCode * pageSize, pageSize,tel,helpActivityId,condition);
398
+                excelWriter.write(publicList, writeSheet);
399
+
400
+                pageCode++;
401
+            } while (pageCode <= pageCount);
402
+
403
+            // finish 会帮忙关闭流
404
+            excelWriter.finish();
405
+        }
406
+
407
+    }
408
+
409
+    /**
410
+     * 助力活动查询当前助力者记录
411
+     *
412
+     * @param request
413
+     * @param response
414
+     * @throws IOException
415
+     */
416
+    @GetMapping("/admin/helpRecord/export")
417
+    public void gethelpRecordExport(HttpServletRequest request,
418
+                                      HttpServletResponse response,
419
+                                      @RequestParam(value = "helpRecordInitiateId", required = false) Integer helpRecordInitiateId) throws IOException {
420
+        //        response.setContentType("application/vnd.ms-excel");
421
+        response.setContentType("application/octet-stream");
422
+        response.setCharacterEncoding("utf-8");
423
+        response.setHeader("Content-disposition", "attachment;filename=助力活动发起人.xlsx");
424
+
425
+        Integer orgId = getOrgId(request);
426
+
427
+        Integer pageCode = 0;
428
+        Integer pageSize = 100;
429
+        // 总页数
430
+        Integer pageCount = 0;
431
+
432
+        /**
433
+         * 助力活动发起者
434
+         */
435
+        // 设置读取的class
436
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), HelpRecordExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
437
+            // 设置 sheet, 同一个sheet只需要设置一次
438
+            WriteSheet writeSheet = EasyExcel.writerSheet("助力成功").build();
439
+            Integer count = taHelpActivityService.getHelpRecord(helpRecordInitiateId);
440
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
441
+            List<HelpRecordExport> publicList = null;
442
+            do {
443
+                publicList = taHelpActivityService.getHelpRecordExportList(pageCode * pageSize, pageSize,helpRecordInitiateId);
444
+                excelWriter.write(publicList, writeSheet);
445
+
446
+                pageCode++;
447
+            } while (pageCode <= pageCount);
448
+
449
+            // finish 会帮忙关闭流
450
+            excelWriter.finish();
451
+    }
452
+    
453
+    @ApiOperation(value = "微信端根据id查询活动助力详情", notes = "根据id查询活动助力详情")
454
+    @ApiImplicitParams({
455
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "path", value = "活动状态")
456
+    })
457
+    @RequestMapping(value = "/wx/helpActivity/{helpActivityId}", method = RequestMethod.GET)
458
+    public ResponseBean wxHelpActivityGet(@PathVariable(value = "helpActivityId") Integer helpActivityId,
459
+                                          @RequestParam(value = "initiateId",required = false) Integer initiateId,HttpServletRequest request) {
460
+        ResponseBean responseBean = new ResponseBean();
461
+        Integer orgId = getOrgId(request);
462
+        String openid = getOpenId(request);
463
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
464
+        if (null == taPersons || taPersons.size() != 1) {
465
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
466
+        }
467
+        TaPerson person = taPersons.get(0);
468
+        Map<String,Object> map = new HashMap<>();
469
+        try {
470
+            //活动信息
471
+            HelpActivity helpActivity = taHelpActivityService.getById(helpActivityId);
472
+            QueryWrapper<HelpInitiateRecord> helpInitiateRecordQueryWrapper = new QueryWrapper<>();
473
+            helpInitiateRecordQueryWrapper.eq("org_id",orgId);
474
+            helpInitiateRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
475
+            helpInitiateRecordQueryWrapper.eq("status",CommConstant.STATUS_UNACCALIMED);
476
+            //已经成功的助力
477
+            List<HelpInitiateRecord> helpInitiateRecordList = helpInitiateRecordMapper.selectList(helpInitiateRecordQueryWrapper);
478
+            helpActivity.setSuccessNum(helpInitiateRecordList.size());
479
+            map.put("helpActivity",helpActivity);
480
+            
481
+            //发起者信息
482
+            HelpInitiateRecord helpInitiateRecord = null;
483
+             if (null != initiateId){
484
+                 helpInitiateRecord = helpInitiateRecordService.getById(initiateId);
485
+             }else {
486
+                 QueryWrapper<HelpInitiateRecord> initiateRecordQueryWrapper = new QueryWrapper<>();
487
+                 initiateRecordQueryWrapper.eq("org_id",orgId);
488
+                 initiateRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
489
+                 initiateRecordQueryWrapper.eq("person_id",person.getPersonId());
490
+                 helpInitiateRecord = helpInitiateRecordService.getOne(initiateRecordQueryWrapper);
491
+             }
492
+             
493
+             //判断是否发起者
494
+            if (null != helpInitiateRecord){
495
+                helpActivity.setHelpStatus(CommConstant.HELP_STATUS_INITIATE);
496
+        
497
+                //助力者信息
498
+                QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
499
+                helpRecordQueryWrapper.eq("org_id",orgId);
500
+                helpRecordQueryWrapper.eq("help_activity_id",helpActivity.getHelpActivityId());
501
+                helpRecordQueryWrapper.eq("help_record_initiate_id",helpInitiateRecord.getHelpRecordInitiateId());
502
+                List<HelpRecord> helpRecordList = helpRecordService.list(helpRecordQueryWrapper);
503
+                helpRecordList.forEach(e -> {
504
+                    if (e.getPersonId().equals(person.getPersonId())){
505
+                        map.put("isJoin",true);
506
+                    }
507
+                });
508
+        
509
+                map.put("helpInitiateRecord",helpInitiateRecord);
510
+                map.put("helpRecordList",helpRecordList);
511
+            }
512
+    
513
+            //获取海报信息
514
+            QueryWrapper<TaPoster> posterQueryWrapper = new QueryWrapper<>();
515
+            posterQueryWrapper.eq("target_type",CommConstant.HELP_ACTIVITY);
516
+            posterQueryWrapper.eq("target_id",helpActivityId);
517
+            posterQueryWrapper.eq("org_id",orgId);
518
+            List<TaPoster> postList = taPosterService.list(posterQueryWrapper);
519
+            map.put("postList",postList);
520
+    
521
+            QueryWrapper<TdPosterTemplate> tdPosterTemplateQueryWrapper = new QueryWrapper<>();
522
+            //tdPosterTemplateQueryWrapper.eq("org_id",orgId);
523
+            tdPosterTemplateQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
524
+            tdPosterTemplateQueryWrapper.eq("type",CommConstant.HELP_ACTIVITY);
525
+            List<TdPosterTemplate> posterTemplateList = tdPosterTemplateService.list(tdPosterTemplateQueryWrapper);
526
+            map.put("posterTemplateList",posterTemplateList);
527
+            
528
+            //获取分享信息
529
+            QueryWrapper<TaShareContent> taShareContentQueryWrapper = new QueryWrapper<>();
530
+            taShareContentQueryWrapper.eq("share_content_type",CommConstant.HELP_ACTIVITY);
531
+            taShareContentQueryWrapper.eq("target_id",helpActivityId);
532
+            taShareContentQueryWrapper.eq("org_id",orgId);
533
+            List<TaShareContent> shareContentList = taShareContentService.list(taShareContentQueryWrapper);
534
+            map.put("shareContentList",shareContentList);
535
+    
536
+            responseBean.addSuccess(map);
537
+        } catch (Exception e) {
538
+            e.printStackTrace();
539
+            logger.error("helpActivityDelete -=- {}", e.toString());
540
+            responseBean.addError(e.getMessage());
541
+        }
542
+        return responseBean;
543
+    }
544
+    @ApiOperation(value = "微信端查询拼团和助力推首页的活动的", notes = "微信端查询拼团和助力推首页的活动的")
545
+    @ApiImplicitParams({
546
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "buildingId", paramType = "query", value = "活动状态"),
547
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "type", paramType = "query", value = "1助力,2拼团"),
548
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "type", paramType = "query", value = "cityId首页专用")
549
+    })
550
+    @RequestMapping(value = "/wx/helpActivityAndGroup", method = RequestMethod.GET)
551
+    public ResponseBean wxhelpActivityAndGroup(HttpServletRequest request,
552
+                                               @RequestParam(value = "buildingId",required = false) String buildingId,
553
+                                               @RequestParam(value = "cityId",required = false) String cityId) {
554
+            ResponseBean lsit = taHelpActivityService.wxhelpActivityAndGroup(getOrgId(request),buildingId,cityId);
555
+                return lsit;
556
+        }
557
+
558
+}

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

@@ -0,0 +1,265 @@
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.HelpActivity;
10
+import com.huiju.estateagents.entity.HelpInitiateRecord;
11
+import com.huiju.estateagents.entity.HelpRecord;
12
+import com.huiju.estateagents.entity.TaPerson;
13
+import com.huiju.estateagents.service.IHelpActivityService;
14
+import com.huiju.estateagents.service.IHelpInitiateRecordService;
15
+import com.huiju.estateagents.service.IHelpRecordService;
16
+import com.huiju.estateagents.service.ITaPersonService;
17
+import org.slf4j.Logger;
18
+import org.slf4j.LoggerFactory;
19
+import org.springframework.beans.factory.annotation.Autowired;
20
+import org.springframework.web.bind.annotation.PathVariable;
21
+import org.springframework.web.bind.annotation.RequestBody;
22
+import org.springframework.web.bind.annotation.RequestMapping;
23
+import org.springframework.web.bind.annotation.RequestMethod;
24
+import org.springframework.web.bind.annotation.RequestParam;
25
+import org.springframework.web.bind.annotation.ResponseBody;
26
+import org.springframework.web.bind.annotation.RestController;
27
+
28
+import javax.servlet.http.HttpServletRequest;
29
+import java.time.LocalDateTime;
30
+import java.util.ArrayList;
31
+import java.util.HashMap;
32
+import java.util.List;
33
+import java.util.Map;
34
+
35
+/**
36
+ * <p>
37
+    * 助力活动发起人员记录  前端控制器
38
+    * </p>
39
+ *
40
+ * @author jobob
41
+ * @since 2019-10-17
42
+ */
43
+@RestController
44
+@RequestMapping("/api")
45
+public class HelpInitiateRecordController extends BaseController {
46
+
47
+    private final Logger logger = LoggerFactory.getLogger(HelpInitiateRecordController.class);
48
+
49
+    @Autowired
50
+    public IHelpInitiateRecordService taHelpInitiateRecordService;
51
+    
52
+    @Autowired
53
+    private ITaPersonService taPersonService;
54
+    
55
+    @Autowired
56
+    public IHelpRecordService helpRecordService;
57
+    
58
+    @Autowired
59
+    public IHelpActivityService taHelpActivityService;
60
+    
61
+    /**
62
+     * 分页查询列表
63
+     * @param pageNum
64
+     * @param pageSize
65
+     * @return
66
+     */
67
+    @RequestMapping(value="/helpInitiateRecord",method= RequestMethod.GET)
68
+    public ResponseBean helpInitiateRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
69
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
70
+        ResponseBean responseBean = new ResponseBean();
71
+        try {
72
+            //使用分页插件
73
+		    IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
74
+            QueryWrapper<HelpInitiateRecord> queryWrapper = new QueryWrapper<>();
75
+            queryWrapper.orderByDesc("create_date");
76
+
77
+            IPage<HelpInitiateRecord> result = taHelpInitiateRecordService.page(pg, queryWrapper);
78
+            responseBean.addSuccess(result);
79
+        }catch (Exception e){
80
+            e.printStackTrace();
81
+            logger.error("helpInitiateRecordList -=- {}",e.toString());
82
+            responseBean.addError(e.getMessage());
83
+        }
84
+        return responseBean;
85
+    }
86
+
87
+    /**
88
+     * 保存对象
89
+     * @param helpInitiateRecord 实体对象
90
+     * @return
91
+     */
92
+    @RequestMapping(value="/helpInitiateRecord",method= RequestMethod.POST)
93
+    public ResponseBean helpInitiateRecordAdd(@RequestBody HelpInitiateRecord helpInitiateRecord){
94
+        ResponseBean responseBean = new ResponseBean();
95
+        try {
96
+            if (taHelpInitiateRecordService.save(helpInitiateRecord)){
97
+                responseBean.addSuccess(helpInitiateRecord);
98
+            }else {
99
+                responseBean.addError("fail");
100
+            }
101
+        }catch (Exception e){
102
+            e.printStackTrace();
103
+            logger.error("helpInitiateRecordAdd -=- {}",e.toString());
104
+            responseBean.addError(e.getMessage());
105
+        }
106
+        return responseBean;
107
+    }
108
+
109
+    /**
110
+     * 根据id删除对象
111
+     * @param id  实体ID
112
+     */
113
+    @ResponseBody
114
+    @RequestMapping(value="/helpInitiateRecord/{id}", method= RequestMethod.DELETE)
115
+    public ResponseBean helpInitiateRecordDelete(@PathVariable Integer id){
116
+        ResponseBean responseBean = new ResponseBean();
117
+        try {
118
+            if(taHelpInitiateRecordService.removeById(id)){
119
+                responseBean.addSuccess("success");
120
+            }else {
121
+                responseBean.addError("fail");
122
+            }
123
+        }catch (Exception e){
124
+            e.printStackTrace();
125
+            logger.error("helpInitiateRecordDelete -=- {}",e.toString());
126
+            responseBean.addError(e.getMessage());
127
+        }
128
+        return responseBean;
129
+    }
130
+
131
+    /**
132
+     * 修改对象
133
+     * @param id  实体ID
134
+     * @param helpInitiateRecord 实体对象
135
+     * @return
136
+     */
137
+    @RequestMapping(value="/helpInitiateRecord/{id}",method= RequestMethod.PUT)
138
+    public ResponseBean helpInitiateRecordUpdate(@PathVariable Integer id,
139
+                                        @RequestBody HelpInitiateRecord helpInitiateRecord){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            if (taHelpInitiateRecordService.updateById(helpInitiateRecord)){
143
+                responseBean.addSuccess(helpInitiateRecord);
144
+            }else {
145
+                responseBean.addError("fail");
146
+            }
147
+        }catch (Exception e){
148
+            e.printStackTrace();
149
+            logger.error("helpInitiateRecordUpdate -=- {}",e.toString());
150
+            responseBean.addError(e.getMessage());
151
+        }
152
+        return responseBean;
153
+    }
154
+
155
+    /**
156
+     * 根据id查询对象
157
+     * @param id  实体ID
158
+     */
159
+    @RequestMapping(value="/helpInitiateRecord/{id}",method= RequestMethod.GET)
160
+    public ResponseBean helpInitiateRecordGet(@PathVariable Integer id){
161
+        ResponseBean responseBean = new ResponseBean();
162
+        try {
163
+            responseBean.addSuccess(taHelpInitiateRecordService.getById(id));
164
+        }catch (Exception e){
165
+            e.printStackTrace();
166
+            logger.error("helpInitiateRecordDelete -=- {}",e.toString());
167
+            responseBean.addError(e.getMessage());
168
+        }
169
+        return responseBean;
170
+    }
171
+    
172
+    /**
173
+     * 微信端分页查询我发起的助力活动
174
+     * @param pageNumber
175
+     * @param pageSize
176
+     * @return
177
+     */
178
+    @RequestMapping(value="/wx/helpInitiateRecord",method= RequestMethod.GET)
179
+    public ResponseBean wxhelpInitiateRecordList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
180
+                                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
181
+                                                 HttpServletRequest request){
182
+        String openid = getOpenId(request);
183
+        Integer orgId = getOrgId(request);
184
+        ResponseBean responseBean = new ResponseBean();
185
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
186
+        if (null == taPersons || taPersons.size() != 1) {
187
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
188
+        }
189
+        TaPerson person = taPersons.get(0);
190
+        try {
191
+            //分页获取数据
192
+            responseBean = taHelpInitiateRecordService.getInitiateRecord(pageNumber, pageSize,orgId,person.getPersonId());
193
+        }catch (Exception e){
194
+            e.printStackTrace();
195
+            logger.error("helpInitiateRecordList -=- {}",e.toString());
196
+            responseBean.addError(e.getMessage());
197
+        }
198
+        return responseBean;
199
+    }
200
+    
201
+    
202
+    /**
203
+     * 微信端保存发起活动对象
204
+     * @param helpInitiateRecord 实体对象
205
+     * @return
206
+     */
207
+    @RequestMapping(value="/wx/helpInitiateRecord",method= RequestMethod.POST)
208
+    public ResponseBean wxHelpInitiateRecordAdd(@RequestBody HelpInitiateRecord helpInitiateRecord,HttpServletRequest request){
209
+        ResponseBean responseBean = new ResponseBean();
210
+        String openid = getOpenId(request);
211
+        Integer orgId = getOrgId(request);
212
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
213
+        if (null == taPersons || taPersons.size() != 1) {
214
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
215
+        }
216
+        TaPerson person = taPersons.get(0);
217
+        Map<String,Object> map = new HashMap<>();
218
+        HelpActivity helpActivity = taHelpActivityService.getById(helpInitiateRecord.getHelpActivityId());
219
+        if(helpActivity.getActivityStatus().equals(CommConstant.ACTIVITY_STATUS_FINISH)){
220
+            return ResponseBean.error("活动已结束", ResponseBean.ERROR_UNAVAILABLE);
221
+        }
222
+        if(helpActivity.getStatus().equals(CommConstant.STATUS_UNACCALIMED)){
223
+            return ResponseBean.error("活动已失效", ResponseBean.ERROR_UNAVAILABLE);
224
+        }
225
+        try {
226
+ 
227
+            //查看是否发起过助力
228
+            QueryWrapper<HelpInitiateRecord> helpInitiateRecordQueryWrapper = new QueryWrapper<>();
229
+            helpInitiateRecordQueryWrapper.eq("help_activity_id",helpInitiateRecord.getHelpActivityId());
230
+            helpInitiateRecordQueryWrapper.eq("org_id",orgId);
231
+            helpInitiateRecordQueryWrapper.eq("person_id",person.getPersonId());
232
+            helpInitiateRecordQueryWrapper.ne("status",-1);
233
+            HelpInitiateRecord recordServiceOne = taHelpInitiateRecordService.getOne(helpInitiateRecordQueryWrapper);
234
+            if (null != recordServiceOne){
235
+                map.put("helpInitiateRecord",recordServiceOne);
236
+                QueryWrapper<HelpRecord> helpRecordQueryWrapper = new QueryWrapper<>();
237
+                helpRecordQueryWrapper.eq("help_activity_id",helpInitiateRecord.getHelpActivityId());
238
+                helpRecordQueryWrapper.eq("org_id",orgId);
239
+                helpRecordQueryWrapper.eq("help_record_initiate_id",recordServiceOne.getHelpRecordInitiateId());
240
+                List<HelpRecord> list = helpRecordService.list(helpRecordQueryWrapper);
241
+                map.put("helpRecordList",list);
242
+                responseBean.addSuccess(map);
243
+                return responseBean;
244
+            }
245
+ 
246
+            helpInitiateRecord.setPersonId(person.getPersonId());
247
+            helpInitiateRecord.setVerificationStatus(CommConstant.STATUS_UNACCALIMED);
248
+            helpInitiateRecord.setCreateDate(LocalDateTime.now());
249
+            helpInitiateRecord.setOrgId(orgId);
250
+            helpInitiateRecord.setStatus(1);
251
+            if (taHelpInitiateRecordService.save(helpInitiateRecord)){
252
+                map.put("helpInitiateRecord",helpInitiateRecord);
253
+                map.put("helpRecordList",new ArrayList<>());
254
+                responseBean.addSuccess(map);
255
+            }else {
256
+                responseBean.addError("fail");
257
+            }
258
+        }catch (Exception e){
259
+            e.printStackTrace();
260
+            logger.error("helpInitiateRecordAdd -=- {}",e.toString());
261
+            responseBean.addError(e.getMessage());
262
+        }
263
+        return responseBean;
264
+    }
265
+}

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

@@ -0,0 +1,184 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.HelpRecord;
9
+import com.huiju.estateagents.entity.TaPerson;
10
+import com.huiju.estateagents.service.IHelpRecordService;
11
+import com.huiju.estateagents.service.ITaPersonService;
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.PathVariable;
16
+import org.springframework.web.bind.annotation.RequestBody;
17
+import org.springframework.web.bind.annotation.RequestMapping;
18
+import org.springframework.web.bind.annotation.RequestMethod;
19
+import org.springframework.web.bind.annotation.RequestParam;
20
+import org.springframework.web.bind.annotation.ResponseBody;
21
+import org.springframework.web.bind.annotation.RestController;
22
+
23
+import javax.servlet.http.HttpServletRequest;
24
+import java.time.LocalDateTime;
25
+import java.util.List;
26
+
27
+/**
28
+ * <p>
29
+    * 助力活动助力人员记录  前端控制器
30
+    * </p>
31
+ *
32
+ * @author jobob
33
+ * @since 2019-10-17
34
+ */
35
+@RestController
36
+@RequestMapping("/api")
37
+public class HelpRecordController extends BaseController {
38
+
39
+    private final Logger logger = LoggerFactory.getLogger(HelpRecordController.class);
40
+
41
+    @Autowired
42
+    public IHelpRecordService taHelpRecordService;
43
+    
44
+    @Autowired
45
+    private ITaPersonService taPersonService;
46
+
47
+
48
+    /**
49
+     * 分页查询列表
50
+     * @param pageNum
51
+     * @param pageSize
52
+     * @return
53
+     */
54
+    @RequestMapping(value="/helpRecord",method= RequestMethod.GET)
55
+    public ResponseBean helpRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
57
+        ResponseBean responseBean = new ResponseBean();
58
+        try {
59
+            //使用分页插件
60
+		    IPage<HelpRecord> pg = new Page<>(pageNum, pageSize);
61
+            QueryWrapper<HelpRecord> queryWrapper = new QueryWrapper<>();
62
+            queryWrapper.orderByDesc("create_date");
63
+
64
+            IPage<HelpRecord> result = taHelpRecordService.page(pg, queryWrapper);
65
+            responseBean.addSuccess(result);
66
+        }catch (Exception e){
67
+            e.printStackTrace();
68
+            logger.error("helpRecordList -=- {}",e.toString());
69
+            responseBean.addError(e.getMessage());
70
+        }
71
+        return responseBean;
72
+    }
73
+
74
+    /**
75
+     * 保存对象
76
+     * @param helpRecord 实体对象
77
+     * @return
78
+     */
79
+    @RequestMapping(value="/helpRecord",method= RequestMethod.POST)
80
+    public ResponseBean helpRecordAdd(@RequestBody HelpRecord helpRecord){
81
+        ResponseBean responseBean = new ResponseBean();
82
+        try {
83
+            if (taHelpRecordService.save(helpRecord)){
84
+                responseBean.addSuccess(helpRecord);
85
+            }else {
86
+                responseBean.addError("fail");
87
+            }
88
+        }catch (Exception e){
89
+            e.printStackTrace();
90
+            logger.error("helpRecordAdd -=- {}",e.toString());
91
+            responseBean.addError(e.getMessage());
92
+        }
93
+        return responseBean;
94
+    }
95
+
96
+    /**
97
+     * 根据id删除对象
98
+     * @param id  实体ID
99
+     */
100
+    @ResponseBody
101
+    @RequestMapping(value="/helpRecord/{id}", method= RequestMethod.DELETE)
102
+    public ResponseBean helpRecordDelete(@PathVariable Integer id){
103
+        ResponseBean responseBean = new ResponseBean();
104
+        try {
105
+            if(taHelpRecordService.removeById(id)){
106
+                responseBean.addSuccess("success");
107
+            }else {
108
+                responseBean.addError("fail");
109
+            }
110
+        }catch (Exception e){
111
+            e.printStackTrace();
112
+            logger.error("helpRecordDelete -=- {}",e.toString());
113
+            responseBean.addError(e.getMessage());
114
+        }
115
+        return responseBean;
116
+    }
117
+
118
+    /**
119
+     * 修改对象
120
+     * @param id  实体ID
121
+     * @param helpRecord 实体对象
122
+     * @return
123
+     */
124
+    @RequestMapping(value="/helpRecord/{id}",method= RequestMethod.PUT)
125
+    public ResponseBean helpRecordUpdate(@PathVariable Integer id,
126
+                                        @RequestBody HelpRecord helpRecord){
127
+        ResponseBean responseBean = new ResponseBean();
128
+        try {
129
+            if (taHelpRecordService.updateById(helpRecord)){
130
+                responseBean.addSuccess(helpRecord);
131
+            }else {
132
+                responseBean.addError("fail");
133
+            }
134
+        }catch (Exception e){
135
+            e.printStackTrace();
136
+            logger.error("helpRecordUpdate -=- {}",e.toString());
137
+            responseBean.addError(e.getMessage());
138
+        }
139
+        return responseBean;
140
+    }
141
+
142
+    /**
143
+     * 根据id查询对象
144
+     * @param id  实体ID
145
+     */
146
+    @RequestMapping(value="/helpRecord/{id}",method= RequestMethod.GET)
147
+    public ResponseBean helpRecordGet(@PathVariable Integer id){
148
+        ResponseBean responseBean = new ResponseBean();
149
+        try {
150
+            responseBean.addSuccess(taHelpRecordService.getById(id));
151
+        }catch (Exception e){
152
+            e.printStackTrace();
153
+            logger.error("helpRecordDelete -=- {}",e.toString());
154
+            responseBean.addError(e.getMessage());
155
+        }
156
+        return responseBean;
157
+    }
158
+    
159
+    
160
+    /**
161
+     * 微信端助力者助力
162
+     * @param helpRecord 实体对象
163
+     * @return
164
+     */
165
+    @RequestMapping(value="/wx/helpRecord",method= RequestMethod.POST)
166
+    public ResponseBean wxHelpRecordAdd(@RequestBody HelpRecord helpRecord, HttpServletRequest request){
167
+        ResponseBean responseBean = new ResponseBean();
168
+        String openid = getOpenId(request);
169
+        Integer orgId = getOrgId(request);
170
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
171
+        if (null == taPersons || taPersons.size() != 1) {
172
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
173
+        }
174
+        TaPerson person = taPersons.get(0);
175
+        try {
176
+            responseBean = taHelpRecordService.saveBooster(helpRecord,orgId,person);
177
+        }catch (Exception e){
178
+            e.printStackTrace();
179
+            logger.error("helpRecordAdd -=- {}",e.toString());
180
+            responseBean.addError(e.getMessage());
181
+        }
182
+        return responseBean;
183
+    }
184
+}

+ 157
- 49
src/main/java/com/huiju/estateagents/controller/MiniAppController.java ファイルの表示

@@ -6,17 +6,19 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
6 6
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
7 7
 import com.alibaba.fastjson.JSONObject;
8 8
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
9
+import com.huiju.estateagents.base.BaseController;
9 10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
12
+import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
13
+import com.huiju.estateagents.center.taUser.entity.TaUser;
14
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
10 15
 import com.huiju.estateagents.common.CommConstant;
11 16
 import com.huiju.estateagents.common.WxUtils;
12 17
 import com.huiju.estateagents.entity.*;
13 18
 import com.huiju.estateagents.event.EventBus;
14 19
 import com.huiju.estateagents.mapper.TaShareMapper;
15
-import com.huiju.estateagents.service.IMiniAppService;
16
-import com.huiju.estateagents.service.ITaCustomerPersonService;
17
-import com.huiju.estateagents.service.ITaPersonService;
20
+import com.huiju.estateagents.service.*;
18 21
 import com.huiju.estateagents.common.JWTUtils;
19
-import com.huiju.estateagents.service.ITaRecommendCustomerService;
20 22
 import me.chanjar.weixin.common.error.WxErrorException;
21 23
 import org.apache.commons.lang3.StringUtils;
22 24
 import org.apache.http.HttpStatus;
@@ -33,26 +35,44 @@ import java.util.Map;
33 35
 
34 36
 @RestController
35 37
 @RequestMapping("/api/wx")
36
-public class MiniAppController {
38
+public class MiniAppController extends BaseController {
37 39
     @Autowired
38 40
     private ITaPersonService taPersonService;
39 41
 
40
-    final WxMaService wxService = WxUtils.getMiniApp();
41
-
42 42
     @Autowired
43 43
     private IMiniAppService miniAppService;
44 44
 
45 45
     @Autowired
46 46
     private ITaRecommendCustomerService taRecommendCustomerService;
47 47
 
48
-    @Autowired
49
-    private ITaCustomerPersonService taCustomerPersonService;
50
-
51 48
     @Resource
52 49
     private ApplicationContext applicationContext;
53 50
 
54 51
     @Autowired
55
-    private TaShareMapper taShareMapper;
52
+    private ITaOrgService taOrgService;
53
+
54
+    @Autowired
55
+    private ISysTokenService sysTokenService;
56
+
57
+    @Autowired
58
+    private ITaMiniappService taMiniappService;
59
+
60
+    @Autowired
61
+    private ITaSharePersonFromService taSharePersonFromService;
62
+
63
+    @Autowired
64
+    private ITaBuildingDynamicService buildingDynamicService;
65
+
66
+    @Autowired
67
+    private  ITaNewsService newsService;
68
+
69
+    @Autowired
70
+    private ITaUserService userService;
71
+
72
+    @Autowired
73
+    private ITaPersonBuildingService personBuildingService;
74
+
75
+
56 76
 
57 77
 
58 78
 
@@ -71,31 +91,51 @@ public class MiniAppController {
71 91
      * 登陆接口
72 92
      */
73 93
     @PostMapping("/login")
74
-    public ResponseBean login(String code,@RequestParam(required = false) String from,@RequestParam(required = false)String recommender) {
75
-        if (StringUtils.isBlank(code)) {
94
+    public ResponseBean login(
95
+            String code,
96
+            @RequestParam(required = false) String from,
97
+            @RequestParam(required = false)String recommender,
98
+            @RequestParam(required = false)String targetId,
99
+            HttpServletRequest request) {
100
+        String appid = request.getHeader("appid");
101
+
102
+         if (StringUtils.isBlank(code)) {
76 103
             return ResponseBean.error("参数 code 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
77 104
         }
78
-        try {
79
-            WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code);
105
+        if (StringUtils.isBlank(appid)) {
106
+            return ResponseBean.error("Header 参数 appid 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
107
+        }
80 108
 
109
+        try {
110
+            TaMiniapp miniapp = taMiniappService.getById(appid);
111
+            WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
112
+            Integer orgId =miniapp.getOrgId();
81 113
             Map<String, String> miniResp = new HashMap<>();
82 114
             miniResp.put("openid", session.getOpenid());
83 115
             miniResp.put("sessionKey", session.getSessionKey());
84 116
             miniResp.put("unionid", session.getUnionid());
85
-            miniResp.put("token", JWTUtils.newToken(session.getOpenid()));
117
+            miniResp.put("name",miniapp.getName());
118
+
86 119
             //如果是分享进来且没有进入过小程序,给分享人发放积分
87 120
             QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
88 121
             personQueryWrapper.eq("mini_openid",session.getOpenid());
122
+            personQueryWrapper.eq("org_id",orgId);
89 123
             int count = taPersonService.count(personQueryWrapper);
90 124
 
91
-            if(from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
125
+            if(null!=from&&from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
92 126
                 // 添加积分
93
-                 applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll));
127
+                 applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
94 128
             }
95
-            TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid());
129
+
130
+            TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), orgId);
96 131
             if (null == taPerson) {
97 132
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
98 133
             }
134
+            Map<Object,Object> map = new HashMap<>();
135
+            map.put("openId",session.getOpenid());
136
+            map.put("orgId",orgId);
137
+            map.put("personId",taPerson.getPersonId());
138
+            miniResp.put("token", JWTUtils.newTokenByMap(map));
99 139
             if(StringUtils.isEmpty(taPerson.getFromCode())){
100 140
                 taPerson.setFromCode(from);
101 141
             }
@@ -108,19 +148,76 @@ public class MiniAppController {
108 148
                     }
109 149
                 }
110 150
             }
151
+            taPerson.setMiniappId(appid);
111 152
             taPersonService.updateById(taPerson);
153
+            if(StringUtils.isNotBlank(from) &&StringUtils.isNotBlank(recommender) &&StringUtils.isNotBlank(targetId)){
154
+                TaSharePersonFrom taSharePersonFrom = new TaSharePersonFrom();
155
+                TaPerson recommenderPerson = taPersonService.getById(recommender);
156
+                taSharePersonFrom.setCreateDate(LocalDateTime.now());
157
+                taSharePersonFrom.setOrgId(getOrgId(request));
158
+                taSharePersonFrom.setPersonId(taPerson.getPersonId());
159
+                taSharePersonFrom.setSharePersonType(recommenderPerson.getPersonType());
160
+                taSharePersonFrom.setTargetId(targetId);
161
+                taSharePersonFrom.setTargetType(from);
162
+                if(CommConstant.PERSON_REALTY_CONSULTANT.equals(recommenderPerson.getPersonType())){
163
+                    taSharePersonFrom.setSharePerson(recommenderPerson.getUserId().toString());
164
+                }else {
165
+                    taSharePersonFrom.setSharePerson(recommenderPerson.getPersonId());
166
+                }
167
+                QueryWrapper<TaSharePersonFrom> sharePersonFromQueryWrapper = new QueryWrapper<>();
168
+                sharePersonFromQueryWrapper.eq("person_id",taPerson.getPersonId());
169
+                if(from.equals("dynamic_share")){ // activity_share
170
+                    taSharePersonFrom.setStatus(CommConstant.STATUS_UNACCALIMED);
171
+                    TaBuildingDynamic buildingDynamic = buildingDynamicService.getById(targetId);
172
+                    taSharePersonFrom.setBuildingId(buildingDynamic.getBuildingId());
173
+                    sharePersonFromQueryWrapper.eq("building_id",buildingDynamic.getBuildingId());
174
+                }else {
175
+                    taSharePersonFrom.setStatus(CommConstant.STATUS_NORMAL);
176
+                }
177
+                if (from.contains("card")){
178
+                    // 因为targetId 是 personId ,需要查询出 userId
179
+                    TaPerson person = taPersonService.getById(targetId);
180
+
181
+                    QueryWrapper<TaPersonBuilding> personBuildingQueryWrapper = new QueryWrapper<>();
182
+                    personBuildingQueryWrapper.eq("user_id",person.getUserId());
183
+                    TaPersonBuilding personBuilding = personBuildingService.getOne(personBuildingQueryWrapper);
184
+                    taSharePersonFrom.setBuildingId(personBuilding.getBuildingId());
185
+                    sharePersonFromQueryWrapper.eq("building_id",personBuilding.getBuildingId());
186
+                }else if (from.contains("news")){
187
+                    TaNews news = newsService.getById(targetId);
188
+                    taSharePersonFrom.setBuildingId(news.getBuildingId());
189
+                    sharePersonFromQueryWrapper.eq("building_id",news.getBuildingId());
190
+                }else if (from.contains("building")){
191
+                    taSharePersonFrom.setBuildingId(targetId);
192
+                    sharePersonFromQueryWrapper.eq("building_id",targetId);
193
+                }
194
+                Integer isFirstTime = taSharePersonFromService.count(sharePersonFromQueryWrapper);
195
+                if(isFirstTime>0){
196
+                    taSharePersonFrom.setIsFirstTime(false);
197
+                }else {
198
+                    taSharePersonFrom.setIsFirstTime(true);
199
+                }
200
+                taSharePersonFromService.save(taSharePersonFrom);
201
+            }
112 202
 
113 203
             taPerson.setPassword(null);
114 204
 
115 205
             // 获取其余信息
116 206
             Map<String, Object> extraInfo = taPersonService.getExtraInfo(taPerson.getPersonId());
117
-
207
+            if (CommConstant.PERSON_REALTY_CONSULTANT.equals(taPerson.getPersonType())){
208
+                QueryWrapper<TaOrg>orgQueryWrapper = new QueryWrapper<>();
209
+                orgQueryWrapper.eq("org_id",taPerson.getOrgId());
210
+                TaOrg org = taOrgService.getOne(orgQueryWrapper);
211
+                taPerson.setOrg(org);
212
+            }
118 213
             Map<String, Object> result = new HashMap<>();
119 214
             result.put("miniApp", miniResp);
120 215
             result.put("person", taPerson);
121 216
             result.put("extraInfo", extraInfo);
122 217
             result.put("miniAuthorized", null != taPerson.getAvatarurl() && taPerson.getAvatarurl().indexOf("wx.qlogo.cn") > 0);
123 218
 
219
+            String token = miniResp.get("token");
220
+            sysTokenService.saveToken(token);
124 221
 
125 222
             return ResponseBean.success(result);
126 223
         } catch (WxErrorException e) {
@@ -134,7 +231,7 @@ public class MiniAppController {
134 231
      */
135 232
     @PostMapping("/logout")
136 233
     public ResponseBean logout(HttpServletRequest request) {
137
-        String openid = JWTUtils.getSubject(request);
234
+        String openid = getOpenId(request);
138 235
         List<TaPerson> persons = taPersonService.getPersonsByOpenId(openid);
139 236
         if (null == persons || persons.size() == 0) {
140 237
             return ResponseBean.success("");
@@ -149,10 +246,11 @@ public class MiniAppController {
149 246
      */
150 247
     @PostMapping("/signup")
151 248
     public ResponseBean info(@RequestBody String paramStr, HttpServletRequest request) {
249
+        String appid = request.getHeader("appid");
152 250
         TaPerson person = null;
153
-
251
+        TaMiniapp miniapp = taMiniappService.getById(appid);
154 252
         if (null == paramStr || "".equals(paramStr.trim()) || "{}".equals(paramStr.trim())) {
155
-            String openid = JWTUtils.getSubject(request);
253
+            String openid = getOpenId(request);
156 254
             List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
157 255
             if (null == taPersons || taPersons.size() != 1) {
158 256
                 return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
@@ -172,18 +270,19 @@ public class MiniAppController {
172 270
             String iv = params.getString("iv");
173 271
 
174 272
             // 用户信息校验
175
-            if (!miniAppService.checkUserInfo(sessionKey, rawData, signature)) {
273
+            if (!miniAppService.checkUserInfo(sessionKey, rawData, signature, appid)) {
176 274
                 return ResponseBean.error("校验参数失败", ResponseBean.ERROR_ILLEGAL_PARAMS);
177 275
             }
178 276
 
179 277
             // 解密用户信息
180
-            WxMaUserInfo userInfo = miniAppService.getUserInfo(sessionKey, encryptedData, iv);
278
+            WxMaUserInfo userInfo = miniAppService.getUserInfo(sessionKey, encryptedData, iv, appid);
181 279
 
182 280
             // 更新或保存用户信息
183 281
             person = taPersonService.mergePersonWxInfo(userInfo);
184 282
             if (null == person) {
185 283
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
186 284
             }
285
+            taPersonService.upDatePersonCityToId(person.getPersonId());
187 286
         }
188 287
 
189 288
         // 获取其余信息
@@ -193,6 +292,7 @@ public class MiniAppController {
193 292
         Map<String, Object> result = new HashMap<>();
194 293
         result.put("person", person);
195 294
         result.put("extraInfo", extraInfo);
295
+        result.put("miniApp",miniapp);
196 296
 
197 297
         return ResponseBean.success(result);
198 298
     }
@@ -202,6 +302,7 @@ public class MiniAppController {
202 302
      */
203 303
     @PostMapping("/userPhone")
204 304
     public ResponseBean phone(@RequestBody String paramStr, HttpServletRequest request) {
305
+        String appid = request.getHeader("appid");
205 306
         JSONObject params = JSONObject.parseObject(paramStr);
206 307
         if (null == params) {
207 308
             return ResponseBean.error("校验参数失败", ResponseBean.ERROR_ILLEGAL_PARAMS);
@@ -212,18 +313,17 @@ public class MiniAppController {
212 313
         String iv = params.getString("iv");
213 314
 
214 315
         // 解密
215
-        WxMaPhoneNumberInfo phoneNoInfo = miniAppService.getPhoneNoInfo(sessionKey, encryptedData, iv);
316
+        WxMaPhoneNumberInfo phoneNoInfo = miniAppService.getPhoneNoInfo(sessionKey, encryptedData, iv, appid);
216 317
 
217 318
         // 更新用户绑定手机
218
-        String openid = JWTUtils.getSubject(request);
219
-        taPersonService.updatePersonPhone(openid, phoneNoInfo.getPhoneNumber());
319
+        String openid = getOpenId(request);
320
+        Integer orgId = getOrgId(request);
321
+        taPersonService.updatePersonPhone(openid, phoneNoInfo.getPhoneNumber(),orgId);
220 322
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
221 323
         if (null == taPersons || taPersons.size() != 1) {
222 324
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
223 325
         }
224 326
         TaPerson person = taPersons.get(0);
225
-        person.setPersonType(CommConstant.PERSON_ESTATE_AGENT);
226
-        taPersonService.updateById(person);
227 327
         QueryWrapper<TaRecommendCustomer> cus= new QueryWrapper<>();
228 328
         cus.eq("phone",phoneNoInfo.getPhoneNumber());
229 329
         cus.orderByDesc("create_date");
@@ -257,24 +357,20 @@ public class MiniAppController {
257 357
 //            if(list.size()<=0){
258 358
 //                taCustomerPersonService.insertBean(person.getPersonId(),customers.getCustomerId());
259 359
 //            }
260
-        } else{
261
-            TaRecommendCustomer reCustomer = new TaRecommendCustomer();
262
-            reCustomer.setVerifyStatus(CommConstant.VERIFY_AGREE);
263
-            reCustomer.setName(person.getNickname());
264
-            reCustomer.setPhone(phoneNoInfo.getPhoneNumber());
265
-            reCustomer.setSex(Integer.valueOf(person.getGender()));
266
-            reCustomer.setPersonId(person.getPersonId());
267
-            reCustomer.setPicture(person.getAvatarurl());
268
-            reCustomer.setCountry(person.getCountry());
269
-            reCustomer.setCity(person.getCity());
270
-            reCustomer.setProvince(person.getProvince());
271
-            reCustomer.setEntryType(CommConstant.ENTRY_VOLUNTEER);
272
-            reCustomer.setCreateDate(LocalDateTime.now());
273
-            reCustomer.setReportRecommendStatus(CommConstant.READY);
274
-            if(!taRecommendCustomerService.save(reCustomer)){
275
-                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
276
-            }
277 360
         }
361
+//        else{
362
+//            TaRecommendCustomer taRecommendCustomer = new TaRecommendCustomer();
363
+//            taRecommendCustomer.setPersonId(person.getPersonId());
364
+//            taRecommendCustomer.setPicture(person.getAvatarurl());
365
+//            taRecommendCustomer.setCountry(person.getCountry());
366
+//            taRecommendCustomer.setCity(person.getCity());
367
+//            taRecommendCustomer.setProvince(person.getProvince());
368
+//            taRecommendCustomer.setVerifyStatus(CommConstant.VERIFY_AGREE);
369
+//            taRecommendCustomer.setOrgId(getOrgId(request));
370
+//            taRecommendCustomer.setEntryType(CommConstant.ENTRY_VOLUNTEER);
371
+//            taRecommendCustomer.setSex(Integer.getInteger(person.getGender()));
372
+//
373
+//        }
278 374
         return ResponseBean.success(phoneNoInfo);
279 375
     }
280 376
 
@@ -283,8 +379,9 @@ public class MiniAppController {
283 379
      * @return
284 380
      */
285 381
     @PostMapping("/qrcode")
286
-    public ResponseBean qrcode(@RequestBody String paramsStr) {
287
-        return miniAppService.getQrCode(paramsStr);
382
+    public ResponseBean qrcode(@RequestBody String paramsStr, HttpServletRequest request) {
383
+        String appid = request.getHeader("appid");
384
+        return miniAppService.getQrCode(paramsStr, appid);
288 385
     }
289 386
 
290 387
     /**
@@ -307,4 +404,15 @@ public class MiniAppController {
307 404
             return ResponseBean.error("获取二维码参数失败: " + e.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);
308 405
         }
309 406
     }
407
+
408
+
409
+    public Integer getOrgId(HttpServletRequest request){
410
+
411
+        Map map = JWTUtils.getUserIdAndOrgId(request);
412
+        if (null != map && null != map.get("orgId")){
413
+            return Integer.valueOf(map.get("orgId").toString());
414
+        }
415
+
416
+        return null;
417
+    }
310 418
 }

+ 38
- 28
src/main/java/com/huiju/estateagents/controller/StatisticalController.java ファイルの表示

@@ -1,20 +1,21 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
+import com.huiju.estateagents.base.BaseController;
3 4
 import com.huiju.estateagents.base.ResponseBean;
4 5
 import com.huiju.estateagents.service.IStatisticalService;
5 6
 import org.springframework.beans.factory.annotation.Autowired;
6 7
 import org.springframework.format.annotation.DateTimeFormat;
7 8
 import org.springframework.web.bind.annotation.*;
8 9
 
10
+import javax.servlet.http.HttpServletRequest;
9 11
 import java.time.LocalDate;
10
-import java.util.Date;
11 12
 
12 13
 /**
13 14
  * 数据统计
14 15
  */
15 16
 @RestController
16 17
 @RequestMapping("/api")
17
-public class StatisticalController {
18
+public class StatisticalController extends BaseController {
18 19
 
19 20
     @Autowired
20 21
     private IStatisticalService iStatisticalService;
@@ -24,8 +25,8 @@ public class StatisticalController {
24 25
      * @return
25 26
      */
26 27
     @GetMapping(value = "/admin/indexStatistical")
27
-    public ResponseBean indexStatistical() {
28
-        return iStatisticalService.indexStatistical();
28
+    public ResponseBean indexStatistical(HttpServletRequest request) {
29
+        return iStatisticalService.indexStatistical(getOrgId(request));
29 30
     }
30 31
 
31 32
     /**
@@ -35,8 +36,9 @@ public class StatisticalController {
35 36
     @GetMapping(value = "/admin/selectActiveUserCount")
36 37
     public ResponseBean selectActiveUserCount(@RequestParam String dateType,
37 38
                                               @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
38
-                                              @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate) {
39
-        return iStatisticalService.selectActiveUserCount(dateType, startDate,endDate);
39
+                                              @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate,
40
+                                              HttpServletRequest request) {
41
+        return iStatisticalService.selectActiveUserCount(getOrgId(request), dateType, startDate,endDate);
40 42
     }
41 43
 
42 44
     /**
@@ -45,8 +47,9 @@ public class StatisticalController {
45 47
      */
46 48
     @GetMapping(value = "/admin/selectNewsUserCount")
47 49
     public ResponseBean selectNewsUserCount(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
48
-                                            @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate) {
49
-        return iStatisticalService.selectNewsUserCount(startDate, endDate);
50
+                                            @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate,
51
+                                            HttpServletRequest request) {
52
+        return iStatisticalService.selectNewsUserCount(getOrgId(request), startDate, endDate);
50 53
     }
51 54
 
52 55
     /**
@@ -54,8 +57,9 @@ public class StatisticalController {
54 57
      * @return
55 58
      */
56 59
     @GetMapping(value = "/admin/selectConversion")
57
-    public ResponseBean selectConversion(@RequestParam("conversion") String conversion) {
58
-        return iStatisticalService.selectConversion(conversion);
60
+    public ResponseBean selectConversion(@RequestParam("conversion") String conversion,
61
+                                         HttpServletRequest request) {
62
+        return iStatisticalService.selectConversion(getOrgId(request), conversion);
59 63
     }
60 64
 
61 65
     /**
@@ -70,8 +74,9 @@ public class StatisticalController {
70 74
                                            @RequestParam(value = "buildingId", required = false) String buildingId,
71 75
                                            @RequestParam(value = "eventType", required = false) String eventType,
72 76
                                            @RequestParam(value = "event", required = false) String event,
73
-                                           @RequestParam(value = "activity", required = false) String activity) {
74
-        return iStatisticalService.selectUserBehavior(pageNum, pageSize, startDate, endDate, buildingId, eventType, event, activity);
77
+                                           @RequestParam(value = "activity", required = false) String activity,
78
+                                           HttpServletRequest request) {
79
+        return iStatisticalService.selectUserBehavior(pageNum, pageSize, getOrgId(request), startDate, endDate, buildingId, eventType, event, activity);
75 80
     }
76 81
 
77 82
     /**
@@ -80,8 +85,9 @@ public class StatisticalController {
80 85
      */
81 86
     @GetMapping(value = "/admin/selectEventAll")
82 87
     public ResponseBean selectEventAll(@RequestParam(required = false) String event,
83
-                                              @RequestParam(required = false) String personId) {
84
-        return iStatisticalService.selectEventAll(event, personId);
88
+                                       @RequestParam(required = false) String personId,
89
+                                       HttpServletRequest request) {
90
+        return iStatisticalService.selectEventAll(getOrgId(request), event, personId);
85 91
     }
86 92
 
87 93
 
@@ -91,8 +97,9 @@ public class StatisticalController {
91 97
      */
92 98
     @GetMapping(value = "/admin/selectUserResource")
93 99
     public ResponseBean selectUserResource(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
94
-                                           @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate) {
95
-        return iStatisticalService.selectUserResource(startDate, endDate);
100
+                                           @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate,
101
+                                           HttpServletRequest request) {
102
+        return iStatisticalService.selectUserResource(getOrgId(request), startDate, endDate);
96 103
     }
97 104
 
98 105
 
@@ -101,8 +108,8 @@ public class StatisticalController {
101 108
      * @return
102 109
      */
103 110
     @GetMapping(value = "/admin/selectUserCount")
104
-    public ResponseBean selectUserResource() {
105
-        return iStatisticalService.selectUserCount();
111
+    public ResponseBean selectUserResource(HttpServletRequest request) {
112
+        return iStatisticalService.selectUserCount(getOrgId(request));
106 113
     }
107 114
 
108 115
     /**
@@ -110,8 +117,8 @@ public class StatisticalController {
110 117
      * @return
111 118
      */
112 119
     @GetMapping(value = "/admin/selectRegisteredCount")
113
-    public ResponseBean selectRegisteredCount() {
114
-        return iStatisticalService.selectRegisteredCount();
120
+    public ResponseBean selectRegisteredCount(HttpServletRequest request) {
121
+        return iStatisticalService.selectRegisteredCount(getOrgId(request));
115 122
     }
116 123
 
117 124
     /**
@@ -120,8 +127,9 @@ public class StatisticalController {
120 127
      */
121 128
     @GetMapping(value = "/admin/selectRecentlyCount")
122 129
     public ResponseBean selectRecentlyCount(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
123
-                                            @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate) {
124
-        return iStatisticalService.selectRecentlyCount(startDate, endDate);
130
+                                            @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
131
+                                            HttpServletRequest request) {
132
+        return iStatisticalService.selectRecentlyCount(getOrgId(request), startDate, endDate);
125 133
     }
126 134
 
127 135
     /**
@@ -129,8 +137,8 @@ public class StatisticalController {
129 137
      * @return
130 138
      */
131 139
     @GetMapping(value = "/admin/selectSexUser")
132
-    public ResponseBean selectSexUser() {
133
-        return iStatisticalService.selectSexUser();
140
+    public ResponseBean selectSexUser(HttpServletRequest request) {
141
+        return iStatisticalService.selectSexUser(getOrgId(request));
134 142
     }
135 143
 
136 144
     /**
@@ -138,8 +146,9 @@ public class StatisticalController {
138 146
      * @return
139 147
      */
140 148
     @GetMapping(value = "/admin/selectCityUser")
141
-    public ResponseBean selectCityUser() {
142
-        return iStatisticalService.selectCityUser();
149
+    public ResponseBean selectCityUser(HttpServletRequest request) {
150
+        Integer orgId = getOrgId(request);
151
+        return iStatisticalService.selectCityUser(orgId);
143 152
     }
144 153
 
145 154
     /**
@@ -149,8 +158,9 @@ public class StatisticalController {
149 158
     @GetMapping(value = "/admin/selectIntentionUser")
150 159
     public ResponseBean selectIntentionUser(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
151 160
                                             @RequestParam(value = "pageSize", defaultValue = "2") Integer pageSize,
152
-                                            @RequestParam(value = "buildingId", required = false) String buildingId) {
153
-        return iStatisticalService.selectIntentionUser(pageNum, pageSize, buildingId);
161
+                                            @RequestParam(value = "buildingId", required = false) String buildingId,
162
+                                            HttpServletRequest request) {
163
+        return iStatisticalService.selectIntentionUser(pageNum, pageSize, getOrgId(request), buildingId);
154 164
     }
155 165
 
156 166
 }

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

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

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

@@ -0,0 +1,174 @@
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.JWTUtils;
9
+import com.huiju.estateagents.entity.SysMenu;
10
+import com.huiju.estateagents.service.ISysMenuService;
11
+import org.slf4j.Logger;
12
+import org.slf4j.LoggerFactory;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.web.bind.annotation.*;
15
+
16
+import javax.servlet.http.HttpServletRequest;
17
+import java.lang.reflect.Array;
18
+import java.util.List;
19
+import java.util.Map;
20
+
21
+/**
22
+ * <p>
23
+    * 菜单表 不同系统,菜单不一致 前端控制器
24
+    * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2019-09-11
28
+ */
29
+@RestController
30
+@RequestMapping("/api")
31
+public class SysMenuController extends BaseController {
32
+
33
+    private final Logger logger = LoggerFactory.getLogger(SysMenuController.class);
34
+
35
+    @Autowired
36
+    public ISysMenuService iSysMenuService;
37
+
38
+
39
+    /**
40
+     * 分页查询列表
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/sysMenu",method= RequestMethod.GET)
46
+    public ResponseBean sysMenuList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
+                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
48
+        ResponseBean responseBean = new ResponseBean();
49
+        try {
50
+            //使用分页插件
51
+		    IPage<SysMenu> pg = new Page<>(pageNum, pageSize);
52
+            QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
53
+            queryWrapper.orderByDesc("create_date");
54
+
55
+            IPage<SysMenu> result = iSysMenuService.page(pg, queryWrapper);
56
+            responseBean.addSuccess(result);
57
+        }catch (Exception e){
58
+            e.printStackTrace();
59
+            logger.error("sysMenuList -=- {}",e.toString());
60
+            responseBean.addError(e.getMessage());
61
+        }
62
+        return responseBean;
63
+    }
64
+
65
+    /**
66
+     * 保存对象
67
+     * @param sysMenu 实体对象
68
+     * @return
69
+     */
70
+    @RequestMapping(value="/sysMenu",method= RequestMethod.POST)
71
+    public ResponseBean sysMenuAdd(@RequestBody SysMenu sysMenu){
72
+        ResponseBean responseBean = new ResponseBean();
73
+        try {
74
+            if (iSysMenuService.save(sysMenu)){
75
+                responseBean.addSuccess(sysMenu);
76
+            }else {
77
+                responseBean.addError("fail");
78
+            }
79
+        }catch (Exception e){
80
+            e.printStackTrace();
81
+            logger.error("sysMenuAdd -=- {}",e.toString());
82
+            responseBean.addError(e.getMessage());
83
+        }
84
+        return responseBean;
85
+    }
86
+
87
+    /**
88
+     * 根据id删除对象
89
+     * @param id  实体ID
90
+     */
91
+    @ResponseBody
92
+    @RequestMapping(value="/sysMenu/{id}", method= RequestMethod.DELETE)
93
+    public ResponseBean sysMenuDelete(@PathVariable Integer id){
94
+        ResponseBean responseBean = new ResponseBean();
95
+        try {
96
+            if(iSysMenuService.removeById(id)){
97
+                responseBean.addSuccess("success");
98
+            }else {
99
+                responseBean.addError("fail");
100
+            }
101
+        }catch (Exception e){
102
+            e.printStackTrace();
103
+            logger.error("sysMenuDelete -=- {}",e.toString());
104
+            responseBean.addError(e.getMessage());
105
+        }
106
+        return responseBean;
107
+    }
108
+
109
+    /**
110
+     * 修改对象
111
+     * @param id  实体ID
112
+     * @param sysMenu 实体对象
113
+     * @return
114
+     */
115
+    @RequestMapping(value="/sysMenu/{id}",method= RequestMethod.PUT)
116
+    public ResponseBean sysMenuUpdate(@PathVariable Integer id,
117
+                                        @RequestBody SysMenu sysMenu){
118
+        ResponseBean responseBean = new ResponseBean();
119
+        try {
120
+            if (iSysMenuService.updateById(sysMenu)){
121
+                responseBean.addSuccess(sysMenu);
122
+            }else {
123
+                responseBean.addError("fail");
124
+            }
125
+        }catch (Exception e){
126
+            e.printStackTrace();
127
+            logger.error("sysMenuUpdate -=- {}",e.toString());
128
+            responseBean.addError(e.getMessage());
129
+        }
130
+        return responseBean;
131
+    }
132
+
133
+    /**
134
+     * 根据id查询对象
135
+     * @param id  实体ID
136
+     */
137
+    @RequestMapping(value="/sysMenu/{id}",method= RequestMethod.GET)
138
+    public ResponseBean sysMenuGet(@PathVariable Integer id){
139
+        ResponseBean responseBean = new ResponseBean();
140
+        try {
141
+            responseBean.addSuccess(iSysMenuService.getById(id));
142
+        }catch (Exception e){
143
+            e.printStackTrace();
144
+            logger.error("sysMenuDelete -=- {}",e.toString());
145
+            responseBean.addError(e.getMessage());
146
+        }
147
+        return responseBean;
148
+    }
149
+
150
+    /**
151
+     * 获取所有模块
152
+     * @return
153
+     */
154
+    @GetMapping(value = "/center/sysmodules")
155
+    public ResponseBean allModules(@RequestParam Integer userId) {
156
+        List<SysMenu> sysMenuList = iSysMenuService.getAllModules(userId);
157
+        return ResponseBean.success(sysMenuList);
158
+    }
159
+
160
+    @PostMapping(value = "/center/sysmodules")
161
+    public ResponseBean authorizeModules(@RequestBody Map<String, Object> data) {
162
+
163
+        Integer userId = (Integer) data.get("userId");
164
+        List<Integer> menuIds = (List<Integer>) data.get("menus");
165
+
166
+        try {
167
+            iSysMenuService.authorizeModules(userId, menuIds);
168
+        } catch (Exception e) {
169
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
170
+        }
171
+
172
+        return ResponseBean.success("ok");
173
+    }
174
+}

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

@@ -11,6 +11,10 @@ import com.huiju.estateagents.service.ITaBuildingService;
11 11
 import com.huiju.estateagents.service.ITaPersonService;
12 12
 import com.huiju.estateagents.service.ITaSaveService;
13 13
 import com.huiju.estateagents.service.ITdCityService;
14
+import io.swagger.annotations.Api;
15
+import io.swagger.annotations.ApiImplicitParam;
16
+import io.swagger.annotations.ApiImplicitParams;
17
+import io.swagger.annotations.ApiOperation;
14 18
 import org.apache.ibatis.annotations.Param;
15 19
 import org.springframework.beans.factory.annotation.Autowired;
16 20
 import org.springframework.format.annotation.DateTimeFormat;
@@ -23,6 +27,7 @@ import javax.servlet.http.HttpSession;
23 27
 import java.time.LocalDateTime;
24 28
 import java.util.ArrayList;
25 29
 import java.util.List;
30
+import java.util.Map;
26 31
 
27 32
 /**
28 33
  * <p>
@@ -34,6 +39,7 @@ import java.util.List;
34 39
  */
35 40
 @RestController
36 41
 @RequestMapping("/api")
42
+@Api(value = "楼盘")
37 43
 public class TaBuildingController extends BaseController {
38 44
 
39 45
     @Autowired
@@ -52,29 +58,46 @@ public class TaBuildingController extends BaseController {
52 58
      * @return
53 59
      */
54 60
     @GetMapping("/admin/buildingSelectId/{id}")
61
+    @ApiOperation(value = "项目详情", notes = "项目详情")
62
+    @ApiImplicitParams({
63
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "id", value = "项目id")
64
+    })
55 65
     public ResponseBean buildingSelectId(@PathVariable(value = "id") String id){
56 66
         return taBuildingService.buildingSelectId(id);
57 67
     }
58 68
 
59 69
     /**
60
-     * 楼盘列表
70
+     * 楼盘列表 查询所有有效的
61 71
      * @param pageNum
62 72
      * @param pageSize
63 73
      * @param name
64 74
      * @param code
65 75
      * @return
66 76
      */
77
+    @ApiOperation(value = "项目列表 查询所有有效的", notes = "项目列表 查询所有有效的")
78
+    @ApiImplicitParams({
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "pageNum", value = "第几页"),
80
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "pageSize", value = "一页多少行"),
81
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "name", value = "项目名称"),
82
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "code", value = "项目编号"),
83
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "startDate", value = "开盘时间"),
84
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "buildingStatus", value = "项目状态"),
85
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "marketStatus", value = "销售状态"),
86
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "cityId", value = "城市Id"),
87
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "isMain", value = "是否主推项目"),
88
+    })
67 89
     @GetMapping("/admin/buildinglist")
68 90
     public ResponseBean buildingList(@RequestParam(value = "pageNum", defaultValue = "1")Integer pageNum,
69 91
                                      @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
70 92
                                      @RequestParam(value = "name", required = false)String name,
71 93
                                      @RequestParam(value = "code", required = false)String code,
72
-                                     @RequestParam(value = "startDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)LocalDateTime startDate,
94
+                                     @RequestParam(value = "startDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startDate,
73 95
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
74 96
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
75 97
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
76
-                                     @RequestParam(value = "isMain",required = false)Integer isMain){
77
-        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain);
98
+                                     @RequestParam(value = "isMain",required = false)Integer isMain,
99
+                                     HttpServletRequest request){
100
+        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain, getOrgId(request));
78 101
     }
79 102
 
80 103
     /**
@@ -85,6 +108,18 @@ public class TaBuildingController extends BaseController {
85 108
      * @param code
86 109
      * @return
87 110
      */
111
+    @ApiOperation(value = "项目列表", notes = "项目列表")
112
+    @ApiImplicitParams({
113
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "pageNum", value = "第几页"),
114
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "pageSize", value = "一页多少行"),
115
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "name", value = "项目名称"),
116
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "code", value = "项目编号"),
117
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "startDate", value = "开盘时间"),
118
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "buildingStatus", value = "项目状态"),
119
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "marketStatus", value = "销售状态"),
120
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "cityId", value = "城市Id"),
121
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "isMain", value = "是否主推项目"),
122
+    })
88 123
     @GetMapping("/admin/buildinglist/select")
89 124
     public ResponseBean buildingListSelect(@RequestParam(value = "pageNum", defaultValue = "1")Integer pageNum,
90 125
                                      @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
@@ -94,8 +129,9 @@ public class TaBuildingController extends BaseController {
94 129
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
95 130
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
96 131
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
97
-                                     @RequestParam(value = "isMain",required = false)Integer isMain){
98
-        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain);
132
+                                     @RequestParam(value = "isMain",required = false)Integer isMain,
133
+                                           HttpServletRequest request){
134
+        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,getOrgId(request));
99 135
     }
100 136
 
101 137
     /**
@@ -103,9 +139,13 @@ public class TaBuildingController extends BaseController {
103 139
      * @param parameter
104 140
      * @return
105 141
      */
142
+    @ApiOperation(value = "更新项目", notes = "更新项目")
143
+    @ApiImplicitParams({
144
+
145
+    })
106 146
     @PutMapping("/admin/building/update")
107
-    public ResponseBean buildingUpdate(@RequestBody String parameter){
108
-        return taBuildingService.buildingUpdate(parameter);
147
+    public ResponseBean buildingUpdate(@RequestBody String parameter, HttpServletRequest request){
148
+        return taBuildingService.buildingUpdate(parameter, getOrgId(request));
109 149
     }
110 150
 
111 151
     /**
@@ -113,30 +153,42 @@ public class TaBuildingController extends BaseController {
113 153
      * @param parameter
114 154
      * @return
115 155
      */
156
+    @ApiOperation(value = "项目添加", notes = "项目添加")
157
+    @ApiImplicitParams({
158
+
159
+    })
116 160
     @RequestMapping(value = "/admin/building/add", method = RequestMethod.POST)
117
-    public ResponseBean buildingAdd(@RequestBody String parameter){
118
-        return taBuildingService.buildingAdd(parameter);
161
+    public ResponseBean buildingAdd(@RequestBody String parameter, HttpServletRequest request){
162
+        return taBuildingService.buildingAdd(parameter, getOrgId(request));
119 163
     }
120 164
 
121 165
     /**
122
-     * 楼盘发布
166
+     * 楼盘getPersonId(request);
123 167
      * @param parameter
124 168
      * @return
125 169
      */
170
+    @ApiOperation(value = "项目发布", notes = "项目发布")
171
+    @ApiImplicitParams({
172
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "status:状态,id:项目id"),
173
+    })
126 174
     @RequestMapping(value = "/admin/building/update/status", method = RequestMethod.PUT)
127
-    public ResponseBean buildingUpdateStatus(@RequestBody String parameter){
128
-        return taBuildingService.buildingUpdateStatus(parameter);
175
+    public ResponseBean buildingUpdateStatus(@RequestBody String parameter, HttpServletRequest request){
176
+        return taBuildingService.buildingUpdateStatus(parameter, getOrgId(request));
129 177
     }
130 178
 
131 179
     /**
132 180
      * 楼盘删除
133 181
      * @param id
134
-     * @param session
182
+     * @param request
135 183
      * @return
136 184
      */
185
+    @ApiOperation(value = "项目发布", notes = "项目发布")
186
+    @ApiImplicitParams({
187
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "id", value = "项目id"),
188
+    })
137 189
     @RequestMapping(value = "/admin/building/delete/{id}", method = RequestMethod.DELETE)
138
-    public ResponseBean buildingdelete(@PathVariable("id") String id, HttpSession session){
139
-        return taBuildingService.buildingdelete(id);
190
+    public ResponseBean buildingdelete(@PathVariable("id") String id, HttpServletRequest request){
191
+        return taBuildingService.buildingdelete(id, getOrgId(request));
140 192
     }
141 193
 
142 194
     /**
@@ -145,6 +197,7 @@ public class TaBuildingController extends BaseController {
145 197
      * @param session
146 198
      * @return
147 199
      */
200
+    @ApiOperation(value = "添加户型", notes = "添加户型")
148 201
     @RequestMapping(value = "/admin/buildingApartment/add", method = RequestMethod.POST)
149 202
     public ResponseBean buildingApartment(@RequestBody String parameter, HttpSession session){
150 203
         return taBuildingService.buildingApartmentAdd(parameter);
@@ -155,16 +208,21 @@ public class TaBuildingController extends BaseController {
155 208
      * @param parameter
156 209
      * @return
157 210
      */
211
+    @ApiOperation(value = "户型编辑", notes = "户型编辑")
158 212
     @RequestMapping(value = "/admin/buildingApartment/update", method = RequestMethod.PUT)
159 213
     public ResponseBean buildingApartmentUpdate(@RequestBody String parameter){
160 214
         return taBuildingService.buildingApartmentUpdate(parameter);
161 215
     }
162 216
 
163 217
     /**
164
-     * 楼盘详情
218
+     * 户型详情
165 219
      * @param id
166 220
      * @return
167 221
      */
222
+    @ApiOperation(value = "户型详情", notes = "户型详情")
223
+    @ApiImplicitParams({
224
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "id", value = "户型id"),
225
+    })
168 226
     @RequestMapping(value = "/admin/buildingApartment/{id}", method = RequestMethod.GET)
169 227
     public ResponseBean buildingApartmentSelectId(@PathVariable(value = "id") String id){
170 228
         return taBuildingService.buildingApartmentSelectId(id);
@@ -175,9 +233,15 @@ public class TaBuildingController extends BaseController {
175 233
      * @param id
176 234
      * @return
177 235
      */
236
+    @ApiOperation(value = "依据项目ID 查户型", notes = "依据项目ID 查户型")
237
+    @ApiImplicitParams({
238
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "id", value = "项目ID"),
239
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "apartmentType", value = "类型"),
240
+    })
178 241
     @RequestMapping(value = "/admin/buildingApartment/buildingId/{id}", method = RequestMethod.GET)
179
-    public ResponseBean buildingApartmentBuildingId(@PathVariable(value = "id") String id){
180
-        return taBuildingService.buildingApartmentBuildingId(id);
242
+    public ResponseBean buildingApartmentBuildingId(@PathVariable(value = "id") String id,
243
+                                                    @RequestParam(value = "apartmentType", required = false) String apartmentType){
244
+        return taBuildingService.buildingApartmentBuildingId(id, apartmentType);
181 245
     }
182 246
 
183 247
     /**
@@ -186,7 +250,7 @@ public class TaBuildingController extends BaseController {
186 250
      */
187 251
     @RequestMapping(value = "/wx/building/list", method = RequestMethod.GET)
188 252
     public ResponseBean getWxBuildingList(
189
-            @RequestParam(defaultValue = "1") Integer pageNum,
253
+            @RequestParam(defaultValue = "1") Integer pageNumber,
190 254
             @RequestParam(defaultValue = "10")Integer pageSize,
191 255
             @RequestParam(defaultValue = "false") Boolean mine,
192 256
             @RequestParam(required = false) Integer cityId,
@@ -201,9 +265,10 @@ public class TaBuildingController extends BaseController {
201 265
 //            @RequestParam(required = false) Double maxBuildingArea, // 最大面积
202 266
             HttpServletRequest request
203 267
     ){
268
+        Integer orgId = getOrgId(request);
204 269
         List<String> targets = null;
205 270
         if (null != mine && mine) {
206
-            String openid = JWTUtils.getSubject(request);
271
+            String openid = getOpenId(request);
207 272
             List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
208 273
             if (null == persons || persons.size() == 0) {
209 274
                 return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);
@@ -217,7 +282,7 @@ public class TaBuildingController extends BaseController {
217 282
         List<String[]> priceList = getParamListOf(price);
218 283
         List<String[]> areaList = getParamListOf(area);
219 284
 
220
-        return taBuildingService.getWxBuildingList(pageNum, pageSize, name, targets, cityId,mine, houseTypeList, buildingTypeList, priceList, areaList);
285
+        return taBuildingService.getWxBuildingList(pageNumber, pageSize, name, targets, cityId,mine, houseTypeList, buildingTypeList, priceList, areaList,orgId);
221 286
     }
222 287
 
223 288
 
@@ -268,20 +333,21 @@ public class TaBuildingController extends BaseController {
268 333
      */
269 334
     @RequestMapping(value = "/wx/buildingSelectId/{id}", method = RequestMethod.GET)
270 335
     public ResponseBean wxBuildingSelectId(@PathVariable(value = "id") String id,HttpServletRequest request){
271
-        String openid = JWTUtils.getSubject(request);
336
+        String openid = getOpenId(request);
337
+        Integer orgId = getOrgId(request);
272 338
         List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
273 339
         if (null == persons || persons.size() == 0) {
274 340
             return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);
275 341
         }
276 342
         TaPerson person = persons.get(0);
277
-        return taBuildingService.buildingAllSelectId(id,person.getPersonId());
343
+        return taBuildingService.buildingAllSelectId(id,person.getPersonId(), orgId);
278 344
     }
279 345
     /**
280 346
      * 查询当前所有项目
281 347
      */
282 348
     @RequestMapping(value = "/admin/buildingAll", method = RequestMethod.GET)
283
-    public  ResponseBean buildingAll(){
284
-        ResponseBean taBuilding= taBuildingService.buildingAll();
349
+    public  ResponseBean buildingAll(HttpServletRequest request){
350
+        ResponseBean taBuilding= taBuildingService.buildingAll(getOrgId(request));
285 351
         return taBuilding;
286 352
     }
287 353
 }

+ 381
- 49
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java ファイルの表示

@@ -1,6 +1,9 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3 3
 
4
+import com.alibaba.excel.EasyExcel;
5
+import com.alibaba.excel.ExcelWriter;
6
+import com.alibaba.excel.write.metadata.WriteSheet;
4 7
 import com.alibaba.fastjson.JSONObject;
5 8
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6 9
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -11,21 +14,28 @@ import com.huiju.estateagents.common.CommConstant;
11 14
 import com.huiju.estateagents.common.JWTUtils;
12 15
 import com.huiju.estateagents.common.StringUtils;
13 16
 import com.huiju.estateagents.entity.*;
14
-import com.huiju.estateagents.mapper.TaActivityDynamicEnlistMapper;
15
-import com.huiju.estateagents.mapper.TaBuildingMapper;
16
-import com.huiju.estateagents.service.ITaBuildingDynamicService;
17
-import com.huiju.estateagents.service.ITaBuildingService;
18
-import com.huiju.estateagents.service.ITaPersonService;
19
-import com.huiju.estateagents.service.ITaSaveService;
17
+import com.huiju.estateagents.event.EventBus;
18
+import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
19
+import com.huiju.estateagents.excel.TaActivityDynamicEnlistExport;
20
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
21
+import com.huiju.estateagents.mapper.*;
22
+import com.huiju.estateagents.service.*;
23
+import io.swagger.annotations.Api;
24
+import io.swagger.annotations.ApiImplicitParam;
25
+import io.swagger.annotations.ApiImplicitParams;
26
+import io.swagger.annotations.ApiOperation;
20 27
 import org.springframework.beans.factory.annotation.Autowired;
21 28
 import org.springframework.beans.propertyeditors.CustomDateEditor;
29
+import org.springframework.context.ApplicationContext;
22 30
 import org.springframework.format.annotation.DateTimeFormat;
23 31
 import org.springframework.web.bind.ServletRequestDataBinder;
24 32
 import org.springframework.web.bind.annotation.*;
25 33
 
26 34
 import javax.servlet.http.HttpServletRequest;
35
+import javax.servlet.http.HttpServletResponse;
27 36
 import javax.servlet.http.HttpSession;
28 37
 import javax.swing.*;
38
+import java.io.IOException;
29 39
 import java.text.DateFormat;
30 40
 import java.text.SimpleDateFormat;
31 41
 import java.time.LocalDateTime;
@@ -33,6 +43,9 @@ import java.util.ArrayList;
33 43
 import java.util.Date;
34 44
 import java.util.HashMap;
35 45
 import java.util.List;
46
+import java.util.Map;
47
+
48
+import static com.huiju.estateagents.event.EventBus.EventType.ActivityCheckin;
36 49
 
37 50
 /**
38 51
  * <p>
@@ -44,6 +57,7 @@ import java.util.List;
44 57
  */
45 58
 @RestController
46 59
 @RequestMapping("/api")
60
+@Api(value = "项目活动", tags = "项目活动")
47 61
 public class TaBuildingDynamicController extends BaseController {
48 62
 
49 63
     @Autowired
@@ -61,22 +75,58 @@ public class TaBuildingDynamicController extends BaseController {
61 75
     @Autowired
62 76
     private ITaBuildingService iTaBuildingService;
63 77
 
78
+    @Autowired
79
+    private ITaRecommendCustomerService recommendCustomerService;
80
+
81
+    @Autowired
82
+    private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
83
+
84
+    @Autowired
85
+    private TaSharePersonFromMapper taSharePersonFromMapper;
86
+
87
+    @Autowired
88
+    private ApplicationContext applicationContext;
89
+
90
+    @Autowired
91
+    private IMiniAppService miniAppService;
92
+
93
+    @Autowired
94
+    private TaMiniappMapper taMiniappMapper;
95
+
96
+    @Autowired
97
+    private TaMiniappQrcodeMapper taMiniappQrcodeMapper;
98
+    
99
+    @Autowired
100
+    private ITaPointsRecordsService taPointsRecordsService;
101
+
64 102
     @InitBinder
65 103
     protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
66 104
         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
67 105
         CustomDateEditor editor = new CustomDateEditor(df, true);//true表示允许为空,false反之
68 106
         binder.registerCustomEditor(Date.class, editor);
69 107
     }
70
-
108
+    
109
+    @ApiOperation(value = "后台管理端查询项目活动列表", notes = "后台管理端查询项目活动列表")
110
+    @ApiImplicitParams({
111
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
112
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
113
+            @ApiImplicitParam(dataTypeClass = String.class, name = "name", paramType = "query",value = "项目名称"),
114
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市id"),
115
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
116
+            @ApiImplicitParam(dataTypeClass = String.class, name = "title", paramType = "query",value = "标题"),
117
+            @ApiImplicitParam(dataTypeClass = String.class, name = "isEnlist", paramType = "query",value = "是否报名"),
118
+            @ApiImplicitParam(dataTypeClass = String.class, name = "time", paramType = "query",value = "日期")
119
+    })
71 120
     @RequestMapping(value = "/admin/iBuildingDynamicList", method = RequestMethod.GET)
72 121
     public ResponseBean iBuildingDynamicList(@RequestParam("pageNum")Integer pageNum,
73 122
                                              @RequestParam("pageSize")Integer pageSize,
74 123
                                              @RequestParam(required = false)String name,
75 124
                                              @RequestParam(required = false)Integer cityId,
76 125
                                              @RequestParam(required = false)String buildingId,
126
+                                             @RequestParam(required = false)String title,
77 127
                                              @RequestParam(required = false)String isEnlist,
78
-                                             @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time){
79
-        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time);
128
+                                             @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time,HttpServletRequest request){
129
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title,getOrgId(request));
80 130
         return responseBean;
81 131
     }
82 132
 
@@ -88,19 +138,28 @@ public class TaBuildingDynamicController extends BaseController {
88 138
 
89 139
     /**
90 140
      * 活动列表
91
-     * @param pageNum
141
+     * @param pageNumber
92 142
      * @param pageSize
93 143
      * @param request
94 144
      * @return
95 145
      */
146
+    @ApiOperation(value = "微信端查询项目活动列表", notes = "微信端查询项目活动列表")
147
+    @ApiImplicitParams({
148
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
149
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
150
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市id"),
151
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
152
+            @ApiImplicitParam(dataTypeClass = Boolean.class, name = "mine", paramType = "query")
153
+    })
96 154
     @RequestMapping(value = "/wx/buildingDynamiceList", method = RequestMethod.GET)
97 155
     public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "buildingId", required = false)String buildingId,
98
-                                               @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
156
+                                               @RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
99 157
                                                @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
100 158
                                                @RequestParam(defaultValue = "false" )boolean mine,
101 159
                                                @RequestParam(value = "cityId", required = false)Integer cityId,
102 160
                                                HttpServletRequest request){
103
-        String openid = JWTUtils.getSubject(request);
161
+        String openid = getOpenId(request);
162
+        Integer orgId = getOrgId(request);
104 163
         ResponseBean  responseBean = new ResponseBean();
105 164
         if(mine){
106 165
             List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
@@ -108,27 +167,26 @@ public class TaBuildingDynamicController extends BaseController {
108 167
                 return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
109 168
             }
110 169
             TaPerson person = taPersons.get(0);
111
-            responseBean.addSuccess(iBuildingDynamicService.getJoinedActivity(pageNum,pageSize,"",person));
170
+            responseBean.addSuccess(iBuildingDynamicService.getJoinedActivity(pageNumber,pageSize,"",person,orgId));
112 171
         }else {
113
-            responseBean = iBuildingDynamicService.getWxBuildingDynamiceList(pageNum,pageSize,buildingId,openid,cityId);
172
+            responseBean = iBuildingDynamicService.getWxBuildingDynamiceList(pageNumber,pageSize,buildingId,openid,cityId,orgId);
114 173
         }
115 174
 
116 175
         return responseBean;
117 176
     }
118
-
119
-    /**
120
-     * 活动列表
121
-     * @param pageNum
122
-     * @param pageSize
123
-     * @param request
124
-     * @return
125
-     */
177
+    
178
+    @ApiOperation(value = "微信端查询收藏项目活动列表", notes = "微信端查询收藏项目活动列表")
179
+    @ApiImplicitParams({
180
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
181
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
182
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id")
183
+    })
126 184
     @RequestMapping(value = "/wx/save/buildingDynamiceList", method = RequestMethod.GET)
127 185
     public ResponseBean wxSaveBuildingDynamiceList(@RequestParam(value = "buildingId", required = false)String buildingId,
128
-                                               @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
186
+                                               @RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
129 187
                                                @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
130 188
                                                HttpServletRequest request){
131
-        String openid = JWTUtils.getSubject(request);
189
+        String openid = getOpenId(request);
132 190
         ResponseBean  responseBean = new ResponseBean();
133 191
             List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
134 192
             if (null == taPersons || taPersons.size() != 1) {
@@ -144,12 +202,27 @@ public class TaBuildingDynamicController extends BaseController {
144 202
                 for(int i = 0; i<saveList.size();i++){
145 203
                     ids.add(saveList.get(i).getSavedTarget());
146 204
                 }
147
-                IPage<TaBuildingDynamic> page = new Page<>(pageNum, pageSize);
205
+                IPage<TaBuildingDynamic> page = new Page<>(pageNumber, pageSize);
148 206
                 QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
149 207
                 buildingDynamicQueryWrapper.in("dynamic_id",ids);
150 208
                 IPage<TaBuildingDynamic> buildingDynamicIPage = iBuildingDynamicService.page(page,buildingDynamicQueryWrapper);
209
+    
210
+                //查询是否报名了普通活动
211
+                QueryWrapper<TaActivityDynamicEnlist> queryWrapper = new QueryWrapper<>();
212
+                queryWrapper.eq("org_id",getOrgId(request));
213
+                queryWrapper.eq("person_id",person.getPersonId());
214
+                List<TaActivityDynamicEnlist> taActivityDynamicEnlists = taActivityDynamicEnlistMapper.selectList(queryWrapper);
215
+                
151 216
                 for(int j=0;j<buildingDynamicIPage.getRecords().size();j++){
152 217
                     iBuildingDynamicService.setExtendInfo(buildingDynamicIPage.getRecords().get(j),person);
218
+                    
219
+                    //是否已参与状态
220
+                    TaBuildingDynamic taBuildingDynamic = buildingDynamicIPage.getRecords().get(j);
221
+                    taActivityDynamicEnlists.forEach(dynamic -> {
222
+                        if (taBuildingDynamic.getDynamicId().equals(dynamic.getDynamicId())){
223
+                            taBuildingDynamic.setActivityStatus(CommConstant.ACTIVITY_STATUS_PARTNER);
224
+                        }
225
+                    });
153 226
                 }
154 227
                 responseBean.addSuccess(buildingDynamicIPage);
155 228
             }else {
@@ -165,12 +238,104 @@ public class TaBuildingDynamicController extends BaseController {
165 238
      * @param dynamicId
166 239
      * @return
167 240
      */
241
+    @ApiOperation(value = "微信端查询活动详情", notes = "微信端查询活动详情")
242
+    @ApiImplicitParams({
243
+            @ApiImplicitParam(dataTypeClass = String.class, name = "dynamicId", paramType = "path",value = "活动ID")
244
+    })
168 245
     @RequestMapping(value = "/wx/buildingDynamiceInfo/{dynamicId}", method = RequestMethod.GET)
169 246
     public ResponseBean iBuildingDynamicInfo(@PathVariable(value = "dynamicId") String dynamicId,
170 247
                                              HttpServletRequest request){
171
-        String openid = JWTUtils.getSubject(request);
248
+        String openid = getOpenId(request);
249
+        Integer orgId = getOrgId(request);
172 250
         String buildingId = "";
173
-        ResponseBean  responseBean = iBuildingDynamicService.getWxBuildingDynamiceInfo(dynamicId,buildingId,openid);
251
+        ResponseBean  responseBean = iBuildingDynamicService.getWxBuildingDynamiceInfo(dynamicId,buildingId,openid, orgId);
252
+        return responseBean;
253
+    }
254
+
255
+    /**
256
+     * 活动详情
257
+     * @param dynamicId
258
+     * @return
259
+     */
260
+    @ApiOperation(value = "微信端查询活报名动详情", notes = "微信端查询活报名动详情")
261
+    @ApiImplicitParams({
262
+            @ApiImplicitParam(dataTypeClass = String.class, name = "dynamicId", paramType = "path",value = "活动ID")
263
+    })
264
+    @RequestMapping(value = "/wx/buildingDynamiceEnlistInfo/{dynamicId}", method = RequestMethod.GET)
265
+    public ResponseBean iBuildingDynamicEnlistInfo(@PathVariable(value = "dynamicId") String dynamicId,
266
+                                             HttpServletRequest request){
267
+        ResponseBean  responseBean = new ResponseBean();
268
+                String openid = getOpenId(request);
269
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
270
+        if (null == taPersons || taPersons.size() != 1) {
271
+            return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
272
+        }
273
+        TaPerson person = taPersons.get(0);
274
+        Integer orgId = getOrgId(request);
275
+        QueryWrapper<TaActivityDynamicEnlist>enlistQueryWrapper = new QueryWrapper<>();
276
+        enlistQueryWrapper.eq("dynamic_id",dynamicId);
277
+        enlistQueryWrapper.eq("person_id",person.getPersonId());
278
+        enlistQueryWrapper.eq("org_id",orgId);
279
+        List <TaActivityDynamicEnlist> enlists = taActivityDynamicEnlistMapper.selectList(enlistQueryWrapper);
280
+        TaBuildingDynamic buildingDynamic = iBuildingDynamicService.getById(dynamicId);
281
+        Map<String,Object>data = new HashMap<>();
282
+        TaActivityDynamicEnlist enlist = new TaActivityDynamicEnlist();
283
+        if(enlists.size()>0){
284
+            enlist = enlists.get(0);
285
+        }
286
+        data.put("enlist",enlist);
287
+        data.put("dynamic",buildingDynamic);
288
+        data.put("person",person);
289
+        responseBean.addSuccess(data);
290
+        return responseBean;
291
+    }
292
+
293
+
294
+    /**
295
+     * 活动签到
296
+     * @param enlistId
297
+     * @return
298
+     */
299
+    @ApiOperation(value = "微信端活动签到", notes = "微信端活动签到")
300
+    @ApiImplicitParams({
301
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "enlistId", paramType = "path",value = "活动报名ID")
302
+    })
303
+    @RequestMapping(value = "/wx/buildingDynamicCheckin/{enlistId}", method = RequestMethod.PUT)
304
+    public ResponseBean iBuildingDynamicCheckin(@PathVariable(value = "enlistId") String enlistId,
305
+                                             HttpServletRequest request){
306
+        ResponseBean  responseBean =new ResponseBean();
307
+       TaActivityDynamicEnlist enlist = taActivityDynamicEnlistMapper.selectById(enlistId);
308
+       try{
309
+           if(null != enlist){
310
+               Integer tempIsCheckin = enlist.getIsCheckin();
311
+               enlist.setIsCheckin(CommConstant.STATUS_NORMAL);
312
+               if(taActivityDynamicEnlistMapper.updateById(enlist)>0){
313
+                   if (tempIsCheckin.intValue() == CommConstant.STATUS_UNACCALIMED.intValue()){
314
+                       enlist.setEnlistId(Integer.valueOf(enlistId));
315
+                       applicationContext.publishEvent(new EventBus(enlist,ActivityCheckin,getOrgId(request)));
316
+                       QueryWrapper<TaRecommendCustomer> customerQueryWrapper = new QueryWrapper<>();
317
+                       customerQueryWrapper.eq("person_id",enlist.getPersonId());
318
+                       customerQueryWrapper.eq("building_id",enlist.getBuildingId());
319
+                       TaRecommendCustomer recommendCustomer = recommendCustomerService.getOne(customerQueryWrapper);
320
+                       if (recommendCustomer.getStatus() < CommConstant.CUSTOMER_VISITE){
321
+                           recommendCustomer.setStatus(CommConstant.CUSTOMER_VISITE);
322
+                           recommendCustomer.setArrivalDate(LocalDateTime.now());
323
+                           recommendCustomerService.updateById(recommendCustomer);
324
+                       }
325
+                       Integer rulePoints = taPointsRecordsService.getRulePoints(CommConstant.POINTS_CHANGE_ACTIVITY_CHECKIN, getOrgId(request));
326
+                       enlist.setAddPoints(rulePoints);
327
+                       responseBean.addSuccess(enlist);
328
+                   }else {
329
+                       responseBean.addError("您已签到过");
330
+                   }
331
+               }else {
332
+                   responseBean.addError("签到失败");
333
+               }
334
+           }
335
+       }catch (Exception e){
336
+           e.printStackTrace();
337
+           responseBean.addError("签到异常");
338
+       }
174 339
         return responseBean;
175 340
     }
176 341
 
@@ -180,52 +345,141 @@ public class TaBuildingDynamicController extends BaseController {
180 345
      * @param request
181 346
      * @return
182 347
      */
348
+    @ApiOperation(value = "微信端添加活动报名", notes = "微信端添加活动报名")
349
+    @ApiImplicitParams({
350
+            @ApiImplicitParam(dataType = "TaActivityDynamicEnlist", name = "taActivityDynamicEnlist", paramType = "body",value = "")
351
+    })
183 352
     @RequestMapping(value = "/wx/activityDynamicEnlistAdd", method = RequestMethod.POST)
184 353
     public ResponseBean taActivityDynamicEnlist(@RequestBody TaActivityDynamicEnlist taActivityDynamicEnlist,
185 354
                                                 HttpServletRequest request){
186
-        String openid = JWTUtils.getSubject(request);
355
+        String openid = getOpenId(request);
356
+        Integer orgId = getOrgId(request);
357
+
187 358
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
188 359
         if (null == taPersons || taPersons.size() != 1) {
189 360
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
190 361
         }
362
+        TaBuildingDynamic buildingDynamic = iBuildingDynamicService.getById(taActivityDynamicEnlist.getDynamicId());
363
+        // TODO 看代码里面是 is_enlist = 1 才是允许报名
364
+        if (buildingDynamic.getIsEnlist().intValue() != 1) {
365
+            return ResponseBean.error("活动不允许报名", ResponseBean.ERROR_UNAVAILABLE);
366
+        }
367
+
368
+        // 携带的报名人数(是已经包括自己了),不能超过活动总人数
369
+
370
+        // 检验 个人最大报名人数
371
+        if (taActivityDynamicEnlist.getAttendNum() > buildingDynamic.getMaxEnlistByPerson().intValue()) {
372
+            return ResponseBean.error("报名失败,超过活动报名的个人最大报名人数!", ResponseBean.ERROR_UNAVAILABLE);
373
+        }
374
+
375
+        // 当前活动已报名的总人数
376
+        Integer enlistCount = taActivityDynamicEnlistMapper.selectEnlistCount(taActivityDynamicEnlist.getDynamicId(), orgId);
377
+        if ((enlistCount + taActivityDynamicEnlist.getAttendNum()) > buildingDynamic.getPersonNum().intValue()) {
378
+            return ResponseBean.error("报名失败,超过活动报名的最大人数!", ResponseBean.ERROR_UNAVAILABLE);
379
+        }
380
+
191 381
         TaPerson person = taPersons.get(0);
382
+
383
+        // 反向更新TaSharePersonFrom 的 status
384
+        QueryWrapper<TaSharePersonFrom> queryWrapper = new QueryWrapper<>();
385
+        queryWrapper.eq("target_id", taActivityDynamicEnlist.getDynamicId());
386
+        queryWrapper.eq("target_type", "dynamic_share");
387
+        queryWrapper.eq("person_id", person.getPersonId());
388
+        queryWrapper.orderByDesc("create_date");
389
+        queryWrapper.last("limit 1");
390
+        TaSharePersonFrom taSharePersonFrom = taSharePersonFromMapper.selectOne(queryWrapper);
391
+        if (null != taSharePersonFrom) {
392
+            taSharePersonFrom.setStatus(1);
393
+            taSharePersonFromMapper.updateById(taSharePersonFrom);
394
+        }
395
+
192 396
         taActivityDynamicEnlist.setPersonId(person.getPersonId());
193
-        ResponseBean  responseBean = iBuildingDynamicService.taActivityDynamicEnlistAdd(taActivityDynamicEnlist);
397
+        taActivityDynamicEnlist.setOrgId(orgId);
398
+        taActivityDynamicEnlist.setIsCheckin(CommConstant.STATUS_UNACCALIMED);
399
+        ResponseBean  responseBean = iBuildingDynamicService.taActivityDynamicEnlistAdd(taActivityDynamicEnlist, orgId);
194 400
         return responseBean;
195 401
     }
196
-
197
-
402
+    
403
+    
404
+    @ApiOperation(value = "后端活动添加", notes = "后端活动添加")
405
+    @ApiImplicitParams({
406
+            @ApiImplicitParam(dataType = "TaBuildingDynamic", name = "parameter", paramType = "body",value = "活动详细信息")
407
+    })
198 408
     @RequestMapping(value = "/admin/buildingDynamic/add" ,method =RequestMethod.POST)
199
-    public  ResponseBean buildingDynamicAdd(@RequestBody String parameter){
409
+    public  ResponseBean buildingDynamicAdd(@RequestBody String parameter,HttpServletRequest request){
200 410
         ResponseBean responseBean = new ResponseBean();
201 411
         TaBuildingDynamic dynamic = JSONObject.parseObject(parameter, TaBuildingDynamic.class);
412
+        dynamic.setOrgId(getOrgId(request));
202 413
         Integer cityId = iTaBuildingService.getCityById(dynamic.getBuildingId());
203 414
         dynamic.setCityId(cityId);
415
+        //发布状态 1展示
204 416
         dynamic.setStatus(1);
205
-//        dynamic.setDynamicId(idGen.nextId()+"");
417
+        //活动状态,如果不需要报名则直接置为进行中
418
+        dynamic.setActivityStatus(1);
419
+        //3.5.1版本去除是否需要报名
420
+//        if (dynamic.getIsEnlist() == 0){
421
+//            dynamic.setActivityStatus(0);
422
+//        }
206 423
         dynamic.setPublishDate(LocalDateTime.now());
207 424
         dynamic.setCreateDate(LocalDateTime.now());
425
+
426
+        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy());
427
+        if (heavyCount != 0){
428
+            responseBean.addError("权重已存在,请重新编辑");
429
+            return responseBean;
430
+        }
431
+         // 根据ORGID查询当前小程序表的miniapp_id
432
+        QueryWrapper<TaMiniapp> taMiniappQuery= new QueryWrapper<>();
433
+        taMiniappQuery.eq("org_id",getOrgId(request));
434
+        TaMiniapp taMiniapp = taMiniappMapper.selectOne(taMiniappQuery);
208 435
         iBuildingDynamicService.save(dynamic);
436
+        // 生成二维码
437
+        ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.ACTIVITY_QRCODE.replace("#0",dynamic.getDynamicId()).replace("#1","activity"),taMiniapp.getMiniappId());
438
+        dynamic.setQrCode(String.valueOf(taMiniappQrcode.getData()));
439
+        iBuildingDynamicService.updateById(dynamic);
440
+        responseBean.addSuccess(dynamic);
209 441
         return responseBean;
210 442
     }
211
-
443
+    
444
+    @ApiOperation(value = "后端活动更新", notes = "后端微信活动更新")
445
+    @ApiImplicitParams({
446
+            @ApiImplicitParam(dataType = "TaBuildingDynamic", name = "parameter", paramType = "body",value = "活动详细信息")
447
+    })
212 448
     @RequestMapping(value = "/admin/buildingDynamic/update" ,method =RequestMethod.PUT)
213
-    public  ResponseBean buildingDynamicUpdate(@RequestBody String parameter){
449
+    public  ResponseBean buildingDynamicUpdate(@RequestBody String parameter,HttpServletRequest request){
214 450
         ResponseBean responseBean = new ResponseBean();
215 451
         TaBuildingDynamic dynamic = JSONObject.parseObject(parameter, TaBuildingDynamic.class);
452
+        dynamic.setOrgId(getOrgId(request));
216 453
         QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
217 454
         Integer cityId = iTaBuildingService.getCityById(dynamic.getBuildingId());
218 455
         dynamic.setCityId(cityId);
456
+        if (dynamic.getEnlistStart() != null && LocalDateTime.now().isBefore(dynamic.getEnlistStart())){
457
+            dynamic.setActivityStatus(1);
458
+        }
459
+        if (dynamic.getEnlistEnd() != null && LocalDateTime.now().isAfter(dynamic.getEnlistEnd())){
460
+            dynamic.setActivityStatus(2);
461
+        }
462
+        Integer heavyCount = iTaBuildingService.countNumByHeavy(dynamic.getHeavy());
463
+        if (heavyCount != 0){
464
+            responseBean.addError("权重已存在,请重新编辑");
465
+            return responseBean;
466
+        }
219 467
         buildingDynamicQueryWrapper.eq("dynamic_id", dynamic.getDynamicId());
220 468
         iBuildingDynamicService.update(dynamic, buildingDynamicQueryWrapper);
221 469
         return responseBean;
222 470
     }
223
-
471
+    
472
+    @ApiOperation(value = "后端置顶", notes = "后端置顶")
473
+    @ApiImplicitParams({
474
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "query",value = "活动ID"),
475
+            @ApiImplicitParam(dataType = "Integer", name = "weight", paramType = "query",value = "权重")
476
+    })
224 477
     @RequestMapping(value = "/admin/buildingDynamic/weight" ,method =RequestMethod.PUT)
225
-    public  ResponseBean buildingDynamicWeight(@RequestParam String dynamicId,@RequestParam Integer weight){
478
+    public  ResponseBean buildingDynamicWeight(@RequestParam String dynamicId,@RequestParam Integer weight,HttpServletRequest request){
226 479
         ResponseBean responseBean = new ResponseBean();
227 480
         TaBuildingDynamic dynamic = iBuildingDynamicService.getById(dynamicId);
228 481
         dynamic.setWeight(weight);
482
+        dynamic.setOrgId(getOrgId(request));
229 483
         QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
230 484
         dynamicQueryWrapper.eq("dynamic_id",dynamic);
231 485
         if (iBuildingDynamicService.updateById(dynamic)){
@@ -235,37 +489,55 @@ public class TaBuildingDynamicController extends BaseController {
235 489
         }
236 490
         return responseBean;
237 491
     }
238
-
492
+    
493
+    
494
+    @ApiOperation(value = "后端删除", notes = "后端删除")
495
+    @ApiImplicitParams({
496
+            @ApiImplicitParam(dataType = "String", name = "id", paramType = "query",value = "活动ID")
497
+    })
239 498
     @RequestMapping(value = "/admin/buildingDynamic/delete", method = RequestMethod.DELETE)
240 499
     public ResponseBean buildingDynamicdelect(@RequestParam(value = "id",required = false)String id) {
241 500
         ResponseBean responseBean = iBuildingDynamicService.buildingDynamicDelete(id);
242 501
         return responseBean;
243 502
     }
244
-
245
-
503
+    
504
+    @ApiOperation(value = "后端发布活动", notes = "后端发布活动")
505
+    @ApiImplicitParams({
506
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "path",value = "活动ID")
507
+    })
246 508
     @RequestMapping(value = "/admin/buildingDynamic/send/{dynamicId}", method = RequestMethod.PUT)
247
-    public ResponseBean send(@PathVariable String dynamicId) {
509
+    public ResponseBean send(@PathVariable String dynamicId, HttpServletRequest request) {
248 510
         ResponseBean responseBean = new ResponseBean();
249 511
         QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
250 512
         dynamicQueryWrapper.eq("dynamic_id", dynamicId);
251 513
         TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
252 514
         dynamic.setStatus(1);
253 515
         dynamic.setPublishDate(LocalDateTime.now());
516
+        dynamic.setOrgId(getOrgId(request));
254 517
         iBuildingDynamicService.update(dynamic, dynamicQueryWrapper);
255 518
         return responseBean;
256 519
     }
257
-
520
+    
521
+    @ApiOperation(value = "后端取消活动", notes = "后端取消活动")
522
+    @ApiImplicitParams({
523
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "path",value = "活动ID")
524
+    })
258 525
     @RequestMapping(value = "/admin/buildingDynamic/cancel/{dynamicId}", method = RequestMethod.PUT)
259
-    public ResponseBean cancel(@PathVariable String dynamicId) {
526
+    public ResponseBean cancel(@PathVariable String dynamicId, HttpServletRequest request) {
260 527
         ResponseBean responseBean = new ResponseBean();
261 528
         QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
262 529
         dynamicQueryWrapper.eq("dynamic_id", dynamicId);
263 530
         TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
264 531
         dynamic.setStatus(0);
532
+        dynamic.setOrgId(getOrgId(request));
265 533
         iBuildingDynamicService.update(dynamic, dynamicQueryWrapper);
266 534
         return responseBean;
267 535
     }
268
-
536
+    
537
+    @ApiOperation(value = "后端活动详情", notes = "后端活动详情")
538
+    @ApiImplicitParams({
539
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "query",value = "活动ID")
540
+    })
269 541
     @RequestMapping(value = "/admin/buildingDynamic/Details", method = RequestMethod.GET)
270 542
     public ResponseBean buildingDynamicDetails(@RequestParam("dynamicId")String dynamicId) {
271 543
         ResponseBean responseBean = new ResponseBean();
@@ -281,15 +553,28 @@ public class TaBuildingDynamicController extends BaseController {
281 553
         responseBean.addSuccess(dynamic);
282 554
         return responseBean;
283 555
     }
284
-
556
+    
557
+    @ApiOperation(value = "后端报名列表", notes = "后端报名列表")
558
+    @ApiImplicitParams({
559
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
560
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
561
+            @ApiImplicitParam(dataType = "String", name = "dynamicId", paramType = "query",value = "活动ID"),
562
+            @ApiImplicitParam(dataType = "String", name = "isCheckin", paramType = "query",value = "0未签到1签到"),
563
+            @ApiImplicitParam(dataType = "String", name = "name", paramType = "query",value = "用户姓名"),
564
+            @ApiImplicitParam(dataType = "String", name = "phone", paramType = "query",value = "手机号")
565
+    })
285 566
     @RequestMapping(value = "/admin/SignList", method = RequestMethod.GET)
286 567
     public ResponseBean getSignList(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
287 568
                                     @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
288
-                                    @RequestParam(value = "dynamicId",required = false)String dynamicId) {
569
+                                    @RequestParam(value = "dynamicId",required = false)String dynamicId,
570
+                                    @RequestParam(value = "isCheckin",required = false)String isCheckin,
571
+                                    @RequestParam(value = "name",required = false)String name,
572
+                                    @RequestParam(value = "phone",required = false)String phone,
573
+                                    HttpServletRequest request) {
289 574
         Page<TaActivityDynamicEnlist> page = new Page<>();
290 575
         page.setSize(pageSize);
291 576
         page.setCurrent(pageNum);
292
-        ResponseBean signList = iBuildingDynamicService.signList(page,dynamicId);
577
+        ResponseBean signList = iBuildingDynamicService.signList(page,dynamicId, getOrgId(request),isCheckin,name,phone);
293 578
 
294 579
         HashMap<String, Object> map = new HashMap<>();
295 580
         map.put("list", signList);
@@ -298,7 +583,11 @@ public class TaBuildingDynamicController extends BaseController {
298 583
         map.put("pageSize", page.getSize());
299 584
         return ResponseBean.success(map);
300 585
     }
301
-
586
+    
587
+    @ApiOperation(value = "后端结束活动", notes = "后端结束活动")
588
+    @ApiImplicitParams({
589
+            @ApiImplicitParam(dataType = "String", name = "parameter", paramType = "body",value = "活动ID dynamicId 和 top")
590
+    })
302 591
     @RequestMapping(value = "/admin/buildingDynamic/finish" ,method =RequestMethod.PUT)
303 592
     public  ResponseBean buildingDynamicFinish(@RequestBody String parameter) {
304 593
         ResponseBean responseBean = new ResponseBean();
@@ -311,13 +600,56 @@ public class TaBuildingDynamicController extends BaseController {
311 600
         if ("1".equals(top)) {
312 601
             dynamic.setCreateDate(LocalDateTime.now());
313 602
         } else {
314
-            dynamic.setIsEnlist("2");
603
+            dynamic.setActivityStatus(2);
315 604
         }
316 605
         iBuildingDynamicService.update(dynamic, taBuildingDynamic);
317 606
         responseBean.addSuccess("成功");
318 607
         return responseBean;
319 608
     }
320 609
 
610
+    /**
611
+     * 报名记录导出
612
+     *
613
+     * @param request
614
+     * @param response
615
+     * @throws IOException
616
+     */
617
+    @GetMapping("/admin/activityDynamicEnlist/export")
618
+    public void activityDynamicEnlistExport(HttpServletRequest request,
619
+                                      HttpServletResponse response,
620
+                                      @RequestParam(value = "dynamicId",required = false)String dynamicId,
621
+                                      @RequestParam(value = "isCheckin",required = false)String isCheckin,
622
+                                      @RequestParam(value = "name",required = false)String name,
623
+                                      @RequestParam(value = "phone",required = false)String phone) throws IOException {
624
+        //        response.setContentType("application/vnd.ms-excel");
625
+        response.setContentType("application/octet-stream");
626
+        response.setCharacterEncoding("utf-8");
627
+        response.setHeader("Content-disposition", "attachment;filename=助力活动发起人.xlsx");
628
+
629
+        Integer orgId = getOrgId(request);
630
+
631
+        Integer pageCode = 0;
632
+        Integer pageSize = 100;
633
+        // 总页数
634
+        Integer pageCount = 0;
635
+
636
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), TaActivityDynamicEnlistExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
637
+            // 设置 sheet, 同一个sheet只需要设置一次
638
+            WriteSheet writeSheet = EasyExcel.writerSheet("报名记录").build();
639
+            Integer count = iBuildingDynamicService.getTaActivityDynamicEnlist(dynamicId,isCheckin,name,phone);
640
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
641
+            List<HelpInitiateRecordSucceed> publicList = null;
642
+            do {
643
+                publicList = iBuildingDynamicService.getTaActivityDynamicEnlistExport(pageCode * pageSize, pageSize,dynamicId,isCheckin,name,phone,getOrgId(request));
644
+                excelWriter.write(publicList, writeSheet);
645
+
646
+                pageCode++;
647
+            } while (pageCode <= pageCount);
648
+
649
+            // finish 会帮忙关闭流
650
+            excelWriter.finish();
651
+        }
652
+
321 653
 
322 654
 
323 655
 }

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

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
19 19
 import org.springframework.web.bind.annotation.RestController;
20 20
 import com.huiju.estateagents.base.BaseController;
21 21
 
22
+import javax.servlet.http.HttpServletRequest;
22 23
 import java.util.List;
23 24
 
24 25
 /**
@@ -92,9 +93,9 @@ public class TaBuildingIntentionController extends BaseController {
92 93
      * @return
93 94
      */
94 95
     @RequestMapping(value="/admin/taBuildingIntentionAddOrUpdate/{buildingId}",method= RequestMethod.POST)
95
-    public ResponseBean taBuildingIntentionAddOrUpdate(@RequestBody List<TdBizEvent> tdBizEventList, @PathVariable String buildingId){
96
+    public ResponseBean taBuildingIntentionAddOrUpdate(@RequestBody List<TdBizEvent> tdBizEventList, @PathVariable String buildingId, HttpServletRequest request){
96 97
         ResponseBean responseBean = new ResponseBean();
97
-        responseBean = iTaBuildingIntentionService.taBuildingIntentionAddOrUpdate(tdBizEventList, buildingId);
98
+        responseBean = iTaBuildingIntentionService.taBuildingIntentionAddOrUpdate(tdBizEventList, buildingId, getOrgId(request));
98 99
         return responseBean;
99 100
     }
100 101
 

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

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
21 21
 import org.springframework.web.bind.annotation.RestController;
22 22
 import com.huiju.estateagents.base.BaseController;
23 23
 
24
+import javax.servlet.http.HttpServletRequest;
24 25
 import java.time.LocalDateTime;
25 26
 import java.util.ArrayList;
26 27
 import java.util.List;
@@ -51,13 +52,15 @@ public class TaBuildingReportController extends BaseController {
51 52
      */
52 53
     @RequestMapping(value="/admin/taBuildingReports",method= RequestMethod.GET)
53 54
     public ResponseBean taBuildingReportList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
54
-                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
55
+                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
56
+                                             HttpServletRequest request){
55 57
         ResponseBean responseBean = new ResponseBean();
56 58
         try {
57 59
             //使用分页插件
58 60
 		    IPage<TaBuildingReport> pg = new Page<>(pageNum, pageSize);
59 61
             QueryWrapper<TaBuildingReport> queryWrapper = new QueryWrapper<>();
60 62
             queryWrapper.orderByDesc("create_date");
63
+            queryWrapper.eq("org_id", getOrgId(request));
61 64
 
62 65
             IPage<TaBuildingReport> result = iTaBuildingReportService.page(pg, queryWrapper);
63 66
             responseBean.addSuccess(result);
@@ -74,19 +77,21 @@ public class TaBuildingReportController extends BaseController {
74 77
      * @return
75 78
      */
76 79
     @RequestMapping(value="/admin/taBuildingReport/add",method= RequestMethod.POST)
77
-    public ResponseBean taBuildingReportAdd(@RequestBody String jsonString){
80
+    public ResponseBean taBuildingReportAdd(@RequestBody String jsonString, HttpServletRequest request){
78 81
         ResponseBean responseBean = new ResponseBean();
82
+        Integer orgId = getOrgId(request);
79 83
         try {
80 84
             JSONArray jsonArray = JSONObject.parseObject(jsonString).getJSONArray("list");
81 85
             List<TaBuildingReport> list = new ArrayList<>();
82 86
             jsonArray.stream().forEach(e -> {
83 87
                 TaBuildingReport taBuildingReport = new TaBuildingReport();
88
+                taBuildingReport.setOrgId(orgId);
84 89
                 taBuildingReport.setReportCode(e.toString());
85 90
                 taBuildingReport.setCreateDate(LocalDateTime.now());
86 91
                 list.add(taBuildingReport);
87 92
             });
88 93
             //先删除在添加
89
-            iTaBuildingReportService.deleteAll();
94
+            iTaBuildingReportService.deleteAll(orgId);
90 95
             if (iTaBuildingReportService.saveBatch(list)){
91 96
                 responseBean.addSuccess("保存成功");
92 97
             }else {
@@ -128,9 +133,11 @@ public class TaBuildingReportController extends BaseController {
128 133
      */
129 134
     @RequestMapping(value="/taBuildingReport/{id}",method= RequestMethod.PUT)
130 135
     public ResponseBean taBuildingReportUpdate(@PathVariable Integer id,
131
-                                        @RequestBody TaBuildingReport taBuildingReport){
136
+                                        @RequestBody TaBuildingReport taBuildingReport,
137
+                                               HttpServletRequest request){
132 138
         ResponseBean responseBean = new ResponseBean();
133 139
         try {
140
+            taBuildingReport.setOrgId(getOrgId(request));
134 141
             if (iTaBuildingReportService.updateById(taBuildingReport)){
135 142
                 responseBean.addSuccess(taBuildingReport);
136 143
             }else {

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

@@ -0,0 +1,249 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import io.swagger.annotations.ApiOperation;
10
+import com.huiju.estateagents.common.JWTUtils;
11
+import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.entity.TaChannel;
13
+import com.huiju.estateagents.entity.TaPerson;
14
+import com.huiju.estateagents.mapper.TaChannelMapper;
15
+import com.huiju.estateagents.service.ITaPersonService;
16
+import com.huiju.estateagents.service.TaChannelService;
17
+import io.swagger.annotations.Api;
18
+import io.swagger.annotations.ApiImplicitParam;
19
+import io.swagger.annotations.ApiImplicitParams;
20
+import org.apache.http.HttpRequest;
21
+import org.slf4j.Logger;
22
+import org.slf4j.LoggerFactory;
23
+import org.springframework.beans.factory.annotation.Autowired;
24
+import org.springframework.web.bind.annotation.PathVariable;
25
+import org.springframework.web.bind.annotation.RequestBody;
26
+import org.springframework.web.bind.annotation.RequestMapping;
27
+import org.springframework.web.bind.annotation.RequestMethod;
28
+import org.springframework.web.bind.annotation.RequestParam;
29
+import org.springframework.web.bind.annotation.ResponseBody;
30
+import org.springframework.web.bind.annotation.RestController;
31
+
32
+import javax.servlet.http.HttpServletRequest;
33
+import java.util.HashMap;
34
+import java.util.List;
35
+
36
+
37
+/**
38
+ * <p>
39
+    *   前端控制器
40
+    * </p>
41
+ *
42
+ * @author jobob
43
+ * @since 2019-09-17
44
+ */
45
+@RestController
46
+@RequestMapping("/api")
47
+@Api(value = "渠道管理", tags = "渠道管理")
48
+public class TaChannelController extends BaseController {
49
+
50
+    private final Logger logger = LoggerFactory.getLogger(TaChannelController.class);
51
+
52
+    @Autowired
53
+    public TaChannelService taChannelService;
54
+
55
+    @Autowired
56
+    public ITaPersonService taPersonService;
57
+
58
+    @Autowired
59
+    public TaChannelMapper taChannelMapper;
60
+
61
+
62
+    /**
63
+     * 渠道管理列表
64
+     * @param pageNum
65
+     * @param pageSize
66
+     * @return
67
+     */
68
+    @ApiOperation(value = "渠道管理列表", notes = "渠道管理列表")
69
+    @ApiImplicitParams({
70
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
71
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
72
+            @ApiImplicitParam(dataTypeClass = String.class, name = "channelId", paramType = "query",value = "渠道Id"),
73
+    })
74
+    @RequestMapping(value="/admin/channel",method= RequestMethod.GET)
75
+    public ResponseBean channelList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
76
+                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
77
+                                    @RequestParam(value ="channelId",required = false) Integer channelId,
78
+                                    HttpServletRequest request){
79
+        ResponseBean responseBean = new ResponseBean();
80
+        Integer orgId = getOrgId(request);
81
+        try {
82
+            //使用分页插件
83
+		    IPage<TaChannel> pg = new Page<>(pageNum, pageSize);
84
+            IPage<TaChannel> result = taChannelMapper.pageTaChannel(pg,orgId,channelId);
85
+            HashMap hashMap  = new HashMap<>();
86
+            hashMap.put("result",result);
87
+            // 下拉列表的数据 all
88
+            List<TaChannel> taChannelList = taChannelMapper.selectChannelList(orgId);
89
+            hashMap.put("channelNmae",taChannelList);
90
+            responseBean.addSuccess(hashMap);
91
+        }catch (Exception e){
92
+            e.printStackTrace();
93
+            logger.error("channelList -=- {}",e.toString());
94
+            responseBean.addError(e.getMessage());
95
+        }
96
+        return responseBean;
97
+    }
98
+
99
+    /**
100
+     * 渠道保存
101
+     * @param channel 实体对象
102
+     * @return
103
+     */
104
+    @ApiOperation(value = "渠道保存", notes = "渠道保存")
105
+    @ApiImplicitParams({
106
+            @ApiImplicitParam(dataTypeClass = TaChannel.class, name = "channel", paramType = "body",value = "当前对象"),
107
+    })
108
+    @RequestMapping(value="/admin/channel",method= RequestMethod.POST)
109
+    public ResponseBean channelAdd(@RequestBody TaChannel channel ,HttpServletRequest request){
110
+        Integer orgId = getOrgId(request);
111
+        ResponseBean responseBean = new ResponseBean();
112
+        try {
113
+            // 生成6位数的渠道码
114
+            int channelCode= taChannelMapper.channelCode();
115
+            channel.setChannelCode(String.valueOf(channelCode));
116
+            channel.setOrgId(orgId);
117
+            if (taChannelService.save(channel)){
118
+                responseBean.addSuccess(channel);
119
+            }else {
120
+                responseBean.addError("fail");
121
+            }
122
+        }catch (Exception e){
123
+            e.printStackTrace();
124
+            logger.error("channelAdd -=- {}",e.toString());
125
+            responseBean.addError(e.getMessage());
126
+        }
127
+        return responseBean;
128
+    }
129
+
130
+    /**
131
+     * 根据id删除对象
132
+     * @param id  实体ID
133
+     */
134
+    @ApiOperation(value = "根据渠道ID删除", notes = "根据渠道ID删除")
135
+    @ApiImplicitParams({
136
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "id", paramType = "query",value = "渠道id"),
137
+    })
138
+    @ResponseBody
139
+    @RequestMapping(value="/channel/{id}", method= RequestMethod.DELETE)
140
+    public ResponseBean channelDelete(@PathVariable Integer id){
141
+        ResponseBean responseBean = new ResponseBean();
142
+        try {
143
+            if(taChannelService.removeById(id)){
144
+                responseBean.addSuccess("success");
145
+            }else {
146
+                responseBean.addError("fail");
147
+            }
148
+        }catch (Exception e){
149
+            e.printStackTrace();
150
+            logger.error("channelDelete -=- {}",e.toString());
151
+            responseBean.addError(e.getMessage());
152
+        }
153
+        return responseBean;
154
+    }
155
+
156
+    /**
157
+     * 修改对象
158
+     * @param id  实体ID
159
+     * @param channel 实体对象
160
+     * @return
161
+     */
162
+    @ApiOperation(value = "根据渠道ID修改", notes = "根据渠道ID修改")
163
+    @ApiImplicitParams({
164
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "id", paramType = "query",value = "渠道id"),
165
+    })
166
+    @RequestMapping(value="/admin/channel/{id}",method= RequestMethod.PUT)
167
+    public ResponseBean channelUpdate(@PathVariable Integer id,
168
+                                        @RequestBody TaChannel channel){
169
+        ResponseBean responseBean = new ResponseBean();
170
+        try {
171
+            channel.setChannelId(id);
172
+            if (taChannelService.updateById(channel)){
173
+                responseBean.addSuccess(channel);
174
+            }else {
175
+                responseBean.addError("fail");
176
+            }
177
+        }catch (Exception e){
178
+            e.printStackTrace();
179
+            logger.error("channelUpdate -=- {}",e.toString());
180
+            responseBean.addError(e.getMessage());
181
+        }
182
+        return responseBean;
183
+    }
184
+
185
+    /**
186
+     * 根据id查询对象
187
+     * @param id  实体ID
188
+     */
189
+    @ApiOperation(value = "根据渠道ID查询", notes = "根据渠道ID查询")
190
+    @ApiImplicitParams({
191
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "id", paramType = "query",value = "渠道id"),
192
+    })
193
+    @RequestMapping(value="/admin/channel/{id}",method= RequestMethod.GET)
194
+    public ResponseBean channelGet(@PathVariable Integer id){
195
+        ResponseBean responseBean = new ResponseBean();
196
+        try {
197
+            responseBean.addSuccess(taChannelService.getById(id));
198
+        }catch (Exception e){
199
+            e.printStackTrace();
200
+            logger.error("channelDelete -=- {}",e.toString());
201
+            responseBean.addError(e.getMessage());
202
+        }
203
+        return responseBean;
204
+    }
205
+
206
+    /**
207
+     * 渠道管理下的经纪人
208
+     */
209
+    @ApiOperation(value = "渠道管理下的经纪人", notes = "渠道管理下的经纪人")
210
+    @ApiImplicitParams({
211
+            @ApiImplicitParam(dataTypeClass = String.class, name = "name", paramType = "query",value = "姓名"),
212
+            @ApiImplicitParam(dataTypeClass = String.class, name = "phone", paramType = "query",value = "电话"),
213
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "channelId", paramType = "query",value = "渠道id"),
214
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "多少页"),
215
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "每页多少条"),
216
+    })
217
+    @RequestMapping(value="/admin/channel/broker",method= RequestMethod.GET)
218
+    public  ResponseBean channelBrokerList(@RequestParam(value="name",required = false) String name,
219
+                                           @RequestParam(value="phone",required = false) String phone,
220
+                                           @RequestParam(value="channelId",required = false) Integer channelId,
221
+                                           @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
222
+                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
223
+                                           HttpServletRequest request){
224
+        Integer orgid = getOrgId(request);
225
+        ResponseBean taPerson =  taPersonService.channelBrokerList(name,phone,pageNum,pageSize,orgid,channelId);
226
+        return taPerson;
227
+    }
228
+
229
+    /**
230
+     * 渠道邀请经纪人列表
231
+     */
232
+    @ApiOperation(value = "渠道邀请经纪人列表", notes = "渠道邀请经纪人列表")
233
+    @ApiImplicitParams({
234
+            @ApiImplicitParam(dataTypeClass = String.class, name = "id", paramType = "query",value = "姓名"),
235
+            @ApiImplicitParam(dataTypeClass = String.class, name = "phone", paramType = "query",value = "电话"),
236
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "channelId", paramType = "query",value = "渠道id"),
237
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "多少页"),
238
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "每页多少条"),
239
+    })
240
+    @RequestMapping(value="/admin/channel/InviteClientsList",method= RequestMethod.GET)
241
+    public  ResponseBean InviteClientsList(@RequestParam(value="id",required = false) String id,
242
+                                           @RequestParam(value="phone",required = false) String phone,
243
+                                           @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
244
+                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
245
+                                           HttpServletRequest request){
246
+        ResponseBean taPerson =  taPersonService.InviteClientsList(id,phone,pageNum,pageSize);
247
+        return taPerson;
248
+    }
249
+}

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

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

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

@@ -39,7 +39,7 @@ public class TaChatController extends BaseController {
39 39
     @GetMapping("/wx/chat/history")
40 40
     public ResponseBean getChatHistory(@RequestParam String chatWith, @RequestParam int pageNumber, @RequestParam int pageSize, HttpServletRequest request) {
41 41
         // 消息发送人
42
-        String openid = JWTUtils.getSubject(request);
42
+        String openid = getOpenId(request);
43 43
 
44 44
         return taChatService.getChatHistory(openid, chatWith, pageNumber, pageSize);
45 45
     }
@@ -52,7 +52,7 @@ public class TaChatController extends BaseController {
52 52
     @GetMapping("/wx/chat/with")
53 53
     public ResponseBean getChatWithList( @RequestParam int pageNumber, @RequestParam int pageSize, HttpServletRequest request) {
54 54
         // 当前人员
55
-        String openid = JWTUtils.getSubject(request);
55
+        String openid = getOpenId(request);
56 56
 
57 57
         return taChatService.getChatWithList(openid, pageNumber, pageSize);
58 58
     }
@@ -65,7 +65,7 @@ public class TaChatController extends BaseController {
65 65
     @PutMapping("/wx/chat/message")
66 66
     public ResponseBean updateMessageReaded(HttpServletRequest request) {
67 67
         // 当前人员
68
-        String openid = JWTUtils.getSubject(request);
68
+        String openid = getOpenId(request);
69 69
         return taChatService.updateMessageReadedOf(openid);
70 70
     }
71 71
 }

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

@@ -97,7 +97,7 @@ public class TaCheckinController extends BaseController {
97 97
      */
98 98
     @RequestMapping(value="/wx/taCheckin/activity/{activity}",method= RequestMethod.POST)
99 99
     public ResponseBean taCheckinAdd(@PathVariable String activity, HttpServletRequest request){
100
-        String openid = JWTUtils.getSubject(request);
100
+        String openid = getOpenId(request);
101 101
         List<TaPerson> taPersons = iTaPersonService.getPersonsByOpenId(openid);
102 102
         if (null == taPersons || taPersons.size() != 1) {
103 103
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
@@ -131,7 +131,7 @@ public class TaCheckinController extends BaseController {
131 131
 
132 132
     @GetMapping("/wx/taCheckin/activity/{activityId}/isChecked")
133 133
     public ResponseBean isChecked(@PathVariable String activityId, HttpServletRequest request) {
134
-        String openid = JWTUtils.getSubject(request);
134
+        String openid = getOpenId(request);
135 135
         List<TaPerson> taPersons = iTaPersonService.getPersonsByOpenId(openid);
136 136
         if (null == taPersons || taPersons.size() != 1) {
137 137
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);

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

@@ -54,14 +54,15 @@ public class TaCustomerMessageController extends BaseController {
54 54
      */
55 55
     @RequestMapping(value="/admin/taCustomerMessage",method= RequestMethod.GET)
56 56
     public ResponseBean taCustomerMessageList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
57
-                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
57
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
+                                              HttpServletRequest request){
58 59
         ResponseBean responseBean = new ResponseBean();
59 60
         try {
60 61
             //使用分页插件
61 62
 		    IPage<TaCustomerMessage> pg = new Page<>(pageNum, pageSize);
62 63
             QueryWrapper<TaCustomerMessage> queryWrapper = new QueryWrapper<>();
63 64
             queryWrapper.orderByDesc("create_date");
64
-
65
+            queryWrapper.eq("org_id", getOrgId(request));
65 66
             IPage<TaCustomerMessage> result = iTaCustomerMessageService.page(pg, queryWrapper);
66 67
             responseBean.addSuccess(result);
67 68
         }catch (Exception e){
@@ -78,9 +79,10 @@ public class TaCustomerMessageController extends BaseController {
78 79
      * @return
79 80
      */
80 81
     @RequestMapping(value="/taCustomerMessage",method= RequestMethod.POST)
81
-    public ResponseBean taCustomerMessageAdd(@RequestBody TaCustomerMessage taCustomerMessage){
82
+    public ResponseBean taCustomerMessageAdd(@RequestBody TaCustomerMessage taCustomerMessage, HttpServletRequest request){
82 83
         ResponseBean responseBean = new ResponseBean();
83 84
         try {
85
+            taCustomerMessage.setOrgId(getOrgId(request));
84 86
             if (iTaCustomerMessageService.save(taCustomerMessage)){
85 87
                 responseBean.addSuccess(taCustomerMessage);
86 88
             }else {
@@ -124,9 +126,11 @@ public class TaCustomerMessageController extends BaseController {
124 126
      */
125 127
     @RequestMapping(value="/taCustomerMessage/{id}",method= RequestMethod.PUT)
126 128
     public ResponseBean taCustomerMessageUpdate(@PathVariable Integer id,
127
-                                        @RequestBody TaCustomerMessage taCustomerMessage){
129
+                                                @RequestBody TaCustomerMessage taCustomerMessage,
130
+                                                HttpServletRequest request){
128 131
         ResponseBean responseBean = new ResponseBean();
129 132
         try {
133
+            taCustomerMessage.setOrgId(getOrgId(request));
130 134
             if (iTaCustomerMessageService.updateById(taCustomerMessage)){
131 135
                 responseBean.addSuccess(taCustomerMessage);
132 136
             }else {
@@ -166,12 +170,13 @@ public class TaCustomerMessageController extends BaseController {
166 170
     public ResponseBean wxCustomerMessageAdd(@RequestBody TaCustomerMessage taCustomerMessage, HttpServletRequest request){
167 171
         ResponseBean responseBean = new ResponseBean();
168 172
         try {
169
-            String openid = JWTUtils.getSubject(request);
173
+            String openid = getOpenId(request);
170 174
             TaPerson taPersons = taPersonService.getPersonsByOpenId(openid).get(0);
171 175
             taCustomerMessage.setStatus(CommConstant.STATUS_UNACCALIMED);
172 176
             taCustomerMessage.setCreateDate(LocalDateTime.now());
173 177
             taCustomerMessage.setPersonId(taPersons.getPersonId());
174 178
             taCustomerMessage.setNickname(taPersons.getNickname());
179
+            taCustomerMessage.setOrgId(getOrgId(request));
175 180
             if (iTaCustomerMessageService.save(taCustomerMessage)){
176 181
                 responseBean.addSuccess(taCustomerMessage);
177 182
             }else {

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

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

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

@@ -0,0 +1,305 @@
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.common.StringUtils;
10
+import com.huiju.estateagents.entity.*;
11
+import com.huiju.estateagents.event.EventBus;
12
+import com.huiju.estateagents.service.ITaDocumentImgService;
13
+import com.huiju.estateagents.service.ITaDocumentVerifyService;
14
+import com.huiju.estateagents.service.ITaPersonService;
15
+import io.swagger.models.auth.In;
16
+import org.apache.ibatis.annotations.Param;
17
+import org.slf4j.Logger;
18
+import org.slf4j.LoggerFactory;
19
+import org.springframework.beans.factory.annotation.Autowired;
20
+import org.springframework.context.ApplicationContext;
21
+import org.springframework.format.annotation.DateTimeFormat;
22
+import org.springframework.web.bind.annotation.*;
23
+
24
+import javax.servlet.http.HttpServletRequest;
25
+import java.time.LocalDateTime;
26
+import java.util.ArrayList;
27
+import java.util.HashMap;
28
+import java.util.List;
29
+import java.util.Map;
30
+
31
+/**
32
+ * <p>
33
+    * 资料审核  前端控制器
34
+    * </p>
35
+ *
36
+ * @author jobob
37
+ * @since 2019-10-23
38
+ */
39
+@RestController
40
+@RequestMapping("/api")
41
+public class TaDocumentVerifyController extends BaseController {
42
+
43
+    private final Logger logger = LoggerFactory.getLogger(TaDocumentVerifyController.class);
44
+
45
+    @Autowired
46
+    public ITaDocumentVerifyService iTaDocumentVerifyService;
47
+
48
+    @Autowired
49
+    public ITaPersonService taPersonService;
50
+
51
+    @Autowired
52
+    public ITaDocumentImgService documentImgService;
53
+
54
+
55
+    @Autowired
56
+    private ApplicationContext applicationContext;
57
+
58
+    /**
59
+     * 分页查询列表
60
+     * @param pageNum
61
+     * @param pageSize
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/admin/documentVerify",method= RequestMethod.GET)
65
+    public ResponseBean documentVerifyList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
66
+                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
67
+                                           @RequestParam(value ="name",required = false) String name,
68
+                                           @RequestParam(value ="tel",required = false) String tel,
69
+                                           @RequestParam(value = "startDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)LocalDateTime startDate,
70
+                                           @RequestParam(value = "endDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)LocalDateTime endDate,
71
+                                           HttpServletRequest request){
72
+        ResponseBean responseBean = new ResponseBean();
73
+        try {
74
+            responseBean = iTaDocumentVerifyService.getAdminDocumentList(pageNum,pageSize,name,tel,getOrgId(request),startDate,endDate);
75
+        }catch (Exception e){
76
+            e.printStackTrace();
77
+            logger.error("documentVerifyList -=- {}",e.toString());
78
+            responseBean.addError(e.getMessage());
79
+        }
80
+        return responseBean;
81
+    }
82
+
83
+    /**
84
+     * 微信查询我的审核列表
85
+     * @return
86
+     */
87
+    @RequestMapping(value="/wx/documentVerify/list",method= RequestMethod.GET)
88
+    public ResponseBean wxDocumentVerifyList(HttpServletRequest request){
89
+        ResponseBean responseBean = new ResponseBean();
90
+        Integer orgId = getOrgId(request);
91
+        String openid = getOpenId(request);
92
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
93
+        if (null == taPersons || taPersons.size() != 1) {
94
+            return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
95
+        }
96
+        TaPerson person = taPersons.get(0);
97
+        try {
98
+            QueryWrapper<TaDocumentVerify> queryWrapper = new QueryWrapper<>();
99
+            queryWrapper.eq("person_id",person.getPersonId());
100
+            queryWrapper.eq("org_id",orgId);
101
+            queryWrapper.orderByAsc("verify_status");
102
+            List<TaDocumentVerify>result = iTaDocumentVerifyService.list(queryWrapper);
103
+            responseBean.addSuccess(result);
104
+        }catch (Exception e){
105
+            e.printStackTrace();
106
+            logger.error("documentVerifyList -=- {}",e.toString());
107
+            responseBean.addError(e.getMessage());
108
+        }
109
+        return responseBean;
110
+    }
111
+
112
+    /**
113
+     * 保存对象
114
+     * @param documentVerify List<TaDocumentImg>
115
+     * @return
116
+     */
117
+    @RequestMapping(value="/wx/documentVerify",method= RequestMethod.POST)
118
+    public ResponseBean wxDocumentVerifyAdd(@RequestBody TaDocumentVerify documentVerify, HttpServletRequest request){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        Integer orgId = getOrgId(request);
121
+        String openid = getOpenId(request);
122
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
123
+        if (null == taPersons || taPersons.size() != 1) {
124
+            return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
125
+        }
126
+        TaPerson person = taPersons.get(0);
127
+        documentVerify.setCreateDate(LocalDateTime.now());
128
+        documentVerify.setOrgId(orgId);
129
+        documentVerify.setPersonId(person.getPersonId());
130
+        documentVerify.setStatus(CommConstant.STATUS_NORMAL);
131
+        documentVerify.setVerifyStatus(CommConstant.VERIFY_READY);
132
+        List<TaDocumentImg>list = documentVerify.getImgList();
133
+        try {
134
+            if (iTaDocumentVerifyService.save(documentVerify)){
135
+                for(int i =0; i<list.size();i++){
136
+                    list.get(i).setCreateDate(LocalDateTime.now());
137
+                    list.get(i).setDocumentVerifyId(documentVerify.getDocumentVerifyId());
138
+                    list.get(i).setOrgId(orgId);
139
+                    list.get(i).setPersonId(person.getPersonId());
140
+                }
141
+                documentImgService.saveBatch(list);
142
+                documentVerify.setImgList(list);
143
+                responseBean.addSuccess(documentVerify);
144
+
145
+            }else {
146
+                responseBean.addError("fail");
147
+            }
148
+        }catch (Exception e){
149
+            e.printStackTrace();
150
+            logger.error("documentVerifyAdd -=- {}",e.toString());
151
+            responseBean.addError(e.getMessage());
152
+        }
153
+        return responseBean;
154
+    }
155
+
156
+    /**
157
+     * 根据id删除对象
158
+     * @param id  实体ID
159
+     */
160
+    @ResponseBody
161
+    @RequestMapping(value="/documentVerify/{id}", method= RequestMethod.DELETE)
162
+    public ResponseBean documentVerifyDelete(@PathVariable Integer id){
163
+        ResponseBean responseBean = new ResponseBean();
164
+        try {
165
+            if(iTaDocumentVerifyService.removeById(id)){
166
+                responseBean.addSuccess("success");
167
+            }else {
168
+                responseBean.addError("fail");
169
+            }
170
+        }catch (Exception e){
171
+            e.printStackTrace();
172
+            logger.error("documentVerifyDelete -=- {}",e.toString());
173
+            responseBean.addError(e.getMessage());
174
+        }
175
+        return responseBean;
176
+    }
177
+
178
+    /**
179
+     * 微信查询对象
180
+     * @return
181
+     */
182
+    @RequestMapping(value="/wx/documentVerify/{id}",method= RequestMethod.GET)
183
+    public ResponseBean wxDocumentVerifyGetThis(@PathVariable Integer id,HttpServletRequest request){
184
+        ResponseBean responseBean = new ResponseBean();
185
+        Integer orgId = getOrgId(request);
186
+        TaDocumentVerify verify = iTaDocumentVerifyService.getById(id);
187
+        if (null != verify) {
188
+            QueryWrapper<TaDocumentImg> documentImgQueryWrapper = new QueryWrapper<>();
189
+            documentImgQueryWrapper.eq("document_verify_id", verify.getDocumentVerifyId());
190
+            documentImgQueryWrapper.eq("person_id", verify.getPersonId());
191
+            documentImgQueryWrapper.eq("org_id", orgId);
192
+            List<TaDocumentImg> documentImgList = documentImgService.list(documentImgQueryWrapper);
193
+            verify.setImgList(documentImgList);
194
+        }
195
+
196
+        responseBean.addSuccess(verify);
197
+        return responseBean;
198
+    }
199
+
200
+    /**
201
+     * 微信修改对象
202
+     * @param id  实体ID
203
+     * @return
204
+     */
205
+    @RequestMapping(value="/wx/documentVerify/{id}",method= RequestMethod.PUT)
206
+    public ResponseBean wxDocumentVerifyUpdate(@PathVariable Integer id,
207
+                                               @RequestBody TaDocumentVerify documentVerify,
208
+                                               HttpServletRequest request){
209
+        ResponseBean responseBean = new ResponseBean();
210
+        Integer orgId = getOrgId(request);
211
+        String openid = getOpenId(request);
212
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
213
+        if (null == taPersons || taPersons.size() != 1) {
214
+            return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
215
+        }
216
+        TaPerson person = taPersons.get(0);
217
+        documentVerify.setDocumentVerifyId(id);
218
+        documentVerify.setVerifyStatus(CommConstant.VERIFY_READY);
219
+        List<TaDocumentImg>list = documentVerify.getImgList();
220
+        try {
221
+            if (iTaDocumentVerifyService.updateById(documentVerify)){
222
+                QueryWrapper<TaDocumentImg>queryWrapper = new QueryWrapper<>();
223
+                queryWrapper.eq("document_verify_id",documentVerify.getDocumentVerifyId());
224
+                documentImgService.remove(queryWrapper);
225
+                for(int i =0; i<list.size();i++){
226
+                    list.get(i).setCreateDate(LocalDateTime.now());
227
+                    list.get(i).setDocumentVerifyId(documentVerify.getDocumentVerifyId());
228
+                    list.get(i).setOrgId(orgId);
229
+                    list.get(i).setPersonId(person.getPersonId());
230
+                }
231
+                documentImgService.saveBatch(list);
232
+                documentVerify.setImgList(list);
233
+                responseBean.addSuccess(documentVerify);
234
+            }else {
235
+                responseBean.addError("fail");
236
+            }
237
+        }catch (Exception e){
238
+            e.printStackTrace();
239
+            logger.error("documentVerifyUpdate -=- {}",e.toString());
240
+            responseBean.addError(e.getMessage());
241
+        }
242
+        return responseBean;
243
+    }
244
+
245
+    /**
246
+     * 修改对象
247
+     * @param id  实体ID
248
+     * @param documentVerify 实体对象
249
+     * @return
250
+     */
251
+    @RequestMapping(value="/admin/documentVerify/{id}",method= RequestMethod.PUT)
252
+    public ResponseBean documentVerifyUpdate(@PathVariable Integer id,
253
+                                             @RequestBody TaDocumentVerify documentVerify,
254
+                                             HttpServletRequest request){
255
+        ResponseBean responseBean = new ResponseBean();
256
+        if (documentVerify.getVerifyStatus().equals(CommConstant.STATUS_NORMAL)){
257
+            Integer userId = getUserId(request);
258
+            documentVerify.setVerifyUser(userId.toString());
259
+        }
260
+        try {
261
+            documentVerify.setDocumentVerifyId(id);
262
+            if (iTaDocumentVerifyService.updateById(documentVerify)){
263
+
264
+                if (null != documentVerify.getVerifyStatus() && documentVerify.getVerifyStatus().intValue() == 1) {
265
+                    // 活动核销加积分
266
+                    TaDocumentVerify verify = iTaDocumentVerifyService.getById(documentVerify.getDocumentVerifyId());
267
+
268
+                    // 资料审核加积分
269
+                    applicationContext.publishEvent(new EventBus(verify, EventBus.EventType.DocumentVerify,verify.getOrgId()));
270
+
271
+                }
272
+
273
+                responseBean.addSuccess(documentVerify);
274
+            }else {
275
+                responseBean.addError("fail");
276
+            }
277
+        }catch (Exception e){
278
+            e.printStackTrace();
279
+            logger.error("documentVerifyUpdate -=- {}",e.toString());
280
+            responseBean.addError(e.getMessage());
281
+        }
282
+        return responseBean;
283
+    }
284
+
285
+    /**
286
+     * 根据id查询对象
287
+     * @param id  实体ID
288
+     */
289
+    @RequestMapping(value="/admin/documentVerify/{id}",method= RequestMethod.GET)
290
+    public ResponseBean documentVerifyGet(@PathVariable String id,
291
+                                          @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
292
+                                          @RequestParam(value ="pageSize",defaultValue = "5") Integer pageSize,
293
+                                          HttpServletRequest request){
294
+        ResponseBean responseBean = new ResponseBean();
295
+        try {
296
+            IPage<TaDocumentVerify> documentVerify = iTaDocumentVerifyService.getDocumentVerifyList(pageNum,pageSize,id,getOrgId(request));
297
+            responseBean.addSuccess(documentVerify);
298
+        }catch (Exception e){
299
+            e.printStackTrace();
300
+            logger.error("documentVerifyDelete -=- {}",e.toString());
301
+            responseBean.addError(e.getMessage());
302
+        }
303
+        return responseBean;
304
+    }
305
+}

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

@@ -56,6 +56,7 @@ public class TaEventPropertiesController extends BaseController {
56 56
             QueryWrapper<TaEventProperties> queryWrapper = new QueryWrapper<>();
57 57
             queryWrapper.eq(!StringUtils.isEmpty(eventType), "event_type", eventType);
58 58
             queryWrapper.eq(!StringUtils.isEmpty(buildingId), "building_id", buildingId);
59
+            queryWrapper.groupBy("event_type");
59 60
             queryWrapper.orderByDesc("create_date");
60 61
 
61 62
             IPage<TaEventProperties> result = iTaEventPropertiesService.page(pg, queryWrapper);

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

@@ -35,7 +35,7 @@ public class TaFavorController extends BaseController {
35 35
      */
36 36
     @PostMapping("/wx/{typeOf}/like/{id}")
37 37
     public ResponseBean giveFavor(@PathVariable String typeOf, @PathVariable String id, HttpServletRequest request) {
38
-        String openid = JWTUtils.getSubject(request);
38
+        String openid = getOpenId(request);
39 39
 
40 40
         return taFavorService.postLike(openid, typeOf, id);
41 41
     }
@@ -49,7 +49,7 @@ public class TaFavorController extends BaseController {
49 49
      */
50 50
     @DeleteMapping("/wx/{typeOf}/like/{id}")
51 51
     public ResponseBean cancelFavor(@PathVariable String typeOf, @PathVariable String id, HttpServletRequest request) {
52
-        String openid = JWTUtils.getSubject(request);
52
+        String openid = getOpenId(request);
53 53
         return taFavorService.cancelLike(openid, typeOf, id);
54 54
     }
55 55
 }

+ 89
- 19
src/main/java/com/huiju/estateagents/controller/TaGoodsController.java ファイルの表示

@@ -9,21 +9,24 @@ import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.common.JWTUtils;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.entity.TaGoods;
12
+import com.huiju.estateagents.entity.TaPerson;
12 13
 import com.huiju.estateagents.service.ITaBuildingService;
13 14
 import com.huiju.estateagents.service.ITaGoodsService;
15
+import com.huiju.estateagents.service.ITaPersonService;
16
+import io.swagger.annotations.Api;
17
+import io.swagger.annotations.ApiImplicitParam;
18
+import io.swagger.annotations.ApiImplicitParams;
19
+import io.swagger.annotations.ApiOperation;
14 20
 import org.slf4j.Logger;
15 21
 import org.slf4j.LoggerFactory;
16 22
 import org.springframework.beans.factory.annotation.Autowired;
17
-import org.springframework.web.bind.annotation.PathVariable;
18
-import org.springframework.web.bind.annotation.RequestBody;
19
-import org.springframework.web.bind.annotation.RequestMapping;
20
-import org.springframework.web.bind.annotation.RequestMethod;
21
-import org.springframework.web.bind.annotation.RequestParam;
22
-import org.springframework.web.bind.annotation.ResponseBody;
23
-import org.springframework.web.bind.annotation.RestController;
23
+import org.springframework.web.bind.annotation.*;
24 24
 
25 25
 import javax.servlet.http.HttpServletRequest;
26 26
 import java.lang.invoke.ConstantCallSite;
27
+import java.util.HashMap;
28
+import java.util.List;
29
+import java.util.Map;
27 30
 
28 31
 /**
29 32
  * <p>
@@ -35,6 +38,7 @@ import java.lang.invoke.ConstantCallSite;
35 38
  */
36 39
 @RestController
37 40
 @RequestMapping("/api")
41
+@Api(value = "商品", tags = "商品")
38 42
 public class TaGoodsController extends BaseController {
39 43
 
40 44
     private final Logger logger = LoggerFactory.getLogger(TaGoodsController.class);
@@ -45,12 +49,25 @@ public class TaGoodsController extends BaseController {
45 49
     @Autowired
46 50
     public ITaBuildingService iTaBuildingService;
47 51
 
52
+    @Autowired
53
+    public ITaPersonService taPersonService;
54
+
48 55
     /**
49 56
      * 分页查询列表
50 57
      * @param pageNum
51 58
      * @param pageSize
52 59
      * @return
53 60
      */
61
+    @ApiOperation(value = "后台商品列表", notes = "后台商品列表")
62
+    @ApiImplicitParams({
63
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
64
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
65
+            @ApiImplicitParam(dataTypeClass = String.class, name = "goodsName", paramType = "query",value = "商品名称"),
66
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
67
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "priceLesser", paramType = "query",value = "价格小"),
68
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "priceGreater", paramType = "query",value = "价格大"),
69
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "status", paramType = "query",value = "状态")
70
+    })
54 71
     @RequestMapping(value="/admin/taGoods",method= RequestMethod.GET)
55 72
     public ResponseBean taGoodsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56 73
                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
@@ -58,7 +75,7 @@ public class TaGoodsController extends BaseController {
58 75
                                     @RequestParam(value = "buildingId",required = false) String buildingId,
59 76
                                     @RequestParam(value ="priceLesser",required = false) Integer priceLesser,
60 77
                                     @RequestParam(value ="priceGreater",required = false) Integer priceGreater,
61
-                                    @RequestParam(value ="status",required = false) Integer status){
78
+                                    @RequestParam(value ="status",required = false) Integer status,HttpServletRequest request){
62 79
         ResponseBean responseBean = new ResponseBean();
63 80
         try {
64 81
             //使用分页插件
@@ -68,6 +85,7 @@ public class TaGoodsController extends BaseController {
68 85
             queryWrapper.lt(null!=priceGreater,"point_price",priceGreater);
69 86
             queryWrapper.gt(null != priceLesser,"point_price",priceLesser);
70 87
             queryWrapper.eq(null != status,"status",status);
88
+            queryWrapper.eq("org_id",getOrgId(request));
71 89
             queryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id",buildingId);
72 90
             queryWrapper.orderByDesc("create_date");
73 91
 
@@ -86,14 +104,18 @@ public class TaGoodsController extends BaseController {
86 104
      * @param taGoods 实体对象
87 105
      * @return
88 106
      */
107
+    @ApiOperation(value = "后台商品保存", notes = "后台商品保存")
108
+    @ApiImplicitParams({
109
+            @ApiImplicitParam(dataType = "TaGoods", name = "taGoods", paramType = "body",value = "商品详细数据")
110
+    })
89 111
     @RequestMapping(value="/admin/taGoods/add",method= RequestMethod.POST)
90
-    public ResponseBean taGoodsAdd(@RequestBody TaGoods taGoods){
112
+    public ResponseBean taGoodsAdd(@RequestBody TaGoods taGoods,HttpServletRequest request){
91 113
         ResponseBean responseBean = new ResponseBean();
92 114
         try {
93 115
 
94 116
             Integer cityId = iTaBuildingService.getCityById(taGoods.getBuildingId());
95 117
             taGoods.setCityId(cityId);
96
-
118
+            taGoods.setOrgId(getOrgId(request));
97 119
             if (iTaGoodsService.save(taGoods)){
98 120
                 responseBean.addSuccess(taGoods);
99 121
             }else {
@@ -134,14 +156,18 @@ public class TaGoodsController extends BaseController {
134 156
      * @param taGoods 实体对象
135 157
      * @return
136 158
      */
159
+    @ApiOperation(value = "后台商品修改", notes = "后台商品修改")
160
+    @ApiImplicitParams({
161
+            @ApiImplicitParam(dataType = "TaGoods", name = "taGoods", paramType = "body",value = "商品详细数据")
162
+    })
137 163
     @RequestMapping(value="/admin/taGoods",method= RequestMethod.PUT)
138
-    public ResponseBean taGoodsUpdate(@RequestBody TaGoods taGoods){
164
+    public ResponseBean taGoodsUpdate(@RequestBody TaGoods taGoods,HttpServletRequest request){
139 165
         ResponseBean responseBean = new ResponseBean();
140 166
         try {
141 167
 
142 168
             Integer cityId = iTaBuildingService.getCityById(taGoods.getBuildingId());
143 169
             taGoods.setCityId(cityId);
144
-
170
+            taGoods.setOrgId(getOrgId(request));
145 171
             if (iTaGoodsService.updateById(taGoods)){
146 172
                 responseBean.addSuccess(taGoods);
147 173
             }else {
@@ -160,8 +186,12 @@ public class TaGoodsController extends BaseController {
160 186
      * @param taGoods 实体对象
161 187
      * @return
162 188
      */
189
+    @ApiOperation(value = "后台商品状态变更", notes = "后台商品状态变更")
190
+    @ApiImplicitParams({
191
+            @ApiImplicitParam(dataType = "TaGoods", name = "taGoods", paramType = "body",value = "商品详细数据")
192
+    })
163 193
     @RequestMapping(value="/admin/taGoods/change",method= RequestMethod.PUT)
164
-    public ResponseBean taGoodsChange(@RequestBody TaGoods taGoods){
194
+    public ResponseBean taGoodsChange(@RequestBody TaGoods taGoods,HttpServletRequest request){
165 195
         ResponseBean responseBean = new ResponseBean();
166 196
         try {
167 197
             if(null != taGoods.getStatus() && taGoods.getStatus().equals(CommConstant.STATUS_NORMAL)){
@@ -169,6 +199,7 @@ public class TaGoodsController extends BaseController {
169 199
             }else {
170 200
                 taGoods.setStatus(CommConstant.STATUS_NORMAL);
171 201
             }
202
+            taGoods.setOrgId(getOrgId(request));
172 203
             if (iTaGoodsService.updateById(taGoods)){
173 204
                 responseBean.addSuccess(taGoods);
174 205
             }else {
@@ -186,6 +217,10 @@ public class TaGoodsController extends BaseController {
186 217
      * 根据id查询对象
187 218
      * @param id  实体ID
188 219
      */
220
+    @ApiOperation(value = "后台商品详情", notes = "后台商品详情")
221
+    @ApiImplicitParams({
222
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "商品id")
223
+    })
189 224
     @RequestMapping(value="/admin/taGoods/{id}",method= RequestMethod.GET)
190 225
     public ResponseBean taGoodsGet(@PathVariable Integer id){
191 226
         ResponseBean responseBean = new ResponseBean();
@@ -198,22 +233,43 @@ public class TaGoodsController extends BaseController {
198 233
         }
199 234
         return responseBean;
200 235
     }
201
-    
236
+
237
+
238
+    @ApiOperation(value = "微信 查询有商品的项目", notes = "微信 查询有商品的项目")
239
+    @GetMapping(value = "/wx/goodsToBuilding")
240
+    public ResponseBean wxGoodsToBuilding(@RequestParam(value = "cityId", required = false) Integer cityId, HttpServletRequest request) {
241
+        return iTaBuildingService.getBuildingListById(getOrgId(request),cityId);
242
+    }
243
+
202 244
     /**
203 245
      * 分页查询列表
204
-     * @param pageNum
246
+     * @param pageNumber
205 247
      * @param pageSize
206 248
      * @return
207 249
      */
250
+    @ApiOperation(value = "微信商品列表", notes = "微信商品列表")
251
+    @ApiImplicitParams({
252
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
253
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
254
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id")
255
+    })
208 256
     @RequestMapping(value="/wx/goods",method= RequestMethod.GET)
209
-    public ResponseBean wxGoodsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
257
+    public ResponseBean wxGoodsList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
210 258
                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
211 259
                                     @RequestParam(value = "buildingId",required = false) String buildingId,
212
-                                    @RequestParam(value = "orgId",required = false) Integer orgId){
260
+                                    @RequestParam(value = "cityId", required = false) Integer cityId,
261
+                                    HttpServletRequest request){
213 262
         ResponseBean responseBean = new ResponseBean();
263
+        String openid = getOpenId(request);
264
+        Integer orgId = getOrgId(request);
265
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
266
+        if (null == taPersons || taPersons.size() != 1) {
267
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
268
+        }
269
+        TaPerson person = taPersons.get(0);
214 270
         try {
215 271
             //使用分页插件
216
-            IPage<TaGoods> pg = new Page<>(pageNum, pageSize);
272
+            IPage<TaGoods> pg = new Page<>(pageNumber, pageSize);
217 273
             QueryWrapper<TaGoods> queryWrapper = new QueryWrapper<>();
218 274
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
219 275
             if (!StringUtils.isEmpty(buildingId)){
@@ -222,10 +278,16 @@ public class TaGoodsController extends BaseController {
222 278
             if (null != orgId){
223 279
                 queryWrapper.eq("org_id", orgId);
224 280
             }
281
+            if (null != cityId){
282
+                queryWrapper.eq("city_id", cityId);
283
+            }
225 284
             queryWrapper.orderByDesc("order_no");
226 285
             queryWrapper.orderByDesc("create_date");
227 286
             
228 287
             IPage<TaGoods> result = iTaGoodsService.page(pg, queryWrapper);
288
+            Map<String,Object> data = new HashMap<>();
289
+            data.put("goods",result);
290
+            data.put("person",person);
229 291
             responseBean.addSuccess(result);
230 292
         }catch (Exception e){
231 293
             e.printStackTrace();
@@ -240,6 +302,10 @@ public class TaGoodsController extends BaseController {
240 302
      * 根据id查询对象
241 303
      * @param id  实体ID
242 304
      */
305
+    @ApiOperation(value = "微信商品详情", notes = "微信商品详情")
306
+    @ApiImplicitParams({
307
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "商品id")
308
+    })
243 309
     @RequestMapping(value="/wx/goods/{id}",method= RequestMethod.GET)
244 310
     public ResponseBean wxGoodsGet(@PathVariable Integer id){
245 311
         ResponseBean responseBean = new ResponseBean();
@@ -259,11 +325,15 @@ public class TaGoodsController extends BaseController {
259 325
      * @param request
260 326
      * @return
261 327
      */
328
+    @ApiOperation(value = "微信兑换商品接口", notes = "微信兑换商品接口")
329
+    @ApiImplicitParams({
330
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "商品id")
331
+    })
262 332
     @RequestMapping(value="/wx/goods/exchange/{id}",method= RequestMethod.POST)
263 333
     public ResponseBean wxExchangeGoods(@PathVariable Integer id, HttpServletRequest request){
264 334
         ResponseBean responseBean = new ResponseBean();
265 335
         try {
266
-            String openid = JWTUtils.getSubject(request);
336
+            String openid = getOpenId(request);
267 337
             //兑换商品
268 338
             String state = iTaGoodsService.exchangeGoods(id,openid);
269 339
             if (state.equals(CommConstant.SUCCESS)){

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

@@ -18,7 +18,7 @@ public class TaMiniFormidsController extends BaseController {
18 18
 
19 19
     @PostMapping("/formid")
20 20
     public ResponseBean save(@RequestBody String paramStr, HttpServletRequest request) {
21
-        String openid = JWTUtils.getSubject(request);
21
+        String openid = getOpenId(request);
22 22
 
23 23
         return taMiniFormidsService.saveFormidBy(openid, paramStr);
24 24
     }

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

@@ -0,0 +1,218 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import cn.binarywang.wx.miniapp.api.WxMaService;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
+import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
+import com.huiju.estateagents.base.BaseController;
9
+import com.huiju.estateagents.base.ResponseBean;
10
+import com.huiju.estateagents.common.StringUtils;
11
+import com.huiju.estateagents.common.WxUtils;
12
+import com.huiju.estateagents.entity.TaMiniapp;
13
+import com.huiju.estateagents.service.IMiniAppService;
14
+import com.huiju.estateagents.service.ITaMiniappService;
15
+import io.swagger.annotations.ApiOperation;
16
+import org.apache.tomcat.jni.Mmap;
17
+import org.slf4j.Logger;
18
+import org.slf4j.LoggerFactory;
19
+import org.springframework.beans.factory.annotation.Autowired;
20
+import org.springframework.web.bind.annotation.*;
21
+
22
+import javax.servlet.http.HttpServletRequest;
23
+import java.util.HashMap;
24
+
25
+/**
26
+ * <p>
27
+    * 小程序表  前端控制器
28
+    * </p>
29
+ *
30
+ * @author jobob
31
+ * @since 2019-09-11
32
+ */
33
+@RestController
34
+@RequestMapping("/api")
35
+public class TaMiniappController extends BaseController {
36
+
37
+    private final Logger logger = LoggerFactory.getLogger(TaMiniappController.class);
38
+
39
+    @Autowired
40
+    public ITaMiniappService iTaMiniappService;
41
+
42
+    @Autowired
43
+    private IMiniAppService miniAppService;
44
+
45
+    @Autowired
46
+    WxUtils wxUtils;
47
+
48
+    /**
49
+     * 分页查询列表
50
+     * @param pageNum
51
+     * @param pageSize
52
+     * @return
53
+     */
54
+    @RequestMapping(value="/center/taMiniapp",method= RequestMethod.GET)
55
+    public ResponseBean taMiniappList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
57
+        ResponseBean responseBean = new ResponseBean();
58
+        try {
59
+            //使用分页插件
60
+		    IPage<TaMiniapp> pg = new Page<>(pageNum, pageSize);
61
+            QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
62
+            queryWrapper.orderByDesc("create_date");
63
+
64
+            IPage<TaMiniapp> result = iTaMiniappService.page(pg, queryWrapper);
65
+            responseBean.addSuccess(result);
66
+        }catch (Exception e){
67
+            e.printStackTrace();
68
+            logger.error("taMiniappList -=- {}",e.toString());
69
+            responseBean.addError(e.getMessage());
70
+        }
71
+        return responseBean;
72
+    }
73
+
74
+    /**
75
+     * 保存对象
76
+     * @param taMiniapp 实体对象
77
+     * @return
78
+     */
79
+    @RequestMapping(value="/center/taMiniapp",method= RequestMethod.POST)
80
+    public ResponseBean taMiniappAdd(@RequestBody TaMiniapp taMiniapp, HttpServletRequest request){
81
+        ResponseBean responseBean = new ResponseBean();
82
+
83
+        try {
84
+            iTaMiniappService.saveInfoWithTpls(taMiniapp);
85
+            responseBean.addSuccess(taMiniapp);
86
+        }catch (Exception e){
87
+            e.printStackTrace();
88
+            logger.error("taMiniappAdd -=- {}",e.toString());
89
+            responseBean.addError(e.getMessage());
90
+        }
91
+        return responseBean;
92
+    }
93
+
94
+    /**
95
+     * 根据id删除对象
96
+     * @param id  实体ID
97
+     */
98
+    @ResponseBody
99
+    @RequestMapping(value="/taMiniapp/{id}", method= RequestMethod.DELETE)
100
+    public ResponseBean taMiniappDelete(@PathVariable Integer id){
101
+        ResponseBean responseBean = new ResponseBean();
102
+        try {
103
+            if(iTaMiniappService.removeById(id)){
104
+                responseBean.addSuccess("success");
105
+            }else {
106
+                responseBean.addError("fail");
107
+            }
108
+        }catch (Exception e){
109
+            e.printStackTrace();
110
+            logger.error("taMiniappDelete -=- {}",e.toString());
111
+            responseBean.addError(e.getMessage());
112
+        }
113
+        return responseBean;
114
+    }
115
+
116
+    /**
117
+     * 修改对象
118
+     * @param id  实体ID
119
+     * @param taMiniapp 实体对象
120
+     * @return
121
+     */
122
+    @RequestMapping(value="/center/taMiniapp/{id}",method= RequestMethod.PUT)
123
+    public ResponseBean taMiniappUpdate(@PathVariable String id,
124
+                                        @RequestBody TaMiniapp taMiniapp){
125
+        ResponseBean responseBean = new ResponseBean();
126
+        try {
127
+            taMiniapp.setMiniappId(id);
128
+            if (iTaMiniappService.updateById(taMiniapp)){
129
+                responseBean.addSuccess(taMiniapp);
130
+            }else {
131
+                responseBean.addError("fail");
132
+            }
133
+        }catch (Exception e){
134
+            e.printStackTrace();
135
+            logger.error("taMiniappUpdate -=- {}",e.toString());
136
+            responseBean.addError(e.getMessage());
137
+        }
138
+        return responseBean;
139
+    }
140
+
141
+    /**
142
+     * 根据id查询对象
143
+     * @param id  实体ID
144
+     */
145
+    @RequestMapping(value="/center/taMiniapp/{id}",method= RequestMethod.GET)
146
+    public ResponseBean taMiniappGet(@PathVariable Integer id){
147
+        ResponseBean responseBean = new ResponseBean();
148
+        try {
149
+            responseBean.addSuccess(iTaMiniappService.getById(id));
150
+        }catch (Exception e){
151
+            e.printStackTrace();
152
+            logger.error("taMiniappDelete -=- {}",e.toString());
153
+            responseBean.addError(e.getMessage());
154
+        }
155
+        return responseBean;
156
+    }
157
+
158
+    @PostMapping(value = "center/check/taMiniapp")
159
+    public ResponseBean createQRCode(@RequestBody String paramStr) {
160
+        if (StringUtils.isEmpty(paramStr)) {
161
+            return ResponseBean.error("参数不能为空", ResponseBean.ERROR_MISSING_PARAMS);
162
+        }
163
+
164
+        JSONObject params = JSONObject.parseObject(paramStr);
165
+        if (null == params) {
166
+            return ResponseBean.error("非法参数", ResponseBean.ERROR_ILLEGAL_PARAMS);
167
+        }
168
+
169
+        String appid = params.getString("miniappId");
170
+        String secret = params.getString("secret");
171
+        String path = params.getString("path");
172
+
173
+        if (StringUtils.isEmpty(appid) || StringUtils.isEmpty(secret) || StringUtils.isEmpty(path)) {
174
+            return ResponseBean.error("缺失参数", ResponseBean.ERROR_MISSING_PARAMS);
175
+        }
176
+
177
+        TaMiniapp taMiniapp = null;
178
+        WxMaService service = wxUtils.getMiniApp(appid);
179
+        if (null != service) {
180
+            taMiniapp = iTaMiniappService.getById(appid);
181
+            if (null == taMiniapp) {
182
+                return ResponseBean.error("异常, 请联系技术人员", ResponseBean.ERROR_UNAVAILABLE);
183
+            }
184
+        }
185
+
186
+        if (null == service || !secret.equals(taMiniapp.getSecret())){
187
+            service = wxUtils.newService(new TaMiniapp(){{
188
+                setMiniappId(appid);
189
+                setSecret(secret);
190
+                setToken(params.getString("token"));
191
+            }});
192
+        }
193
+
194
+        try {
195
+            String qrCode = miniAppService.createQrCode(service, path);
196
+            return ResponseBean.success(new HashMap<String, Object>(){{
197
+                put("qrCode", qrCode);
198
+            }});
199
+        } catch (Exception e) {
200
+            e.printStackTrace();
201
+            return ResponseBean.error("校验不通过", ResponseBean.ERROR_UNAVAILABLE);
202
+        }
203
+    }
204
+
205
+    @ApiOperation(value = "获取小程序名称", notes = "获取小程序名称")
206
+    @GetMapping(value = "/admin/getMiniappName")
207
+    public ResponseBean getMiniappName(HttpServletRequest request){
208
+        Integer orgId = getOrgId(request);
209
+        QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
210
+        queryWrapper.eq("org_id", orgId);
211
+        TaMiniapp one = iTaMiniappService.getOne(queryWrapper);
212
+
213
+        ResponseBean responseBean = new ResponseBean();
214
+        responseBean.addSuccess((Object) one.getName());
215
+
216
+        return responseBean;
217
+    }
218
+}

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

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

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

@@ -7,12 +7,17 @@ import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.common.JWTUtils;
10
+import com.huiju.estateagents.entity.TaBuildingDynamic;
10 11
 import com.huiju.estateagents.entity.TaNews;
11 12
 import com.huiju.estateagents.entity.TaPerson;
12 13
 import com.huiju.estateagents.service.ITaBuildingService;
13 14
 import com.huiju.estateagents.service.ITaNewsService;
14 15
 import com.huiju.estateagents.service.ITaPersonService;
15 16
 import com.huiju.estateagents.service.ITaSaveService;
17
+import io.swagger.annotations.Api;
18
+import io.swagger.annotations.ApiImplicitParam;
19
+import io.swagger.annotations.ApiImplicitParams;
20
+import io.swagger.annotations.ApiOperation;
16 21
 import org.checkerframework.checker.units.qual.A;
17 22
 import org.slf4j.Logger;
18 23
 import org.slf4j.LoggerFactory;
@@ -39,6 +44,7 @@ import java.util.List;
39 44
  */
40 45
 @RestController
41 46
 @RequestMapping("/api")
47
+@Api(value = "资讯", tags = "资讯")
42 48
 public class TaNewsController extends BaseController {
43 49
 
44 50
     private final Logger logger = LoggerFactory.getLogger(TaNewsController.class);
@@ -62,14 +68,24 @@ public class TaNewsController extends BaseController {
62 68
      * @param pageSize
63 69
      * @return
64 70
      */
71
+    @ApiOperation(value = "资讯列表", notes = "资讯列表")
72
+    @ApiImplicitParams({
73
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
74
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
75
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id"),
76
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "newsTypeId", paramType = "query",value = "资讯类型id"),
77
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "newsStatus", paramType = "query",value = "状态"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, name = "title", paramType = "query",value = "标题")
79
+    })
65 80
     @RequestMapping(value="/admin/taNews",method= RequestMethod.GET)
66
-    public ResponseBean taNewsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
81
+    public ResponseBean taNewsList(HttpServletRequest request,
82
+                                   @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
67 83
                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
68 84
                                    @RequestParam(value = "buildingId", required = false) String buildingId,
69
-                                   @RequestParam(value = "orgId", required = false) Integer orgId,
70 85
                                    @RequestParam(value = "newsTypeId", required = false) Integer newsTypeId,
71
-                                   @RequestParam(value = "newsStatus", required = false) Integer newsStatus){
72
-        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, orgId, newsTypeId, newsStatus);
86
+                                   @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
87
+                                   @RequestParam(value = "title", required = false) String title){
88
+        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, getOrgId(request), newsTypeId, newsStatus,title);
73 89
         return responseBean;
74 90
     }
75 91
 
@@ -80,7 +96,7 @@ public class TaNewsController extends BaseController {
80 96
      * @return
81 97
      */
82 98
     @RequestMapping(value="/wx/taNews",method= RequestMethod.GET)
83
-    public ResponseBean wxTaNewsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
99
+    public ResponseBean wxTaNewsList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
84 100
                                      @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
85 101
                                      @RequestParam(required = false) String buildingId,
86 102
                                      @RequestParam(required = false) Integer cityId,
@@ -88,8 +104,9 @@ public class TaNewsController extends BaseController {
88 104
                                      HttpServletRequest request
89 105
     ){
90 106
         List<String> targets = new ArrayList<>();
107
+        Integer orgId = getOrgId(request);
91 108
         if (null != mine && mine) {
92
-            String openid = JWTUtils.getSubject(request);
109
+            String openid = getOpenId(request);
93 110
             List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
94 111
             if (null == persons || persons.size() == 0) {
95 112
                 return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);
@@ -98,7 +115,7 @@ public class TaNewsController extends BaseController {
98 115
             targets = iTaSaveService.getTargesOfPerson(persons.get(0).getPersonId(), CommConstant.FAVOR_NEWS);
99 116
         }
100 117
 
101
-        IPage<TaNews> results = iTaNewsService.getWxList(pageNum, pageSize, buildingId, targets,cityId,mine);
118
+        IPage<TaNews> results = iTaNewsService.getWxList(pageNumber, pageSize, buildingId, targets,cityId,mine,orgId);
102 119
         return ResponseBean.success(results);
103 120
     }
104 121
 
@@ -107,10 +124,15 @@ public class TaNewsController extends BaseController {
107 124
      * @param taNews 实体对象
108 125
      * @return
109 126
      */
127
+    @ApiOperation(value = "保存资讯", notes = "保存资讯")
128
+    @ApiImplicitParams({
129
+            @ApiImplicitParam(dataType = "TaNews", name = "taNews", paramType = "body",value = "资讯详细数据")
130
+    })
110 131
     @RequestMapping(value="/admin/taNews",method= RequestMethod.POST)
111
-    public ResponseBean taNewsAdd(@RequestBody TaNews taNews){
132
+    public ResponseBean taNewsAdd(@RequestBody TaNews taNews, HttpServletRequest request){
112 133
         Integer cityId = iTaBuildingService.getCityById(taNews.getBuildingId());
113 134
         taNews.setCityId(cityId);
135
+        taNews.setOrgId(getOrgId(request));
114 136
         ResponseBean responseBean = iTaNewsService.addTaNews(taNews);
115 137
         return responseBean;
116 138
     }
@@ -132,12 +154,19 @@ public class TaNewsController extends BaseController {
132 154
      * @param taNews 实体对象
133 155
      * @return
134 156
      */
157
+    @ApiOperation(value = "修改资讯", notes = "修改资讯")
158
+    @ApiImplicitParams({
159
+            @ApiImplicitParam(dataType = "TaNews", name = "taNews", paramType = "body",value = "资讯数据"),
160
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "taNews", paramType = "path", value = "资讯id")
161
+    })
135 162
     @RequestMapping(value="/admin/taNews/{id}",method= RequestMethod.PUT)
136 163
     public ResponseBean taNewsUpdate(@PathVariable Integer id,
137
-                                        @RequestBody TaNews taNews){
164
+                                        @RequestBody TaNews taNews,
165
+                                     HttpServletRequest request){
138 166
         taNews.setNewsId(id);
139 167
         Integer cityId = iTaBuildingService.getCityById(taNews.getBuildingId());
140 168
         taNews.setCityId(cityId);
169
+        taNews.setOrgId(getOrgId(request));
141 170
         ResponseBean responseBean = iTaNewsService.updateTaNews(taNews);
142 171
         return responseBean;
143 172
     }
@@ -146,19 +175,45 @@ public class TaNewsController extends BaseController {
146 175
      * 根据id查询对象
147 176
      * @param id  实体ID
148 177
      */
178
+    @ApiOperation(value = "咨询详情", notes = "咨询详情")
179
+    @ApiImplicitParams({
180
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "资讯id")
181
+    })
149 182
     @RequestMapping(value="/admin/taNews/{id}",method= RequestMethod.GET)
150 183
     public ResponseBean taNewsGet(@PathVariable Integer id){
151 184
         ResponseBean responseBean = iTaNewsService.getTaNewsById(id);
152 185
         return responseBean;
153 186
     }
154 187
 
188
+    @ApiOperation(value = "资讯置顶", notes = "资讯置顶")
189
+    @ApiImplicitParams({
190
+            @ApiImplicitParam(dataType = "String", name = "newsId", paramType = "query",value = "资讯ID"),
191
+            @ApiImplicitParam(dataType = "Integer", name = "weight", paramType = "query",value = "权重")
192
+    })
193
+    @RequestMapping(value = "/admin/taNews/weight" ,method =RequestMethod.PUT)
194
+    public  ResponseBean buildingDynamicWeight(@RequestParam Integer newsId,@RequestParam Integer weight,HttpServletRequest request){
195
+        ResponseBean responseBean = new ResponseBean();
196
+        TaNews taNews = iTaNewsService.getById(newsId);
197
+        taNews.setWeight(weight);
198
+        taNews.setOrgId(getOrgId(request));
199
+        QueryWrapper<TaNews> newsQueryWrapper = new QueryWrapper<>();
200
+        newsQueryWrapper.eq("news_id",newsId);
201
+        if (iTaNewsService.updateById(taNews)){
202
+            responseBean.addSuccess("成功");
203
+        }else {
204
+            responseBean.addError("失败");
205
+        }
206
+        return responseBean;
207
+    }
208
+
209
+
155 210
     /**
156 211
      * 微信 根据id查询对象
157 212
      * @param id  实体ID
158 213
      */
159 214
     @RequestMapping(value="/wx/taNews/{id}",method= RequestMethod.GET)
160 215
     public ResponseBean wxTaNewsGet(@PathVariable Integer id,HttpServletRequest request){
161
-        String openid = JWTUtils.getSubject(request);
216
+        String openid = getOpenId(request);
162 217
         List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
163 218
         if (null == persons || persons.size() == 0) {
164 219
             return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);

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

@@ -7,6 +7,10 @@ import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.entity.TaNewsType;
9 9
 import com.huiju.estateagents.service.ITaNewsTypeService;
10
+import io.swagger.annotations.Api;
11
+import io.swagger.annotations.ApiImplicitParam;
12
+import io.swagger.annotations.ApiImplicitParams;
13
+import io.swagger.annotations.ApiOperation;
10 14
 import org.slf4j.Logger;
11 15
 import org.slf4j.LoggerFactory;
12 16
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestParam;
18 22
 import org.springframework.web.bind.annotation.ResponseBody;
19 23
 import org.springframework.web.bind.annotation.RestController;
20 24
 
25
+import javax.servlet.http.HttpServletRequest;
26
+
21 27
 /**
22 28
  * <p>
23 29
     * 资讯类型表  前端控制器
@@ -28,6 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
28 34
  */
29 35
 @RestController
30 36
 @RequestMapping("/api")
37
+@Api(value = "资讯类型", tags = "资讯类型")
31 38
 public class TaNewsTypeController extends BaseController {
32 39
 
33 40
     private final Logger logger = LoggerFactory.getLogger(TaNewsTypeController.class);
@@ -42,12 +49,18 @@ public class TaNewsTypeController extends BaseController {
42 49
      * @param pageSize
43 50
      * @return
44 51
      */
52
+    @ApiOperation(value = "查询资讯类型", notes = "查询资讯类型")
53
+    @ApiImplicitParams({
54
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
55
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
56
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id")
57
+    })
45 58
     @RequestMapping(value="/admin/taNewsType",method= RequestMethod.GET)
46 59
     public ResponseBean taNewsTypeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47 60
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
48 61
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
49
-                                       @RequestParam(value = "orgId", required = false) Integer orgId){
50
-        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, orgId);
62
+                                       HttpServletRequest request){
63
+        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request));
51 64
         return responseBean;
52 65
     }
53 66
 
@@ -56,9 +69,13 @@ public class TaNewsTypeController extends BaseController {
56 69
      * @param taNewsType 实体对象
57 70
      * @return
58 71
      */
72
+    @ApiOperation(value = "保存资讯类型", notes = "保存资讯类型")
73
+    @ApiImplicitParams({
74
+            @ApiImplicitParam(dataType = "TaNewsType", name = "taNewsType", paramType = "body",value = "资讯类型数据")
75
+    })
59 76
     @RequestMapping(value="/admin/taNewsType",method= RequestMethod.POST)
60
-    public ResponseBean taNewsTypeAdd(@RequestBody TaNewsType taNewsType){
61
-        ResponseBean responseBean = iTaNewsTypeService.addTaNewsType(taNewsType);
77
+    public ResponseBean taNewsTypeAdd(@RequestBody TaNewsType taNewsType, HttpServletRequest request){
78
+        ResponseBean responseBean = iTaNewsTypeService.addTaNewsType(taNewsType, getOrgId(request));
62 79
         return responseBean;
63 80
     }
64 81
 
@@ -79,10 +96,16 @@ public class TaNewsTypeController extends BaseController {
79 96
      * @param taNewsType 实体对象
80 97
      * @return
81 98
      */
99
+    @ApiOperation(value = "修改资讯类型", notes = "根据ID修改资讯类型")
100
+    @ApiImplicitParams({
101
+            @ApiImplicitParam(dataType = "TaNewsType", name = "taNewsType", paramType = "body",value = "资讯类型数据"),
102
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "资讯id")
103
+    })
82 104
     @RequestMapping(value="/admin/taNewsType/{id}",method= RequestMethod.PUT)
83 105
     public ResponseBean taNewsTypeUpdate(@PathVariable Integer id,
84
-                                        @RequestBody TaNewsType taNewsType){
106
+                                        @RequestBody TaNewsType taNewsType, HttpServletRequest request){
85 107
         taNewsType.setNewsTypeId(id);
108
+        taNewsType.setOrgId(getOrgId(request));
86 109
         ResponseBean responseBean = iTaNewsTypeService.updateTaNewsType(taNewsType);
87 110
         return responseBean;
88 111
     }
@@ -91,6 +114,10 @@ public class TaNewsTypeController extends BaseController {
91 114
      * 根据id查询对象
92 115
      * @param id  实体ID
93 116
      */
117
+    @ApiOperation(value = "咨询类型详情", notes = "咨询类型详情")
118
+    @ApiImplicitParams({
119
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "资讯id")
120
+    })
94 121
     @RequestMapping(value="/admin/taNewsType/{id}",method= RequestMethod.GET)
95 122
     public ResponseBean taNewsTypeGet(@PathVariable Integer id){
96 123
         ResponseBean responseBean = iTaNewsTypeService.getTaNewsTypeById(id);

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

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

+ 429
- 46
src/main/java/com/huiju/estateagents/controller/TaPersonController.java ファイルの表示

@@ -2,20 +2,31 @@ package com.huiju.estateagents.controller;
2 2
 
3 3
 
4 4
 import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 8
 import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.center.taUser.entity.TaUser;
10
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
7 11
 import com.huiju.estateagents.common.CommConstant;
8 12
 import com.huiju.estateagents.common.JWTUtils;
9
-import com.huiju.estateagents.entity.TaBuildingDynamic;
10
-import com.huiju.estateagents.entity.TaPerson;
11
-import com.huiju.estateagents.entity.TaPersonBuilding;
13
+import com.huiju.estateagents.common.SMSUtils;
14
+import com.huiju.estateagents.common.StringUtils;
15
+import com.huiju.estateagents.entity.*;
16
+import com.huiju.estateagents.service.ITaPersonBuildingService;
12 17
 import com.huiju.estateagents.service.ITaPersonService;
18
+import com.huiju.estateagents.service.TaChannelPersonService;
19
+import com.huiju.estateagents.service.TaChannelService;
20
+import org.checkerframework.checker.units.qual.A;
21
+import org.checkerframework.checker.units.qual.C;
13 22
 import org.springframework.beans.factory.annotation.Autowired;
14 23
 import org.springframework.web.bind.annotation.*;
15 24
 
16 25
 import com.huiju.estateagents.base.BaseController;
26
+import org.springframework.web.client.RestTemplate;
17 27
 
18 28
 import javax.servlet.http.HttpServletRequest;
29
+import java.time.LocalDateTime;
19 30
 import java.util.ArrayList;
20 31
 import java.util.HashMap;
21 32
 import java.util.List;
@@ -34,6 +45,16 @@ import java.util.Map;
34 45
 public class TaPersonController extends BaseController {
35 46
     @Autowired
36 47
     ITaPersonService taPersonService;
48
+    @Autowired
49
+    TaChannelService taChannelService;
50
+    @Autowired
51
+    TaChannelPersonService taChannelPersonService;
52
+    @Autowired
53
+    ITaUserService taUserService;
54
+    @Autowired
55
+    SMSUtils smsUtils;
56
+    @Autowired
57
+    ITaPersonBuildingService taPersonBuildingService;
37 58
 
38 59
     /**
39 60
      *
@@ -57,8 +78,9 @@ public class TaPersonController extends BaseController {
57 78
         if (pageNumber < 0 || pageSize < 0) {
58 79
             return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
59 80
         }
81
+        Integer orgId = getOrgId(request);
60 82
         if (mine){
61
-            String openid = JWTUtils.getSubject(request);
83
+            String openid = getOpenId(request);
62 84
             List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
63 85
             if (null == taPersons || taPersons.size() != 1) {
64 86
                 return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
@@ -67,13 +89,144 @@ public class TaPersonController extends BaseController {
67 89
             IPage<Map<String, Object>>  result = taPersonService.getSavedConsaultants(pageNumber,pageSize,person.getPersonId());
68 90
             return ResponseBean.success(result);
69 91
         }else {
70
-            IPage<Map<String, Object>> result = taPersonService.getCardList(pageNumber, pageSize,buildingId);
92
+            IPage<Map<String, Object>> result = taPersonService.getCardList(pageNumber, pageSize,buildingId,orgId);
71 93
             return ResponseBean.success(result);
72 94
         }
73 95
 
74 96
 
75 97
     }
76 98
 
99
+    @PutMapping("/wx/registerConsultant")
100
+    public ResponseBean registerConsultant(HttpServletRequest request,@RequestParam String phone,@RequestParam String code) {
101
+        ResponseBean responseBean = new ResponseBean();
102
+        if(!smsUtils.checkCaptcha(phone,code)){
103
+            responseBean.addError("验证码错误。");
104
+            return responseBean;
105
+        }
106
+        Integer orgId =getOrgId(request);
107
+        String openid = getOpenId(request);
108
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
109
+        if (null == taPersons || taPersons.size() != 1) {
110
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
111
+        }
112
+        TaPerson person = taPersons.get(0);
113
+        QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
114
+        queryWrapper.eq("phone",phone);
115
+        queryWrapper.eq("org_id",orgId);
116
+        queryWrapper.eq("is_consultant",true);
117
+        List<TaUser> users = taUserService.list(queryWrapper);
118
+        if(users.size()>0){
119
+            TaUser user = users.get(0);
120
+            person.setPersonType(CommConstant.PERSON_REALTY_CONSULTANT);
121
+            person.setUserId(user.getUserId());
122
+            person.setAvatarurl(user.getAvatar());
123
+            person.setCompany(user.getOrgName());
124
+            person.setTel(user.getPhone());
125
+            person.setName(user.getUserName());
126
+            person.setAddress(user.getAddress());
127
+            person.setIdNo(user.getIdNo());
128
+            person.setDepartment(user.getDepartment());
129
+            person.setPost(user.getPosition());
130
+            person.setPhoto(user.getPhoto());
131
+            if(StringUtils.isEmpty(person.getPhone())){
132
+                person.setPhone(user.getPhone());
133
+            }
134
+            taPersonService.updateById(person);
135
+            responseBean.addSuccess(person);
136
+        }else {
137
+            responseBean.addError("此手机号未录入到后台系统,请联系营销云管理员。");
138
+        }
139
+        return responseBean;
140
+    }
141
+
142
+    @PutMapping("/wx/registerConsultantOneClick")
143
+    public ResponseBean registerConsultantOneClick(HttpServletRequest request) {
144
+        ResponseBean responseBean = new ResponseBean();
145
+        Integer orgId =getOrgId(request);
146
+        String openid = getOpenId(request);
147
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
148
+        if (null == taPersons || taPersons.size() != 1) {
149
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
150
+        }
151
+        TaPerson person = taPersons.get(0);
152
+        QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
153
+        queryWrapper.eq("phone",person.getPhone());
154
+        queryWrapper.eq("org_id",orgId);
155
+        queryWrapper.eq("is_consultant",true);
156
+        List<TaUser> users = taUserService.list(queryWrapper);
157
+        if(users.size()>0){
158
+            TaUser user = users.get(0);
159
+            person.setPersonType(CommConstant.PERSON_REALTY_CONSULTANT);
160
+            person.setUserId(user.getUserId());
161
+            person.setAvatarurl(user.getAvatar());
162
+            person.setCompany(user.getOrgName());
163
+            person.setTel(user.getPhone());
164
+            person.setName(user.getUserName());
165
+            person.setAddress(user.getAddress());
166
+            person.setIdNo(user.getIdNo());
167
+            person.setDepartment(user.getDepartment());
168
+            person.setPost(user.getPosition());
169
+            person.setPhoto(user.getPhoto());
170
+            taPersonService.updateById(person);
171
+            responseBean.addSuccess(person);
172
+        }else {
173
+            responseBean.addError("手机号不存在,请联系管理员维护。");
174
+        }
175
+        return responseBean;
176
+    }
177
+
178
+    @PutMapping("/wx/registerAgent")
179
+    public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
180
+        ResponseBean responseBean = new ResponseBean();
181
+        Integer orgId =getOrgId(request);
182
+        String openid = getOpenId(request);
183
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
184
+        if (null == taPersons || taPersons.size() != 1) {
185
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
186
+        }
187
+        TaPerson person = taPersons.get(0);
188
+        person.setAgentCode(taPersonService.agentCodeGenerator());
189
+        if (!StringUtils.isEmpty(recommendAgentCode)){
190
+            QueryWrapper<TaPerson> agentWrapper = new QueryWrapper();
191
+            agentWrapper.eq("agent_code",recommendAgentCode);
192
+            agentWrapper.eq("org_id",orgId);
193
+            TaPerson agent = taPersonService.getOne(agentWrapper);
194
+            if (null != agent){
195
+                person.setRecommendAgent(agent.getPersonId());
196
+            }
197
+        }
198
+        if(StringUtils.isEmpty(channelCode)){
199
+            person.setPersonType(CommConstant.PERSON_ESTATE_AGENT);
200
+        }else {
201
+            person.setPersonType(CommConstant.PERSON_ESTATE_CHANNEL);
202
+            QueryWrapper<TaChannel> queryWrapper = new QueryWrapper();
203
+            queryWrapper.eq("channel_code",channelCode);
204
+            queryWrapper.eq("org_id",orgId);
205
+            TaChannel channel = taChannelService.getOne(queryWrapper);
206
+            if (null == channel){
207
+                return ResponseBean.error("渠道码不存在",ResponseBean.ERROR_UNAVAILABLE);
208
+            }
209
+            QueryWrapper<TaChannelPerson>taChannelPersonQueryWrapper = new QueryWrapper<>();
210
+            taChannelPersonQueryWrapper.eq("person_id",person.getPersonId());
211
+            taChannelPersonQueryWrapper.eq("channel_id",channel.getChannelId());
212
+            taChannelPersonQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
213
+            int count = taChannelPersonService.count(taChannelPersonQueryWrapper);
214
+            if(count>0){
215
+                return ResponseBean.error("您已绑定过该渠道",ResponseBean.ERROR_UNAVAILABLE);
216
+            }
217
+            TaChannelPerson channelPerson = new TaChannelPerson();
218
+            channelPerson.setChannelId(channel.getChannelId());
219
+            channelPerson.setPersonId(person.getPersonId());
220
+            channelPerson.setCreateDate(LocalDateTime.now());
221
+            channelPerson.setStatus(CommConstant.STATUS_NORMAL);
222
+            taChannelPersonService.save(channelPerson);
223
+        }
224
+        taPersonService.updateById(person);
225
+        responseBean.addSuccess(person);
226
+
227
+        return responseBean;
228
+    }
229
+
77 230
     /**
78 231
      * 绑定卡片
79 232
      * @param paramStr
@@ -84,7 +237,7 @@ public class TaPersonController extends BaseController {
84 237
         JSONObject params = JSONObject.parseObject(paramStr);
85 238
         String phone = (String) params.get("phone");
86 239
         String pass = (String) params.get("pass");
87
-        String openid = JWTUtils.getSubject(request);
240
+        String openid = getOpenId(request);
88 241
 
89 242
         if (isEmpty(phone) || isEmpty(pass)) {
90 243
             return ResponseBean.error("参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
@@ -110,16 +263,33 @@ public class TaPersonController extends BaseController {
110 263
         if (isEmpty(id)) {
111 264
             return ResponseBean.error("参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
112 265
         }
113
-        String openid = JWTUtils.getSubject(request);
266
+        String openid = getOpenId(request);
114 267
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
115 268
         if (null == taPersons || taPersons.size() != 1) {
116 269
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
117 270
         }
118 271
         TaPerson person = taPersons.get(0);
272
+//        QueryWrapper<TaPersonBuilding>queryWrapper = new QueryWrapper<>();
273
+//        queryWrapper.eq("user_id",person.getUserId());
274
+//        TaPersonBuilding personBuilding = taPersonBuildingService.getOne(queryWrapper);
119 275
 
120 276
         return taPersonService.getCardDetail(openid, id,person.getPersonId());
121 277
     }
122 278
 
279
+    /**
280
+     * 获取名片详情
281
+     * @param id
282
+     * @return
283
+     */
284
+    @GetMapping("/wx/onePerson/{id}")
285
+    public ResponseBean getPersonByPersonId(@PathVariable String id, HttpServletRequest request) {
286
+        if (isEmpty(id)) {
287
+            return ResponseBean.error("参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
288
+        }
289
+        TaPerson person = taPersonService.getById(id);
290
+        return ResponseBean.success(person);
291
+    }
292
+
123 293
     /**
124 294
      * 找回密码
125 295
      * @param plat 平台类型 wx 是微信相关, admin 是后台管理系统
@@ -173,7 +343,7 @@ public class TaPersonController extends BaseController {
173 343
         }
174 344
 
175 345
         // 当前人员
176
-        String openid = JWTUtils.getSubject(request);
346
+        String openid = getOpenId(request);
177 347
 
178 348
         return taPersonService.resgiteAgent(name, phone, sex, explain, openid);
179 349
     }
@@ -203,21 +373,22 @@ public class TaPersonController extends BaseController {
203 373
      */
204 374
     @GetMapping("/wx/user/info")
205 375
     public ResponseBean getUserInfo(HttpServletRequest request) {
206
-        String openid = JWTUtils.getSubject(request);
376
+        String openid = getOpenId(request);
207 377
 
208 378
         return taPersonService.getWxUser(openid);
209 379
     }
210 380
 
211 381
     /**
212
-     * 个人签到
382
+     * 个人getPersonId(request);
213 383
      * @param request
214 384
      * @return
215 385
      */
216 386
     @PostMapping("/wx/user/signin")
217 387
     public ResponseBean userSign(HttpServletRequest request) {
218
-        String openid = JWTUtils.getSubject(request);
388
+        String openid = getOpenId(request);
389
+        Integer orgId = getOrgId(request);
219 390
 
220
-        return taPersonService.getWxUserSign(openid);
391
+        return taPersonService.getWxUserSign(openid, orgId);
221 392
     }
222 393
 
223 394
 
@@ -233,38 +404,38 @@ public class TaPersonController extends BaseController {
233 404
      * @param paramStr
234 405
      * @return
235 406
      */
236
-    @PostMapping("/admin/signin")
237
-    public ResponseBean signin(@RequestBody String paramStr) {
238
-        JSONObject params = JSONObject.parseObject(paramStr);
239
-        if (params == null) {
240
-            return ResponseBean.error("非法参数", ResponseBean.ERROR_MISSING_PARAMS);
241
-        }
242
-
243
-        String userPhone = params.getString("phone");
244
-        String userCaptcha = params.getString("captcha");
245
-
246
-        // todo
247
-        if (!"1234".equals(userCaptcha)) {
248
-            return ResponseBean.error("验证码不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
249
-        }
250
-
251
-        TaPerson taPerson = taPersonService.getPersonByTel(userPhone);
252
-        if (taPerson == null) {
253
-            return ResponseBean.error("手机号不存在", ResponseBean.ERROR_ILLEGAL_PARAMS);
254
-        }
255
-
256
-        if (taPerson.getStatus() != CommConstant.STATUS_NORMAL) {
257
-            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_UNAVAILABLE);
258
-        }
259
-
260
-        String token = JWTUtils.newToken(taPerson.getPersonId());
261
-
262
-        Map<String, Object> result = new HashMap<>();
263
-        result.put("token", token);
264
-        result.put("person", taPerson);
265
-
266
-        return ResponseBean.success(result);
267
-    }
407
+//    @PostMapping("/admin/signin")
408
+//    public ResponseBean signin(@RequestBody String paramStr) {
409
+//        JSONObject params = JSONObject.parseObject(paramStr);
410
+//        if (params == null) {
411
+//            return ResponseBean.error("非法参数", ResponseBean.ERROR_MISSING_PARAMS);
412
+//        }
413
+//
414
+//        String userPhone = params.getString("phone");
415
+//        String userCaptcha = params.getString("captcha");
416
+//
417
+//        // todo
418
+//        if (!"1234".equals(userCaptcha)) {
419
+//            return ResponseBean.error("验证码不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
420
+//        }
421
+//
422
+//        TaPerson taPerson = taPersonService.getPersonByTel(userPhone);
423
+//        if (taPerson == null) {
424
+//            return ResponseBean.error("手机号不存在", ResponseBean.ERROR_ILLEGAL_PARAMS);
425
+//        }
426
+//
427
+//        if (taPerson.getStatus() != CommConstant.STATUS_NORMAL) {
428
+//            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_UNAVAILABLE);
429
+//        }
430
+//
431
+//        String token = JWTUtils.newToken(taPerson.getPersonId());
432
+//
433
+//        Map<String, Object> result = new HashMap<>();
434
+//        result.put("token", token);
435
+//        result.put("person", taPerson);
436
+//
437
+//        return ResponseBean.success(result);
438
+//    }
268 439
 
269 440
     /**
270 441
      * 获取当前用户
@@ -273,7 +444,7 @@ public class TaPersonController extends BaseController {
273 444
      */
274 445
     @GetMapping("/admin/user/current")
275 446
     public ResponseBean getCurrentPerson(HttpServletRequest request) {
276
-        String personId = JWTUtils.getSubject(request);
447
+        String personId = getPersonId(request);
277 448
         TaPerson taPerson = taPersonService.getById(personId);
278 449
         if (null == taPerson || taPerson.getStatus() != CommConstant.STATUS_NORMAL) {
279 450
             return ResponseBean.error("用户状态异常", ResponseBean.ERROR_AUTH_EXPIRED);
@@ -299,6 +470,32 @@ public class TaPersonController extends BaseController {
299 470
         return ResponseBean.success(taPersonIPage);
300 471
     }
301 472
 
473
+    @GetMapping("/admin/building/consultant")
474
+    public ResponseBean getBuildingConsultantList(
475
+            Integer pageNumber,
476
+            Integer pageSize,
477
+            String buildingId
478
+    ) {
479
+        if (null == pageNumber) pageNumber = 1;
480
+        if (null == pageSize) pageSize = 10;
481
+
482
+        IPage<TaUser> taPersonIPage = taPersonService.getBuildingConsultantList(pageNumber,pageSize,buildingId);
483
+        return ResponseBean.success(taPersonIPage);
484
+    }
485
+
486
+    @GetMapping("/wx/building/consultant")
487
+    public ResponseBean getWxBuildingConsultantList(
488
+            Integer pageNumber,
489
+            Integer pageSize,
490
+            String buildingId
491
+    ) {
492
+        if (null == pageNumber) pageNumber = 1;
493
+        if (null == pageSize) pageSize = 10;
494
+
495
+        IPage<TaUser> taPersonIPage = taPersonService.getBuildingConsultantList(pageNumber,pageSize,buildingId);
496
+        return ResponseBean.success(taPersonIPage);
497
+    }
498
+
302 499
     @GetMapping("/admin/consultant/{id}")
303 500
     public ResponseBean getConsultant(@PathVariable String id) {
304 501
         TaPerson taPerson = taPersonService.getById(id);
@@ -325,6 +522,42 @@ public class TaPersonController extends BaseController {
325 522
         return taPersonService.editConsultant(id, paramStr);
326 523
     }
327 524
 
525
+    @PutMapping("/wx/editPerson")
526
+    public ResponseBean editWxConsultant(@RequestParam(required = false)String name,@RequestParam(required = false)String avatar,@RequestParam(required = false)String phone,HttpServletRequest request) {
527
+        ResponseBean responseBean = new ResponseBean();
528
+        String openid = getOpenId(request);
529
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
530
+        if (null == taPersons || taPersons.size() != 1) {
531
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
532
+        }
533
+        TaPerson person = taPersons.get(0);
534
+        if (!StringUtils.isEmpty(name)){
535
+            person.setName(name);
536
+        }
537
+        if (!StringUtils.isEmpty(avatar)){
538
+            person.setAvatarurl(avatar);
539
+        }
540
+        if (!StringUtils.isEmpty(phone)){
541
+            person.setTel(phone);
542
+            if(person.getPersonType().equals(CommConstant.PERSON_REALTY_CONSULTANT)){
543
+                TaUser user = taUserService.getById(person.getUserId());
544
+                user.setPhone(phone);
545
+                user.setLoginName(phone);
546
+                taUserService.updateById(user);
547
+            }
548
+        }
549
+        try{
550
+            if(taPersonService.updateById(person)){
551
+                responseBean.addSuccess(person);
552
+            }else {
553
+                responseBean.addError("fail");
554
+            }
555
+        }catch (Exception e){
556
+
557
+        }
558
+        return responseBean;
559
+    }
560
+
328 561
     boolean isEmpty(String str) {
329 562
         return null == str || "".equals(str.trim());
330 563
     }
@@ -338,7 +571,7 @@ public class TaPersonController extends BaseController {
338 571
 //    @GetMapping("/wx/savedPerson")
339 572
 //    public ResponseBean getSavedConsaultants(@RequestParam(defaultValue = "1") int pageNumber,
340 573
 //                                    @RequestParam(defaultValue = "10") int pageSize,HttpServletRequest request) {
341
-//        String openid = JWTUtils.getSubject(request);
574
+//        String openid = getOpenId(request);
342 575
 //        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
343 576
 //        if (null == taPersons || taPersons.size() != 1) {
344 577
 //            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
@@ -356,7 +589,157 @@ public class TaPersonController extends BaseController {
356 589
 //        }
357 590
 //
358 591
 //    }
592
+    /**
593
+     * 变更经纪人类型
594
+     * @param channelCode 渠道码
595
+     * @return
596
+     */
597
+    @RequestMapping(value="/wx/customer/recommend/becomeChannel",method= RequestMethod.PUT)
598
+    public ResponseBean taRecommendAgentBecomeChannel(@RequestParam(required = false) String channelCode,HttpServletRequest request,@RequestParam("personType")String personType){
599
+        ResponseBean responseBean = new ResponseBean();
359 600
 
601
+        if (org.apache.commons.lang3.StringUtils.isBlank(personType)) {
602
+            responseBean.addSuccess("personType为空");
603
+            return responseBean;
604
+        }
360 605
 
606
+        String openid = getOpenId(request);
607
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
608
+        if (null == taPersons || taPersons.size() != 1) {
609
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
610
+        }
611
+        TaPerson person = taPersons.get(0);
612
+        try {
613
+            if(CommConstant.PERSON_ESTATE_CHANNEL.equals(personType)){
614
+                QueryWrapper<TaChannel>channelQueryWrapper = new QueryWrapper<>();
615
+                channelQueryWrapper.eq("channel_code",channelCode);
616
+                channelQueryWrapper.eq("org_id",getOrgId(request));
617
+                QueryWrapper<TaChannelPerson>channelPersonQueryWrapper = new QueryWrapper<>();
618
+                List<TaChannel> channel = taChannelService.list(channelQueryWrapper);
619
+                if(channel.size()>0){
620
+                    channelPersonQueryWrapper.eq("person_id",person.getPersonId());
621
+                    channelPersonQueryWrapper.eq("channel_id",channel.get(0).getChannelId());
622
+                    channelPersonQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
623
+                    int count = taChannelPersonService.count(channelPersonQueryWrapper);
624
+                    if(count >0){
625
+                        return ResponseBean.error("您已绑定过渠道",ResponseBean.ERROR_UNAVAILABLE);
626
+                    }
627
+                    TaChannelPerson channelPerson = new TaChannelPerson();
628
+                    channelPerson.setCreateDate(LocalDateTime.now());
629
+                    channelPerson.setPersonId(person.getPersonId());
630
+                    channelPerson.setChannelId(channel.get(0).getChannelId());
631
+                    channelPerson.setStatus(CommConstant.STATUS_NORMAL);
632
+                    taChannelPersonService.save(channelPerson);
633
+                }else {
634
+                    return ResponseBean.error("渠道码错误", ResponseBean.ERROR_UNAVAILABLE);
635
+                }
636
+
637
+            }else {
638
+                QueryWrapper<TaChannelPerson>channelPersonQueryWrapper = new QueryWrapper<>();
639
+                channelPersonQueryWrapper.eq("person_id",person.getPersonId());
640
+                List<TaChannelPerson> taChannelPerson = taChannelPersonService.list(channelPersonQueryWrapper);
641
+                if (taChannelPerson.size()>0){
642
+                    for(int i=0;i<taChannelPerson.size();i++){
643
+                        taChannelPerson.get(i).setStatus(CommConstant.STATUS_DELETE);
644
+                    }
645
+                    taChannelPersonService.updateBatchById(taChannelPerson);
646
+                }
647
+            }
648
+            person.setPersonType(personType);
649
+            if (taPersonService.updateById(person)){
650
+                responseBean.addSuccess(person);
651
+            }else {
652
+                responseBean.addError("fail");
653
+            }
654
+        }catch (Exception e){
655
+            e.printStackTrace();
656
+            responseBean.addError(e.getMessage());
657
+        }
658
+        return responseBean;
659
+    }
660
+
661
+
662
+    /**
663
+     * 获取名片详情
664
+     * @return
665
+     */
666
+    @GetMapping("/wx/agent/recommend/mine")
667
+    public ResponseBean getAgentIRecommend(@RequestParam(defaultValue = "1") int pageNumber,
668
+                                           @RequestParam(defaultValue = "10") int pageSize, HttpServletRequest request) {
669
+        String openid = getOpenId(request);
670
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
671
+        if (null == taPersons || taPersons.size() != 1) {
672
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
673
+        }
674
+        TaPerson person = taPersons.get(0);
675
+        QueryWrapper<TaPerson>queryWrapper = new QueryWrapper<>();
676
+        queryWrapper.eq("recommend_agent",person.getPersonId());
677
+        queryWrapper.eq("person_type", CommConstant.PERSON_ESTATE_AGENT);
678
+        queryWrapper.eq("status",CommConstant.STATUS_NORMAL);
679
+        Page<TaPerson>page = new Page<>();
680
+        page.setPages(pageNumber);
681
+        page.setCurrent(pageNumber);
682
+        page.setSize(pageSize);
683
+        ResponseBean responseBean = new ResponseBean();
684
+        IPage<TaPerson>data = taPersonService.page(page,queryWrapper);
685
+        responseBean.addSuccess(data);
686
+
687
+        return responseBean;
688
+    }
689
+
690
+    /**
691
+     * 获取当前用户
692
+     * @param request
693
+     * @return
694
+     */
695
+    @GetMapping("/wx/user/current")
696
+    public ResponseBean getWxCurrentPerson(HttpServletRequest request) {
697
+        String personId = getPersonId(request);
698
+        TaPerson taPerson = taPersonService.getById(personId);
699
+        if (null == taPerson || taPerson.getStatus() != CommConstant.STATUS_NORMAL) {
700
+            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_AUTH_EXPIRED);
701
+        }
702
+
703
+        return ResponseBean.success(taPerson);
704
+    }
705
+
706
+    
707
+    /**
708
+     * 微信添加人员添加城市
709
+     * @param params
710
+     * @param request
711
+     * @return
712
+     */
713
+    @PutMapping("/wx/person/city")
714
+    public ResponseBean updatePersonCity(@RequestBody String params, HttpServletRequest request) {
715
+        ResponseBean responseBean = new ResponseBean();
716
+        String openid = getOpenId(request);
717
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
718
+        if (null == taPersons || taPersons.size() != 1) {
719
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
720
+        }
721
+        TaPerson person = taPersons.get(0);
722
+        JSONObject jsonObject = JSONObject.parseObject(params);
723
+        String lat = jsonObject.getString("lat");
724
+        String lon = jsonObject.getString("lon");
725
+        String location = lon+","+lat;
726
+        RestTemplate restTemplate = new RestTemplate();
727
+        String result = restTemplate.getForObject("https://restapi.amap.com/v3/geocode/regeo?key="+ CommConstant.GD_KEY + "&location=" +location+ "&output=json", String.class);
728
+        JSONObject resultJson = JSONObject.parseObject(result);
729
+        if (!resultJson.getString("status").equals(CommConstant.STATUS_NORMAL)){
730
+            String adcode =  resultJson.getJSONObject("regeocode").getJSONObject("addressComponent").getString("adcode");
731
+            String cityName =  resultJson.getJSONObject("regeocode").getJSONObject("addressComponent").getString("city");
732
+            adcode = adcode.substring(0,adcode.length()-2) + "00";
733
+            person.setCity(adcode);
734
+            taPersonService.updateById(person);
735
+            Map<Object,Object> data = new HashMap<>();
736
+            data.put("cityName",cityName);
737
+            data.put("cityCode",adcode);
738
+            responseBean.addSuccess(data);
739
+            return responseBean;
740
+        }
741
+        responseBean.addError("未找到城市");
742
+        return responseBean;
743
+    }
361 744
 
362 745
 }

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

@@ -80,14 +80,14 @@ public class TaPersonVisitRecordController extends BaseController {
80 80
      */
81 81
     @RequestMapping(value="/wx/taPersonVisitRecord",method= RequestMethod.POST)
82 82
     public ResponseBean taPersonVisitRecordAdd(@RequestBody TaPersonVisitRecord taPersonVisitRecord, HttpServletRequest request){
83
-        String openid = JWTUtils.getSubject(request);
83
+        String openid = getOpenId(request);
84 84
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
85 85
         if (null == taPersons || taPersons.size() != 1) {
86 86
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
87 87
         }
88 88
         TaPerson person = taPersons.get(0);
89 89
         taPersonVisitRecord.setActivity(taPersonVisitRecord.getPropertyName());
90
-        Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity());
90
+        Integer eventProperties = taEventPropertiesService.isEventExist(taPersonVisitRecord.getTargetId(),taPersonVisitRecord.getEventType(),taPersonVisitRecord.getActivity(), getOrgId(request));
91 91
         if(eventProperties<=0){
92 92
             TaEventProperties taEventProperty = new TaEventProperties();
93 93
             taEventProperty.setBuildingId(taPersonVisitRecord.getTargetId());
@@ -97,6 +97,7 @@ public class TaPersonVisitRecordController extends BaseController {
97 97
             taEventProperty.setStatus(CommConstant.STATUS_NORMAL);
98 98
             taEventProperty.setBuildingId(taPersonVisitRecord.getBuildingId());
99 99
             taEventProperty.setEventType(taPersonVisitRecord.getEventType());
100
+            taEventProperty.setOrgId(getOrgId(request));
100 101
             if (!taEventPropertiesService.save(taEventProperty)){
101 102
                 return ResponseBean.error("新增失败",ResponseBean.ERROR_UNAVAILABLE);
102 103
             }
@@ -108,6 +109,7 @@ public class TaPersonVisitRecordController extends BaseController {
108 109
         if(!StringUtils.isEmpty(taPersonVisitRecord.getBuildingId())){
109 110
             QueryWrapper<TaBuildingIntention> intentionQueryWrapper = new QueryWrapper<>();
110 111
             intentionQueryWrapper.eq("building_id",taPersonVisitRecord.getBuildingId());
112
+            intentionQueryWrapper.eq("org_id", getOrgId(request));
111 113
             intentionQueryWrapper.eq("event_code",taPersonVisitRecord.getEvent());
112 114
             List<TaBuildingIntention>list = buildingIntentionService.list(intentionQueryWrapper);
113 115
             if (list.size()>0){
@@ -121,6 +123,7 @@ public class TaPersonVisitRecordController extends BaseController {
121 123
                 intentionRecord.setEventId(buildingIntention.getEventId());
122 124
                 intentionRecord.setEventName(buildingIntention.getEventName());
123 125
                 intentionRecord.setIntention(buildingIntention.getIntention());
126
+                intentionRecord.setOrgId(getOrgId(request));
124 127
                 intentionRecord.setPersonId(person.getPersonId());
125 128
                 intentionRecord.setPersonName(person.getNickname());
126 129
                 intentionRecord.setStatus(CommConstant.STATUS_NORMAL);
@@ -197,4 +200,25 @@ public class TaPersonVisitRecordController extends BaseController {
197 200
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
198 201
         }
199 202
     }
203
+    
204
+    /**
205
+     * 盘客工具分页获取访问记录
206
+     * @param pageNum
207
+     * @param pageSize
208
+     * @return
209
+     */
210
+    @RequestMapping(value="/wx/taPersonVisitRecord",method= RequestMethod.GET)
211
+    public ResponseBean wxPersonVisitRecordList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
212
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
213
+                                                @RequestParam(value = "customerId") String customerId){
214
+        try {
215
+            //使用分页插件
216
+            IPage<TaPersonVisitRecord> pg = new Page<>(pageNum, pageSize);
217
+            IPage<TaPersonVisitRecord> result = iTaPersonVisitRecordService.getPersonVisitRecordList(pg, customerId);
218
+            return ResponseBean.success(result);
219
+        }catch (Exception e){
220
+            logger.error("taPersonVisitRecordList -=- {}",e.toString());
221
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
222
+        }
223
+    }
200 224
 }

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

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam;
19 19
 import org.springframework.web.bind.annotation.ResponseBody;
20 20
 import org.springframework.web.bind.annotation.RestController;
21 21
 
22
+import javax.servlet.http.HttpServletRequest;
22 23
 import java.time.LocalDateTime;
23 24
 
24 25
 /**
@@ -57,7 +58,7 @@ public class TaPointsExchangeController extends BaseController {
57 58
                                              @RequestParam(value ="startVerifyDate",required = false) String startVerifyDate,
58 59
                                              @RequestParam(value ="endVerifyDate",required = false) String endVerifyDate,
59 60
                                              @RequestParam(value ="status",required = false) Integer status,
60
-                                             @RequestParam(value ="tel",required = false) String tel){
61
+                                             @RequestParam(value ="tel",required = false) String tel, HttpServletRequest request){
61 62
         ResponseBean responseBean = new ResponseBean();
62 63
         try {
63 64
             //使用分页插件
@@ -72,6 +73,7 @@ public class TaPointsExchangeController extends BaseController {
72 73
             taPointsExchange.setEndVerifyDate(endVerifyDate);
73 74
             taPointsExchange.setStatus(status);
74 75
             taPointsExchange.setTel(tel);
76
+            taPointsExchange.setOrgId(getOrgId(request));
75 77
             
76 78
             responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange);
77 79
 
@@ -93,6 +95,7 @@ public class TaPointsExchangeController extends BaseController {
93 95
         ResponseBean responseBean = new ResponseBean();
94 96
         try {
95 97
             if (null != taPointsExchange.getStatus() && !taPointsExchange.getStatus().equals(CommConstant.STATUS_NORMAL)){
98
+                taPointsExchange.setVerifyDate(LocalDateTime.now());
96 99
                 taPointsExchange.setStatus(CommConstant.STATUS_NORMAL);
97 100
             }
98 101
             if (iTaPointsExchangeService.updateById(taPointsExchange)){
@@ -209,14 +212,14 @@ public class TaPointsExchangeController extends BaseController {
209 212
      * @return
210 213
      */
211 214
     @RequestMapping(value="/wx/taPointsExchange",method= RequestMethod.GET)
212
-    public ResponseBean wxPointsExchangeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
215
+    public ResponseBean wxPointsExchangeList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
213 216
                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
214 217
                                              @RequestParam(value = "buildingId", required = false) String buildingId,
215 218
                                              @RequestParam(value = "personId", required = false) String personId){
216 219
         ResponseBean responseBean = new ResponseBean();
217 220
         try {
218 221
             //使用分页插件
219
-            IPage<TaPointsExchange> pg = new Page<>(pageNum, pageSize);
222
+            IPage<TaPointsExchange> pg = new Page<>(pageNumber, pageSize);
220 223
             QueryWrapper<TaPointsExchange> queryWrapper = new QueryWrapper<>();
221 224
             queryWrapper.eq(null != personId, "person_id", personId);
222 225
             queryWrapper.eq(null != buildingId, "building_id",buildingId);

+ 97
- 34
src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java ファイルの表示

@@ -59,7 +59,7 @@ public class TaPointsRecordsController extends BaseController {
59 59
      * @param pageSize
60 60
      * @return
61 61
      */
62
-    @RequestMapping(value="/taPointsRecords",method= RequestMethod.GET)
62
+    @RequestMapping(value="/admin/taPointsRecords",method= RequestMethod.GET)
63 63
     public ResponseBean taPointsRecordsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
64 64
                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
65 65
         ResponseBean responseBean = new ResponseBean();
@@ -79,12 +79,75 @@ public class TaPointsRecordsController extends BaseController {
79 79
         return responseBean;
80 80
     }
81 81
 
82
+    /**
83
+     * 分页查询列表
84
+     * @param pageNumber
85
+     * @param pageSize
86
+     * @return
87
+     */
88
+    @RequestMapping(value="/wx/taPointsRecords",method= RequestMethod.GET)
89
+    public ResponseBean taWxPointsRecordsList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
90
+                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
91
+                                              HttpServletRequest request){
92
+        ResponseBean responseBean = new ResponseBean();
93
+        try {
94
+            String openid = getOpenId(request);
95
+            Integer orgId = getOrgId(request);
96
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
97
+            if (null == taPersons || taPersons.size() != 1) {
98
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
99
+            }
100
+            TaPerson person = taPersons.get(0);
101
+            //使用分页插件
102
+            IPage<TaPointsRecords> pg = new Page<>(pageNumber, pageSize);
103
+            QueryWrapper<TaPointsRecords> queryWrapper = new QueryWrapper<>();
104
+            queryWrapper.eq("person_id",person.getPersonId());
105
+            queryWrapper.orderByDesc("create_date");
106
+
107
+            IPage<TaPointsRecords> result = iTaPointsRecordsService.page(pg, queryWrapper);
108
+            for(int i = 0;i<result.getRecords().size();i++){
109
+                switch (result.getRecords().get(i).getChangeType()){
110
+                    case CommConstant.POINTS_CHANGE_GOODS:
111
+                        result.getRecords().get(i).setRecordName("兑换商品");
112
+                        break;
113
+                    case CommConstant.POINTS_CHANGE_SHARE_POSTER:
114
+                        result.getRecords().get(i).setRecordName("分享海报");
115
+                        break;
116
+                    case CommConstant.POINTS_CHANGE_CHECKIN:
117
+                        result.getRecords().get(i).setRecordName("签到");
118
+                        break;
119
+                    case CommConstant.POINTS_CHANGE_RECOMMEND_CUSTOMER:
120
+                        result.getRecords().get(i).setRecordName("推荐客户");
121
+                        break;
122
+                    case CommConstant.POINTS_CHANGE_SIGNUP_AGENT:
123
+                        result.getRecords().get(i).setRecordName("授权手机号");
124
+                        break;
125
+                    case CommConstant.POINTS_CHANGE_GROUP:
126
+                        result.getRecords().get(i).setRecordName("拼团");
127
+                        break;
128
+                    case CommConstant.POINTS_CHANGE_ACTIVITY_CHECKIN:
129
+                        result.getRecords().get(i).setRecordName("活动签到");
130
+                        break;
131
+                    case CommConstant.POINTS_CHANGE_DOCUMENT_VERIFY:
132
+                        result.getRecords().get(i).setRecordName("资料审核");
133
+                        break;
134
+                }
135
+            }
136
+            responseBean.addSuccess(result);
137
+        }catch (Exception e){
138
+            e.printStackTrace();
139
+            logger.error("taPointsRecordsList -=- {}",e.toString());
140
+            responseBean.addError(e.getMessage());
141
+        }
142
+        return responseBean;
143
+    }
144
+
82 145
     /**
83 146
      * 保存对象
84 147
      * @param taPointsRecords 实体对象
85 148
      * @return
86 149
      */
87
-    @RequestMapping(value="/taPointsRecords",method= RequestMethod.POST)
150
+    @RequestMapping(value="/admin/taPointsRecords",method= RequestMethod.POST)
88 151
     public ResponseBean taPointsRecordsAdd(@RequestBody TaPointsRecords taPointsRecords){
89 152
         ResponseBean responseBean = new ResponseBean();
90 153
         try {
@@ -106,7 +169,7 @@ public class TaPointsRecordsController extends BaseController {
106 169
      * @param id  实体ID
107 170
      */
108 171
     @ResponseBody
109
-    @RequestMapping(value="/taPointsRecords/{id}", method= RequestMethod.DELETE)
172
+    @RequestMapping(value="/admin/taPointsRecords/{id}", method= RequestMethod.DELETE)
110 173
     public ResponseBean taPointsRecordsDelete(@PathVariable Integer id){
111 174
         ResponseBean responseBean = new ResponseBean();
112 175
         try {
@@ -129,7 +192,7 @@ public class TaPointsRecordsController extends BaseController {
129 192
      * @param taPointsRecords 实体对象
130 193
      * @return
131 194
      */
132
-    @RequestMapping(value="/taPointsRecords/{id}",method= RequestMethod.PUT)
195
+    @RequestMapping(value="/admin/taPointsRecords/{id}",method= RequestMethod.PUT)
133 196
     public ResponseBean taPointsRecordsUpdate(@PathVariable Integer id,
134 197
                                         @RequestBody TaPointsRecords taPointsRecords){
135 198
         ResponseBean responseBean = new ResponseBean();
@@ -152,7 +215,7 @@ public class TaPointsRecordsController extends BaseController {
152 215
      * 根据id查询对象
153 216
      * @param id  实体ID
154 217
      */
155
-    @RequestMapping(value="/taPointsRecords/{id}",method= RequestMethod.GET)
218
+    @RequestMapping(value="/admin/taPointsRecords/{id}",method= RequestMethod.GET)
156 219
     public ResponseBean taPointsRecordsGet(@PathVariable Integer id){
157 220
         ResponseBean responseBean = new ResponseBean();
158 221
         try {
@@ -165,34 +228,34 @@ public class TaPointsRecordsController extends BaseController {
165 228
         return responseBean;
166 229
     }
167 230
     
168
-    /**
169
-     * 分页查询列表
170
-     * @param pageNum
171
-     * @param pageSize
172
-     * @return
173
-     */
174
-    @RequestMapping(value="/wx/taPointsRecords",method= RequestMethod.GET)
175
-    public ResponseBean wxPointsRecordsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
176
-                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
177
-                                            HttpServletRequest request){
178
-        ResponseBean responseBean = new ResponseBean();
179
-        try {
180
-            String openid = JWTUtils.getSubject(request);
181
-            TaPerson taPerson = taPersonService.getPersonsByOpenId(openid).get(0);
182
-            //使用分页插件
183
-            IPage<TaPointsRecords> pg = new Page<>(pageNum, pageSize);
184
-            QueryWrapper<TaPointsRecords> queryWrapper = new QueryWrapper<>();
185
-            queryWrapper.eq("person_id",taPerson.getPersonId());
186
-            queryWrapper.orderByDesc("create_date");
187
-            IPage<TaPointsRecords> result = iTaPointsRecordsService.page(pg, queryWrapper);
188
-            responseBean.addSuccess(result);
189
-        }catch (Exception e){
190
-            e.printStackTrace();
191
-            logger.error("taPointsRecordsList -=- {}",e.toString());
192
-            responseBean.addError(e.getMessage());
193
-        }
194
-        return responseBean;
195
-    }
231
+//    /**
232
+//     * 分页查询列表
233
+//     * @param pageNum
234
+//     * @param pageSize
235
+//     * @return
236
+//     */
237
+//    @RequestMapping(value="/wx/taPointsRecords",method= RequestMethod.GET)
238
+//    public ResponseBean wxPointsRecordsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
239
+//                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
240
+//                                            HttpServletRequest request){
241
+//        ResponseBean responseBean = new ResponseBean();
242
+//        try {
243
+//            String openid = getOpenId(request);
244
+//            TaPerson taPerson = taPersonService.getPersonsByOpenId(openid).get(0);
245
+//            //使用分页插件
246
+//            IPage<TaPointsRecords> pg = new Page<>(pageNum, pageSize);
247
+//            QueryWrapper<TaPointsRecords> queryWrapper = new QueryWrapper<>();
248
+//            queryWrapper.eq("person_id",taPerson.getPersonId());
249
+//            queryWrapper.orderByDesc("create_date");
250
+//            IPage<TaPointsRecords> result = iTaPointsRecordsService.page(pg, queryWrapper);
251
+//            responseBean.addSuccess(result);
252
+//        }catch (Exception e){
253
+//            e.printStackTrace();
254
+//            logger.error("taPointsRecordsList -=- {}",e.toString());
255
+//            responseBean.addError(e.getMessage());
256
+//        }
257
+//        return responseBean;
258
+//    }
196 259
 
197 260
     /**
198 261
      * 分页查询列表
@@ -200,7 +263,7 @@ public class TaPointsRecordsController extends BaseController {
200 263
      * @param pageSize
201 264
      * @return
202 265
      */
203
-    @RequestMapping(value="/admin/taPointsRecords/{id}",method= RequestMethod.GET)
266
+    @RequestMapping(value="/admin/mine/taPointsRecords/{id}",method= RequestMethod.GET)
204 267
     public ResponseBean CustomerPointsRecordsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
205 268
                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
206 269
                                             @PathVariable(value = "id") String id){

+ 55
- 7
src/main/java/com/huiju/estateagents/controller/TaPolicyController.java ファイルの表示

@@ -10,6 +10,10 @@ import com.huiju.estateagents.common.JWTUtils;
10 10
 import com.huiju.estateagents.entity.TdCity;
11 11
 import com.huiju.estateagents.service.ITdCityService;
12 12
 import com.huiju.estateagents.service.ITaPolicyService;
13
+import io.swagger.annotations.Api;
14
+import io.swagger.annotations.ApiImplicitParam;
15
+import io.swagger.annotations.ApiImplicitParams;
16
+import io.swagger.annotations.ApiOperation;
13 17
 import org.slf4j.Logger;
14 18
 import org.slf4j.LoggerFactory;
15 19
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +39,7 @@ import java.time.LocalDateTime;
35 39
  */
36 40
 @RestController
37 41
 @RequestMapping("/api")
42
+@Api(value = "政策维护", tags = "政策维护")
38 43
 public class TaPolicyController extends BaseController {
39 44
 
40 45
     private final Logger logger = LoggerFactory.getLogger(TaPolicyController.class);
@@ -52,10 +57,17 @@ public class TaPolicyController extends BaseController {
52 57
      * @param pageSize
53 58
      * @return
54 59
      */
60
+    @ApiOperation(value = "后台政策维护列表", notes = "后台政策维护列表")
61
+    @ApiImplicitParams({
62
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
63
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
64
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市ID")
65
+    })
55 66
     @RequestMapping(value="/admin/taPolicy",method= RequestMethod.GET)
56 67
     public ResponseBean taPolicyList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
57 68
 									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
-                                     @RequestParam(value ="cityId") Integer cityId){
69
+                                     @RequestParam(value ="cityId", required = false) Integer cityId,
70
+                                     HttpServletRequest request){
59 71
         ResponseBean responseBean = new ResponseBean();
60 72
         try {
61 73
             //使用分页插件
@@ -64,6 +76,7 @@ public class TaPolicyController extends BaseController {
64 76
             queryWrapper.eq(null != cityId,"city_id",cityId);
65 77
             queryWrapper.orderByDesc("weight", "create_date");
66 78
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
79
+            queryWrapper.eq("org_id", getOrgId(request));
67 80
 
68 81
             IPage<TaPolicy> result = iTaPolicyService.page(pg, queryWrapper);
69 82
             responseBean.addSuccess(result);
@@ -80,17 +93,24 @@ public class TaPolicyController extends BaseController {
80 93
      * @param pageSize
81 94
      * @return
82 95
      */
96
+    @ApiOperation(value = "微信政策维护列表", notes = "微信政策维护列表")
97
+    @ApiImplicitParams({
98
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
99
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
100
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "cityId", paramType = "query",value = "城市ID")
101
+    })
83 102
     @RequestMapping(value="/wx/taPolicy",method= RequestMethod.GET)
84
-    public ResponseBean taPolicyListCity(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
103
+    public ResponseBean taPolicyListCity(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
85 104
                                      @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
86
-                                         @RequestParam(value ="cityId", required = false) Integer cityId){
105
+                                         @RequestParam(value ="cityId", required = false) Integer cityId,HttpServletRequest request){
87 106
         ResponseBean responseBean = new ResponseBean();
88 107
         try {
89 108
             //使用分页插件
90
-            IPage<TaPolicy> pg = new Page<>(pageNum, pageSize);
109
+            IPage<TaPolicy> pg = new Page<>(pageNumber, pageSize);
91 110
             QueryWrapper<TaPolicy> queryWrapper = new QueryWrapper<>();
92 111
             queryWrapper.eq("city_id",cityId);
93 112
             queryWrapper.eq("publish_status",CommConstant.IS_PUBLISH);
113
+            queryWrapper.eq("org_id",getOrgId(request));
94 114
             queryWrapper.orderByDesc("weight", "create_date");
95 115
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
96 116
 
@@ -108,6 +128,10 @@ public class TaPolicyController extends BaseController {
108 128
      * @param taPolicy 实体对象
109 129
      * @return
110 130
      */
131
+    @ApiOperation(value = "后台政策维护保存", notes = "后台政策维护保存")
132
+    @ApiImplicitParams({
133
+            @ApiImplicitParam(dataType = "TaPolicy", name = "taPolicy", paramType = "body",value = "政策数据")
134
+    })
111 135
     @RequestMapping(value="/admin/taPolicy",method= RequestMethod.POST)
112 136
     public ResponseBean taPolicyAdd(@RequestBody TaPolicy taPolicy, HttpServletRequest request){
113 137
         ResponseBean responseBean = new ResponseBean();
@@ -115,7 +139,7 @@ public class TaPolicyController extends BaseController {
115 139
 
116 140
             if(taPolicy.getPublishStatus().equals(CommConstant.IS_PUBLISH)){
117 141
                 taPolicy.setPublishDate(LocalDateTime.now());
118
-                String personId = JWTUtils.getSubject(request);
142
+                String personId = getPersonId(request);
119 143
                 taPolicy.setPublishUser(personId);
120 144
             }
121 145
 
@@ -124,6 +148,7 @@ public class TaPolicyController extends BaseController {
124 148
 
125 149
             taPolicy.setStatus(1);
126 150
             taPolicy.setCreateDate(LocalDateTime.now());
151
+            taPolicy.setOrgId(getOrgId(request));
127 152
 
128 153
             if (iTaPolicyService.save(taPolicy)){
129 154
                 responseBean.addSuccess(taPolicy);
@@ -141,6 +166,10 @@ public class TaPolicyController extends BaseController {
141 166
      * 根据id删除对象
142 167
      * @param id  实体ID
143 168
      */
169
+    @ApiOperation(value = "后台政策维护删除", notes = "后台政策维护删除")
170
+    @ApiImplicitParams({
171
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "政策数据ID")
172
+    })
144 173
     @ResponseBody
145 174
     @RequestMapping(value="/admin/taPolicy/{id}", method= RequestMethod.DELETE)
146 175
     public ResponseBean taPolicyDelete(@PathVariable Integer id){
@@ -166,6 +195,11 @@ public class TaPolicyController extends BaseController {
166 195
      * @param taPolicy 实体对象
167 196
      * @return
168 197
      */
198
+    @ApiOperation(value = "后台政策维护修改", notes = "后台政策维护修改")
199
+    @ApiImplicitParams({
200
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "政策数据ID"),
201
+            @ApiImplicitParam(dataType = "TaPolicy", name = "taPolicy", paramType = "body",value = "政策数据")
202
+    })
169 203
     @RequestMapping(value="/admin/taPolicy/{id}",method= RequestMethod.PUT)
170 204
     public ResponseBean taPolicyUpdate(@PathVariable Integer id,
171 205
                                         @RequestBody TaPolicy taPolicy,
@@ -176,12 +210,13 @@ public class TaPolicyController extends BaseController {
176 210
 
177 211
             if(taPolicy.getPublishStatus().equals(CommConstant.IS_PUBLISH)){
178 212
                 taPolicy.setPublishDate(LocalDateTime.now());
179
-                String personId = JWTUtils.getSubject(request);
213
+                String personId = getPersonId(request);
180 214
                 taPolicy.setPublishUser(personId);
181 215
             }
182 216
 
183 217
             TdCity tdCity = iTdCityService.getById(taPolicy.getCityId());
184 218
             taPolicy.setCityName(tdCity.getName());
219
+            taPolicy.setOrgId(getOrgId(request));
185 220
 
186 221
             if (iTaPolicyService.updateById(taPolicy)){
187 222
                 responseBean.addSuccess(taPolicy);
@@ -199,6 +234,10 @@ public class TaPolicyController extends BaseController {
199 234
      * 根据id查询对象
200 235
      * @param id  实体ID
201 236
      */
237
+    @ApiOperation(value = "后台政策维护查询", notes = "后台政策维护查询")
238
+    @ApiImplicitParams({
239
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "政策数据ID")
240
+    })
202 241
     @RequestMapping(value="/admin/taPolicy/{id}",method= RequestMethod.GET)
203 242
     public ResponseBean taPolicyGet(@PathVariable Integer id){
204 243
         ResponseBean responseBean = new ResponseBean();
@@ -215,11 +254,20 @@ public class TaPolicyController extends BaseController {
215 254
      * 根据id查询对象
216 255
      * @param id  实体ID
217 256
      */
257
+    @ApiOperation(value = "微信政策维护查询", notes = "微信政策维护查询")
258
+    @ApiImplicitParams({
259
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "政策数据ID")
260
+    })
218 261
     @RequestMapping(value="/wx/taPolicy/{id}",method= RequestMethod.GET)
219 262
     public ResponseBean taPolicyGetWx(@PathVariable Integer id){
220 263
         ResponseBean responseBean = new ResponseBean();
221 264
         try {
222
-            responseBean.addSuccess(iTaPolicyService.getById(id));
265
+            TaPolicy policy = iTaPolicyService.getById(id);
266
+            if (null != policy) {
267
+                policy.setPvNum(policy.getPvNum() + 1);
268
+                iTaPolicyService.updateById(policy);
269
+            }
270
+            responseBean.addSuccess(policy);
223 271
         }catch (Exception e){
224 272
             logger.error("taPolicyDelete -=- {}",e.toString());
225 273
             responseBean.addError(e.getMessage());

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

@@ -0,0 +1,204 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.entity.TaBuilding;
11
+import com.huiju.estateagents.entity.TaPoster;
12
+import com.huiju.estateagents.service.ITaBuildingService;
13
+import com.huiju.estateagents.service.TaPosterService;
14
+import org.slf4j.Logger;
15
+import org.slf4j.LoggerFactory;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.web.bind.annotation.PathVariable;
18
+import org.springframework.web.bind.annotation.RequestBody;
19
+import org.springframework.web.bind.annotation.RequestMapping;
20
+import org.springframework.web.bind.annotation.RequestMethod;
21
+import org.springframework.web.bind.annotation.RequestParam;
22
+import org.springframework.web.bind.annotation.ResponseBody;
23
+import org.springframework.web.bind.annotation.RestController;
24
+
25
+import javax.servlet.http.HttpServletRequest;
26
+import java.time.LocalDateTime;
27
+
28
+/**
29
+ * <p>
30
+ * 分享海报表  前端控制器
31
+ * </p>
32
+ *
33
+ * @author jobob
34
+ * @since 2019-09-21
35
+ */
36
+@RestController
37
+@RequestMapping("/api")
38
+public class TaPosterController extends BaseController {
39
+
40
+    private final Logger logger = LoggerFactory.getLogger(TaPosterController.class);
41
+
42
+    @Autowired
43
+    public TaPosterService iPosterService;
44
+
45
+    @Autowired
46
+    private ITaBuildingService iTaBuildingService;
47
+
48
+
49
+    /**
50
+     * 分页查询列表
51
+     *
52
+     * @param pageNum
53
+     * @param pageSize
54
+     * @return
55
+     */
56
+    @RequestMapping(value = "/poster", method = RequestMethod.GET)
57
+    public ResponseBean posterList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
58
+                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
59
+        ResponseBean responseBean = new ResponseBean();
60
+        try {
61
+            //使用分页插件
62
+            IPage<TaPoster> pg = new Page<>(pageNum, pageSize);
63
+            QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
64
+            queryWrapper.orderByDesc("create_date");
65
+
66
+            IPage<TaPoster> result = iPosterService.page(pg, queryWrapper);
67
+            responseBean.addSuccess(result);
68
+        } catch (Exception e) {
69
+            e.printStackTrace();
70
+            logger.error("posterList -=- {}", e.toString());
71
+            responseBean.addError(e.getMessage());
72
+        }
73
+        return responseBean;
74
+    }
75
+
76
+    /**
77
+     * 保存对象
78
+     *
79
+     * @param poster 实体对象
80
+     * @return
81
+     */
82
+    @RequestMapping(value = "/admin/poster", method = RequestMethod.POST)
83
+    public ResponseBean posterAdd(@RequestBody TaPoster poster, HttpServletRequest request) {
84
+        ResponseBean responseBean = new ResponseBean();
85
+        try {
86
+            poster.setStatus(CommConstant.STATUS_NORMAL);
87
+            poster.setOrgId(getOrgId(request));
88
+            poster.setCreateDate(LocalDateTime.now());
89
+            if (iPosterService.save(poster)) {
90
+
91
+                // 为了兼容 小程序3.0 -> v3.4的后端
92
+                updateBuildingPoster(poster);
93
+                responseBean.addSuccess(poster);
94
+            } else {
95
+                responseBean.addError("fail");
96
+            }
97
+        } catch (Exception e) {
98
+            e.printStackTrace();
99
+            logger.error("posterAdd -=- {}", e.toString());
100
+            responseBean.addError(e.getMessage());
101
+        }
102
+        return responseBean;
103
+    }
104
+
105
+    /**
106
+     * 项目添加海报的时候,往项目的 poster 字段插入一张图片
107
+     * 为了兼容 小程序3.0 -> v3.4的后端
108
+     * @param poster
109
+     */
110
+    private void updateBuildingPoster(TaPoster poster) {
111
+        // 项目添加海报的时候,往项目的 poster 字段插入一张图片
112
+        // 为了兼容 小程序3.0 -> v3.4的后端
113
+        if ("building".equals(poster.getTargetType())) {
114
+            UpdateWrapper<TaBuilding> updateWrapper = new UpdateWrapper<>();
115
+            updateWrapper.eq("building_id", poster.getTargetId());
116
+            updateWrapper.set("poster", poster.getPosterImg());
117
+            iTaBuildingService.update(updateWrapper);
118
+        }
119
+    }
120
+
121
+    /**
122
+     * 根据id删除对象
123
+     *
124
+     * @param id 实体ID
125
+     */
126
+    @ResponseBody
127
+    @RequestMapping(value = "/poster/{id}", method = RequestMethod.DELETE)
128
+    public ResponseBean posterDelete(@PathVariable Integer id) {
129
+        ResponseBean responseBean = new ResponseBean();
130
+        try {
131
+            if (iPosterService.removeById(id)) {
132
+                responseBean.addSuccess("success");
133
+            } else {
134
+                responseBean.addError("fail");
135
+            }
136
+        } catch (Exception e) {
137
+            e.printStackTrace();
138
+            logger.error("posterDelete -=- {}", e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+
144
+    /**
145
+     * 修改对象
146
+     *
147
+     * @param id     实体ID
148
+     * @param poster 实体对象
149
+     * @return
150
+     */
151
+    @RequestMapping(value = "/admin/poster/{id}", method = RequestMethod.PUT)
152
+    public ResponseBean posterUpdate(@PathVariable Integer id,
153
+                                     @RequestBody TaPoster poster) {
154
+        ResponseBean responseBean = new ResponseBean();
155
+        poster.setPosterId(id);
156
+        try {
157
+            if (iPosterService.updateById(poster)) {
158
+
159
+                // 为了兼容 小程序3.0 -> v3.4的后端
160
+                updateBuildingPoster(poster);
161
+                responseBean.addSuccess(poster);
162
+            } else {
163
+                responseBean.addError("fail");
164
+            }
165
+        } catch (Exception e) {
166
+            e.printStackTrace();
167
+            logger.error("posterUpdate -=- {}", e.toString());
168
+            responseBean.addError(e.getMessage());
169
+        }
170
+        return responseBean;
171
+    }
172
+
173
+    /**
174
+     * 查询对象
175
+     */
176
+    @RequestMapping(value = "/admin/poster", method = RequestMethod.GET)
177
+    public ResponseBean posterGet(@RequestParam String targetId,@RequestParam String targetType ) {
178
+        ResponseBean responseBean = new ResponseBean();
179
+        try {
180
+            responseBean.addSuccess(iPosterService.getPostersForTarget(targetId,targetType));
181
+        } catch (Exception e) {
182
+            e.printStackTrace();
183
+            logger.error("posterDelete -=- {}", e.toString());
184
+            responseBean.addError(e.getMessage());
185
+        }
186
+        return responseBean;
187
+    }
188
+    
189
+    /**
190
+     * 查询对象
191
+     */
192
+    @RequestMapping(value = "/admin/used/poster", method = RequestMethod.GET)
193
+    public ResponseBean posterUsed(@RequestParam String targetId,@RequestParam String targetType ) {
194
+        ResponseBean responseBean = new ResponseBean();
195
+        try {
196
+            responseBean.addSuccess(iPosterService.getUsedPostersForTarget(targetId,targetType));
197
+        } catch (Exception e) {
198
+            e.printStackTrace();
199
+            logger.error("posterDelete -=- {}", e.toString());
200
+            responseBean.addError(e.getMessage());
201
+        }
202
+        return responseBean;
203
+    }
204
+}

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

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

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

@@ -1,6 +1,9 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3 3
 
4
+import com.alibaba.excel.EasyExcel;
5
+import com.alibaba.excel.ExcelWriter;
6
+import com.alibaba.excel.write.metadata.WriteSheet;
4 7
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 8
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,11 +11,20 @@ import com.huiju.estateagents.base.ResponseBean;
8 11
 import com.huiju.estateagents.common.CommConstant;
9 12
 import com.huiju.estateagents.common.JWTUtils;
10 13
 import com.huiju.estateagents.common.StringUtils;
11
-import com.huiju.estateagents.entity.TaPerson;
12
-import com.huiju.estateagents.entity.TaRecommendCustomer;
14
+import com.huiju.estateagents.entity.*;
13 15
 import com.huiju.estateagents.event.EventBus;
16
+import com.huiju.estateagents.excel.*;
17
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
18
+import com.huiju.estateagents.mapper.TaPersonBuildingMapper;
19
+import com.huiju.estateagents.mapper.TaRecommendCustomerMapper;
14 20
 import com.huiju.estateagents.service.ITaPersonService;
15 21
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
22
+import com.huiju.estateagents.service.TaChannelPersonService;
23
+import com.huiju.estateagents.service.TaChannelService;
24
+import io.swagger.annotations.Api;
25
+import io.swagger.annotations.ApiImplicitParam;
26
+import io.swagger.annotations.ApiImplicitParams;
27
+import io.swagger.annotations.ApiOperation;
16 28
 import org.springframework.beans.factory.annotation.Autowired;
17 29
 import org.springframework.context.ApplicationContext;
18 30
 import org.springframework.web.bind.annotation.*;
@@ -21,7 +33,12 @@ import com.huiju.estateagents.base.BaseController;
21 33
 
22 34
 import javax.annotation.Resource;
23 35
 import javax.servlet.http.HttpServletRequest;
36
+import javax.servlet.http.HttpServletResponse;
37
+import java.io.IOException;
38
+import java.time.LocalDateTime;
39
+import java.util.ArrayList;
24 40
 import java.util.List;
41
+import java.util.Map;
25 42
 
26 43
 /**
27 44
  * <p>
@@ -33,6 +50,7 @@ import java.util.List;
33 50
  */
34 51
 @RestController
35 52
 @RequestMapping("/api")
53
+@Api(value = "项目类型", tags = "项目类型")
36 54
 public class TaRecommendCustomerController extends BaseController {
37 55
 
38 56
     @Autowired
@@ -44,6 +62,19 @@ public class TaRecommendCustomerController extends BaseController {
44 62
     @Resource
45 63
     private ApplicationContext applicationContext;
46 64
 
65
+    @Autowired
66
+    private TaChannelService taChannelService;
67
+
68
+    @Autowired
69
+    private TaChannelPersonService taChannelPersonService;
70
+
71
+    @Autowired
72
+    private TaRecommendCustomerMapper taRecommendCustomerMapper;
73
+
74
+    @Autowired
75
+    private TaPersonBuildingMapper taPersonBuildingMapper;
76
+
77
+
47 78
     /**
48 79
      * 我的客户列表
49 80
      * @param pageNumber
@@ -53,12 +84,18 @@ public class TaRecommendCustomerController extends BaseController {
53 84
      * @return
54 85
      */
55 86
     @GetMapping("/wx/customer/list")
87
+    @ApiOperation(value = "查询我的客户列表", notes = "查询我的客户列表")
88
+    @ApiImplicitParams({
89
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
90
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
91
+            @ApiImplicitParam(dataTypeClass = String.class, name = "keywords", paramType = "query",value = "搜索关键字,目前仅支持姓名")
92
+    })
56 93
     public ResponseBean getMyCustList(@RequestParam int pageNumber, @RequestParam int pageSize, String keywords, HttpServletRequest request) {
57 94
         if (pageNumber < 0 || pageSize < 0) {
58 95
             return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
59 96
         }
60 97
 
61
-        String openid = JWTUtils.getSubject(request);
98
+        String openid = getOpenId(request);
62 99
         return taRecommendCustomerService.getMyCustList(openid, keywords, pageNumber, pageSize);
63 100
     }
64 101
 
@@ -68,6 +105,10 @@ public class TaRecommendCustomerController extends BaseController {
68 105
      * @return
69 106
      */
70 107
     @GetMapping("/wx/customer/{id}")
108
+    @ApiOperation(value = "查询客户详情", notes = "查询客户详情")
109
+    @ApiImplicitParams({
110
+            @ApiImplicitParam(dataTypeClass = String.class, name = "id", paramType = "path",value = "搜索关键字,目前仅支持姓名")
111
+    })
71 112
     public ResponseBean getCustDetail(@PathVariable String id) {
72 113
         if (null == id || "".equals(id.trim())) {
73 114
             return ResponseBean.error("请求地址错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
@@ -82,6 +123,10 @@ public class TaRecommendCustomerController extends BaseController {
82 123
      * @return
83 124
      */
84 125
     @PostMapping("/wx/customer/edit")
126
+    @ApiOperation(value = "客户编辑", notes = "客户编辑")
127
+    @ApiImplicitParams({
128
+            @ApiImplicitParam(dataTypeClass = String.class, name = "id", paramType = "path",value = "搜索关键字,目前仅支持姓名")
129
+    })
85 130
     public ResponseBean updateCust(@RequestBody String paramStr) {
86 131
         return taRecommendCustomerService.updateCustByJSON(paramStr);
87 132
     }
@@ -94,8 +139,9 @@ public class TaRecommendCustomerController extends BaseController {
94 139
      */
95 140
     @PostMapping("/wx/customer/new")
96 141
     public ResponseBean recommendCust(@RequestBody String paramStr, HttpServletRequest request) {
97
-        String openid = JWTUtils.getSubject(request);
98
-        return taRecommendCustomerService.recommendCust(paramStr, openid);
142
+        String openid = getOpenId(request);
143
+        Integer orgId = getOrgId(request);
144
+        return taRecommendCustomerService.recommendCust(paramStr, openid,orgId);
99 145
     }
100 146
 
101 147
     /**
@@ -106,8 +152,9 @@ public class TaRecommendCustomerController extends BaseController {
106 152
      */
107 153
     @PostMapping("/wx/customer/report")
108 154
     public ResponseBean reportCust(@RequestBody String paramStr, HttpServletRequest request) {
109
-        String openid = JWTUtils.getSubject(request);
110
-        return taRecommendCustomerService.reportCust(paramStr, openid);
155
+        String openid = getOpenId(request);
156
+        Integer orgId = getOrgId(request);
157
+        return taRecommendCustomerService.reportCust(paramStr, openid,orgId);
111 158
     }
112 159
 
113 160
     @PostMapping("/wx/customer/recommend")
@@ -115,7 +162,7 @@ public class TaRecommendCustomerController extends BaseController {
115 162
                                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
116 163
                                                   @RequestParam(value ="buildingId") String buildingId,
117 164
                                                   HttpServletRequest request){
118
-        String openid = JWTUtils.getSubject(request);
165
+        String openid = getOpenId(request);
119 166
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
120 167
         if (null == taPersons || taPersons.size() != 1) {
121 168
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
@@ -130,9 +177,61 @@ public class TaRecommendCustomerController extends BaseController {
130 177
     }
131 178
 
132 179
     @GetMapping("/wx/customer/myReport")
133
-    public ResponseBean getCustomerIReport (@RequestParam(value ="personId") String personId,
180
+    public ResponseBean getCustomerIReport (HttpServletRequest request,
134 181
                                          @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
135 182
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
183
+        String openid = getOpenId(request);
184
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
185
+        if (null == taPersons || taPersons.size() != 1) {
186
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
187
+        }
188
+        TaPerson person = taPersons.get(0);
189
+        try{
190
+            IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
191
+            QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
192
+            queryWrapper.eq("realty_consultant",person.getPersonId());
193
+            queryWrapper.eq("report_recommend_status",CommConstant.REPORTED);
194
+            queryWrapper.eq("status",CommConstant.CUSTOMER_REPORT);
195
+            queryWrapper.orderByDesc("create_date");
196
+            IPage<TaRecommendCustomer>result = taRecommendCustomerService.page(pg,queryWrapper);
197
+            return ResponseBean.success(result);
198
+        }catch (Exception e){
199
+            e.printStackTrace();
200
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
201
+        }
202
+    }
203
+
204
+    @GetMapping("/wx/customer/myCustomer")
205
+    public ResponseBean getMyCustomer (     @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
206
+                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
207
+                                            HttpServletRequest request){
208
+        String openid = getOpenId(request);
209
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
210
+        if (null == taPersons || taPersons.size() != 1) {
211
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
212
+        }
213
+        TaPerson person = taPersons.get(0);
214
+
215
+        try{
216
+            IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
217
+            QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
218
+            queryWrapper.eq("realty_consultant",person.getPersonId());
219
+           // queryWrapper.eq("report_recommend_status",CommConstant.REPORTED);
220
+            queryWrapper.gt("status",CommConstant.STATUS_UNACCALIMED);
221
+            queryWrapper.orderByDesc("create_date");
222
+            IPage<TaRecommendCustomer>result = taRecommendCustomerService.page(pg,queryWrapper);
223
+            return ResponseBean.success(result);
224
+        }catch (Exception e){
225
+            e.printStackTrace();
226
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
227
+        }
228
+    }
229
+
230
+
231
+    @GetMapping("/wx/customer/myInviteAgent")
232
+    public ResponseBean getMyInviteAgent (@RequestParam(value ="personId") String personId,
233
+                                       @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
234
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
136 235
         try{
137 236
             IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
138 237
             QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
@@ -147,9 +246,11 @@ public class TaRecommendCustomerController extends BaseController {
147 246
         }
148 247
     }
149 248
 
150
-    // 客户列表
249
+
250
+    // 客户列表 公客/私客
151 251
     @GetMapping("/admin/customer/recommend")
152
-    public ResponseBean getCustomerList (@RequestParam(value ="name",required = false) String name,
252
+    public ResponseBean getCustomerList (HttpServletRequest request,
253
+                                         @RequestParam(value ="name",required = false) String name,
153 254
                                          @RequestParam(value ="tel",required = false) String tel,
154 255
                                          @RequestParam(value ="buildingId",required = false) String buildingId,
155 256
                                          @RequestParam(value ="consultName",required = false) String consultName,
@@ -158,9 +259,23 @@ public class TaRecommendCustomerController extends BaseController {
158 259
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
159 260
                                          @RequestParam(value ="entryType",required = false) String entryType,
160 261
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
161
-                                         @RequestParam(value = "sex",required = false)Integer sex){
262
+                                         @RequestParam(value = "sex",required = false)Integer sex,
263
+                                         @RequestParam(value = "customerType") String customerType,// public 公  private 私
264
+                                         @RequestParam(value = "status",required = false) Integer status){
162 265
         try{
163
-            return ResponseBean.success(taRecommendCustomerService.getCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex));
266
+
267
+            // TODO 目前如果是公客,就取当前操作人员的 buildingId
268
+//            if ("public".equals(customerType)) {
269
+//                Map<String,Object> map = JWTUtils.getUserIdAndOrgId(request);
270
+//                String userId = (String) map.get("userId");
271
+//                QueryWrapper<TaPersonBuilding> queryWrapper = new QueryWrapper<>();
272
+//                queryWrapper.eq("user_id", userId);
273
+//                queryWrapper.orderByDesc("create_date");
274
+//                queryWrapper.last("limit 1");
275
+//                TaPersonBuilding personBuilding = taPersonBuildingMapper.selectOne(queryWrapper);
276
+//                buildingId = personBuilding.getBuildingId();
277
+//            }
278
+            return ResponseBean.success(taRecommendCustomerService.getCustomerList(status,pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, customerType, getOrgId(request)));
164 279
         }catch (Exception e){
165 280
             e.printStackTrace();
166 281
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -170,18 +285,19 @@ public class TaRecommendCustomerController extends BaseController {
170 285
 
171 286
     //推荐客户列表
172 287
     @GetMapping("/admin/customer/recommend/recommender")
173
-    public ResponseBean getRecCustomerList (@RequestParam(value ="name",required = false) String name,
288
+    public ResponseBean getRecCustomerList (HttpServletRequest request,
289
+                                         @RequestParam(value ="name",required = false) String name,
174 290
                                          @RequestParam(value ="tel",required = false) String tel,
175 291
                                          @RequestParam(value ="buildingId",required = false) String buildingId,
176
-                                         @RequestParam(value ="recommendName",required = false) String recommendName,
177
-                                         @RequestParam(value ="recommendTel",required = false) String recommendTel,
292
+                                         @RequestParam(value ="consultName",required = false) String consultName,
293
+                                         @RequestParam(value ="consultTel",required = false) String consultTel,
178 294
                                          @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
179 295
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
180 296
                                          @RequestParam(value ="entryType",required = false) String entryType,
181 297
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
182 298
                                          @RequestParam(value = "sex",required = false)Integer sex){
183 299
         try{
184
-            return ResponseBean.success(taRecommendCustomerService.getRecCustomerList(pageNumber,pageSize,buildingId,name,tel,recommendName,recommendTel,entryType,verifyStatus,sex));
300
+            return ResponseBean.success(taRecommendCustomerService.getRecCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, getOrgId(request)));
185 301
         }catch (Exception e){
186 302
             e.printStackTrace();
187 303
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -199,9 +315,10 @@ public class TaRecommendCustomerController extends BaseController {
199 315
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
200 316
                                          @RequestParam(value ="entryType",required = false) String entryType,
201 317
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
202
-                                         @RequestParam(value = "sex",required = false)Integer sex){
318
+                                         @RequestParam(value = "sex",required = false)Integer sex, HttpServletRequest request){
319
+        Integer orgid = getOrgId(request);
203 320
         try{
204
-            return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex));
321
+            return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgid));
205 322
         }catch (Exception e){
206 323
             e.printStackTrace();
207 324
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -209,14 +326,22 @@ public class TaRecommendCustomerController extends BaseController {
209 326
     }
210 327
 
211 328
 
212
-    //独立经纪人列表
329
+    /**
330
+     * 经纪人列表
331
+     * @param name
332
+     * @param tel
333
+     * @param pageNumber
334
+     * @param pageSize
335
+     * @return
336
+     */
213 337
     @GetMapping("/admin/customer/agents")
214
-    public ResponseBean getIndependentAgents (@RequestParam(value ="name",required = false) String name,
338
+    public ResponseBean getIndependentAgents (HttpServletRequest request,
339
+                                              @RequestParam(value ="name",required = false) String name,
215 340
                                             @RequestParam(value ="tel",required = false) String tel,
216 341
                                             @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
217 342
                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
218 343
         try{
219
-            return ResponseBean.success(taRecommendCustomerService.getIndependentAgents(pageNumber,pageSize,name,tel));
344
+            return ResponseBean.success(taRecommendCustomerService.getIndependentAgents(pageNumber,pageSize,name,tel, getOrgId(request)));
220 345
         }catch (Exception e){
221 346
             e.printStackTrace();
222 347
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -225,26 +350,45 @@ public class TaRecommendCustomerController extends BaseController {
225 350
 
226 351
 
227 352
     @GetMapping("/admin/customer/recommend/{customerId}")
228
-    public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId){
229
-        String buildingId="";
353
+    public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
354
+        Integer orgId = getOrgId(request);
230 355
         try{
231
-            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,buildingId));
356
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId));
232 357
         }catch (Exception e){
233 358
             e.printStackTrace();
234 359
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
235 360
         }
236 361
     }
237 362
 
363
+    @GetMapping("/wx/customer/recommend/mine")
364
+    public ResponseBean getWxCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize,HttpServletRequest request){
365
+        Integer orgId =getOrgId(request);
366
+        String openid = getOpenId(request);
367
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
368
+        if (null == taPersons || taPersons.size() != 1) {
369
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
370
+        }
371
+        TaPerson person = taPersons.get(0);
372
+        try{
373
+            return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId));
374
+        }catch (Exception e){
375
+            e.printStackTrace();
376
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
377
+        }
378
+    }
379
+
380
+
381
+
238 382
         /**
239 383
      * 修改对象
240 384
      * @param taRecommendCustomer 实体对象
241 385
      * @return
242 386
      */
243
-    @RequestMapping(value="/wx/customer/recommend/edit/{id}",method= RequestMethod.PUT)
244
-    public ResponseBean taRecommendCustomerUpdateWx(@PathVariable String id,
387
+    @RequestMapping(value="/wx/customer/recommend/edit/{customerId}",method= RequestMethod.PUT)
388
+    public ResponseBean taRecommendCustomerUpdateWx(@PathVariable String customerId,
245 389
                                         @RequestBody TaRecommendCustomer taRecommendCustomer){
246 390
         ResponseBean responseBean = new ResponseBean();
247
-        taRecommendCustomer.setCustomerId(id);
391
+        taRecommendCustomer.setCustomerId(customerId);
248 392
         try {
249 393
             if (taRecommendCustomerService.updateById(taRecommendCustomer)){
250 394
                 responseBean.addSuccess(taRecommendCustomer);
@@ -280,8 +424,31 @@ public class TaRecommendCustomerController extends BaseController {
280 424
         return responseBean;
281 425
     }
282 426
 
283
-    @RequestMapping(value = "/wx/customer/recommend/get/{id}", method = RequestMethod.GET)
284
-    public ResponseBean getSingleCustomer(@PathVariable(value = "id") String customerId) {
427
+//    /**
428
+//     * 修改对象
429
+//     * @param taRecommendCustomer 实体对象
430
+//     * @return
431
+//     */
432
+//    @RequestMapping(value="/wx/customer/recommend/edit/{id}",method= RequestMethod.PUT)
433
+//    public ResponseBean taWxRecommendCustomerUpdate(@PathVariable String id,
434
+//                                                  @RequestBody TaRecommendCustomer taRecommendCustomer){
435
+//        ResponseBean responseBean = new ResponseBean();
436
+//        taRecommendCustomer.setCustomerId(id);
437
+//        try {
438
+//            if (taRecommendCustomerService.updateById(taRecommendCustomer)){
439
+//                responseBean.addSuccess(taRecommendCustomer);
440
+//            }else {
441
+//                responseBean.addError("fail");
442
+//            }
443
+//        }catch (Exception e){
444
+//            e.printStackTrace();
445
+//            responseBean.addError(e.getMessage());
446
+//        }
447
+//        return responseBean;
448
+//    }
449
+
450
+    @RequestMapping(value = "/wx/customer/recommend/get/{customerId}", method = RequestMethod.GET)
451
+    public ResponseBean getSingleCustomer(@PathVariable(value = "customerId") String customerId) {
285 452
         ResponseBean responseBean = new ResponseBean();
286 453
         try {
287 454
             responseBean.addSuccess(taRecommendCustomerService.getById(customerId));
@@ -307,10 +474,26 @@ public class TaRecommendCustomerController extends BaseController {
307 474
 
308 475
 
309 476
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
310
-    public ResponseBean getCutomerDetail(@PathVariable String id) {
477
+    public ResponseBean getCustomerDetail(@PathVariable String id,
478
+                                          @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
479
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
480
+        ResponseBean responseBean = new ResponseBean();
481
+        try {
482
+            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize));
483
+        }catch (Exception e){
484
+            e.printStackTrace();
485
+            responseBean.addError(e.getMessage());
486
+        }
487
+        return responseBean;
488
+    }
489
+
490
+    @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
491
+    public ResponseBean getPublicCustomerDetail(@PathVariable String id,
492
+                                                @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
493
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
311 494
         ResponseBean responseBean = new ResponseBean();
312 495
         try {
313
-            responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id));
496
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize));
314 497
         }catch (Exception e){
315 498
             e.printStackTrace();
316 499
             responseBean.addError(e.getMessage());
@@ -319,11 +502,12 @@ public class TaRecommendCustomerController extends BaseController {
319 502
     }
320 503
 
321 504
     @GetMapping("/admin/customer/recommend/drift")
322
-    public ResponseBean getDriftCustomerList (@RequestParam(value ="buildingId",defaultValue = "false") String buildingId,
505
+    public ResponseBean getDriftCustomerList (HttpServletRequest request,
506
+                                              @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,
323 507
                                          @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
324 508
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
325 509
         try{
326
-            return ResponseBean.success(taPersonService.getDriftCustomerList(pageNumber,pageSize,buildingId));
510
+            return ResponseBean.success(taPersonService.getDriftCustomerList(pageNumber,pageSize,buildingId, getOrgId(request)));
327 511
         }catch (Exception e){
328 512
             e.printStackTrace();
329 513
             return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
@@ -335,24 +519,33 @@ public class TaRecommendCustomerController extends BaseController {
335 519
      * @return
336 520
      */
337 521
     @RequestMapping(value="/admin/customer/recommend/verify/{id}",method= RequestMethod.PUT)
338
-    public ResponseBean taRecommendCustomerVerify(@PathVariable String id,@RequestParam Integer verifyStatus, @RequestParam(required = false) String verifyRemark){
522
+    public ResponseBean taRecommendCustomerVerify(@PathVariable String id,@RequestParam Integer verifyStatus, @RequestParam(required = false) String verifyRemark, HttpServletRequest request){
339 523
         if (null == verifyStatus) {
340 524
             return ResponseBean.error("审核结果非法", ResponseBean.ERROR_ILLEGAL_PARAMS);
341 525
         }
342
-
526
+        Integer orgId = getOrgId(request);
343 527
         ResponseBean responseBean = new ResponseBean();
344 528
         try {
345 529
             TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getById(id);
346
-            if(taRecommendCustomer.getVerifyStatus().equals(CommConstant.VERIFY_READY) ){
530
+            if(null == taRecommendCustomer.getVerifyStatus() || 0 == taRecommendCustomer.getVerifyStatus().intValue()){ // taRecommendCustomer.getVerifyStatus().equals(CommConstant.VERIFY_READY)
347 531
                 taRecommendCustomer.setVerifyStatus(verifyStatus);
348 532
                 if(!StringUtils.isEmpty(verifyRemark)){
349 533
                     taRecommendCustomer.setVerifyRemark(verifyRemark);
534
+                    if(CommConstant.CUSTOMER_REPORT.equals(taRecommendCustomer.getReportRecommendStatus())){
535
+                        taRecommendCustomer.setRealtyConsultant(taRecommendCustomer.getRecommendPerson());
536
+                    }
350 537
                 }
538
+
539
+                // 审核不通过的时候,移除置业顾问选择
540
+                if (CommConstant.VERIFY_DISAGREE == verifyStatus) {
541
+                    taRecommendCustomer.setRealtyConsultant(null);
542
+                }
543
+
351 544
                 if (taRecommendCustomerService.updateById(taRecommendCustomer)){
352 545
 
353 546
                     // 审核通过增加积分
354 547
                     if (CommConstant.VERIFY_AGREE == verifyStatus) {
355
-                        applicationContext.publishEvent(new EventBus(taRecommendCustomer, EventBus.EventType.RecommendCustomer));
548
+                        applicationContext.publishEvent(new EventBus(taRecommendCustomer, EventBus.EventType.RecommendCustomer, orgId));
356 549
                     }
357 550
 
358 551
                     responseBean.addSuccess(taRecommendCustomer);
@@ -370,4 +563,267 @@ public class TaRecommendCustomerController extends BaseController {
370 563
         return responseBean;
371 564
     }
372 565
 
566
+    /**
567
+     * 导出数据(推荐客户列表)
568
+     */
569
+    @GetMapping("/admin/customer/recommend/recommender/export")
570
+    public void export(HttpServletRequest request, HttpServletResponse response) throws IOException {
571
+//        response.setContentType("application/vnd.ms-excel");
572
+        response.setContentType("application/octet-stream");
573
+        response.setCharacterEncoding("utf-8");
574
+        response.setHeader("Content-disposition", "attachment;filename=推荐客户.xlsx");
575
+
576
+        Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request));
577
+
578
+        Integer pageCode = 0;
579
+        Integer pageSize = 100;
580
+        // 总页数
581
+        Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
582
+        // 设置读取的class
583
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ExcelRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
584
+        // 设置 sheet, 同一个sheet只需要设置一次
585
+        WriteSheet writeSheet = EasyExcel.writerSheet("推荐客户").build();
586
+        do {
587
+            List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize);
588
+            excelWriter.write(recCustomerExport, writeSheet);
589
+
590
+            pageCode ++;
591
+        } while (pageCode <= pageCount);
592
+
593
+        /// finish 会帮忙关闭流
594
+        excelWriter.finish();
595
+
596
+    }
597
+
598
+
599
+    /**
600
+     * 导出数据(报备客户)
601
+     */
602
+    @GetMapping("/admin/customer/recommend/report/export")
603
+    public void reportExport(HttpServletRequest request,
604
+                             HttpServletResponse response,
605
+                             @RequestParam(value ="name",required = false) String name,
606
+                             @RequestParam(value ="tel",required = false) String tel,
607
+                             @RequestParam(value ="buildingId",required = false) String buildingId,
608
+                             @RequestParam(value ="consultName",required = false) String consultName,
609
+                             @RequestParam(value ="consultTel",required = false) String consultTel,
610
+                             @RequestParam(value ="entryType",required = false) String entryType,
611
+                             @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
612
+                             @RequestParam(value = "sex",required = false)Integer sex) throws IOException {
613
+//        response.setContentType("application/vnd.ms-excel");
614
+        response.setContentType("application/octet-stream");
615
+        response.setCharacterEncoding("utf-8");
616
+        response.setHeader("Content-disposition", "attachment;filename=报备客户.xlsx");
617
+
618
+        Integer count = taRecommendCustomerService.getRepCustomerReportCount(buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex,getOrgId(request));
619
+
620
+        Integer pageCode = 0;
621
+        Integer pageSize = 100;
622
+        // 总页数
623
+        Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
624
+        // 设置读取的class
625
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReporRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
626
+        // 设置 sheet, 同一个sheet只需要设置一次
627
+        WriteSheet writeSheet = EasyExcel.writerSheet("报备客户").build();
628
+        List<ReporRecommendCustomer> recCustomerExport = null;
629
+        do {
630
+            recCustomerExport = taRecommendCustomerService.getRepCustomerReportExport(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, getOrgId(request), pageCode * pageSize, pageSize);
631
+            excelWriter.write(recCustomerExport, writeSheet);
632
+
633
+            pageCode ++;
634
+        } while (pageCode <= pageCount);
635
+
636
+        /// finish 会帮忙关闭流
637
+        excelWriter.finish();
638
+
639
+    }
640
+
641
+    /**
642
+     * 导出数据(经纪人)
643
+     */
644
+    @GetMapping("/admin/customer/recommend/agents/export")
645
+    public void agentsExport(HttpServletRequest request, HttpServletResponse response) throws IOException {
646
+//        response.setContentType("application/vnd.ms-excel");
647
+        response.setContentType("application/octet-stream");
648
+        response.setCharacterEncoding("utf-8");
649
+        response.setHeader("Content-disposition", "attachment;filename=经纪人.xlsx");
650
+
651
+        Integer count = taRecommendCustomerService.getIndependentAgentsCount(getOrgId(request));
652
+
653
+        Integer pageCode = 0;
654
+        Integer pageSize = 100;
655
+        // 总页数
656
+        Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
657
+        // 设置读取的class
658
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), AgentsRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
659
+        // 设置 sheet, 同一个sheet只需要设置一次
660
+        WriteSheet writeSheet = EasyExcel.writerSheet("经纪人").build();
661
+        List<AgentsRecommendCustomer> recCustomerExport = null;
662
+        do {
663
+            recCustomerExport = taRecommendCustomerService.getIndependentAgentsExport(getOrgId(request), pageCode * pageSize, pageSize);
664
+            excelWriter.write(recCustomerExport, writeSheet);
665
+
666
+            pageCode ++;
667
+        } while (pageCode <= pageCount);
668
+
669
+        /// finish 会帮忙关闭流
670
+        excelWriter.finish();
671
+
672
+    }
673
+
674
+
675
+
676
+    // 客户列表 公客/私客
677
+
678
+    /**
679
+     * 导出数据 客户列表 公客/私客
680
+     * @param request
681
+     * @param response
682
+     * @param name
683
+     * @param tel
684
+     * @param buildingId
685
+     * @param consultName
686
+     * @param consultTel
687
+     * @param entryType
688
+     * @param verifyStatus
689
+     * @param sex
690
+     * @param customerType
691
+     * @param status
692
+     * @throws IOException
693
+     */
694
+    @GetMapping("/admin/customer/recommend/export")
695
+    public void getCustomerExportList (HttpServletRequest request,
696
+                                         HttpServletResponse response,
697
+                                         @RequestParam(value ="name",required = false) String name,
698
+                                         @RequestParam(value ="tel",required = false) String tel,
699
+                                         @RequestParam(value ="buildingId",required = false) String buildingId,
700
+                                         @RequestParam(value ="consultName",required = false) String consultName,
701
+                                         @RequestParam(value ="consultTel",required = false) String consultTel,
702
+                                         @RequestParam(value ="entryType",required = false) String entryType,
703
+                                         @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
704
+                                         @RequestParam(value = "sex",required = false)Integer sex,
705
+                                         @RequestParam(value = "customerType") String customerType,
706
+                                         @RequestParam(value = "status",required = false) Integer status) throws IOException { // public 公  private 私
707
+
708
+        //        response.setContentType("application/vnd.ms-excel");
709
+        response.setContentType("application/octet-stream");
710
+        response.setCharacterEncoding("utf-8");
711
+        response.setHeader("Content-disposition", "attachment;filename=经纪人.xlsx");
712
+
713
+        Integer orgId = getOrgId(request);
714
+
715
+        Integer pageCode = 0;
716
+        Integer pageSize = 100;
717
+        // 总页数
718
+        Integer pageCount = 0;
719
+
720
+        if (CommConstant.CUTOMER_TYPE_PUBLIC.equals(customerType)) {
721
+            /**
722
+             * 公客
723
+             */
724
+
725
+            // 设置读取的class
726
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), PublicCustomerExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
727
+            // 设置 sheet, 同一个sheet只需要设置一次
728
+            WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-公客").build();
729
+
730
+            Integer count = taRecommendCustomerMapper.getPublicCustomerExportListCount(name, tel,  entryType, verifyStatus, sex, orgId,consultTel);
731
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
732
+            List<PublicCustomerExport> publicList = null;
733
+            do {
734
+                publicList = taRecommendCustomerMapper.getPublicCustomerExportList(pageCode * pageSize, pageSize, name, tel,  entryType, verifyStatus, sex, orgId,consultTel);
735
+                excelWriter.write(publicList, writeSheet);
736
+
737
+                pageCode ++;
738
+            } while (pageCode <= pageCount);
739
+
740
+            // finish 会帮忙关闭流
741
+            excelWriter.finish();
742
+        } else {
743
+            /**
744
+             * 私客
745
+             */
746
+
747
+            // 设置读取的class
748
+            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), PrivateCustomerExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
749
+            // 设置 sheet, 同一个sheet只需要设置一次
750
+            WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-私客").build();
751
+
752
+            Integer count = taRecommendCustomerMapper.getCustomerExportListCount(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
753
+            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
754
+            List<PrivateCustomerExport> privateList = null;
755
+            do {
756
+                privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode *  pageSize, pageSize, buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
757
+                excelWriter.write(privateList, writeSheet);
758
+
759
+                pageCode ++;
760
+            } while (pageCode <= pageCount);
761
+            // finish 会帮忙关闭流
762
+            excelWriter.finish();
763
+
764
+        }
765
+
766
+
767
+    }
768
+    
769
+    /**
770
+     * 查询判客工具下的我的客户人数集合
771
+     * @param request
772
+     * @return
773
+     */
774
+    @GetMapping("/wx/inventory/customer/statistics")
775
+    @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
776
+    public ResponseBean getMyCustStatistics(HttpServletRequest request) {
777
+        String openid = getOpenId(request);
778
+        return taRecommendCustomerService.getMyCustStatistics(openid);
779
+    }
780
+    
781
+    /**
782
+     * 分页查询判客工具下的我的客户跟进人集合
783
+     *  根据type区分  follow 跟进  clinch 成交
784
+     * @param request
785
+     * @return
786
+     */
787
+    @GetMapping("/wx/inventory/customer/statistics/{type}")
788
+    @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
789
+    public ResponseBean getMyCustFollows(@PathVariable(value = "type") String type,
790
+                                         @RequestParam(value = "pageNumber",defaultValue = "0") Integer pageNumber,
791
+                                         @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
792
+                                         @RequestParam(value = "name",required = false) String name,
793
+                                         @RequestParam(value = "phone",required = false) String phone,
794
+                                         @RequestParam(value = "status",required = false) Integer status,
795
+                                         @RequestParam(value = "startReportDate",required = false) LocalDateTime startReportDate,
796
+                                         @RequestParam(value = "endReportDate",required = false) LocalDateTime endReportDate,
797
+                                         @RequestParam(value = "startArrivalDate",required = false) LocalDateTime startArrivalDate,
798
+                                         @RequestParam(value = "endArrivalDate",required = false) LocalDateTime endArrivalDate,
799
+                                         HttpServletRequest request) {
800
+        String openid = getOpenId(request);
801
+        return taRecommendCustomerService.getMyCustFollowOrClinch(pageNumber,pageSize,openid,type,name,phone,status,startReportDate,endReportDate,startArrivalDate,endArrivalDate);
802
+    }
803
+    
804
+    /**
805
+     * 查询盘客工具下我的客户详情
806
+     * @param request
807
+     * @return
808
+     */
809
+    @GetMapping("/wx/inventory/customer/{customerId}")
810
+    @ApiOperation(value = "查询客户详情", notes = "查询客户详情")
811
+    public ResponseBean getMyCustDetail(@PathVariable(value = "customerId") String customerId,HttpServletRequest request) {
812
+        String openid = getOpenId(request);
813
+        return taRecommendCustomerService.getMyCustDetail(customerId,openid);
814
+    }
815
+    
816
+    /**
817
+     * 查询盘客工具下编辑基本信息
818
+     * @param request
819
+     * @return
820
+     */
821
+    @PutMapping("/wx/inventory/customer/{customerId}")
822
+    @ApiOperation(value = "编辑客户信息", notes = "编辑客户信息")
823
+    public ResponseBean updateMyCustDetail(@PathVariable(value = "customerId") String customerId,
824
+                                           @RequestBody TaRecommendCustomer taRecommendCustomer, HttpServletRequest request) {
825
+        String openid = getOpenId(request);
826
+        taRecommendCustomer.setCustomerId(customerId);
827
+        return taRecommendCustomerService.updateMyCust(taRecommendCustomer,openid);
828
+    }
373 829
 }

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

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

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

@@ -0,0 +1,168 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.TaRole;
9
+import com.huiju.estateagents.service.ITaRoleService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+import javax.servlet.http.HttpServletRequest;
16
+
17
+/**
18
+ * <p>
19
+    * 角色表 角色表,每个org的角色可以单独设置。但是都共有一个admin角色。这个角色在创建用户的时候创建好了 前端控制器
20
+    * </p>
21
+ *
22
+ * @author jobob
23
+ * @since 2019-09-11
24
+ */
25
+@RestController
26
+@RequestMapping("/api")
27
+public class TaRoleController extends BaseController {
28
+
29
+    private final Logger logger = LoggerFactory.getLogger(TaRoleController.class);
30
+
31
+    @Autowired
32
+    public ITaRoleService iTaRoleService;
33
+
34
+
35
+    /**
36
+     * 分页查询列表
37
+     * @param pageNum
38
+     * @param pageSize
39
+     * @return
40
+     */
41
+    @RequestMapping(value="/admin/taRole",method= RequestMethod.GET)
42
+    public ResponseBean taRoleList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
43
+                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
44
+                                   HttpServletRequest request){
45
+        ResponseBean responseBean = new ResponseBean();
46
+        Integer orgId = getOrgId(request);
47
+        try {
48
+            //使用分页插件
49
+		    IPage<TaRole> pg = new Page<>(pageNum, pageSize);
50
+            QueryWrapper<TaRole> queryWrapper = new QueryWrapper<>();
51
+            queryWrapper.eq("org_id",orgId);
52
+            queryWrapper.orderByDesc("create_date");
53
+
54
+            IPage<TaRole> result = iTaRoleService.page(pg, queryWrapper);
55
+            responseBean.addSuccess(result);
56
+        }catch (Exception e){
57
+            e.printStackTrace();
58
+            logger.error("taRoleList -=- {}",e.toString());
59
+            responseBean.addError(e.getMessage());
60
+        }
61
+        return responseBean;
62
+    }
63
+
64
+    /**
65
+     * 保存对象
66
+     * @param taRole 实体对象
67
+     * @return
68
+     */
69
+    @RequestMapping(value="/admin/taRole",method= RequestMethod.POST)
70
+    public ResponseBean taRoleAdd(@RequestBody TaRole taRole){
71
+        ResponseBean responseBean = new ResponseBean();
72
+        try {
73
+            if (iTaRoleService.save(taRole)){
74
+                responseBean.addSuccess(taRole);
75
+            }else {
76
+                responseBean.addError("fail");
77
+            }
78
+        }catch (Exception e){
79
+            e.printStackTrace();
80
+            logger.error("taRoleAdd -=- {}",e.toString());
81
+            responseBean.addError(e.getMessage());
82
+        }
83
+        return responseBean;
84
+    }
85
+
86
+    /**
87
+     * 根据id删除对象
88
+     * @param id  实体ID
89
+     */
90
+    @ResponseBody
91
+    @RequestMapping(value="/taRole/{id}", method= RequestMethod.DELETE)
92
+    public ResponseBean taRoleDelete(@PathVariable Integer id){
93
+        ResponseBean responseBean = new ResponseBean();
94
+        try {
95
+            if(iTaRoleService.removeById(id)){
96
+                responseBean.addSuccess("success");
97
+            }else {
98
+                responseBean.addError("fail");
99
+            }
100
+        }catch (Exception e){
101
+            e.printStackTrace();
102
+            logger.error("taRoleDelete -=- {}",e.toString());
103
+            responseBean.addError(e.getMessage());
104
+        }
105
+        return responseBean;
106
+    }
107
+
108
+    /**
109
+     * 修改对象
110
+     * @param id  实体ID
111
+     * @param taRole 实体对象
112
+     * @return
113
+     */
114
+    @RequestMapping(value="/admin/editAndAddRole/{id}",method= RequestMethod.POST)
115
+    public ResponseBean taRoleUpdate(@PathVariable Integer id,
116
+                                        @RequestBody TaRole taRole) {
117
+        ResponseBean responseBean = new ResponseBean();
118
+        if (null==id){
119
+            iTaRoleService.save(taRole);
120
+        }else{
121
+            iTaRoleService.updateById(taRole);
122
+        }
123
+        responseBean.addSuccess("成果");
124
+        return responseBean;
125
+    }
126
+    /**
127
+     * 根据id查询对象
128
+     * @param id  实体ID
129
+     */
130
+    @RequestMapping(value="/taRole/{id}",method= RequestMethod.GET)
131
+    public ResponseBean taRoleGet(@PathVariable Integer id){
132
+        ResponseBean responseBean = new ResponseBean();
133
+        try {
134
+            responseBean.addSuccess(iTaRoleService.getById(id));
135
+        }catch (Exception e){
136
+            e.printStackTrace();
137
+            logger.error("taRoleDelete -=- {}",e.toString());
138
+            responseBean.addError(e.getMessage());
139
+        }
140
+        return responseBean;
141
+    }
142
+
143
+    /**
144
+     * 修改角色状态--停用
145
+     * @param id
146
+     * @return
147
+     */
148
+    @RequestMapping(value="/admin/taRole/stop/{id}",method= RequestMethod.PUT)
149
+    public ResponseBean taRoleStop(@PathVariable Integer id){
150
+        ResponseBean responseBean = new ResponseBean();
151
+        TaRole taRole = new TaRole();
152
+        taRole = iTaRoleService.getById(id);
153
+        taRole.setStatus(taRole.getStatus().equals(0)?1:0);
154
+        iTaRoleService.updateById(taRole);
155
+        return responseBean;
156
+    }
157
+
158
+    /**
159
+     * 查询当前角色信息
160
+     */
161
+    @RequestMapping(value="/admin/taRole/details/{id}",method= RequestMethod.GET)
162
+    public ResponseBean taRoleDetails(@PathVariable Integer id,HttpServletRequest request){
163
+        ResponseBean responseBean = new ResponseBean();
164
+        TaRole taRole = iTaRoleService.taRoleDetails(id,getOrgId(request));
165
+        responseBean.addSuccess(taRole);
166
+        return responseBean;
167
+    }
168
+}

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

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

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


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