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);