傅行帆 5 jaren geleden
bovenliggende
commit
500bd3aa15

+ 21
- 0
src/main/java/com/huiju/estateagents/event/PointsEvent.java Bestand weergeven

@@ -0,0 +1,21 @@
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
+}

+ 37
- 0
src/main/java/com/huiju/estateagents/lisenter/PointsLisenter.java Bestand weergeven

@@ -0,0 +1,37 @@
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
+}

+ 5
- 1
src/main/java/com/huiju/estateagents/service/ITaPointsRecordsService.java Bestand weergeven

@@ -2,6 +2,7 @@ package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.entity.TaPointsRecords;
5
+import com.huiju.estateagents.event.PointsEvent;
5 6
 
6 7
 /**
7 8
  * <p>
@@ -12,5 +13,8 @@ import com.huiju.estateagents.entity.TaPointsRecords;
12 13
  * @since 2019-07-25
13 14
  */
14 15
 public interface ITaPointsRecordsService extends IService<TaPointsRecords> {
15
-
16
+	
17
+	void sharePoints(String personId);
18
+	
19
+	void authPoints(String personId);
16 20
 }

+ 10
- 26
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java Bestand weergeven

@@ -12,13 +12,17 @@ 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 16
 import com.huiju.estateagents.mapper.*;
16 17
 import com.huiju.estateagents.service.ITaPersonService;
17 18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
18 19
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
20
+import org.apache.commons.collections.map.HashedMap;
19 21
 import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.context.ApplicationContext;
20 23
 import org.springframework.stereotype.Service;
21 24
 
25
+import javax.annotation.Resource;
22 26
 import java.time.LocalDateTime;
23 27
 import java.util.ArrayList;
24 28
 import java.util.HashMap;
@@ -74,6 +78,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
74 78
 
75 79
     @Autowired
76 80
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
81
+    
82
+    @Resource
83
+    private ApplicationContext applicationContext;
77 84
 
78 85
     @Override
79 86
     public TaPerson mergePersonWxInfo(WxMaUserInfo userInfo) {
@@ -152,32 +159,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
152 159
         taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);
153 160
 
154 161
         List<TaPointsRecords> taPointsRecordsList = taPointsRecordsMapper.selectList(taPointsRecordsQueryWrapper);
