admin
2020-11-09 2147d023563a7c9d05d97547c00d6b0162c0644c
fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
@@ -1,9 +1,11 @@
package com.yeshi.fanli.aspect;
import java.lang.reflect.Method;
import java.util.Date;
import javax.annotation.Resource;
import com.yeshi.fanli.util.RedisManager;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Aspect;
@@ -18,16 +20,23 @@
import org.springframework.stereotype.Component;
import org.yeshi.utils.NumberUtil;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.service.inter.integral.IntegralGetService;
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;
/**
 * 活跃用户处理
@@ -39,16 +48,7 @@
@Aspect
public class ActiveUserAspect {
   @Resource
   private JedisPool jedisPool;
   @Resource
   private UserInfoModifyRecordService userInfoModifyRecordService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private IntegralGetService integralGetService;
   private RedisManager redisManager;
   private ExpressionParser parser = new SpelExpressionParser();
@@ -84,22 +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 * 5);// 5分钟内不处理
                        if (!StringUtil.isNullOrEmpty(jedis.set(key, "1", new SetParams().nx().ex(Constant.IS_TEST?10:300)))) {
                           try {
                              // TODO 用户活跃处理
                              Long uid = Long.parseLong(uidStr);
                              userInfoModifyRecordService.syncBeforeInfo(uid);
                              UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
                              if (extra != null && !StringUtil.isNullOrEmpty(extra.getInviteCode()))
                                 integralGetService.addInviteActivate(uid);
//                              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();
                     }
                  }
               });