From 851e43f3d0a79154cb4dc3a55738a83a97797c2d Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 13 十一月 2019 10:04:34 +0800 Subject: [PATCH] 红包提现次数限制 --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 39 insertions(+), 5 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java index 88d155e..d16ce64 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java @@ -14,6 +14,7 @@ import com.yeshi.fanli.dao.mybatis.redpack.RedPackWinInviteMapper; import com.yeshi.fanli.dto.msg.MsgRedPackAddContentDTO; import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum; +import com.yeshi.fanli.entity.bus.user.UserActiveLog; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.order.CommonOrder; @@ -24,6 +25,7 @@ import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService; import com.yeshi.fanli.service.inter.redpack.RedPackConfigService; import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService; +import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; @@ -31,6 +33,7 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; import com.yeshi.fanli.util.annotation.redpack.RedPackGetVersionLimit; import com.yeshi.fanli.util.factory.RedPackDetailFactory; @@ -66,6 +69,9 @@ @Resource private IntegralTaskRecordService integralTaskRecordService; + @Resource + private UserActiveLogService userActiveLogService; + @Override public List<RedPackWinInvite> getRewardList(int start, int count, Long uid) { @@ -78,6 +84,12 @@ return redPackWinInviteMapper.countRewardRecord(uid); } + @Override + public BigDecimal getRewardMoney(Long uid) { + return redPackWinInviteMapper.getRewardMoney(uid); + } + + @RedPackGetVersionLimit(uid = "#uid") @RequestSerializableByKeyService(key = "#uid") @Transactional(rollbackFor = Exception.class) @@ -89,6 +101,15 @@ // 涓婁竴绾х殑濂栧姳 UserInfo boss = threeSaleSerivce.getBoss(uid); if(boss != null) { + UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(boss.getId()); + if (activeLog == null) + return; + + // 灏忎簬2.0.2鐗堟湰涓嶅鍔� + if (!VersionUtil.greaterThan_2_0_2("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android", + activeLog.getVersionCode())) + return; + bossReward(boss.getId(), uid, source, orderNo); } } @@ -160,7 +181,8 @@ dto.setTitle("绾㈠寘澧炲姞"); dto.setMoney("楼" + money.setScale(2)); dto.setBalance("楼" + redPackBalanceService.getBalance(uid).setScale(2)); - userMoneyMsgNotificationService.redPackMsg(uid, MsgTypeMoneyTypeEnum.redPackFirstSharedOrder, new Gson().toJson(dto), "绾㈠寘鍙敤浜庤喘涔颁細鍛�"); + userMoneyMsgNotificationService.redPackMsg(uid, MsgTypeMoneyTypeEnum.redPackFirstSharedOrder, + new Gson().toJson(dto), "璇峰埌鈥滄垜鐨�-绾㈠寘鈥濅腑鏌ョ湅"); } @@ -219,19 +241,30 @@ dto.setTitle("绾㈠寘澧炲姞"); dto.setMoney("楼" + money.setScale(2)); dto.setBalance("楼" + redPackBalanceService.getBalance(uid).setScale(2)); - userMoneyMsgNotificationService.redPackMsg(uid, MsgTypeMoneyTypeEnum.redPackMonthSharedOrder, new Gson().toJson(dto), "绾㈠寘鍙敤浜庤喘涔颁細鍛�"); + userMoneyMsgNotificationService.redPackMsg(uid, MsgTypeMoneyTypeEnum.redPackMonthSharedOrder, + new Gson().toJson(dto), "璇峰埌鈥滄垜鐨�-绾㈠寘鈥濅腑鏌ョ湅"); } - @RequestSerializableByKeyService(key = "#uid") @Override - @Transactional + @RedPackGetVersionLimit(uid = "#uid") + @RequestSerializableByKeyService(key = "#uid") + @Transactional(rollbackFor = Exception.class) public void inviteSucceedReward(Long uid) throws Exception{ // 楠岃瘉鏄惁瀛樺湪涓婄骇 UserInfo boss = threeSaleSerivce.getBoss(uid); if(boss == null) return; + UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(boss.getId()); + if (activeLog == null) + return; + + // 灏忎簬2.0.2鐗堟湰涓嶅鍔� + if (!VersionUtil.greaterThan_2_0_2("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android", + activeLog.getVersionCode())) + return; + // 鍚屼竴闃熷憳濂栧姳涓�娆� long totalReward = redPackWinInviteMapper.countByUidAndTeamUidAndType(boss.getId(), uid, RedPackWinInviteTypeEnum.inviteSucceed.name()); if (totalReward > 0) @@ -290,7 +323,8 @@ dto.setTitle("绾㈠寘澧炲姞"); dto.setMoney("楼" + money.setScale(2)); dto.setBalance("楼" + redPackBalanceService.getBalance(boss.getId()).setScale(2)); - userMoneyMsgNotificationService.redPackMsg(boss.getId(), MsgTypeMoneyTypeEnum.redPackInviteSucceed, new Gson().toJson(dto), "绾㈠寘鍙敤浜庤喘涔颁細鍛�"); + userMoneyMsgNotificationService.redPackMsg(boss.getId(), MsgTypeMoneyTypeEnum.redPackInviteSucceed, + new Gson().toJson(dto), "璇峰埌鈥滄垜鐨�-绾㈠寘鈥濅腑鏌ョ湅"); } } -- Gitblit v1.8.0