xiaoyong931011
2023-03-02 69025a3687c6dc6260e894c6bfb793178ef8fea2
src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
@@ -137,6 +137,7 @@
                        if (ObjectUtil.isNotEmpty(mallMoneyFlow)) {
                            log.debug("检查支付金额payMoney={},mallMoneyFlow.getPayMoney()={}", payMoney, mallMoneyFlow.getAmount());
                            //合伙人申请的充值,要更新会员状态为FIRST_LEVEL
                            if(2 == type){
                                mallMemberService.updateMemberAgent(memberId);
                            }
@@ -154,13 +155,28 @@
                            DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                                    DataDictionaryEnum.GIVE_AMOUNT.getType(),
                                    DataDictionaryEnum.GIVE_AMOUNT.getCode());
                            if(ObjectUtil.isNotEmpty(giveStateDic)
                            DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                                    DataDictionaryEnum.CHARGE_AMOUNT.getType(),
                                    DataDictionaryEnum.CHARGE_AMOUNT.getCode());
                            /**
                             * 普通充值
                             * 开启了充值赠送
                             * 系统设置的赠送金额和充值金额不为空
                             * 充值金额大于等于系统设置的充值金额
                             */
                            if(1 == type
                                    && ObjectUtil.isNotEmpty(giveStateDic)
                                && "1".equals(giveStateDic.getValue())
                                    && ObjectUtil.isNotEmpty(giveAmountDic)){
                                    && ObjectUtil.isNotEmpty(giveAmountDic)
                                    && ObjectUtil.isNotEmpty(chargeAmountDic)){
                                BigDecimal giveAmount = ObjectUtil.isEmpty(giveAmountDic.getValue()) ?
                                        BigDecimal.ZERO :
                                        new BigDecimal(giveAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
                                BigDecimal chargeAmount = ObjectUtil.isEmpty(chargeAmountDic.getValue()) ?
                                        BigDecimal.ZERO :
                                        new BigDecimal(chargeAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
                                if(payMoney.compareTo(chargeAmount) >= 0){
                                mallMoneyFlowService.addMoneyFlow(
                                        memberId,
                                        giveAmount,
@@ -172,6 +188,7 @@
                                memberWalletService.addBalance(giveAmount,memberId);
                            }
                            }
                            RechargeWalletMessageSendDto rechargeWalletMessageSendDto = new RechargeWalletMessageSendDto();
                            rechargeWalletMessageSendDto.setRechargeNo(rechargeNo);