From 05c40a68b5664c5ed41dbaa57ba30f0c73757b26 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 25 Apr 2023 11:10:48 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 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 88279d2..dc79812 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
@@ -72,6 +72,15 @@
         if(ObjectUtil.isEmpty(mallMemberBank)){
             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("请填写数字货币账号");
+        }
 
         MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
         // 可提现
@@ -99,22 +108,30 @@
             if("1".equals(voucherOnOff)){
                 BigDecimal voucherCntDto = withdrawalDto.getVoucherCnt();
                 if(voucherCntDto.compareTo(BigDecimal.ZERO) <= 0){
-                    throw new FebsException("红豆不足");
+                    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());
+                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);
 
-                BigDecimal voucherCnt = wallet.getVoucherCnt();
-                if(voucherCnt.compareTo(voucherPercentNeed) < 0){
-                    throw new FebsException("红豆不足");
+                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, "voucher_cnt");
+//                walletService.reduce(voucherCntDto, memberId, "voucherCnt");
+                walletService.reduce(voucherCntDto, memberId, "voucherFireCnt");
                 serviceFee = voucherCntDto;
                 remark = AppContants.MEMBER_WITHDRAW_VOUCHER;
             }

--
Gitblit v1.9.1