xiaoyong931011
2023-07-20 f922fc5f52e4ed41ef523de02c9d257345d385e3
支付返利,微信余额支付会有返利。发卷,赠送积分逻辑
2 files modified
14 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
@@ -11,7 +11,7 @@
@Getter
public enum MoneyFlowTypeEnum {
    /**
     * 静态收益
     * 赠送积分
     */
    STATIC_BONUS(1),
    /**
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
@@ -10,10 +11,7 @@
import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAgentService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallAchieveService;
import cc.mrbird.febs.mall.service.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -56,6 +54,7 @@
    private final MallGoodsMapper mallGoodsMapper;
    private final IApiMallMemberWalletService memberWalletService;
    private final MallRollPerkMapper mallRollPerkMapper;
    private final IMallMoneyFlowService mallMoneyFlowService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -377,6 +376,8 @@
                BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN);
                BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN);
                memberWalletService.add(amountActual, id, "balance");
                mallMoneyFlowService.addMoneyFlow(id, amountActual, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.BALANCE.getValue());
            }
        }
        for(MallOrderItem mallOrderItem : mallOrderItemList){
@@ -398,6 +399,9 @@
            BigDecimal levelOnePrice = mallGoods.getLevelOnePrice();
            if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){
                memberWalletService.add(levelOnePrice, memberId, "score");
                mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(),
                        mallOrderInfo.getOrderNo(),  FlowTypeEnum.SCORE.getValue());
            }
        }
    }