From 2bd2200f209ddb7bcc59b636d9de6f8b3f762958 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 23 四月 2020 10:00:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java | 50 +++++++++++++++++++++++++++++--------------------- 1 files changed, 29 insertions(+), 21 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java similarity index 91% rename from fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java rename to fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java index dcadc32..98fa7c3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java @@ -22,7 +22,6 @@ import com.yeshi.fanli.entity.order.InviteOrderSubsidy; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.exception.order.InviteOrderSubsidyException; -import com.yeshi.fanli.exception.order.OrderTeamRewardException; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; @@ -33,12 +32,13 @@ import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.service.manger.user.UserLevelManager; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.user.UserLevelUtil; @Service -public class InviteOrderSubsidyServiceImplV2 implements InviteOrderSubsidyService { - +public class InviteOrderSubsidyServiceImpl implements InviteOrderSubsidyService { @Resource private InviteOrderSubsidyMapper inviteOrderSubsidyMapper; @@ -84,9 +84,8 @@ return inviteOrderSubsidyMapper.listByOrderNoAndType(orderNo, type); } - @Transactional(rollbackFor = Exception.class) private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) - throws InviteOrderSubsidyException, OrderTeamRewardException, CommonOrderException { + throws InviteOrderSubsidyException, CommonOrderException { if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo()) || orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null) throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�"); @@ -121,19 +120,19 @@ // 蹇呴』鏄嚜璐鍗曟墠杩斿埄 HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId()); if (parent != null - && (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {// 涓嶆槸瓒呯骇浼氬憳鐨勮嚜璐�/鍒嗕韩鎵嶈ˉ璐� + && (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {// List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId); if (orderList == null || orderList.size() == 0) throw new InviteOrderSubsidyException(10, "璁㈠崟涓虹┖"); CommonOrder firstOrder = orderList.get(0); Date placeOrderTime = firstOrder.getThirdCreateTime(); - int urank = firstOrder.getUrank(); - UserLevelEnum buyerUserLevel = null; - for (UserLevelEnum level : UserLevelEnum.values()) - if (level.getOrderRank() == urank) - buyerUserLevel = level; + if (placeOrderTime.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) + return; + + int urank = firstOrder.getUrank(); + UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank); if (buyerUserLevel == null) throw new InviteOrderSubsidyException(11, "鐢ㄦ埛绛夌骇涓虹┖"); @@ -154,7 +153,7 @@ } List<HongBaoV2> hbList = hongBaoV2Service.listByIds(idList); - Integer state = null; + Integer state = InviteOrderSubsidy.STATE_UNKNOWN; // 浜х敓鏀硅鍗曠殑杩斿埄鎬婚噾棰� BigDecimal totalBuyFanLiMoney = new BigDecimal(0); @@ -163,15 +162,8 @@ if (v2.getState() == HongBaoV2.STATE_BUKELINGQU || v2.getState() == HongBaoV2.STATE_KELINGQU || v2.getState() == HongBaoV2.STATE_YILINGQU) totalBuyFanLiMoney = totalBuyFanLiMoney.add(v2.getMoney()); - - if (state == null && (v2.getState() == HongBaoV2.STATE_KELINGQU - || v2.getState() == HongBaoV2.STATE_YILINGQU)) {// 绾㈠寘鐘舵�佷负宸查鍙栨垨鑰呮槸寰呴鍙栵紝鍒欒缃负琛ヨ创鏈夋晥 - state = InviteOrderSubsidy.STATE_VALID; - } } - if (state == null) - state = InviteOrderSubsidy.STATE_UNKNOWN; // 璁$畻濂栧姳閲� for (Iterator<Long> its = uidHongBaoMap.keySet().iterator(); its.hasNext();) { Long uid = its.next(); @@ -205,12 +197,23 @@ try { addOrderSubsidy(orderSubsidy); - } catch (OrderTeamRewardException e) { - throw new InviteOrderSubsidyException(e.getCode(), e.getMsg()); } catch (CommonOrderException e) { throw new InviteOrderSubsidyException(e.getCode(), e.getMsg()); } } + } + + boolean isSettle = false; + if (orderList != null) + for (CommonOrder commonOrder : orderList) { + if (commonOrder.getState() == CommonOrder.STATE_JS + || commonOrder.getState() == CommonOrder.STATE_WQ) { + isSettle = true; + break; + } + } + if (isSettle) { + validByOrderIdAndSourceType(orderId, sourceType); } } } @@ -308,4 +311,9 @@ return money; } + @Override + public List<InviteOrderSubsidy> listByOrderNoAndTypeAndUid(String orderNo, Integer type, Long uid) { + return inviteOrderSubsidyMapper.listByOrderNoAndTypeAndUid(orderNo, type, uid); + } + } -- Gitblit v1.8.0