傅行帆 5 lat temu
rodzic
commit
500bd3aa15

+ 21
- 0
src/main/java/com/huiju/estateagents/event/PointsEvent.java Wyświetl plik

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 Wyświetl plik

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 Wyświetl plik

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;
4
 import com.huiju.estateagents.entity.TaPointsRecords;
5
+import com.huiju.estateagents.event.PointsEvent;
5
 
6
 
6
 /**
7
 /**
7
  * <p>
8
  * <p>
12
  * @since 2019-07-25
13
  * @since 2019-07-25
13
  */
14
  */
14
 public interface ITaPointsRecordsService extends IService<TaPointsRecords> {
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 Wyświetl plik

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.mapper.*;
16
 import com.huiju.estateagents.mapper.*;
16
 import com.huiju.estateagents.service.ITaPersonService;
17
 import com.huiju.estateagents.service.ITaPersonService;
17
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
18
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
19
 import com.huiju.estateagents.service.ITaRecommendCustomerService;
20
+import org.apache.commons.collections.map.HashedMap;
19
 import org.springframework.beans.factory.annotation.Autowired;
21
 import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.context.ApplicationContext;
20
 import org.springframework.stereotype.Service;
23
 import org.springframework.stereotype.Service;
21
 
24
 
25
+import javax.annotation.Resource;
22
 import java.time.LocalDateTime;
26
 import java.time.LocalDateTime;
23
 import java.util.ArrayList;
27
 import java.util.ArrayList;
24
 import java.util.HashMap;
28
 import java.util.HashMap;
74
 
78
 
75
     @Autowired
79
     @Autowired
76
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
80
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
81
+    
82
+    @Resource
83
+    private ApplicationContext applicationContext;
77
 
84
 
78
     @Override
85
     @Override
79
     public TaPerson mergePersonWxInfo(WxMaUserInfo userInfo) {
86
     public TaPerson mergePersonWxInfo(WxMaUserInfo userInfo) {
152
         taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);
159
         taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);
153
 
160
 
154
         List<TaPointsRecords> taPointsRecordsList = taPointsRecordsMapper.selectList(taPointsRecordsQueryWrapper);
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
         return person;
167
         return person;

+ 62
- 1
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java Wyświetl plik

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;
5
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.common.CommConstant;
8
+import com.huiju.estateagents.entity.TaPerson;
4
 import com.huiju.estateagents.entity.TaPointsRecords;
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
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
13
 import com.huiju.estateagents.mapper.TaPointsRecordsMapper;
14
+import com.huiju.estateagents.mapper.TdPointsRulesMapper;
6
 import com.huiju.estateagents.service.ITaPointsRecordsService;
15
 import com.huiju.estateagents.service.ITaPointsRecordsService;
16
+import org.apache.commons.collections.map.HashedMap;
17
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
18
 import org.springframework.stereotype.Service;
8
 
19
 
20
+import java.time.LocalDateTime;
21
+import java.util.Map;
22
+
9
 /**
23
 /**
10
  * <p>
24
  * <p>
11
  * 积分消费流水表  服务实现类
25
  * 积分消费流水表  服务实现类
16
  */
30
  */
17
 @Service
31
 @Service
18
 public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMapper, TaPointsRecords> implements ITaPointsRecordsService {
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 Wyświetl plik

6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import com.google.common.collect.Maps;
9
 import com.huiju.estateagents.base.ResponseBean;
10
 import com.huiju.estateagents.base.ResponseBean;
10
 import com.huiju.estateagents.common.CommConstant;
11
 import com.huiju.estateagents.common.CommConstant;
11
 import com.huiju.estateagents.common.StringUtils;
12
 import com.huiju.estateagents.common.StringUtils;
12
 import com.huiju.estateagents.entity.*;
13
 import com.huiju.estateagents.entity.*;
14
+import com.huiju.estateagents.event.PointsEvent;
13
 import com.huiju.estateagents.mapper.*;
15
 import com.huiju.estateagents.mapper.*;
14
 import com.huiju.estateagents.service.ITaShareService;
16
 import com.huiju.estateagents.service.ITaShareService;
15
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.context.ApplicationContext;
16
 import org.springframework.stereotype.Service;
19
 import org.springframework.stereotype.Service;
17
 
20
 
21
+import javax.annotation.Resource;
18
 import java.time.LocalDateTime;
22
 import java.time.LocalDateTime;
23
+import java.util.HashMap;
19
 import java.util.List;
24
 import java.util.List;
25
+import java.util.Map;
20
 
26
 
21
 /**
27
 /**
22
  * <p>
28
  * <p>
45
 
51
 
46
     @Autowired
52
     @Autowired
47
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
53
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
54
+    
55
+    @Resource
56
+    private ApplicationContext applicationContext;
48
 
57
 
49
     @Override
58
     @Override
50
     public ResponseBean saveData(String openid, String typeOf, String id) {
59
     public ResponseBean saveData(String openid, String typeOf, String id) {
96
 
105
 
97
         //发放分享积分
106
         //发放分享积分
98
         if (typeOf.equals(CommConstant.FAVOR_PROJECT)){
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
         return ResponseBean.success("");
110
         return ResponseBean.success("");
125
     }
111
     }