yujian
2020-04-17 4a2eb8a3a00febe2a55e1d5538e7e13e9f7fae86
消息
5个文件已修改
1个文件已添加
77 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/mq/user/UserTopicTagEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/mq/user/body/UserActiveMQMsg.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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())) {// 用户等级发生变化