浏览代码

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

胡轶钦 5 年前
父节点
当前提交
9af17a83b1
共有 20 个文件被更改,包括 497 次插入158 次删除
  1. 1
    1
      pom.xml
  2. 41
    7
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  3. 15
    0
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  4. 7
    2
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  5. 17
    0
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  6. 14
    0
      src/main/java/com/huiju/estateagents/controller/TaShareController.java
  7. 6
    1
      src/main/java/com/huiju/estateagents/entity/TaGoods.java
  8. 4
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonSign.java
  9. 6
    1
      src/main/java/com/huiju/estateagents/entity/TaShare.java
  10. 43
    0
      src/main/java/com/huiju/estateagents/event/EventBus.java
  11. 62
    0
      src/main/java/com/huiju/estateagents/event/EventLisenter.java
  12. 0
    21
      src/main/java/com/huiju/estateagents/event/PointsEvent.java
  13. 0
    37
      src/main/java/com/huiju/estateagents/lisenter/PointsLisenter.java
  14. 11
    6
      src/main/java/com/huiju/estateagents/service/ITaPointsRecordsService.java
  15. 2
    0
      src/main/java/com/huiju/estateagents/service/ITaShareService.java
  16. 5
    4
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java
  17. 3
    0
      src/main/java/com/huiju/estateagents/service/impl/TaGoodsServiceImpl.java
  18. 6
    42
      src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java
  19. 212
    20
      src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java
  20. 42
    16
      src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java

+ 1
- 1
pom.xml 查看文件

10
 	</parent>
10
 	</parent>
11
 	<groupId>com.huiju</groupId>
11
 	<groupId>com.huiju</groupId>
12
 	<artifactId>estateagents</artifactId>
12
 	<artifactId>estateagents</artifactId>
13
-	<version>v0.1.1</version>
13
+	<version>v0.2.1</version>
14
 	<name>estateagents</name>
14
 	<name>estateagents</name>
15
 	<description>置业经纪人</description>
15
 	<description>置业经纪人</description>
16
 
16
 

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

67
     /**
67
     /**
68
      * 签到
68
      * 签到
69
      */
69
      */
70
-    public final static String POINTS_CHECKIN = "checkin";
70
+    public final static String POINTS_CHANGE_CHECKIN = "checkin";
71
     
71
     
72
     /**
72
     /**
73
      * 分享
73
      * 分享
74
      */
74
      */
75
-    public final static String POINTS_SHARE = "share";
75
+    public final static String POINTS_CHANGE_SHARE_POSTER = "share-poster";
76
     
76
     
77
     /**
77
     /**
78
-     * 授权
78
+     * 注册经纪人
79
      */
79
      */
80
-    public final static String POINTS_AUTHORIZE = "authorize";
80
+    public final static String POINTS_CHANGE_SIGNUP_AGENT = "signup-agent";
81
+
82
+    /**
83
+     * 推荐客户
84
+     */
85
+    public final static String POINTS_CHANGE_RECOMMEND_CUSTOMER = "recommend-customer";
81
 
86
 
82
 
87
 
83
     /**
88
     /**
103
     /**
108
     /**
104
      * 活动的当前状态1:进行中
109
      * 活动的当前状态1:进行中
105
      */
110
      */
106
-    public static final Integer ACTIVITY_CONDITION_ONE = 1;
111
+    public static final Integer ACTIVITY_CONDITION_PROCESSING = 1;
107
 
112
 
108
     /**
113
     /**
109
      * 活动的当前状态2:未开始
114
      * 活动的当前状态2:未开始
110
      */
115
      */
111
-    public static final Integer ACTIVITY_CONDITION_TWO = 2;
116
+    public static final Integer ACTIVITY_CONDITION_PREPARE = 2;
112
 
117
 
113
     /**
118
     /**
114
      * 活动的当前状态3:结束
119
      * 活动的当前状态3:结束
115
      */
120
      */
116
-    public static final Integer ACTIVITY_CONDITION_ONE_THREE = 3;
121
+    public static final Integer ACTIVITY_CONDITION_FINISH = 3;
117
 
122
 
118
     //=================  首屏广告 / 轮播图 start =======================
123
     //=================  首屏广告 / 轮播图 start =======================
119
 
124
 
205
     public static final String ENTRY_VERIFY = "verify";
210
     public static final String ENTRY_VERIFY = "verify";
206
     //=================  客户入口类型 end =======================
211
     //=================  客户入口类型 end =======================
207
 
212
 
213
+    /**
214
+     * 积分规则开启
215
+     */
216
+    public static final Integer POINTS_RULE_ON = 1;
217
+
218
+    /**
219
+     * 积分规则关闭
220
+     */
221
+    public static final Integer POINTS_RULE_OFF = 0;
222
+
223
+    /**
224
+     * 签到积分规则
225
+     */
226
+    public static final Integer POINTS_RULE_CHECKIN = 1;
227
+
228
+    /**
229
+     * 分享海报积分规则
230
+     */
231
+    public static final Integer POINTS_RULE_SHARE_POSTER = 2;
232
+
233
+    /**
234
+     * 推荐客户积分规则
235
+     */
236
+    public static final Integer POINTS_RULE_RECOMMENDER_CUSTOMER = 3;
237
+
238
+    /**
239
+     * 注册经纪人积分规则
240
+     */
241
+    public static final Integer POINTS_RULE_SIGNUP_AGENT = 4;
208
 }
242
 }

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

86
         }
86
         }
87
     }
87
     }
88
 
88
 
