From 319a0ca57e5a35ce29efb97c4a1a52648a5ce9c6 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 28 六月 2019 12:19:52 +0800 Subject: [PATCH] 邀请队友奖励推广红包逻辑修改: 以邀请者当前活跃版本进行判断是否赠送 --- fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 78 insertions(+), 27 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java index 7685061..692f57f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java @@ -8,6 +8,7 @@ import javax.annotation.Resource; +import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,6 +16,7 @@ import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.entity.bus.user.ThreeSale; import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo; +import com.yeshi.fanli.entity.bus.user.UserActiveLog; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.exception.ThreeSaleException; import com.yeshi.fanli.log.LogHelper; @@ -23,6 +25,7 @@ import com.yeshi.fanli.service.inter.msg.MsgInviteDetailService; import com.yeshi.fanli.service.inter.msg.UserInviteMsgNotificationService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; +import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @@ -55,6 +58,13 @@ @Resource private UserTaoLiJinOriginService userTaoLiJinOriginService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource(name = "taskExecutor") + private TaskExecutor executor; + public UserInfo getBoss(final long uid) { @@ -527,21 +537,43 @@ // 閭�璇锋秷鎭� userInviteMsgNotificationService.inviteSuccess(inviter.getId(), threeSale); - if (VersionUtil.greaterThan_1_5_60(platform, version)) { - // 濂栧姳娣樼ぜ閲戠孩鍖� - try { - String inviteName= invitee.getNickName(); - if (StringUtil.isNullOrEmpty(inviteName)) { - UserInfo userInfo = userInfoService.selectByPKey(invitee.getId()); - if (userInfo != null) { - inviteName= userInfo.getNickName(); + executor.execute(new Runnable() { + @Override + public void run() { + try { + UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(inviter.getId()); + if (activeLog != null && !StringUtil.isNullOrEmpty(activeLog.getVersionCode()) ) { + String versionCode = activeLog.getVersionCode(); + String channel = activeLog.getChannel(); + + boolean result = false; + // 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS + if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) { + result = VersionUtil.greaterThan_1_5_60("ios", versionCode); + } else { + result = VersionUtil.greaterThan_1_5_60("android", versionCode); + } + + if (result) { + // 琚個璇峰悕绉� + String inviteName= invitee.getNickName(); + if (StringUtil.isNullOrEmpty(inviteName)) { + UserInfo userInfo = userInfoService.selectByPKey(invitee.getId()); + if (userInfo != null) { + inviteName= userInfo.getNickName(); + } + } + // 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級 + userTaoLiJinOriginService.addInviteWinMoney(inviter.getId(), inviteName); + } } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); } - userTaoLiJinOriginService.addInviteWinMoney(inviter.getId(), inviteName); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); } - } + }); + + } @Override @@ -590,29 +622,48 @@ UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId()); threeSale.setBoss(boss); - // 娣诲姞鍒伴槦鍒� ThreeSaleCMQManager.getInstance().addThreeSaleMsg(threeSale); + // 閭�璇锋秷鎭� userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale); - if (VersionUtil.greaterThan_1_5_60(platform, version)) { - // 濂栧姳娣樼ぜ閲戠孩鍖� - try { - String inviteName= invitee.getNickName(); - if (StringUtil.isNullOrEmpty(inviteName)) { - UserInfo userInfo = userInfoService.selectByPKey(invitee.getId()); - if (userInfo != null) { - inviteName= userInfo.getNickName(); + + executor.execute(new Runnable() { + @Override + public void run() { + try { + UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(inviterId); + if (activeLog != null && !StringUtil.isNullOrEmpty(activeLog.getVersionCode()) ) { + boolean result = false; + String versionCode = activeLog.getVersionCode(); + String channel = activeLog.getChannel(); + + // 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS + if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) { + result = VersionUtil.greaterThan_1_5_60("ios", versionCode); + } else { + result = VersionUtil.greaterThan_1_5_60("android", versionCode); + } + + if (result) { + // 琚個璇峰悕绉� + String inviteName= invitee.getNickName(); + if (StringUtil.isNullOrEmpty(inviteName)) { + UserInfo userInfo = userInfoService.selectByPKey(invitee.getId()); + if (userInfo != null) { + inviteName= userInfo.getNickName(); + } + } + // 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級 + userTaoLiJinOriginService.addInviteWinMoney(inviterId, inviteName); + } } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); } - userTaoLiJinOriginService.addInviteWinMoney(inviterId, inviteName); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); } - } - - + }); } /** -- Gitblit v1.8.0