155
-        if (taPointsRecordsList.size() < 0){
156
-            //发放积分
157
-            QueryWrapper<TdPointsRules> queryWrapper = new QueryWrapper<>();
158
-            queryWrapper.eq("rule_id",2);
159
-            queryWrapper.eq("status",CommConstant.STATUS_NORMAL);
160
-            TdPointsRules tdPointsRules = tdPointsRulesMapper.selectOne(queryWrapper);
161
-            if (null != tdPointsRules) {
162
-                //插入积分消费流水表
163
-                TaPointsRecords taPointsRecords = new TaPointsRecords();
164
-                taPointsRecords.setPersonId(person.getPersonId());
165
-                taPointsRecords.setPersonName(com.huiju.estateagents.common.StringUtils.ifNull(person.getName(),person.getNickname()));
166
-                taPointsRecords.setPersonType(person.getPersonType());
167
-                taPointsRecords.setPointsAmount(tdPointsRules.getPointsAmount());
168
-                taPointsRecords.setChangeType(CommConstant.POINTS_AUTHORIZE);
169
-                JSONObject jsonObject = new JSONObject();
170
-                jsonObject.put("person_id",person.getPersonId());
171
-                taPointsRecords.setChangeParams(jsonObject.toJSONString());
172
-                taPointsRecords.setCreateDate(LocalDateTime.now());
173
-                taPointsRecords.setStatus(CommConstant.STATUS_NORMAL);
174
-                taPointsRecordsMapper.insert(taPointsRecords);
175
-                //添加积分
176
-                UpdateWrapper<TaPerson> taPersonwrapper = new UpdateWrapper<>();
177
-                wrapper.eq("person_id", person.getPersonId());
178
-                wrapper.setSql("points = IFNULL(points, 0) + " + String.valueOf(tdPointsRules.getPointsAmount()));
179
-                taPersonMapper.update(new TaPerson(), taPersonwrapper);
180
-            }
162
+        if (taPointsRecordsList.size() < 1){
163
+            //发放积分(成为经纪人ID 是4)
164
+            applicationContext.publishEvent(new PointsEvent(person.getPersonId(),CommConstant.POINTS_AUTHORIZE));
181 165
         }
182 166
 
183 167
         return person;

+ 62
- 1
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java Bestand weergeven

@@ -1,11 +1,25 @@
1 1
 package com.huiju.estateagents.service.impl;
2 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;
3 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.common.CommConstant;
8
+import com.huiju.estateagents.entity.TaPerson;
4 9
 import com.huiju.estateagents.entity.TaPointsRecords;
10
+import com.huiju.estateagents.entity.TdPointsRules;
11
+import com.huiju.estateagents.event.PointsEvent;
12
+import com.huiju.estateagents.mapper.TaPersonMapper;
5 13
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
14
+import com.huiju.estateagents.mapper.TdPointsRulesMapper;
6 15
 import com.huiju.estateagents.service.ITaPointsRecordsService;
16
+import org.apache.commons.collections.map.HashedMap;
17
+import org.springframework.beans.factory.annotation.Autowired;
7 18
 import org.springframework.stereotype.Service;
8 19
 
20
+import java.time.LocalDateTime;
21
+import java.util.Map;
22
+
9 23
 /**
10 24
  * <p>
11 25
  * 积分消费流水表  服务实现类
@@ -16,5 +30,52 @@ import org.springframework.stereotype.Service;
16 30
  */
17 31
 @Service
18 32
 public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMapper, TaPointsRecords> implements ITaPointsRecordsService {
19
-
33
+	@Autowired
34
+	TaPersonMapper taPersonMapper;
35
+	
36
+	@Autowired
37
+	private TdPointsRulesMapper tdPointsRulesMapper;
38
+	
39
+	@Autowired
40
+	private TaPointsRecordsMapper taPointsRecordsMapper;
41
+	
42
+	@Override
43
+	public void sharePoints(String personId) {
44
+		TaPerson person = taPersonMapper.selectById(personId);
45
+		sendPoints(person,2,CommConstant.POINTS_SHARE);
46
+	}
47
+	
48
+	@Override
49
+	public void authPoints(String personId) {
50
+		TaPerson person = taPersonMapper.selectById(personId);
51
+		sendPoints(person,4,CommConstant.POINTS_AUTHORIZE);
52
+	}
53
+	
54
+	private void sendPoints(TaPerson person,Integer rulesId,String shareType) {
55
+		//发放积分
56
+		QueryWrapper<TdPointsRules> queryWrapper = new QueryWrapper<>();
57
+		queryWrapper.eq("rule_id",rulesId);
58
+		queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
59
+		TdPointsRules tdPointsRules = tdPointsRulesMapper.selectOne(queryWrapper);
60
+		if (null != tdPointsRules) {
61
+			//插入积分消费流水表
62
+			TaPointsRecords taPointsRecords = new TaPointsRecords();
63
+			taPointsRecords.setPersonId(person.getPersonId());
64
+			taPointsRecords.setPersonName(com.huiju.estateagents.common.StringUtils.ifNull(person.getName(),person.getNickname()));
65
+			taPointsRecords.setPersonType(person.getPersonType());
66
+			taPointsRecords.setPointsAmount(tdPointsRules.getPointsAmount());
67
+			taPointsRecords.setChangeType(shareType);
68
+			JSONObject jsonObject = new JSONObject();
69
+			jsonObject.put("person_id",person.getPersonId());
70
+			taPointsRecords.setChangeParams(jsonObject.toJSONString());
71
+			taPointsRecords.setCreateDate(LocalDateTime.now());
72
+			taPointsRecords.setStatus(CommConstant.STATUS_NORMAL);
73
+			taPointsRecordsMapper.insert(taPointsRecords);
74
+			//添加积分
75
+			UpdateWrapper<TaPerson> taPersonwrapper = new UpdateWrapper<>();
76
+			taPersonwrapper.eq("person_id", person.getPersonId());
77
+			taPersonwrapper.setSql("points = IFNULL(points, 0) + " + String.valueOf(tdPointsRules.getPointsAmount()));
78
+			taPersonMapper.update(new TaPerson(), taPersonwrapper);
79
+		}
80
+	}
20 81
 }

+ 10
- 24
src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java Bestand weergeven

@@ -6,17 +6,23 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import com.google.common.collect.Maps;
9 10
 import com.huiju.estateagents.base.ResponseBean;
10 11
 import com.huiju.estateagents.common.CommConstant;
11 12
 import com.huiju.estateagents.common.StringUtils;
12 13
 import com.huiju.estateagents.entity.*;
14
+import com.huiju.estateagents.event.PointsEvent;
13 15
 import com.huiju.estateagents.mapper.*;
14 16
 import com.huiju.estateagents.service.ITaShareService;
15 17
 import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.context.ApplicationContext;
16 19
 import org.springframework.stereotype.Service;
17 20
 
21
+import javax.annotation.Resource;
18 22
 import java.time.LocalDateTime;
23
+import java.util.HashMap;
19 24
 import java.util.List;
25
+import java.util.Map;
20 26
 
21 27
 /**
22 28
  * <p>
@@ -45,6 +51,9 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
45 51
 
46 52
     @Autowired
47 53
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
54
+    
55
+    @Resource
56
+    private ApplicationContext applicationContext;
48 57
 
49 58
     @Override
50 59
     public ResponseBean saveData(String openid, String typeOf, String id) {
@@ -96,30 +105,7 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
96 105
 
97 106
         //发放分享积分
98 107
         if (typeOf.equals(CommConstant.FAVOR_PROJECT)){
99
-            QueryWrapper<TdPointsRules> tdPointsRulesQueryWrapper = new QueryWrapper<>();
100
-            queryWrapper.eq("rule_id",2);
101
-            queryWrapper.eq("status",CommConstant.STATUS_NORMAL);
102
-            TdPointsRules tdPointsRules = tdPointsRulesMapper.selectOne(tdPointsRulesQueryWrapper);
103
-            if (null != tdPointsRules){
104
-                //插入积分消费流水表
105
-                TaPointsRecords taPointsRecords = new TaPointsRecords();
106
-                taPointsRecords.setPersonId(taPerson.getPersonId());
107
-                taPointsRecords.setPersonName(StringUtils.ifNull(taPerson.getName(),taPerson.getNickname()));
108
-                taPointsRecords.setPersonType(taPerson.getPersonType());
109
-                taPointsRecords.setPointsAmount(tdPointsRules.getPointsAmount());
110
-                taPointsRecords.setChangeType(CommConstant.POINTS_SHARE);
111
-                JSONObject jsonObject = new JSONObject();
112
-                jsonObject.put("person_id",taPerson.getPersonId());
113
-                taPointsRecords.setChangeParams(jsonObject.toJSONString());
114
-                taPointsRecords.setCreateDate(LocalDateTime.now());
115
-                taPointsRecords.setStatus(CommConstant.STATUS_NORMAL);
116
-                taPointsRecordsMapper.insert(taPointsRecords);
117
-                //添加积分
118
-                UpdateWrapper<TaPerson> wrapper = new UpdateWrapper<>();
119
-                wrapper.eq("person_id", taPerson.getPersonId());
120
-                wrapper.setSql("points = IFNULL(points, 0) + " + String.valueOf(tdPointsRules.getPointsAmount()));
121
-                taPersonMapper.update(new TaPerson(), wrapper);
122
-            }
108
+            applicationContext.publishEvent(new PointsEvent(taPerson.getPersonId(),CommConstant.POINTS_SHARE));
123 109
         }
124 110
         return ResponseBean.success("");
125 111
     }