89
+    /**
90
+     * 登陆接口
91
+     */
92
+    @PostMapping("/logout")
93
+    public ResponseBean logout(HttpServletRequest request) {
94
+        String openid = JWTUtils.getSubject(request);
95
+        List<TaPerson> persons = taPersonService.getPersonsByOpenId(openid);
96
+        if (null == persons || persons.size() == 0) {
97
+            return ResponseBean.success("");
98
+        }
99
+
100
+        return ResponseBean.success("");
101
+    }
102
+
103
+
89
     /**
104
     /**
90
      * 获取用户信息, 并写入内部人员表
105
      * 获取用户信息, 并写入内部人员表
91
      */
106
      */

+ 7
- 2
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java 查看文件

7
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.BaseController;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.common.JWTUtils;
9
 import com.huiju.estateagents.common.JWTUtils;
10
+import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11
 import com.huiju.estateagents.entity.TaBuilding;
12
 import com.huiju.estateagents.entity.TaBuilding;
12
 import com.huiju.estateagents.entity.TaBuildingDynamic;
13
 import com.huiju.estateagents.entity.TaBuildingDynamic;
82
      * @return
83
      * @return
83
      */
84
      */
84
     @RequestMapping(value = "/wx/buildingDynamiceList", method = RequestMethod.GET)
85
     @RequestMapping(value = "/wx/buildingDynamiceList", method = RequestMethod.GET)
85
-    public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "buildingId")String buildingId,
86
+    public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "buildingId", required = false)String buildingId,
86
                                                @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
87
                                                @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
87
                                                @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
88
                                                @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
88
                                                @RequestParam(defaultValue = "false" )boolean mine,
89
                                                @RequestParam(defaultValue = "false" )boolean mine,
191
         dynamicQueryWrapper.eq("dynamic_id", dynamicId);
192
         dynamicQueryWrapper.eq("dynamic_id", dynamicId);
192
         TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
193
         TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
193
         TaBuilding building= taBuildingMapper.selectBuilding(dynamic.getBuildingId());
194
         TaBuilding building= taBuildingMapper.selectBuilding(dynamic.getBuildingId());
194
-        dynamic.setBuildingName(building.getBuildingName());
195
+
196
+        if (null != building) {
197
+            dynamic.setBuildingName(building.getBuildingName());
198
+        }
199
+
195
         responseBean.addSuccess(dynamic);
200
         responseBean.addSuccess(dynamic);
196
         return responseBean;
201
         return responseBean;
197
     }
202
     }

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

6
 import com.huiju.estateagents.common.JWTUtils;
6
 import com.huiju.estateagents.common.JWTUtils;
7
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPerson;
8
 import com.huiju.estateagents.entity.TaRecommendCustomer;
8
 import com.huiju.estateagents.entity.TaRecommendCustomer;
9
+import com.huiju.estateagents.event.EventBus;
9
 import com.huiju.estateagents.service.ITaPersonService;
10
 import com.huiju.estateagents.service.ITaPersonService;
10
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
11
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
11
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.context.ApplicationContext;
12
 import org.springframework.web.bind.annotation.*;
14
 import org.springframework.web.bind.annotation.*;
13
 
15
 
14
 import com.huiju.estateagents.base.BaseController;
16
 import com.huiju.estateagents.base.BaseController;
15
 
17
 
18
+import javax.annotation.Resource;
16
 import javax.servlet.http.HttpServletRequest;
19
 import javax.servlet.http.HttpServletRequest;
17
 import java.util.List;
20
 import java.util.List;
18
 
21
 
30
 
33
 
31
     @Autowired
34
     @Autowired
32
     ITaRecommendCustomerService taRecommendCustomerService;
35
     ITaRecommendCustomerService taRecommendCustomerService;
36
+
33
     @Autowired
37
     @Autowired
34
     ITaPersonService taPersonService;
38
     ITaPersonService taPersonService;
35
 
39
 
40
+    @Resource
41
+    private ApplicationContext applicationContext;
42
+
36
     /**
43
     /**
37
      * 我的客户列表
44
      * 我的客户列表
38
      * @param pageNumber
45
      * @param pageNumber
236
      */
243
      */
237
     @RequestMapping(value="/admin/customer/recommend/verify/{id}",method= RequestMethod.PUT)
244
     @RequestMapping(value="/admin/customer/recommend/verify/{id}",method= RequestMethod.PUT)
238
     public ResponseBean taRecommendCustomerVerify(@PathVariable String id,@RequestParam Integer verifyStatus, @RequestParam String verifyRemark){
245
     public ResponseBean taRecommendCustomerVerify(@PathVariable String id,@RequestParam Integer verifyStatus, @RequestParam String verifyRemark){
246
+        if (null == verifyStatus) {
247
+            return ResponseBean.error("审核结果非法", ResponseBean.ERROR_ILLEGAL_PARAMS);
248
+        }
249
+
239
         ResponseBean responseBean = new ResponseBean();
250
         ResponseBean responseBean = new ResponseBean();
240
         try {
251
         try {
241
             TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getById(id);
252
             TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getById(id);
243
                 taRecommendCustomer.setVerifyStatus(verifyStatus);
254
                 taRecommendCustomer.setVerifyStatus(verifyStatus);
244
                 taRecommendCustomer.setVerifyRemark(verifyRemark);
255
                 taRecommendCustomer.setVerifyRemark(verifyRemark);
245
                 if (taRecommendCustomerService.updateById(taRecommendCustomer)){
256
                 if (taRecommendCustomerService.updateById(taRecommendCustomer)){
257
+
258
+                    // 审核通过增加积分
259
+                    if (CommConstant.VERIFY_AGREE == verifyStatus) {
260
+                        applicationContext.publishEvent(new EventBus(taRecommendCustomer, EventBus.EventType.RecommendCustomer));
261
+                    }
262
+
246
                     responseBean.addSuccess(taRecommendCustomer);
263
                     responseBean.addSuccess(taRecommendCustomer);
247
                 }else {
264
                 }else {
248
                     responseBean.addError("fail");
265
                     responseBean.addError("fail");

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

38
 
38
 
39
         return taShareService.getListOf(id, typeOf, pageNumber, pageSize);
39
         return taShareService.getListOf(id, typeOf, pageNumber, pageSize);
40
     }
40
     }
41
+
42
+    /**
43
+     * 确认分享, 送积分
44
+     * @param typeOf
45
+     * @param id
46
+     * @param request
47
+     * @return
48
+     */
49
+    @PutMapping("/wx/{typeOf}/share/{id}")
50
+    public ResponseBean makeSure(@PathVariable String typeOf, @PathVariable String id, HttpServletRequest request) {
51
+        String openid = JWTUtils.getSubject(request);
52
+        taShareService.makeSure(openid, typeOf, id);
53
+        return ResponseBean.success("");
54
+    }
41
 }
55
 }

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

1
 package com.huiju.estateagents.entity;
1
 package com.huiju.estateagents.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import lombok.Data;
6
 import lombok.Data;
6
 import lombok.EqualsAndHashCode;
7
 import lombok.EqualsAndHashCode;
106
      */
107
      */
107
     private String address;
108
     private String address;
108
 
109
 
109
-
110
+    /**
111
+     * 兑换人
112
+     */
113
+    @TableField(exist = false)
114
+    private TaPerson exchanger;
110
 }
115
 }

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

