From f23b33bbb9eaff76cac5b69e3b793fc7910fb0fa Mon Sep 17 00:00:00 2001
From: peternameyakj <908253177@qq.com>
Date: Tue, 30 Jul 2024 11:03:37 +0800
Subject: [PATCH] 新增资金账户以及与交易账户的互转

---
 src/main/java/project/withdraw/internal/AdminWithdrawServiceImpl.java |   84 ++++++++++++++++-------------------------
 1 files changed, 33 insertions(+), 51 deletions(-)

diff --git a/src/main/java/project/withdraw/internal/AdminWithdrawServiceImpl.java b/src/main/java/project/withdraw/internal/AdminWithdrawServiceImpl.java
index 269b993..6d31355 100644
--- a/src/main/java/project/withdraw/internal/AdminWithdrawServiceImpl.java
+++ b/src/main/java/project/withdraw/internal/AdminWithdrawServiceImpl.java
@@ -24,10 +24,7 @@
 import project.party.recom.UserRecomService;
 import project.tip.TipService;
 import project.user.UserDataService;
-import project.wallet.Wallet;
-import project.wallet.WalletExtend;
-import project.wallet.WalletLogService;
-import project.wallet.WalletService;
+import project.wallet.*;
 import project.withdraw.AdminWithdrawService;
 import project.withdraw.Withdraw;
 import security.SecUser;
@@ -51,7 +48,7 @@
 	private TipService tipService;
 	
 	@Override
-	public void saveReject(String id, String failure_msg, String userName, String partyId) {
+	public void saveReject(String id, String failure_msg, String userName, String partyId, WalletGatherService walletGatherService) {
 		Withdraw withdraw = this.get(id);
 
 		if (withdraw.getSucceeded() == 2 ) {// 通过后不可驳回
@@ -70,56 +67,41 @@
 			symbol = "btc";
 		} else if (withdraw.getMethod().indexOf("ETH") != -1) {
 			symbol = "eth";
+		}  else if (withdraw.getMethod().indexOf("USDC") != -1) {
+			symbol = "eth";
 		} else {
 			symbol = "usdt";
 		}
-		if ("usdt".equals(symbol)) {
-			Wallet wallet = walletService.saveWalletByPartyId(withdraw.getPartyId());
-
-			double amount_before = wallet.getMoney();
-
-			walletService.update(wallet.getPartyId().toString(),
-					Arith.add(withdraw.getAmount(), withdraw.getAmount_fee()));
-
-			/*
-			 * 保存资金日志
-			 */
-			MoneyLog moneyLog = new MoneyLog();
-			moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
-			moneyLog.setAmount_before(amount_before);
-			moneyLog.setAmount(Arith.add(withdraw.getAmount(), withdraw.getAmount_fee()));
-			moneyLog.setAmount_after(
-					Arith.add(amount_before, Arith.add(withdraw.getAmount(), withdraw.getAmount_fee())));
-
-			moneyLog.setLog("驳回提现[" + withdraw.getOrder_no() + "]");
-			// moneyLog.setExtra(withdraw.getOrder_no());
-			moneyLog.setPartyId(withdraw.getPartyId());
-			moneyLog.setWallettype(Constants.WALLET);
-			moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_WITHDRAW);
-
-			moneyLogService.save(moneyLog);
-		} else {
-			WalletExtend walletExtend = walletService.saveExtendByPara(withdraw.getPartyId(), symbol);
-			double amount_before = walletExtend.getAmount();
-			walletService.updateExtend(withdraw.getPartyId().toString(), symbol, withdraw.getVolume());
-
-			/*
-			 * 保存资金日志
-			 */
-			MoneyLog moneyLog = new MoneyLog();
-			moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
-			moneyLog.setAmount_before(amount_before);
-			moneyLog.setAmount(withdraw.getVolume());
-			moneyLog.setAmount_after(Arith.add(amount_before, withdraw.getVolume()));
-
-			moneyLog.setLog("驳回提现[" + withdraw.getOrder_no() + "]");
-			// moneyLog.setExtra(withdraw.getOrder_no());
-			moneyLog.setPartyId(withdraw.getPartyId());
-			moneyLog.setWallettype(symbol.toUpperCase());
-			moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_WITHDRAW);
-
-			moneyLogService.save(moneyLog);
+		WalletGather walletGather = walletGatherService.getWalletGatherByPartyId(withdraw.getPartyId(),null);
+		double amount_before = 0;
+		if("usdt".equals(symbol)){
+			amount_before = walletGather.getUsdtMoney();
+		} else if ("btc".equals(symbol)) {
+			amount_before = walletGather.getBtcMoney();
+		} else if ("eth".equals(symbol)) {
+			amount_before = walletGather.getEthMoney();
+		} else if ("usdc".equals(symbol)) {
+			amount_before = walletGather.getUsdcMoney();
 		}
+		//修改资金账户
+		walletGatherService.update(walletGather.getPartyId().toString(),symbol,withdraw.getAmount(),"add");
+		/*
+		 * 保存资金日志
+		 */
+		MoneyLog moneyLog = new MoneyLog();
+		moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
+		moneyLog.setAmount_before(amount_before);
+		moneyLog.setAmount(Arith.add(withdraw.getAmount(), withdraw.getAmount_fee()));
+		moneyLog.setAmount_after(
+				Arith.add(amount_before, Arith.add(withdraw.getAmount(), withdraw.getAmount_fee())));
+
+		moneyLog.setLog("驳回提现[" + withdraw.getOrder_no() + "]");
+		// moneyLog.setExtra(withdraw.getOrder_no());
+		moneyLog.setPartyId(withdraw.getPartyId());
+		moneyLog.setWallettype(Constants.WALLET);
+		moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_WITHDRAW);
+
+		moneyLogService.save(moneyLog);
 		this.walletLogService.updateStatus(withdraw.getOrder_no(), withdraw.getSucceeded());
 
 		SecUser SecUser = secUserService.findUserByPartyId(withdraw.getPartyId());

--
Gitblit v1.9.3