From e1a62ec62e7331d97af9302e90e1ce44af8235eb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 一月 2021 15:26:55 +0800
Subject: [PATCH] 拼多多授权绑定

---
 fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java |   47 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
index 660e2f9..1ce95cc 100644
--- a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
+++ b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
@@ -1,11 +1,14 @@
 package com.yeshi.fanli.aspect;
 
 import java.lang.reflect.Method;
+import java.util.Date;
 
 import javax.annotation.Resource;
 
-import org.aspectj.lang.ProceedingJoinPoint;
+import com.yeshi.fanli.util.RedisManager;
+import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.Signature;
+import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.springframework.core.DefaultParameterNameDiscoverer;
@@ -14,14 +17,26 @@
 import org.springframework.expression.ExpressionParser;
 import org.springframework.expression.spel.standard.SpelExpressionParser;
 import org.springframework.expression.spel.support.StandardEvaluationContext;
+import org.springframework.stereotype.Component;
 import org.yeshi.utils.NumberUtil;
 
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
+import com.yeshi.fanli.dto.mq.user.body.UserActiveMQMsg;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
+import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
 import com.yeshi.fanli.util.annotation.UserActive;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 import redis.clients.jedis.Jedis;
 import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.params.SetParams;
 
 /**
  * 娲昏穬鐢ㄦ埛澶勭悊
@@ -29,19 +44,17 @@
  * @author Administrator
  *
  */
-// @Component
-// @Aspect
-// @Order(6)
+@Component
+@Aspect
 public class ActiveUserAspect {
-
 	@Resource
-	private JedisPool jedisPool;
+	private RedisManager redisManager;
 
 	private ExpressionParser parser = new SpelExpressionParser();
 
 	private DefaultParameterNameDiscoverer nameDiscoverer = new DefaultParameterNameDiscoverer();
 
-	public String generateKeyBySpEL(String spELString, ProceedingJoinPoint joinPoint) {
+	public String generateKeyBySpEL(String spELString, JoinPoint joinPoint) {
 		MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
 		String[] paramNames = nameDiscoverer.getParameterNames(methodSignature.getMethod());
 		Expression expression = parser.parseExpression(spELString);
@@ -56,7 +69,7 @@
 	public static final String EDP = "execution(* com.yeshi.fanli.controller.client.*.*.*(..))";
 
 	@Before(EDP)
-	public void activeBefore(ProceedingJoinPoint joinPoint) {
+	public void activeBefore(JoinPoint joinPoint) {
 		try {
 			Signature signature = joinPoint.getSignature();
 			MethodSignature methodSignature = (MethodSignature) signature;
@@ -71,19 +84,23 @@
 						@Override
 						public void run() {
 							String key = "useractive-" + uidStr;
-							Jedis jedis = jedisPool.getResource();
+							Jedis jedis =redisManager.getJedis();
 							try {
-
-								if (jedis.setnx(key, "1") > 0) {
-									jedis.expire(key, 60);// 60s鍐呬笉澶勭悊
+								if (!StringUtil.isNullOrEmpty(jedis.set(key, "1", new SetParams().nx().ex(Constant.IS_TEST?10:300)))) {
 									try {
-										// TODO 鐢ㄦ埛娲昏穬澶勭悊
-
+//										Long uid = Long.parseLong(uidStr);
+//										if (!Constant.IS_TEST) { // 娲昏穬閫氱煡
+//											UserActiveMQMsg msg = new UserActiveMQMsg(uid, new Date());
+//											Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userActve, msg);
+//											message.setStartDeliverTime(System.currentTimeMillis()+1000*10L);//10s鍚庡彂閫佹椿璺冩秷鎭�
+//											producer.send(message);
+//										}
 									} catch (Exception e) {
+										
 									}
 								}
 							} finally {
-								jedisPool.returnResource(jedis);
+								jedis.close();
 							}
 						}
 					});

--
Gitblit v1.8.0