1
 package com.huiju.estateagents.entity;
1
 package com.huiju.estateagents.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import java.time.LocalDateTime;
6
 import java.time.LocalDateTime;
6
 import java.io.Serializable;
7
 import java.io.Serializable;
44
      */
45
      */
45
     private Integer durationDays;
46
     private Integer durationDays;
46
 
47
 
48
+    @TableField(exist = false)
49
+    private TaPerson person;
50
+
47
 }
51
 }

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

1
 package com.huiju.estateagents.entity;
1
 package com.huiju.estateagents.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import lombok.Data;
6
 import lombok.Data;
6
 import lombok.EqualsAndHashCode;
7
 import lombok.EqualsAndHashCode;
60
      */
61
      */
61
     private LocalDateTime createDate;
62
     private LocalDateTime createDate;
62
 
63
 
63
-
64
+    /**
65
+     * 分享打开人
66
+     */
67
+    @TableField(exist = false)
68
+    private TaPerson openUser;
64
 }
69
 }

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

1
+package com.huiju.estateagents.event;
2
+
3
+import lombok.Data;
4
+import org.springframework.context.ApplicationEvent;
5
+
6
+/**
7
+ * 积分自定义积分事件
8
+ * @author FXF
9
+ * @date 2019-07-30
10
+ */
11
+@Data
12
+public class EventBus extends ApplicationEvent {
13
+	EventType type;
14
+	
15
+	public EventBus(Object source, EventType type) {
16
+		super(source);
17
+		this.type = type;
18
+	}
19
+
20
+	public enum EventType {
21
+		// 分享海报
22
+		SharePoster(1),
23
+
24
+		// 签到
25
+		DailyCheckin(2),
26
+
27
+		// 推荐客户
28
+		RecommendCustomer(3),
29
+
30
+		// 注册经纪人
31
+		SignUpAgent(4);
32
+
33
+		private Integer type;
34
+
35
+		EventType(Integer type) {
36
+			this.type = type;
37
+		}
38
+
39
+		public Integer toInt() {
40
+			return type;
41
+		}
42
+	}
43
+}

+ 62
- 0
src/main/java/com/huiju/estateagents/event/EventLisenter.java 查看文件

1
+package com.huiju.estateagents.event;
2
+
3
+import com.huiju.estateagents.entity.TaPerson;
4
+import com.huiju.estateagents.entity.TaPersonSign;
5
+import com.huiju.estateagents.entity.TaRecommendCustomer;
6
+import com.huiju.estateagents.entity.TaShare;
7
+import com.huiju.estateagents.service.ITaPointsRecordsService;
8
+import lombok.extern.slf4j.Slf4j;
9
+import org.springframework.beans.factory.annotation.Autowired;
10
+import org.springframework.context.event.EventListener;
11
+import org.springframework.stereotype.Component;
12
+
13
+/**
14
+ * @author FXF
15
+ * @date 2019-07-30
16
+ */
17
+
18
+@Component
19
+@Slf4j
20
+public class EventLisenter {
21
+	
22
+	@Autowired
23
+	private ITaPointsRecordsService taPointsRecordsService;
24
+
25
+	/**
26
+	 * 获取积分
27
+	 * @param event
28
+	 */
29
+	@EventListener
30
+	public void handler(EventBus event) {
31
+		switch (event.getType()) {
32
+			case SharePoster:
33
+				getSharePoints((TaShare) event.getSource());
34
+				break;
35
+			case DailyCheckin:
36
+				getCheckinPoints((TaPersonSign) event.getSource());
37
+				break;
38
+			case RecommendCustomer:
39
+				getRecommendCustPoints((TaRecommendCustomer) event.getSource());
40
+				break;
41
+			case SignUpAgent:
42
+				getSignUpPoints((TaPerson) event.getSource());
43
+				break;
44
+			default:
45
+				break;
46
+		}
47
+	}
48
+
49
+	// 分享赚积分
50
+	private void getSharePoints(TaShare taShare) {
51
+		taPointsRecordsService.sharePoints(taShare);
52
+	}
53
+
54
+	// 签到赚积分
55
+	private void getCheckinPoints(TaPersonSign taPersonSign) { taPointsRecordsService.checkinPoints(taPersonSign); }
56
+
57
+	// 注册送积分
58
+	private void getSignUpPoints(TaPerson taPerson) { taPointsRecordsService.signUpPoints(taPerson);}
59
+
60
+	// 推荐客户送积分
61
+	private void getRecommendCustPoints(TaRecommendCustomer taRecommendCustomer) { taPointsRecordsService.recommendCustPoints(taRecommendCustomer); }
62
+}

