From 600e7e97ef08a03b4d1e142ae9a364317a86e683 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 30 Nov 2022 10:58:03 +0800
Subject: [PATCH] 20221124

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
index 981c2c6..57c96d6 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
@@ -47,10 +47,13 @@
         if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
             throw new FebsException("刷新页面重试");
         }
+        if(MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()){
+            throw new FebsException("当前记录不是待提现,请刷新后重试");
+        }
         memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_YES);
         memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
         //转出账户,总额减少,冻结减少
-        BigDecimal amount = memberCoinWithdrawEntity.getAmount().setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal amount = memberCoinWithdrawEntity.getAmount().setScale(4,BigDecimal.ROUND_DOWN);
         Long memberIdOut = memberCoinWithdrawEntity.getMemberId();
         DappWalletCoinEntity dappWalletCoinEntityOut = dappWalletCoinDao.selectByMemberId(memberIdOut);
         dappWalletCoinDao.delTotalAndDelFrozenById(dappWalletCoinEntityOut.getId(),amount);
@@ -67,9 +70,9 @@
         }
         //转出账户生成一条账户资金变化记录
         DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityOut = new DappAccountMoneyChangeEntity(memberIdOut,
-                dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN),
-                amount,
-                dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN).subtract(amount),
+                dappWalletCoinEntityOut.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN),
+                amount.negate(),
+                dappWalletCoinEntityOut.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN).subtract(amount),
                 content,
                 type);
         dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntityOut);
@@ -88,10 +91,10 @@
                 throw new FebsException("系统异常,联系开发人员");
             }
             //生成流水记录
-            DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityIn = new DappAccountMoneyChangeEntity(memberIdOut,
-                    dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN),
+            DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityIn = new DappAccountMoneyChangeEntity(dappMemberEntityIn.getId(),
+                    dappWalletCoinEntityIn.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN),
                     amount,
-                    dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN).add(amount),
+                    dappWalletCoinEntityIn.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN).add(amount),
                     "转账",
                     4);
             dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntityIn);
@@ -106,11 +109,14 @@
         if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){
             throw new FebsException("刷新页面重试");
         }
+        if(MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()){
+            throw new FebsException("当前记录不是待提现,请刷新后重试");
+        }
         memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO);
         memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
 
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberCoinWithdrawEntity.getMemberId());
-        Integer count = dappWalletCoinDao.addFrozenAndDelAvailableById(dappWalletCoinEntity.getId(),memberCoinWithdrawEntity.getAmount());
+        Integer count = dappWalletCoinDao.addAvailableAndDelFrozenById(dappWalletCoinEntity.getId(),memberCoinWithdrawEntity.getAmount());
         if(1 != count){
             throw new FebsException("系统异常,联系开发人员");
         }

--
Gitblit v1.9.1