From 394ee5b2dc3416634540b9f942c869574adb3d9c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 20 十一月 2019 14:47:32 +0800 Subject: [PATCH] 邀请订单到账 --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java | 51 ++++++++++++++++++++++++--------------------------- 1 files changed, 24 insertions(+), 27 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 b7710be..8c62abc 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 @@ -18,6 +18,7 @@ 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; import com.yeshi.fanli.entity.redpack.RedPackWinInvite; import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; @@ -36,6 +37,7 @@ 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; @Service @@ -163,54 +165,49 @@ @RequestSerializableByKeyService(key = "#uid") + @RedPackGetVersionLimit(uid = "#uid") @Transactional(rollbackFor = Exception.class) @Override - public void orderArriveReward(Long uid, Integer source, String orderNo) throws Exception { + public void inviteOrderArriveReward(Long uid, Integer source, String orderNo) throws Exception { if (uid == null || source == null || StringUtil.isNullOrEmpty(orderNo)) return; - ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(uid, Constant.RED_PACK_REWARD_TIME); - if(threeSale == null) - return; - bossReward(threeSale.getBoss().getId(), uid, source, orderNo); - } - - - /** - * 涓婄骇濂栧姳 - * @param uid - * @param teamUid - * @param source - * @param orderNo - * @throws Exception - */ - @Transactional - private void bossReward(Long bossId, Long teamUid, Integer source, String orderNo) throws Exception { - UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId); - if (activeLog == null) + //鑾峰彇璁㈠崟瀵瑰簲涓嬪崟浜� + List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(source, orderNo); + if (list == null || list.isEmpty()) return; - // 灏忎簬2.0.2鐗堟湰涓嶅鍔� - if (!VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android", - activeLog.getVersionCode())) + CommonOrder commonOrder = list.get(0); + if (commonOrder == null || commonOrder.getUserInfo() == null) + return; + + // 涓嬪崟浜篿d + Long teamUid = commonOrder.getUserInfo().getId(); + if (teamUid == null) + return; + + // 楠岃瘉涓婁笅绾у叧绯� + ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, Constant.RED_PACK_REWARD_TIME); + if(threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue()) return; // 绗竴闃舵(楠岃瘉) - RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name()); + RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name()); if (oneStage == null) return; // 绗簩闃舵(楠岃瘉) - RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.twoStageReward.name()); + RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.twoStageReward.name()); if (twoStage == null) { - twoStageRewardToBoss(bossId, teamUid, oneStage.getCreateTime(), source, orderNo); + twoStageRewardToBoss(uid, teamUid, oneStage.getCreateTime(), source, orderNo); return; } // 绗笁闃舵 - threeStageRewardToBoss(bossId, teamUid, twoStage.getCreateTime(), source, orderNo); + threeStageRewardToBoss(uid, teamUid, twoStage.getCreateTime(), source, orderNo); } + /** * 涓婄骇濂栧姳--绗簩闃舵 * @param uid -- Gitblit v1.8.0