+ 0
- 21
src/main/java/com/huiju/estateagents/event/PointsEvent.java 查看文件

1
-package com.huiju.estateagents.event;
2
-
3
-import lombok.Data;
4
-import org.springframework.context.ApplicationEvent;
5
-
6
-/**
7
- * 积分自定义积分事件
8
- * @author FXF
9
- * @date 2019-07-30
10
- */
11
-@Data
12
-public class PointsEvent extends ApplicationEvent {
13
-	String type = "";
14
-	
15
-	public PointsEvent(Object source,String type) {
16
-		super(source);
17
-		this.type = type;
18
-	}
19
-	
20
-	
21
-}

+ 0
- 37
src/main/java/com/huiju/estateagents/lisenter/PointsLisenter.java 查看文件

1
-package com.huiju.estateagents.lisenter;
2
-
3
-import com.huiju.estateagents.common.CommConstant;
4
-import com.huiju.estateagents.event.PointsEvent;
5
-import com.huiju.estateagents.service.ITaPointsRecordsService;
6
-import lombok.extern.slf4j.Slf4j;
7
-import org.springframework.beans.factory.annotation.Autowired;
8
-import org.springframework.context.event.EventListener;
9
-import org.springframework.stereotype.Component;
10
-
11
-/**
12
- * @author FXF
13
- * @date 2019-07-30
14
- */
15
-
16
-@Component
17
-@Slf4j
18
-public class PointsLisenter {
19
-	
20
-	@Autowired
21
-	private ITaPointsRecordsService taPointsRecordsService;
22
-	/**
23
-	 * 获取积分
24
-	 * @param event
25
-	 */
26
-	@EventListener
27
-	public void earnPoints(PointsEvent event) {
28
-		log.info("======发放积分======");
29
-		if (CommConstant.POINTS_SHARE.equals(event.getType())){
30
-				taPointsRecordsService.sharePoints(event.getSource().toString());
31
-		}else if (CommConstant.POINTS_AUTHORIZE.equals(event.getType())){
32
-			taPointsRecordsService.authPoints(event.getSource().toString());
33
-		}
34
-		
35
-		
36
-	}
37
-}

+ 11
- 6
src/main/java/com/huiju/estateagents/service/ITaPointsRecordsService.java 查看文件

1
 package com.huiju.estateagents.service;
1
 package com.huiju.estateagents.service;
2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
-import com.huiju.estateagents.entity.TaPointsRecords;
5
-import com.huiju.estateagents.event.PointsEvent;
4
+import com.huiju.estateagents.entity.*;
6
 
5
 
7
 /**
6
 /**
8
  * <p>
7
  * <p>
13
  * @since 2019-07-25
12
  * @since 2019-07-25
14
  */
13
  */
15
 public interface ITaPointsRecordsService extends IService<TaPointsRecords> {
14
 public interface ITaPointsRecordsService extends IService<TaPointsRecords> {
16
-	
17
-	void sharePoints(String personId);
18
-	
19
-	void authPoints(String personId);
15
+
16
+	void sharePoints(TaShare taShare);
17
+
18
+	void checkinPoints(TaPersonSign taPersonSign);
19
+
20
+	void signUpPoints(TaPerson taPerson);
21
+
22
+	void recommendCustPoints(TaRecommendCustomer taRecommendCustomer);
23
+
24
+	void consumeGoodsPoints(TaGoods taGoods);
20
 }
25
 }

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

17
     ResponseBean saveData(String openid, String typeOf, String id);
17
     ResponseBean saveData(String openid, String typeOf, String id);
18
 
18
 
19
     ResponseBean getListOf(String id, String typeOf, Integer pageNumber, Integer pageSize);
19
     ResponseBean getListOf(String id, String typeOf, Integer pageNumber, Integer pageSize);
20
+
21
+    void makeSure(String openid, String typeOf, String id);
20
 }
22
 }

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

7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11
 import com.huiju.estateagents.entity.TaBuilding;
12
 import com.huiju.estateagents.entity.TaBuilding;
12
 import com.huiju.estateagents.entity.TaBuildingDynamic;
13
 import com.huiju.estateagents.entity.TaBuildingDynamic;
98
         page.setCurrent(pageNum);
99
         page.setCurrent(pageNum);
99
         page.setSize(pageSize);
100
         page.setSize(pageSize);
100
         QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
101
         QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
101
-        buildingDynamicQueryWrapper.eq("building_id", buildingId);
102
+        buildingDynamicQueryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id", buildingId);
102
         buildingDynamicQueryWrapper.eq("status", "1");
103
         buildingDynamicQueryWrapper.eq("status", "1");
103
         buildingDynamicQueryWrapper.orderByDesc("create_date");
104
         buildingDynamicQueryWrapper.orderByDesc("create_date");
104
         IPage<TaBuildingDynamic> buildingDynamicIPage = buildingDynamicMapper.selectPage(page, buildingDynamicQueryWrapper);
105
         IPage<TaBuildingDynamic> buildingDynamicIPage = buildingDynamicMapper.selectPage(page, buildingDynamicQueryWrapper);
266
         Long enlistStart = taBuildingDynamic.getEnlistStart().toInstant(ZoneOffset.of("+8")).toEpochMilli();
267
         Long enlistStart = taBuildingDynamic.getEnlistStart().toInstant(ZoneOffset.of("+8")).toEpochMilli();
267
         // (1:进行中)当前时间小于报名截止时间,并且报名状态为1
268
         // (1:进行中)当前时间小于报名截止时间,并且报名状态为1
268
         if ("1".equals(taBuildingDynamic.getIsEnlist()) && currentTime <= enlistEnd ) {
269
         if ("1".equals(taBuildingDynamic.getIsEnlist()) && currentTime <= enlistEnd ) {
269
-            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_ONE);
270
+            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_PROCESSING);
270
         }
