From 2ff38cf4200a2235567e8ff6f5560a7026e1f1a6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 23 四月 2020 14:08:56 +0800 Subject: [PATCH] 返利比例兼容 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java index 07aae28..8fa12e3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java @@ -1,6 +1,13 @@ package com.yeshi.fanli.service.impl.order; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import javax.annotation.Resource; @@ -8,34 +15,84 @@ import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.order.InviteOrderSubsidyMapper; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.order.HongBaoOrder; 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.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMapService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +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 InviteOrderSubsidyServiceImpl implements InviteOrderSubsidyService { - @Resource private InviteOrderSubsidyMapper inviteOrderSubsidyMapper; + + @Resource + private HongBaoV2Service hongBaoV2Service; + + @Resource + private HongBaoOrderService hongBaoOrderService; + + @Resource + private OrderHongBaoMapService orderHongBaoMapService; + + @Resource + private CommonOrderService commonOrderService; + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private UserLevelManager userLevelManager; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; @Override public InviteOrderSubsidy getByOrderNoAndType(Long uid, String orderNo, Integer type) { return inviteOrderSubsidyMapper.getByOrderNoAndType(uid, orderNo, type); } - @Transactional - @Override - public void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException { + + private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) + throws InviteOrderSubsidyException, CommonOrderException { if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo()) || orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null) throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�"); InviteOrderSubsidy old = getByOrderNoAndType(orderSubsidy.getUid(), orderSubsidy.getOrderNo(), orderSubsidy.getSourceType()); if (old != null) {// 淇敼 + if (old.getState() == InviteOrderSubsidy.STATE_INVALID + || old.getState() == InviteOrderSubsidy.STATE_SUBSIDIZED) + return; + // 淇敼鐘舵�� InviteOrderSubsidy update = new InviteOrderSubsidy(old.getId()); update.setMoney(orderSubsidy.getMoney()); + if (old.getState() == InviteOrderSubsidy.STATE_UNKNOWN) {// 鐘舵�佹湭纭畾涔嬪墠鎵嶅彲浠ユ洿鏀瑰師濮嬭ˉ璐磋祫閲� + update.setOriginalMoney(orderSubsidy.getOriginalMoney()); + } update.setState(orderSubsidy.getState()); update.setUpdateTime(new Date()); inviteOrderSubsidyMapper.updateByPrimaryKeySelective(update); -- Gitblit v1.8.0