From 09417e97672be66c5e312b10f23a9e30da3acb97 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@MS-20170306HGUF> Date: 星期一, 24 二月 2020 15:23:08 +0800 Subject: [PATCH] 热销转换发圈 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 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 2c77ed6..c0ed50f 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 @@ -25,8 +25,11 @@ import com.yeshi.fanli.service.inter.order.OrderHongBaoMapService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; @Service public class InviteOrderSubsidyServiceImpl implements InviteOrderSubsidyService { @@ -49,6 +52,9 @@ @Resource private HongBaoManageService hongBaoManageService; + @Resource + private UserVIPInfoService userVIPInfoService; + @Override public InviteOrderSubsidy getByOrderNoAndType(Long uid, String orderNo, Integer type) { return inviteOrderSubsidyMapper.getByOrderNoAndType(uid, orderNo, type); @@ -59,9 +65,8 @@ return inviteOrderSubsidyMapper.getByOrderNoAndTypeForUpdate(uid, orderNo, type); } - @Transactional - @Override - public void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException { + @Transactional(rollbackFor=Exception.class) + private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException { if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo()) || orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null) throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�"); @@ -75,6 +80,9 @@ // 淇敼鐘舵�� 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); @@ -85,14 +93,14 @@ } } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public void addOrUpdateByOrder(String orderId, int sourceType) throws InviteOrderSubsidyException { List<HongBaoOrder> list = hongBaoOrderService.listByOrderIdAndSourceType(orderId, sourceType); if (list != null && list.size() > 0) { // 蹇呴』鏄嚜璐鍗曟墠杩斿埄 HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId()); - if (parent != null && parent.getType() == HongBaoV2.TYPE_ZIGOU) { + if (parent != null && parent.getType() == HongBaoV2.TYPE_ZIGOU && parent.getUrank() != 100) {// 涓嶆槸浼氬憳鐨勮嚜璐墠琛ヨ创 Order order = orderService.findOrderByOrderIdAndType(orderId, sourceType); List<Long> idList = new ArrayList<>(); for (HongBaoOrder ho : list) @@ -147,15 +155,18 @@ rate = firstRate; else rate = secondRate; - BigDecimal money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(totalMoney, rate), + BigDecimal money = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(totalMoney, rate), new BigDecimal(100)); InviteOrderSubsidy orderSubsidy = new InviteOrderSubsidy(); orderSubsidy.setMoney(money); + orderSubsidy.setOriginalMoney(money); orderSubsidy.setUid(uid); orderSubsidy.setOrderNo(orderId); orderSubsidy.setSourceType(sourceType); orderSubsidy.setState(state); - addOrderSubsidy(orderSubsidy); + // VIP鐢ㄦ埛鎵嶈兘琛ヨ创 + if (userVIPInfoService.isVIP(uid)) + addOrderSubsidy(orderSubsidy); } } } -- Gitblit v1.8.0