From d4588f4e43336b26b356b869c29d0c76390167d5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 15 四月 2020 10:22:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java | 73 +++++++++++++++++++++++++++++++++++- 1 files changed, 71 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java index 4aa4dab..2dd4cef 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteSeparateServiceImpl.java @@ -5,13 +5,21 @@ import javax.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.DateUtil; import com.yeshi.fanli.dao.mybatis.user.UserInviteSeparateMapper; +import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInviteSeparate; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo; +import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserInviteSeparateService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService; import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService; @Service @@ -23,7 +31,21 @@ @Resource private UserVipConfigService userVipConfigService; + @Lazy + @Resource + private ThreeSaleSerivce threeSaleSerivce; + @Lazy + @Resource + private UserVIPPreInfoService userVIPPreInfoService; + + @Lazy + @Resource + private UserInfoService userInfoService; + + @Lazy + @Resource + private UserInviteMsgNotificationService userInviteMsgNotificationService; @Override public void insertSelective(UserInviteSeparate record) { @@ -51,8 +73,6 @@ userInviteSeparateMapper.insertSelective(inviteSeparate); } - - @Override public void updateInvalidByBossId(Long uid) { userInviteSeparateMapper.updateInvalidByBossId(uid); @@ -74,6 +94,55 @@ } + @Override + @Transactional(rollbackFor = Exception.class) + public void inviteSeparate(UserInviteSeparate record) { + if (record == null) + return; + + Long workerId = record.getWorkerId(); + Long bossId = record.getBossId(); + ThreeSale threeSale = threeSaleSerivce.getMyBoss(workerId); + if (threeSale == null) { + // 鎴愬姛鑴辩 涓嶅彂娑堟伅 + userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS); + return; + } + + boolean separate = false; + UserVIPPreInfo info = userVIPPreInfoService.getVipByProcess(bossId, UserVIPPreInfo.PROCESS_1); + if (info == null) { + separate = true; + } else if (info.getCreateTime().getTime() >= record.getEndTime().getTime()) { + separate = true; + } + + + if (!separate) { + // 鏈劚绂� + userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_INVALID); + } else { + // 鑴辩鍏崇郴 + userInviteSeparateMapper.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS); + // 鑴辩閭�璇峰叧绯� + threeSaleSerivce.inviteSeparate(workerId, bossId); + + + UserInfo worker = userInfoService.selectByPKey(workerId); + + // 鎻愰啋涓婄骇鑴辩 + userInviteMsgNotificationService.fansDivorced(bossId, worker.getNickName(), new Date()); + + // 鎻愰啋涓婁笂绾ц劚绂� + ThreeSale threeSaleSuper = threeSaleSerivce.getMyBoss(bossId); + if (threeSaleSuper != null) { // 绮変笣鍗囩骇鎻愰啋 + Long bossIdSuper = threeSaleSuper.getBoss().getId(); + UserInfo boss = userInfoService.selectByPKey(workerId); + userInviteMsgNotificationService.fansDivorcedIndirect(bossIdSuper, worker.getNickName(), + boss.getNickName(), new Date()); + } + } + } } -- Gitblit v1.8.0