271
         }
271
         //(2:未开始)当前时间是否小于报名时间,并且报名状态为1
272
         //(2:未开始)当前时间是否小于报名时间,并且报名状态为1
272
         if (!"1".equals(taBuildingDynamic.getIsEnlist()) && currentTime <= enlistStart){
273
         if (!"1".equals(taBuildingDynamic.getIsEnlist()) && currentTime <= enlistStart){
273
-            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_TWO);
274
+            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_PREPARE);
274
         }
275
         }
275
         //(3:结束)当前时间大于报名结束时间,并且报名状态为1
276
         //(3:结束)当前时间大于报名结束时间,并且报名状态为1
276
         if ("1".equals(taBuildingDynamic.getIsEnlist()) && currentTime >= enlistEnd){
277
         if ("1".equals(taBuildingDynamic.getIsEnlist()) && currentTime >= enlistEnd){
277
-            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_ONE_THREE);
278
+            taBuildingDynamic.setActivityCondition(CommConstant.ACTIVITY_CONDITION_FINISH);
278
         }
279
         }
279
         return taBuildingDynamic;
280
         return taBuildingDynamic;
280
     }
281
     }

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

71
 		if (taGoods.getTotalNum() < 1){
71
 		if (taGoods.getTotalNum() < 1){
72
 			return "此商品无库存";
72
 			return "此商品无库存";
73
 		}
73
 		}
74
+
75
+		taGoods.setExchanger(taPerson);
76
+
74
 		//插入积分消费流水表
77
 		//插入积分消费流水表
75
 		insertTaPointRecords(taPerson,taGoods);
78
 		insertTaPointRecords(taPerson,taGoods);
76
 		//插入积分兑换记录
79
 		//插入积分兑换记录

+ 6
- 42
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java 查看文件

12
 import com.huiju.estateagents.common.MD5Utils;
12
 import com.huiju.estateagents.common.MD5Utils;
13
 import com.huiju.estateagents.common.StringUtils;
13
 import com.huiju.estateagents.common.StringUtils;
14
 import com.huiju.estateagents.entity.*;
14
 import com.huiju.estateagents.entity.*;
15
-import com.huiju.estateagents.event.PointsEvent;
15
+import com.huiju.estateagents.event.EventBus;
16
 import com.huiju.estateagents.mapper.*;
16
 import com.huiju.estateagents.mapper.*;
17
 import com.huiju.estateagents.service.ITaPersonService;
17
 import com.huiju.estateagents.service.ITaPersonService;
18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
19
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
19
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
20
-import org.apache.commons.collections.map.HashedMap;
21
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.context.ApplicationContext;
21
 import org.springframework.context.ApplicationContext;
23
 import org.springframework.stereotype.Service;
22
 import org.springframework.stereotype.Service;
60
 
59
 
61
     @Autowired
60
     @Autowired
62
     TaChatMapper taChatMapper;
61
     TaChatMapper taChatMapper;
63
-    
64
-    @Autowired
65
-    private TdPointsRulesMapper tdPointsRulesMapper;
66
-    
67
-    @Autowired
68
-    private TaPointsRecordsMapper taPointsRecordsMapper;
69
 
62
 
70
     @Autowired
63
     @Autowired
71
     private ITaRecommendCustomerService iTaRecommendCustomerService;
64
     private ITaRecommendCustomerService iTaRecommendCustomerService;
153
 
146
 
154
         iTaRecommendCustomerService.newByPerson(person);
147
         iTaRecommendCustomerService.newByPerson(person);
155
         
148
         
156
-        //发放积分(成为经纪人ID 是4)
157
-        applicationContext.publishEvent(new PointsEvent(person.getPersonId(),CommConstant.POINTS_AUTHORIZE));
149
+        // 发放积分
150
+        applicationContext.publishEvent(new EventBus(person, EventBus.EventType.SignUpAgent));
158
         
151
         
159
         return person;
152
         return person;
160
     }
153
     }
350
             return ResponseBean.error("签到失败", ResponseBean.ERROR_UNAVAILABLE);
343
             return ResponseBean.error("签到失败", ResponseBean.ERROR_UNAVAILABLE);
351
         }
344
         }
352
 
345
 
353
-        // 增加积分
354
-        // 1-7 天积分 1-7, 超过7天按 7 个积分算
355
-        int points = durationDays >= 7 ? 7 : durationDays;
356
-        //签到获取积分
357
-        //TdPointsRules tdPointsRules = tdPointsRulesMapper.selectById(1);
358
-        //int points = tdPointsRules.getPointsAmount();
359
-        UpdateWrapper<TaPerson> wrapper = new UpdateWrapper<>();
360
-        wrapper.eq("person_id", taPerson.getPersonId());
361
-        wrapper.setSql("points = IFNULL(points, 0) + " + String.valueOf(points));
362
-//        wrapper.set("points", "points + " + String.valueOf(points));
363
-        taPersonMapper.update(new TaPerson(), wrapper);
364
-        
365
-        //插入积分消费流水表
366
-        TaPointsRecords taPointsRecords = new TaPointsRecords();
367
-        taPointsRecords.setPersonId(taPerson.getPersonId());
368
-        taPointsRecords.setPersonName(StringUtils.ifNull(taPerson.getName(),taPerson.getNickname()));
369
-        taPointsRecords.setPersonType(taPerson.getPersonType());
370
-        taPointsRecords.setPointsAmount(points);
371
-        taPointsRecords.setChangeType(CommConstant.POINTS_CHECKIN);
372
-        JSONObject jsonObject = new JSONObject();
373
-        jsonObject.put("person_id",taPerson.getPersonId());
374
-        taPointsRecords.setChangeParams(jsonObject.toJSONString());
375
-        taPointsRecords.setCreateDate(LocalDateTime.now());
376
-        taPointsRecords.setStatus(CommConstant.STATUS_NORMAL);
377
-        taPointsRecordsMapper.insert(taPointsRecords);
378
-
379
-        Map<String, Object> result = new HashMap<>();
380
-
381
-        Integer oldPoints = taPerson.getPoints();
382
-        if (null == oldPoints) oldPoints = 0;
346
+        sign.setPerson(taPerson);
347
+        applicationContext.publishEvent(new EventBus(sign, EventBus.EventType.DailyCheckin));
383
 
