fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
@@ -1,6 +1,7 @@ package com.yeshi.fanli.aspect; import java.lang.reflect.Method; import java.util.Date; import javax.annotation.Resource; @@ -18,13 +19,20 @@ 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.entity.bus.user.UserInfoExtra; 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; @@ -50,6 +58,10 @@ @Resource private IntegralGetService integralGetService; @Resource(name = "producer") private Producer producer; private ExpressionParser parser = new SpelExpressionParser(); @@ -89,12 +101,12 @@ try { if (!StringUtil.isNullOrEmpty(jedis.set(key, "1", new SetParams().nx().ex(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); if (!Constant.IS_TEST) { // 活跃通知 UserActiveMQMsg msg = new UserActiveMQMsg(uid, new Date()); Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userActve, msg); producer.send(message); } } catch (Exception e) { } } fanli/src/main/java/com/yeshi/fanli/dto/mq/user/UserTopicTagEnum.java
@@ -5,6 +5,7 @@ import com.yeshi.fanli.dto.mq.user.body.InviteCodeActiveMQMsg; import com.yeshi.fanli.dto.mq.user.body.ThreeSaleSeparateMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserAccountBindingMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserActiveMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserForbiddenMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserInfoUpdateMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg; @@ -12,11 +13,10 @@ import com.yeshi.fanli.dto.mq.user.body.UserRedPackGiftMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserRegisterMQMsg; import com.yeshi.fanli.dto.mq.user.body.UserSystemCouponUseMQMsg; import com.yeshi.fanli.util.annotation.UserActive; public enum UserTopicTagEnum { userAccountBinding(UserAccountBindingMQMsg.class), // 用户账号绑定 userActve(UserActive.class), // 用户活跃 userActve(UserActiveMQMsg.class), // 用户活跃 useSystemCoupon(UserSystemCouponUseMQMsg.class), // 系统券使用 systemCouponDrawback(UserSystemCouponUseMQMsg.class), // 系统券退回 inviteSuccess(UserInviteMQMsg.class), // 邀请成功 fanli/src/main/java/com/yeshi/fanli/dto/mq/user/body/UserActiveMQMsg.java
New file @@ -0,0 +1,40 @@ package com.yeshi.fanli.dto.mq.user.body; import java.util.Date; import com.yeshi.fanli.dto.mq.BaseMQMsgBody; /** * 用户活跃 * * @author Administrator * */ public class UserActiveMQMsg extends BaseMQMsgBody { private Long uid; private Date createTime; public UserActiveMQMsg(Long uid, Date createTime) { super(); this.uid = uid; this.setCreateTime(createTime); } public Long getUid() { return uid; } public void setUid(Long uid) { this.uid = uid; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -2174,7 +2174,7 @@ if (UserSystemCouponRecord.STATE_FREE_ON == state) { text = "免单中"; } else if (UserSystemCouponRecord.STATE_SUCCESS == state) { text = "免单成功"; text = "已免单"; } } break; fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
@@ -528,8 +528,8 @@ ThreeSale myBoss = threeSaleMapper.getMyBoss(bossId); if (myBoss != null) { UserInfo boss = userInfoService.selectByPKey(bossId); userInviteMsgNotificationService.indirectInviteSuccess(bossId, boss.getNickName(), invitee.getNickName(), invitee.getPortrait(), new Date()); userInviteMsgNotificationService.indirectInviteSuccess(myBoss.getBoss().getId(), boss.getNickName(), invitee.getNickName(), invitee.getPortrait(), new Date()); } } catch (Exception e) { e.printStackTrace(); fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java
@@ -21,6 +21,7 @@ import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService; import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService; import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.rocketmq.MQTopicName; /** @@ -53,6 +54,10 @@ if (tag == null) tag = ""; if (java.lang.System.currentTimeMillis() <= Constant.NEW_ORDER_FANLI_RULE_TIME) { return Action.CommitMessage; } // 邀请相关 if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { if (tag.equalsIgnoreCase(UserTopicTagEnum.userLevelChanged.name())) {// 用户等级发生变化