傅行帆 5 år sedan
förälder
incheckning
0bd533f9a8

+ 24
- 5
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Visa fil

@@ -199,15 +199,21 @@ public class MiniAppController extends BaseController {
199 199
             personQueryWrapper.eq("org_id",orgId);
200 200
             int count = taPersonService.count(personQueryWrapper);
201 201
 
202
-            if(null!=from&&from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
203
-                // 添加积分
204
-                 applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
205
-            }
206
-
207 202
             TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), orgId);
208 203
             if (null == taPerson) {
209 204
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
210 205
             }
206
+
207
+            if(null!=from&&from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
208
+                // 校验是否点击过此人的分享
209
+                boolean checkPoint = checkSharePersonFrom(from,taPerson.getPersonId(),targetId,orgId);
210
+                if (checkPoint){
211
+                    // 添加积分
212
+                    applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
213
+                }
214
+            }
215
+
216
+
211 217
             Map<Object,Object> map = new HashMap<>();
212 218
             map.put("openId",session.getOpenid());
213 219
             map.put("orgId",orgId);
@@ -322,6 +328,19 @@ public class MiniAppController extends BaseController {
322 328
         }
323 329
     }
324 330
 
331
+    private boolean checkSharePersonFrom(String from, String personId, String targetId, Integer orgId) {
332
+        QueryWrapper<TaSharePersonFrom> queryWrapper =  new QueryWrapper<>();
333
+        queryWrapper.eq("target_type",from);
334
+        queryWrapper.eq("person_id",personId);
335
+        queryWrapper.eq("target_id",targetId);
336
+        queryWrapper.eq("org_id",orgId);
337
+        List<TaSharePersonFrom> list = taSharePersonFromService.list(queryWrapper);
338
+        if (list.size() > 0){
339
+            return false;
340
+        }
341
+        return true;
342
+    }
343
+
325 344
     /**
326 345
      * 登陆接口
327 346
      */

+ 2
- 6
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java Visa fil

@@ -109,17 +109,13 @@ public class TaPointsRecordsServiceImpl extends ServiceImpl<TaPointsRecordsMappe
109 109
 			return;
110 110
 		}
111 111
 
112
-		// 发放积分
113
-		TaPerson person = taPersonMapper.selectById(recommenderId);
114 112
 		String[] params = {
115 113
 				"openUser="+recommenderId
116 114
 		};
117 115
 		String changeParams = String.join("&", params);
118
-		boolean hasJoined = isPointsRecordsExist(person.getPersonId(), changeType, changeParams);
119
-		if (hasJoined) {
120
-			return;
121
-		}
122 116
 
117
+		// 发放积分
118
+		TaPerson person = taPersonMapper.selectById(recommenderId);
123 119
 		if (savePoints(person, changeType, changeParams, pointsAmount, orgId)) {
124 120
 			taPersonMapper.setFieldIncrement(person.getPersonId(), "points", pointsAmount);
125 121
 		}