348
 
384
-        result.put("integral", oldPoints + points);
385
-        return ResponseBean.success(result, "签到成功");
349
+        return ResponseBean.success("success");
386
     }
350
     }
387
 
351
 
388
     @Override
352
     @Override

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

5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.huiju.estateagents.common.CommConstant;
7
 import com.huiju.estateagents.common.CommConstant;
8
-import com.huiju.estateagents.entity.TaPerson;
9
-import com.huiju.estateagents.entity.TaPointsRecords;
10
-import com.huiju.estateagents.entity.TdPointsRules;
11
-import com.huiju.estateagents.event.PointsEvent;
8
+import com.huiju.estateagents.common.DateUtils;
9
+import com.huiju.estateagents.common.StringUtils;
10
+import com.huiju.estateagents.entity.*;
12
 import com.huiju.estateagents.mapper.TaPersonMapper;
11
 import com.huiju.estateagents.mapper.TaPersonMapper;
13
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
12
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
14
 import com.huiju.estateagents.mapper.TdPointsRulesMapper;
13
 import com.huiju.estateagents.mapper.TdPointsRulesMapper;
15
 import com.huiju.estateagents.service.ITaPointsRecordsService;
14
 import com.huiju.estateagents.service.ITaPointsRecordsService;
16
-import org.apache.commons.collections.map.HashedMap;
17
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.stereotype.Service;
16
 import org.springframework.stereotype.Service;
19
 
17
 
20
 import java.time.LocalDateTime;
18
 import java.time.LocalDateTime;
19
+import java.util.ArrayList;
20
+import java.util.HashMap;
21
 import java.util.List;
21
 import java.util.List;
22
 import java.util.Map;
22
 import java.util.Map;
23
 
23
 
39
 	
39
 	
40
 	@Autowired
40
 	@Autowired
41
 	private TaPointsRecordsMapper taPointsRecordsMapper;
41
 	private TaPointsRecordsMapper taPointsRecordsMapper;
42
-	
42
+
43
+	/**
44
+	 * 获取规则积分, 0 代表未启用
45
+	 * @param ruleId
46
+	 * @return
47
+	 */
48
+	private Integer getRulePoints(Integer ruleId) {
49
+		TdPointsRules rule = tdPointsRulesMapper.selectById(ruleId);
50
+		if (null == rule) {
51
+			return 0;
52
+		}
53
+
54
+		Integer status = rule.getStatus();
55
+		return null != status && status.equals(CommConstant.POINTS_RULE_ON) ? rule.getPointsAmount() : 0;
56
+	}
57
+
58
+	private boolean isPointsRecordsExist(String personId, String changeType, String changeParams) {
59
+		QueryWrapper<TaPointsRecords> query = new QueryWrapper<>();
60
+		query.eq("person_id", personId)
61
+			.eq("change_type", changeType)
62
+			.like(!StringUtils.isEmpty(changeParams), "change_params", changeParams)
63
+			.eq("status", CommConstant.STATUS_NORMAL);
64
+
65
+		Integer count = taPointsRecordsMapper.selectCount(query);
66
+		return null != count && count > 0;
67
+	}
68
+
43
 	@Override
69
 	@Override
44
-	public void sharePoints(String personId) {
45
-		TaPerson person = taPersonMapper.selectById(personId);
46
-		sendPoints(person,2,CommConstant.POINTS_SHARE);
70
+	public void sharePoints(TaShare taShare) {
71
+		// 是否开启积分规则
72
+		Integer pointsAmount = getRulePoints(CommConstant.POINTS_RULE_SHARE_POSTER);
73
+		if (pointsAmount == 0) {
74
+			return;
75
+		}
76
+
77
+		//
78
+		String changeType = CommConstant.POINTS_CHANGE_SHARE_POSTER;
79
+
80
+		// 已经领取过的不会再次领取
81
+		String[] params = {
82
+				"shareId="+String.valueOf(taShare.getShareId()),
83
+				"openUser="+taShare.getOpenUser().getPersonId()
84
+		};
85
+		String changeParams = String.join("&", params);
86
+		boolean hasJoined = isPointsRecordsExist(taShare.getPersonId(), changeType, changeParams);
87
+		if (hasJoined) {
88
+			return;
89
+		}
90
+
91
+		// 发放积分
92
+		TaPerson person = taPersonMapper.selectById(taShare.getPersonId());
93
+		if (savePoints(person, changeType, changeParams, pointsAmount)) {
94
+			taPersonMapper.setFieldIncrement(person.getPersonId(), "points", pointsAmount);
95
+		}
47
 	}
96
 	}
