yujian
2020-04-18 db751b1fda37f52134cdc1730a4037138b7f3550
升级消息
3个文件已修改
63 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java
@@ -10,7 +10,11 @@
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.DateUtil;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.user.UserInviteSeparateMapper;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.ThreeSaleSeparateMQMsg;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
@@ -24,6 +28,9 @@
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Service
public class UserInviteSeparateServiceImpl implements UserInviteSeparateService {
@@ -57,6 +64,11 @@
    @Lazy
    @Resource
    private UserInviteValidNumService userInviteValidNumService;
    @Resource(name = "producer")
    private Producer producer;
    @Override
    public void insertSelective(UserInviteSeparate record) {
@@ -148,6 +160,13 @@
        userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS);
        // 脱离邀请关系
        threeSaleSerivce.inviteSeparate(workerId, bossId);
        if (!Constant.IS_TEST) {
            ThreeSaleSeparateMQMsg msg = new ThreeSaleSeparateMQMsg(bossId, workerId , new Date());
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.threeSaleSeparate, msg);
            producer.send(message);
        }
        // 直接有效粉丝脱离-1
        userInviteValidNumService.reduceValidNumFirst(bossId, workerId);
        // 间接有效粉丝脱离-1
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
@@ -10,9 +10,12 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.DateUtil;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPInfoMapper;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
@@ -42,6 +45,8 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Service
public class UserVIPInfoServiceImpl implements UserVIPInfoService {
@@ -95,6 +100,12 @@
    
    @Resource
    private UserLevelUpgradedNotifyService userLevelUpgradedNotifyService;
    @Resource(name = "producer")
    private Producer producer;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -259,6 +270,13 @@
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (!Constant.IS_TEST) {
            UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(uid, UserLevelEnum.highVIP,UserLevelEnum.superVIP, new Date());
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg);
            producer.send(message);
        }
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
@@ -14,7 +14,11 @@
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.DateUtil;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPPreInfoMapper;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -49,6 +53,8 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Service
public class UserVIPPreInfoServiceImpl implements UserVIPPreInfoService {
@@ -104,6 +110,9 @@
    
    @Resource(name = "taskExecutor")
    private TaskExecutor executor;
    @Resource(name = "producer")
    private Producer producer;
    
    @Override
@@ -391,6 +400,12 @@
            userInviteSeparateService.updateInvalidByBossId(uid);
            // 提醒上级
            remindBoss(uid, "普通会员", item, upgradeTime, true);
            if (!Constant.IS_TEST) {
                UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(uid, UserLevelEnum.daRen,UserLevelEnum.normalVIP, new Date());
                Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg);
                producer.send(message);
            }
        } catch (Exception e) {
           e.printStackTrace();
        }
@@ -445,6 +460,7 @@
            }
                        
            // 升级消息
            UserLevelEnum fromLevel = UserLevelEnum.normalVIP;
            int daysBetween = 0;
            boolean divorced = false;
            String beforeName = "快省达人";
@@ -464,11 +480,19 @@
                goldcoinReward(uid);
                // 需要发送脱离信息
                divorced = true;
                fromLevel = UserLevelEnum.daRen;
            }
            userAccountMsgNotificationService.vipPreUpgrade(uid, beforeName, "高级会员", daysBetween, limit1, limit2, type);
            // 提醒上级
            remindBoss(uid, "高级会员", item, upgradeTime, divorced);
            if (!Constant.IS_TEST) {
                UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(uid, fromLevel,UserLevelEnum.highVIP, new Date());
                Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg);
                producer.send(message);
            }
        } catch (Exception e) {
            e.printStackTrace();
            LogHelper.error(e);