From 04511f746e0cd35fa18e0877d7861d271eb81e9a Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 07 Sep 2023 17:54:28 +0800 Subject: [PATCH] 优惠卷列表 --- src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 118 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 65 insertions(+), 53 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java index d24988d..825447e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java @@ -47,12 +47,23 @@ private final MallMemberPaymentMapper mallMemberPaymentMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final MallMemberBankMapper mallMemberBankMapper; + private final MallMemberAlipayMapper mallMemberAlipayMapper; @Override @Transactional(rollbackFor = Exception.class) public void withdrawal(WithdrawalDto withdrawalDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = mallMemberService.getById(memberId); + + Integer outsideWith = mallMember.getOutsideWith() == null ? 2 :mallMember.getOutsideWith(); + if (1 != outsideWith) { + throw new FebsException("功能升级中"); + } + Integer isAuth = mallMember.getIsAuth(); + + if (1 != isAuth) { + throw new FebsException("未实名认证"); + } if (StrUtil.isBlank(mallMember.getTradePassword())) { throw new FebsException("未设置支付密码"); } @@ -85,16 +96,17 @@ throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut().setScale(2,BigDecimal.ROUND_DOWN)); } - MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(withdrawalDto.getBankId()); - if(ObjectUtil.isEmpty(mallMemberBank)){ - throw new FebsException("未找到银行卡信息"); + MallMemberAlipay mallMemberAlipay = mallMemberAlipayMapper.selectById(withdrawalDto.getBankId()); +// MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(withdrawalDto.getBankId()); + if(ObjectUtil.isEmpty(mallMemberAlipay)){ + throw new FebsException("未找到支付宝信息"); } - if(ObjectUtil.isEmpty(mallMemberBank.getBankName())){ - throw new FebsException("请填写所属银行"); - } - if(ObjectUtil.isEmpty(mallMemberBank.getSubbranchName())){ - throw new FebsException("请填写所属支行"); - } +// if(ObjectUtil.isEmpty(mallMemberBank.getBankName())){ +// throw new FebsException("请填写所属银行"); +// } +// if(ObjectUtil.isEmpty(mallMemberBank.getSubbranchName())){ +// throw new FebsException("请填写所属支行"); +// } // if(ObjectUtil.isEmpty(mallMemberBank.getDigitalNo())){ // throw new FebsException("请填写数字货币账号"); // } @@ -110,49 +122,49 @@ BigDecimal serviceFeePercent = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01)); BigDecimal serviceFee = serviceFeePercent.multiply(withdrawalDto.getAmount()); String remark = AppContants.MEMBER_WITHDRAW_NORMAL; - DataDictionaryCustom voucherOnOffDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - GreenScoreEnum.VOUCHER_ON_OFF.getType(), - GreenScoreEnum.VOUCHER_ON_OFF.getCode() - ); - if(ObjectUtil.isNotEmpty(voucherOnOffDic)){ - String voucherOnOff = voucherOnOffDic.getValue(); - /** - * 绿色凭证提现开关 1:开启 2:关闭 - * 验证账户凭证数量 - * 不需要手续费 - * 减少用户的凭证数量 - */ - if("1".equals(voucherOnOff)){ - BigDecimal voucherCntDto = withdrawalDto.getVoucherCnt(); - if(voucherCntDto.compareTo(BigDecimal.ZERO) <= 0){ - throw new FebsException("能量不足"); - } - //提现需要的凭证数量 = 提现金额 * 余额提现需要绿色凭证比例 - DataDictionaryCustom voucherPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - GreenScoreEnum.VOUCHER_PERCENT.getType(), - GreenScoreEnum.VOUCHER_PERCENT.getCode() - ); - BigDecimal voucherPercent = new BigDecimal(voucherPercentDic.getValue() == null ? "0" : voucherPercentDic.getValue()).multiply(new BigDecimal(0.01)); - BigDecimal voucherPercentNeed = withdrawalDto.getAmount().multiply(voucherPercent).setScale(2,BigDecimal.ROUND_DOWN); - - DataDictionaryCustom scorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - GreenScoreEnum.SCORE_PRICE.getType(), - GreenScoreEnum.SCORE_PRICE.getCode()); - BigDecimal scorePrice = new BigDecimal(scorePriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); - voucherPercentNeed = voucherPercentNeed.divide(scorePrice,2,BigDecimal.ROUND_DOWN); - -// BigDecimal voucherCnt = wallet.getVoucherCnt(); - BigDecimal voucherFireCnt = wallet.getVoucherFireCnt(); - if(voucherFireCnt.compareTo(voucherPercentNeed) < 0){ - throw new FebsException("能量不足"); - } - -// walletService.reduce(voucherCntDto, memberId, "voucherCnt"); - walletService.reduce(voucherCntDto, memberId, "voucherFireCnt"); - serviceFee = voucherCntDto; - remark = AppContants.MEMBER_WITHDRAW_VOUCHER; - } - } +// DataDictionaryCustom voucherOnOffDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( +// GreenScoreEnum.VOUCHER_ON_OFF.getType(), +// GreenScoreEnum.VOUCHER_ON_OFF.getCode() +// ); +// if(ObjectUtil.isNotEmpty(voucherOnOffDic)){ +// String voucherOnOff = voucherOnOffDic.getValue(); +// /** +// * 绿色凭证提现开关 1:开启 2:关闭 +// * 验证账户凭证数量 +// * 不需要手续费 +// * 减少用户的凭证数量 +// */ +// if("1".equals(voucherOnOff)){ +// BigDecimal voucherCntDto = withdrawalDto.getVoucherCnt(); +// if(voucherCntDto.compareTo(BigDecimal.ZERO) <= 0){ +// throw new FebsException("能量不足"); +// } +// //提现需要的凭证数量 = 提现金额 * 余额提现需要绿色凭证比例 +// DataDictionaryCustom voucherPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( +// GreenScoreEnum.VOUCHER_PERCENT.getType(), +// GreenScoreEnum.VOUCHER_PERCENT.getCode() +// ); +// BigDecimal voucherPercent = new BigDecimal(voucherPercentDic.getValue() == null ? "0" : voucherPercentDic.getValue()).multiply(new BigDecimal(0.01)); +// BigDecimal voucherPercentNeed = withdrawalDto.getAmount().multiply(voucherPercent).setScale(2,BigDecimal.ROUND_DOWN); +// +// DataDictionaryCustom scorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( +// GreenScoreEnum.SCORE_PRICE.getType(), +// GreenScoreEnum.SCORE_PRICE.getCode()); +// BigDecimal scorePrice = new BigDecimal(scorePriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); +// voucherPercentNeed = voucherPercentNeed.divide(scorePrice,2,BigDecimal.ROUND_DOWN); +// +//// BigDecimal voucherCnt = wallet.getVoucherCnt(); +// BigDecimal voucherFireCnt = wallet.getVoucherFireCnt(); +// if(voucherFireCnt.compareTo(voucherPercentNeed) < 0){ +// throw new FebsException("能量不足"); +// } +// +//// walletService.reduce(voucherCntDto, memberId, "voucherCnt"); +// walletService.reduce(voucherCntDto, memberId, "voucherFireCnt"); +// serviceFee = voucherCntDto; +// remark = AppContants.MEMBER_WITHDRAW_VOUCHER; +// } +// } walletService.reduce(withdrawalDto.getAmount(), memberId, "balance"); @@ -165,7 +177,7 @@ withdraw.setStatus(1); withdraw.setAmountFee(serviceFee); withdraw.setRemark(remark); - withdraw.setWtihdrawTypeId(mallMemberBank.getId()); + withdraw.setWtihdrawTypeId(mallMemberAlipay.getId()); this.baseMapper.insert(withdraw); mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1, FlowTypeEnum.BALANCE.getValue()); -- Gitblit v1.9.1