48
-	
97
+
98
+	@Override
99
+	public void checkinPoints(TaPersonSign taPersonSign) {
100
+		// 是否开启积分规则
101
+		Integer pointsAmount = getRulePoints(CommConstant.POINTS_RULE_CHECKIN);
102
+		if (pointsAmount == 0) {
103
+			return;
104
+		}
105
+
106
+		//
107
+		String changeType = CommConstant.POINTS_CHANGE_CHECKIN;
108
+
109
+		// 已经领取过的不会再次领取
110
+		List<String> params = new ArrayList<String>() {{
111
+			add("date="+DateUtils.today());
112
+			add("user="+taPersonSign.getPerson().getPersonId());
113
+		}};
114
+		String changeParams = String.join("&", params);
115
+		boolean hasJoined = isPointsRecordsExist(taPersonSign.getPerson().getPersonId(), changeType, changeParams);
116
+		if (hasJoined) {
117
+			return;
118
+		}
119
+
120
+		// 添加参数
121
+		params.add("recId="+taPersonSign.getRecId());
122
+		changeParams = String.join("&", params);
123
+
124
+
125
+		// 增加积分
126
+		// 1-7 天积分 1-7, 超过7天按 7 个积分算
127
+//		Integer durationDays = taPersonSign.getDurationDays();
128
+//		int points = durationDays >= 7 ? 7 : durationDays;
129
+
130
+		// 发放积分
131
+		TaPerson person = taPersonMapper.selectById(taPersonSign.getPersonId());
132
+		if (savePoints(person, changeType, changeParams, pointsAmount)) {
133
+			taPersonMapper.setFieldIncrement(person.getPersonId(), "points", pointsAmount);
134
+		}
135
+	}
136
+
49
 	@Override
137
 	@Override
50
-	public void authPoints(String personId) {
51
-		//查看是否领取过授权积分
52
-		QueryWrapper<TaPointsRecords> taPointsRecordsQueryWrapper = new QueryWrapper<>();
53
-		taPointsRecordsQueryWrapper.eq("person_id", personId);
54
-		taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);
55
-		
56
-		List<TaPointsRecords> taPointsRecordsList = taPointsRecordsMapper.selectList(taPointsRecordsQueryWrapper);
57
-		if (taPointsRecordsList.size() < 1){
58
-			TaPerson person = taPersonMapper.selectById(personId);
59
-			sendPoints(person,4,CommConstant.POINTS_AUTHORIZE);
138
+	public void signUpPoints(TaPerson taPerson) {
139
+		// 是否开启积分规则
140
+		Integer pointsAmount = getRulePoints(CommConstant.POINTS_RULE_SIGNUP_AGENT);
141
+		if (pointsAmount == 0) {
142
+			return;
143
+		}
144
+
145
+		//
146
+		String changeType = CommConstant.POINTS_CHANGE_SIGNUP_AGENT;
147
+
148
+		// 已经领取过的不会再次领取
149
+		List<String> params = new ArrayList<String>() {{
150
+			add("user="+taPerson.getPersonId());
151
+		}};
152
+		String changeParams = String.join("&", params);
153
+		boolean hasJoined = isPointsRecordsExist(taPerson.getPersonId(), changeType, changeParams);
154
+		if (hasJoined) {
155
+			return;
156
+		}
157
+
158
+		// 发放积分
159
+		if (savePoints(taPerson, changeType, changeParams, pointsAmount)) {
160
+			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
60
 		}
161
 		}
61
 	}
162
 	}
163
+
164
+	@Override
165
+	public void recommendCustPoints(TaRecommendCustomer taRecommendCustomer) {
166
+		// 是否开启积分规则
167
+		Integer pointsAmount = getRulePoints(CommConstant.POINTS_RULE_RECOMMENDER_CUSTOMER);
168
+		if (pointsAmount == 0) {
169
+			return;
170
+		}
171
+
172
+		//
173
+		String changeType = CommConstant.POINTS_CHANGE_RECOMMEND_CUSTOMER;
174
+
175
+		// 已经领取过的不会再次领取
176
+		List<String> params = new ArrayList<String>() {{
177
+			// 推荐人
178
+			add("person="+taRecommendCustomer.getPersonId());
179
+			// 推荐客户手机
180
+			add("phone="+taRecommendCustomer.getPhone());
181
+		}};
182
+		String changeParams = String.join("&", params);
183
+		boolean hasJoined = isPointsRecordsExist(taRecommendCustomer.getPersonId(), changeType, changeParams);
184
+		if (hasJoined) {
185
+			return;
186
+		}
187
+
188
+		// 发放积分
189
+		TaPerson taPerson = taPersonMapper.getById(taRecommendCustomer.getPersonId());
190
+		if (savePoints(taPerson, changeType, changeParams, pointsAmount)) {
191
+			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
192
+		}
193
+	}
194
+
195
+	@Override
196
+	public void consumeGoodsPoints(TaGoods taGoods) {
197
+		Integer minusPoints = taGoods.getPointPrice();
198
+		if (null == minusPoints || minusPoints <= 0) {
199
+			return;
200
+		}
201
+
202
+		TaPerson taPerson = taGoods.getExchanger();
203
+		Integer origPoints = taPerson.getPoints();
204
+		if (null == origPoints) {
205
+			origPoints = 0;
206
+		}
207
+
208
+		// 积分不足
209
+		if (minusPoints > origPoints) {
210
+			return;
211
+		}
212
+
213
+		String[] params = {
214
+				"person="+taPerson.getPersonId(),
215
+				"goods="+String.valueOf(taGoods.getGoodsId()),
216
+				"points="+String.valueOf(minusPoints)
217
+		};
218
+		String changeParams = String.join("&", params);
219
+
220
+		// 发放积分
221
+		Integer pointsAmount = 0 - minusPoints;
222
+		if (savePoints(taPerson, CommConstant.POINTS_CHANGE_GOODS, changeParams, pointsAmount)) {
223
+			taPersonMapper.setFieldIncrement(taPerson.getPersonId(), "points", pointsAmount);
224
+		}
225
+	}
226
+
227
+	private boolean savePoints(TaPerson person, String changeType, String changeParams, Integer pointsAmount) {
228
+		TaPointsRecords taPointsRecords = new TaPointsRecords();
229
+		taPointsRecords.setPersonId(person.getPersonId());
230
+		taPointsRecords.setPersonName(StringUtils.ifNull(person.getName(),person.getNickname()));
231
+		taPointsRecords.setPersonType(person.getPersonType());
232
+		taPointsRecords.setPointsAmount(pointsAmount);
233
+		taPointsRecords.setChangeType(changeType);
234
+		taPointsRecords.setChangeParams(changeParams);
235
+		taPointsRecords.setStatus(CommConstant.STATUS_NORMAL);
236
+		taPointsRecords.setCreateDate(LocalDateTime.now());
237
+
238
+		return taPointsRecordsMapper.insert(taPointsRecords) > 0;
239
+	}
240
+
241
+//	@Override
242
+//	public void authPoints(String personId) {
243
+//		//查看是否领取过授权积分
244
+//		QueryWrapper<TaPointsRecords> taPointsRecordsQueryWrapper = new QueryWrapper<>();
245
+//		taPointsRecordsQueryWrapper.eq("person_id", personId);
246
+//		taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);
247
+//
248
+//		List<TaPointsRecords> taPointsRecordsList = taPointsRecordsMapper.selectList(taPointsRecordsQueryWrapper);
249
+//		if (taPointsRecordsList.size() < 1){
250
+//			TaPerson person = taPersonMapper.selectById(personId);
251
+//			sendPoints(person,4,CommConstant.POINTS_AUTHORIZE);
252
+//		}
253
+//	}
62
 	
