From cf0acf91076a0a0f720adbbe486cc5d7f3d1d3f9 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 25 Apr 2023 16:26:22 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 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 1f3041f..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,7 +108,7 @@
             if("1".equals(voucherOnOff)){
                 BigDecimal voucherCntDto = withdrawalDto.getVoucherCnt();
                 if(voucherCntDto.compareTo(BigDecimal.ZERO) <= 0){
-                    throw new FebsException("红豆不足");
+                    throw new FebsException("能量不足");
                 }
                 //提现需要的凭证数量 = 提现金额 * 余额提现需要绿色凭证比例
                 DataDictionaryCustom voucherPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
@@ -109,12 +118,20 @@
                 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, "voucherCnt");
+//                walletService.reduce(voucherCntDto, memberId, "voucherCnt");
+                walletService.reduce(voucherCntDto, memberId, "voucherFireCnt");
                 serviceFee = voucherCntDto;
                 remark = AppContants.MEMBER_WITHDRAW_VOUCHER;
             }

--
Gitblit v1.9.1