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

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

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

@@ -67,17 +67,22 @@ public class CommConstant {
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,17 +108,17 @@ public class CommConstant {
103 108
     /**
104 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 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 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 123
     //=================  首屏广告 / 轮播图 start =======================
119 124
 
@@ -205,4 +210,33 @@ public class CommConstant {
205 210
     public static final String ENTRY_VERIFY = "verify";
206 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,6 +86,21 @@ public class MiniAppController {
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,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.huiju.estateagents.base.BaseController;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.common.JWTUtils;
10
+import com.huiju.estateagents.common.StringUtils;
10 11
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11 12
 import com.huiju.estateagents.entity.TaBuilding;
12 13
 import com.huiju.estateagents.entity.TaBuildingDynamic;
@@ -82,7 +83,7 @@ public class TaBuildingDynamicController extends BaseController {
82 83
      * @return
83 84
      */
84 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 87
                                                @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
87 88
                                                @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
88 89
                                                @RequestParam(defaultValue = "false" )boolean mine,
@@ -191,7 +192,11 @@ public class TaBuildingDynamicController extends BaseController {
191 192
         dynamicQueryWrapper.eq("dynamic_id", dynamicId);
192 193
         TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
193 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 200
         responseBean.addSuccess(dynamic);
196 201
         return responseBean;
197 202
     }

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

@@ -6,13 +6,16 @@ import com.huiju.estateagents.common.CommConstant;
6 6
 import com.huiju.estateagents.common.JWTUtils;
7 7
 import com.huiju.estateagents.entity.TaPerson;
8 8
 import com.huiju.estateagents.entity.TaRecommendCustomer;
9
+import com.huiju.estateagents.event.EventBus;
9 10
 import com.huiju.estateagents.service.ITaPersonService;
10 11
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
11 12
 import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.context.ApplicationContext;
12 14
 import org.springframework.web.bind.annotation.*;
13 15
 
14 16
 import com.huiju.estateagents.base.BaseController;
15 17
 
18
+import javax.annotation.Resource;
16 19
 import javax.servlet.http.HttpServletRequest;
17 20
 import java.util.List;
18 21
 
@@ -30,9 +33,13 @@ public class TaRecommendCustomerController extends BaseController {
30 33
 
31 34
     @Autowired
32 35
     ITaRecommendCustomerService taRecommendCustomerService;
36
+
33 37
     @Autowired
34 38
     ITaPersonService taPersonService;
35 39
 
40
+    @Resource
41
+    private ApplicationContext applicationContext;
42
+
36 43
     /**
37 44
      * 我的客户列表
38 45
      * @param pageNumber
@@ -236,6 +243,10 @@ public class TaRecommendCustomerController extends BaseController {
236 243
      */
237 244
     @RequestMapping(value="/admin/customer/recommend/verify/{id}",method= RequestMethod.PUT)
238 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 250
         ResponseBean responseBean = new ResponseBean();
240 251
         try {
241 252
             TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getById(id);
@@ -243,6 +254,12 @@ public class TaRecommendCustomerController extends BaseController {
243 254
                 taRecommendCustomer.setVerifyStatus(verifyStatus);
244 255
                 taRecommendCustomer.setVerifyRemark(verifyRemark);
245 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 263
                     responseBean.addSuccess(taRecommendCustomer);
247 264
                 }else {
248 265
                     responseBean.addError("fail");

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

@@ -38,4 +38,18 @@ public class TaShareController extends BaseController {
38 38
 
39 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,6 +1,7 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import lombok.Data;
6 7
 import lombok.EqualsAndHashCode;
@@ -106,5 +107,9 @@ public class TaGoods implements Serializable {
106 107
      */
107 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,6 +1,7 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -44,4 +45,7 @@ public class TaPersonSign implements Serializable {
44 45
      */
45 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,6 +1,7 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import lombok.Data;
6 7
 import lombok.EqualsAndHashCode;
@@ -60,5 +61,9 @@ public class TaShare implements Serializable {
60 61
      */
61 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 Целия файл

@@ -0,0 +1,43 @@
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 Целия файл

@@ -0,0 +1,62 @@
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,21 +0,0 @@
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,37 +0,0 @@
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,8 +1,7 @@
1 1
 package com.huiju.estateagents.service;
2 2
 
3 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 7
  * <p>
@@ -13,8 +12,14 @@ import com.huiju.estateagents.event.PointsEvent;
13 12
  * @since 2019-07-25
14 13
  */
15 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,4 +17,6 @@ public interface ITaShareService extends IService<TaShare> {
17 17
     ResponseBean saveData(String openid, String typeOf, String id);
18 18
 
19 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,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
10 11
 import com.huiju.estateagents.entity.TaActivityDynamicEnlist;
11 12
 import com.huiju.estateagents.entity.TaBuilding;
12 13
 import com.huiju.estateagents.entity.TaBuildingDynamic;
@@ -98,7 +99,7 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
98 99
         page.setCurrent(pageNum);
99 100
         page.setSize(pageSize);
100 101
         QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
101
-        buildingDynamicQueryWrapper.eq("building_id", buildingId);
102
+        buildingDynamicQueryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id", buildingId);
102 103
         buildingDynamicQueryWrapper.eq("status", "1");
103 104
         buildingDynamicQueryWrapper.orderByDesc("create_date");
104 105
         IPage<TaBuildingDynamic> buildingDynamicIPage = buildingDynamicMapper.selectPage(page, buildingDynamicQueryWrapper);
@@ -266,15 +267,15 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
266 267
         Long enlistStart = taBuildingDynamic.getEnlistStart().toInstant(ZoneOffset.of("+8")).toEpochMilli();
267 268
         // (1:进行中)当前时间小于报名截止时间,并且报名状态为1
268 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 272
         //(2:未开始)当前时间是否小于报名时间,并且报名状态为1
272 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 276
         //(3:结束)当前时间大于报名结束时间,并且报名状态为1
276 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 280
         return taBuildingDynamic;
280 281
     }

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

@@ -71,6 +71,9 @@ public class TaGoodsServiceImpl extends ServiceImpl<TaGoodsMapper, TaGoods> impl
71 71
 		if (taGoods.getTotalNum() < 1){
72 72
 			return "此商品无库存";
73 73
 		}
74
+
75
+		taGoods.setExchanger(taPerson);
76
+
74 77
 		//插入积分消费流水表
75 78
 		insertTaPointRecords(taPerson,taGoods);
76 79
 		//插入积分兑换记录

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

@@ -12,12 +12,11 @@ import com.huiju.estateagents.common.DateUtils;
12 12
 import com.huiju.estateagents.common.MD5Utils;
13 13
 import com.huiju.estateagents.common.StringUtils;
14 14
 import com.huiju.estateagents.entity.*;
15
-import com.huiju.estateagents.event.PointsEvent;
15
+import com.huiju.estateagents.event.EventBus;
16 16
 import com.huiju.estateagents.mapper.*;
17 17
 import com.huiju.estateagents.service.ITaPersonService;
18 18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
19 19
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
20
-import org.apache.commons.collections.map.HashedMap;
21 20
 import org.springframework.beans.factory.annotation.Autowired;
22 21
 import org.springframework.context.ApplicationContext;
23 22
 import org.springframework.stereotype.Service;
@@ -60,12 +59,6 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
60 59
 
61 60
     @Autowired
62 61
     TaChatMapper taChatMapper;
63
-    
64
-    @Autowired
65
-    private TdPointsRulesMapper tdPointsRulesMapper;
66
-    
67
-    @Autowired
68
-    private TaPointsRecordsMapper taPointsRecordsMapper;
69 62
 
70 63
     @Autowired
71 64
     private ITaRecommendCustomerService iTaRecommendCustomerService;
@@ -153,8 +146,8 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
153 146
 
154 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 152
         return person;
160 153
     }
@@ -350,39 +343,10 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
350 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 352
     @Override

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

@@ -5,19 +5,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 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 11
 import com.huiju.estateagents.mapper.TaPersonMapper;
13 12
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
14 13
 import com.huiju.estateagents.mapper.TdPointsRulesMapper;
15 14
 import com.huiju.estateagents.service.ITaPointsRecordsService;
16
-import org.apache.commons.collections.map.HashedMap;
17 15
 import org.springframework.beans.factory.annotation.Autowired;
18 16
 import org.springframework.stereotype.Service;
19 17
 
20 18
 import java.time.LocalDateTime;
19
+import java.util.ArrayList;
20
+import java.util.HashMap;
21 21
 import java.util.List;
22 22
 import java.util.Map;
23 23
 
@@ -39,26 +39,218 @@ public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMappe
39 39
 	
40 40
 	@Autowired
41 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 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 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 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,17 +1,14 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
-import com.alibaba.fastjson.JSONObject;
4 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
7 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
-import com.google.common.collect.Maps;
10 7
 import com.huiju.estateagents.base.ResponseBean;
11 8
 import com.huiju.estateagents.common.CommConstant;
12 9
 import com.huiju.estateagents.common.StringUtils;
13 10
 import com.huiju.estateagents.entity.*;
14
-import com.huiju.estateagents.event.PointsEvent;
11
+import com.huiju.estateagents.event.EventBus;
15 12
 import com.huiju.estateagents.mapper.*;
16 13
 import com.huiju.estateagents.service.ITaShareService;
17 14
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,9 +17,7 @@ import org.springframework.stereotype.Service;
20 17
 
21 18
 import javax.annotation.Resource;
22 19
 import java.time.LocalDateTime;
23
-import java.util.HashMap;
24 20
 import java.util.List;
25
-import java.util.Map;
26 21
 
27 22
 /**
28 23
  * <p>
@@ -39,12 +34,6 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
39 34
 
40 35
     @Autowired
41 36
     TaShareMapper taShareMapper;
42
-    
43
-    @Autowired
44
-    private TdPointsRulesMapper tdPointsRulesMapper;
45
-    
46
-    @Autowired
47
-    private TaPointsRecordsMapper taPointsRecordsMapper;
48 37
 
49 38
     @Autowired
50 39
     private TaBuildingMapper taBuildingMapper;
@@ -103,10 +92,6 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
103 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 95
         return ResponseBean.success("");
111 96
     }
112 97
 
@@ -122,6 +107,47 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
122 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 152
     List<TaPerson> getPersonsByOpenId(String openid) {
127 153
         return taPersonMapper.getPersonByOpenId(openid);