254
 	
63
 	private void sendPoints(TaPerson person,Integer rulesId,String shareType) {
255
 	private void sendPoints(TaPerson person,Integer rulesId,String shareType) {
64
 		//发放积分
256
 		//发放积分

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

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
-import com.alibaba.fastjson.JSONObject;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 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;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
-import com.google.common.collect.Maps;
10
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
11
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.StringUtils;
9
 import com.huiju.estateagents.common.StringUtils;
13
 import com.huiju.estateagents.entity.*;
10
 import com.huiju.estateagents.entity.*;
14
-import com.huiju.estateagents.event.PointsEvent;
11
+import com.huiju.estateagents.event.EventBus;
15
 import com.huiju.estateagents.mapper.*;
12
 import com.huiju.estateagents.mapper.*;
16
 import com.huiju.estateagents.service.ITaShareService;
13
 import com.huiju.estateagents.service.ITaShareService;
17
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
20
 
17
 
21
 import javax.annotation.Resource;
18
 import javax.annotation.Resource;
22
 import java.time.LocalDateTime;
19
 import java.time.LocalDateTime;
23
-import java.util.HashMap;
24
 import java.util.List;
20
 import java.util.List;
25
-import java.util.Map;
26
 
21
 
27
 /**
22
 /**
28
  * <p>
23
  * <p>
39
 
34
 
40
     @Autowired
35
     @Autowired
41
     TaShareMapper taShareMapper;
36
     TaShareMapper taShareMapper;
42
-    
43
-    @Autowired
44
-    private TdPointsRulesMapper tdPointsRulesMapper;
45
-    
46
-    @Autowired
47
-    private TaPointsRecordsMapper taPointsRecordsMapper;
48
 
37
 
49
     @Autowired
38
     @Autowired
50
     private TaBuildingMapper taBuildingMapper;
39
     private TaBuildingMapper taBuildingMapper;
103
             taBuildingMapper.setFieldNum(id, "share_num", 1);
92
             taBuildingMapper.setFieldNum(id, "share_num", 1);
104
         }
93
         }
105
 
94
 
106
-        //发放分享积分
107
-        if (typeOf.equals(CommConstant.FAVOR_PROJECT)){
108
-            applicationContext.publishEvent(new PointsEvent(taPerson.getPersonId(),CommConstant.POINTS_SHARE));
109
-        }
110
         return ResponseBean.success("");
95
         return ResponseBean.success("");
111
     }
96
     }
112
 
97
 
122
         return ResponseBean.success(result);
107
         return ResponseBean.success(result);
123
     }
108
     }
124
 
109
 
110
+    @Override
111
+    public void makeSure(String openid, String typeOf, String id) {
112
+        // 查找分享记录
113
+        TaShare taShare = taShareMapper.selectById(id);
114
+        if (null == taShare) {
115
+            return;
116
+        }
117
+
118
+        // 记录分享人
119
+        TaPerson shareUsr = taPersonMapper.getById(taShare.getPersonId());
120
+        if (null == shareUsr) {
121
+            return;
122
+        }
123
+
124
+        // 如果分享人没有授权手机号
125
+        if (StringUtils.isEmpty(shareUsr.getPhone()) && StringUtils.isEmpty(shareUsr.getTel())) {
126
+            return;
127
+        }
128
+
129
+        // 查找打开人
130
+        List<TaPerson> persons = taPersonMapper.getPersonByOpenId(openid);
131
+        if (null == persons || persons.size() == 0) {
132
+            return;
133
+        }
134
+        TaPerson openUsr = persons.get(0);
135
+
136
+        // 如果打开人员与分享人员是同一个人
137
+        // 此处通过 personId 来判断,其实并不准确
138
+        // todo
139
+        if (openUsr.getPersonId().equals(shareUsr.getPersonId())) {
140
+            return;
141
+        }
142
+
143
+        taShare.setOpenUser(openUsr);
144
+
145
+        // 赠送积分
146
+        // 发放分享积分
147
+        if (typeOf.equals(CommConstant.FAVOR_PROJECT)){
148
+            applicationContext.publishEvent(new EventBus(taShare, EventBus.EventType.SharePoster));
149
+        }
150
+    }
125
 
151
 
126
     List<TaPerson> getPersonsByOpenId(String openid) {
152
     List<TaPerson> getPersonsByOpenId(String openid) {
127
         return taPersonMapper.getPersonByOpenId(openid);
153
         return taPersonMapper.getPersonByOpenId(openid);