| | |
| | | |
| | | BigDecimal serviceFee = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01)); |
| | | walletService.reduce(withdrawalDto.getAmount(), memberId, "balance"); |
| | | walletService.reduce(withdrawalDto.getAmount(), memberId, "commission"); |
| | | // walletService.reduce(withdrawalDto.getAmount(), memberId, "commission"); |
| | | String orderNo = MallUtils.getOrderNum("W"); |
| | | |
| | | MallMemberWithdraw withdraw = new MallMemberWithdraw(); |
| | |
| | | FlowTypeEnum.SCORE.getValue()); |
| | | |
| | | mallMemberService.addMoneyFlow(memberId, |
| | | scoreAmount, |
| | | scoreAmount.subtract(amountFee), |
| | | MoneyFlowTypeEnum.SCORE_TO_CASH.getValue(), |
| | | orderNo, |
| | | null, |
| | |
| | | PerkEnum.POOL_CASH.getCode() |
| | | ); |
| | | BigDecimal poolCash = new BigDecimal(poolCashDic.getValue()); |
| | | poolCash = poolCash.add(amountFee); |
| | | //先减去百分之百的提现金额在加上30%的回流金额 |
| | | poolCash = poolCash.subtract(scoreAmount).add(amountFee); |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode( |
| | | PerkEnum.POOL_CASH.getType(), |
| | | PerkEnum.POOL_CASH.getCode(), |
| | |
| | | ); |
| | | |
| | | if(poolScore.compareTo(BigDecimal.ZERO) > 0 && poolCash.compareTo(BigDecimal.ZERO) > 0){ |
| | | BigDecimal divide = poolCash.divide(poolScore, 4, BigDecimal.ROUND_DOWN); |
| | | BigDecimal divide = poolCash.divide(poolScore, 6, BigDecimal.ROUND_DOWN); |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode( |
| | | PerkEnum.POOL_SCORE_PRICE.getType(), |
| | | PerkEnum.POOL_SCORE_PRICE.getCode(), |