From bb07147aaa96d1ef4c99e358dbbe7dad160dc62a Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 19 十二月 2019 15:43:23 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 45 insertions(+), 7 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 d240330..753373e 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 @@ -93,13 +93,45 @@ public BigDecimal getRewardMoney(Long uid) { return redPackWinInviteMapper.getRewardMoney(uid); } + + @Override + @RequestSerializableByKeyService(key = "#teamUid") + @Transactional(rollbackFor = Exception.class) + public void initCreateRedPackWin(Long bossId, Long teamUid) { + UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId); + if (activeLog == null) + return; + + // 灏忎簬2.0.5鐗堟湰涓嶅鍔� + if (!VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android", + activeLog.getVersionCode())) + return; + + // 鍚屼竴闃熷憳鍙褰曚竴娆� + int totalReward = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid, + RedPackWinInviteTypeEnum.oneStageReward.name()); + if (totalReward > 0) + return; + + // 鑾峰緱绾㈠寘 + RedPackWinInvite winInvite = new RedPackWinInvite(); + winInvite.setUid(bossId); + winInvite.setTeamUid(teamUid); + winInvite.setMoney(new BigDecimal(0)); + winInvite.setType(RedPackWinInviteTypeEnum.zeroStageReward); + winInvite.setIdentifyCode(StringUtil.Md5(RedPackWinInviteTypeEnum.oneStageReward.name() + ":" + teamUid)); + winInvite.setCreateTime(new Date()); + winInvite.setUpdateTime(new Date()); + redPackWinInviteMapper.insertSelective(winInvite); + } + @Override @RequestSerializableByKeyService(key = "#teamUid") @Transactional(rollbackFor = Exception.class) public void inviteSucceedReward(Long teamUid) throws Exception { // 鏄惁鍦ㄤ笂绾夸箣鍚庣殑閭�璇峰叧绯� - ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME)); + ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME)); if (threeSale == null) return; @@ -190,7 +222,7 @@ return; // 楠岃瘉涓婁笅绾у叧绯� - ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME)); + ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME)); if (threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue()) return; @@ -220,7 +252,7 @@ * @param orderNo * @param bossId */ - @Transactional + @Transactional(rollbackFor=Exception.class) private void twoStageRewardToBoss(Long bossId, Long teamUid, Date oneStageTime, Integer source, String orderNo) throws Exception { // 绗竴闃舵瀹屾垚涔嬪悗鐨�90澶╁唴 ; 闃熷弸浜х敓鐨勮鍗曚腑锛堣嚜璐�+鍒嗕韩锛夛紝閭�璇蜂汉绱浜х敓鈮�1 鍏冨閲� @@ -273,7 +305,7 @@ * @param orderNo * @param bossId */ - @Transactional + @Transactional(rollbackFor=Exception.class) private void threeStageRewardToBoss(Long bossId, Long teamUid, Date twoStageTime, Integer source, String orderNo) throws Exception { // 浜屻�佷笁闃舵涓嶅彲鍚屾湀 @@ -346,9 +378,6 @@ if (userInfo == null) return listVO; - listVO.add(new RedPackWinProgressVO("鎴愬姛娉ㄥ唽", TimeUtil.formatDate(userInfo.getCreatetime()))); - listVO.add(new RedPackWinProgressVO("纭珛閭�璇�", TimeUtil.formatDate(threeSale.getSucceedTime()))); - // 濂栧姳璁板綍 List<RedPackWinInvite> listWin = redPackWinInviteMapper.getWinListByBossIdAndTeamUid(uid, tid); if (listWin == null || listWin.size() == 0) @@ -356,6 +385,10 @@ int month = 1; for (RedPackWinInvite win: listWin) { + if (win.getType() == RedPackWinInviteTypeEnum.zeroStageReward) { + listVO.add(new RedPackWinProgressVO("鎴愬姛娉ㄥ唽", TimeUtil.formatDate(userInfo.getCreatetime()))); + listVO.add(new RedPackWinProgressVO("纭珛閭�璇�", TimeUtil.formatDate(threeSale.getSucceedTime()))); + } String time = TimeUtil.formatDate(win.getCreateTime()); BigDecimal money = win.getMoney().setScale(2); if (win.getType() == RedPackWinInviteTypeEnum.oneStageReward) { @@ -389,4 +422,9 @@ return redPackWinInviteMapper.countWinTopListByBossId(uid); } + @Override + public long countTeamNumByTid(Long uid, Long teamUid) { + return redPackWinInviteMapper.countTeamNumByTid(uid, teamUid); + } + } -- Gitblit v1.8.0