xiaoyong931011
2023-04-08 d41bbcde17f899035aff34890cafeda2cc23d30e
设置内转开关
6 files modified
30 ■■■■ changed files
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -90,10 +90,10 @@
    public Binding autoLevelUpBind() {
        return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
    }
    // 订单返利 开始
    @Bean
    public DirectExchange agentReturnMoneyExchange() {
        return new DirectExchange(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange());
        return new DirectExchange(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange());
    }
    @Bean
@@ -103,8 +103,9 @@
    @Bean
    public Binding agentReturnMoneyBind() {
        return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute());
        return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute());
    }
    // 订单返利 结束
    @Bean
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -278,6 +278,11 @@
                String levelNormal = MemberLevelEnum.NORMAL.getType();
                BigDecimal cashPercentNormal = BigDecimal.ZERO;
                BigDecimal scorePercentNormal = BigDecimal.ZERO;
                DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                        PerkEnum.POOL_SCORE_PRICE.getType(),
                        PerkEnum.POOL_SCORE_PRICE.getCode());
                BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
                for(MallMember teamPerkMember : mallMemberTeamPerk){
                    String level = teamPerkMember.getLevel();
                    //比较两个级别的大小,level大于levelNormal返回1
@@ -295,7 +300,10 @@
                        scorePercent = scorePercent.subtract(scorePercentNormal);
                        BigDecimal cashAmount = amountTC.multiply(cashPercent).setScale(2, BigDecimal.ROUND_DOWN);
                        //如果是积分,除以当前价格,得到数量。
                        BigDecimal scoreCnt = amountTC.multiply(scorePercent).setScale(2, BigDecimal.ROUND_DOWN);
                        scoreCnt = scoreCnt.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN);
                        if(cashAmount.compareTo(BigDecimal.ZERO) > 0){
                            addWalletInfoAndMoneyFlow(cashAmount,
                                    teamPerkMemberId,
@@ -340,6 +348,14 @@
            BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue());
            //获得数量
            BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN);
            //如果是积分,除以当前价格,得到数量。
            if(walletField.equals("score")){
                DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                        PerkEnum.POOL_SCORE_PRICE.getType(),
                        PerkEnum.POOL_SCORE_PRICE.getCode());
                BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
                perkEnumDicPercentPerk = perkEnumDicPercentPerk.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN);
            }
            if(perkEnumDicPercentPerk.compareTo(BigDecimal.ZERO) > 0){
                addWalletInfoAndMoneyFlow(perkEnumDicPercentPerk,memberId,walletField,type,flowType,orderNo);
            }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -366,6 +366,7 @@
                mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                agentProducer.sendAutoLevelUpMsg(member.getId());
                agentProducer.sendOrderReturn(orderInfo.getId());
                agentProducer.sendReturnMoneyMsg(orderInfo.getId());
                break;
            case "4":
                if (orderInfo.getOrderType() != 2) {
src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
@@ -8,6 +8,6 @@
    public static final String QUEUE_DEFAULT = "queue_default";
    public static final String AGENT_AUTO_LEVEL_UP = "queue_agent_auto_level_up";
    public static final String AGENT_RETURN_MONEY = "queue_agent_return_money";
    public static final String AGENT_RETURN_MONEY = "queue_h_agent_return_money";
    public static final String ORDER_RETURN_MONEY = "queue_order_return_money";
}
src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
@@ -10,7 +10,7 @@
    ORDER_CANCEL_DELAY_TTL("exchange_order_delay_ttl", "route_key_order_delay_ttl", "queue_order_delay_ttl"),
    ORDER_CANCEL_DELAY("exchange_order_delay", "route_key_order_delay", "queue_order_delay"),
    AGENT_REUTRN_MONEY("exchange_agent_return_money", "route_key_agent_return_money", "queue_agent_return_money"),
    AGENT_RETURN_MONEY("exchange_h_agent_return_money", "route_key_h_agent_return_money", "queue_h_agent_return_money"),
    ORDER_RETURN_MONEY("exchange_order_return_money", "route_key_order_return_money", "queue_order_return_money");
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -74,6 +74,6 @@
    public void sendReturnMoneyMsg(Long orderId) {
        log.info("发送返利消息:{}", orderId);
        rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange(), RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute(), orderId);
        rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange(), RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute(), orderId);
    }
}