From 4e5138fdfd60edf0d67787582905dfcc0801d667 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 20 Nov 2025 17:38:10 +0800
Subject: [PATCH] 多ip地址登录

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
index 42cfea9..97e67d1 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
@@ -2,6 +2,7 @@
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.sql.Timestamp;
 import java.util.*;
 import java.util.regex.Pattern;
@@ -15,12 +16,15 @@
 import com.yami.trading.bean.model.MoneyLog;
 import com.yami.trading.bean.model.User;
 import com.yami.trading.bean.model.Wallet;
+import com.yami.trading.bean.rate.domain.ExchangeRate;
 import com.yami.trading.common.constants.Constants;
 import com.yami.trading.common.domain.Result;
 import com.yami.trading.common.exception.BusinessException;
+import com.yami.trading.common.exception.YamiShopBindException;
 import com.yami.trading.dao.loan.LoanParamMapper;
 import com.yami.trading.service.MoneyLogService;
 import com.yami.trading.service.WalletService;
+import com.yami.trading.service.rate.ExchangeRateService;
 import com.yami.trading.service.user.UserService;
 import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
@@ -58,6 +62,9 @@
 
 	@Autowired
 	LoanParamMapper loanParamMapper;
+
+	@Autowired
+	ExchangeRateService exchangeRateService;
 
 	@Getter
 	HashMap<String,Object> paramMap = new HashMap<>();
@@ -433,10 +440,19 @@
 			}
 			//到账金额
 			double amt = loanOrder.getQuota().doubleValue();
+			if (!loanOrder.getSymbol().equalsIgnoreCase("usdt")) {
+				ExchangeRate exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, loanOrder.getSymbol().toUpperCase());
+				if (exchangeRate == null) {
+					throw new YamiShopBindException("汇率未设置!");
+				}
+				BigDecimal money = BigDecimal.valueOf(amt).divide(exchangeRate.getRata(), 8, RoundingMode.HALF_UP);
+				amt = money.doubleValue();
+			}
 
 			User user = userService.getById(loanOrder.getPartyId());
-			double remainLoanLimit  = user.getLoanLimit() - amt;
-			user.setLoanLimit(remainLoanLimit < 0 ? 0 : remainLoanLimit);
+			double remainLoanLimit  = user.getLoanLimit() - amt  < 0 ? 0 : user.getLoanLimit() - amt;
+			BigDecimal loanLimit =  BigDecimal.valueOf(remainLoanLimit).setScale(2, RoundingMode.HALF_UP);
+			user.setLoanLimit(loanLimit.doubleValue());
 			userService.updateById(user);
 
 			//通过
@@ -446,11 +462,11 @@
 			MoneyLog log = new MoneyLog();
 			log.setCategory(Constants.MONEYLOG_CATEGORY_LOAN);
 			log.setAmountBefore(new BigDecimal(amountBefore));
-			log.setAmount(new BigDecimal(amt));
-			log.setAmountAfter(wallet.getMoney().add(BigDecimal.valueOf(amt)));
+			log.setAmount(loanOrder.getQuota());
+			log.setAmountAfter(BigDecimal.valueOf(amountBefore + amt));
 			log.setLog("借贷放款,订单号[" + loanOrder.getUuid() + "]");
 			log.setUserId(loanOrder.getPartyId());
-			log.setWalletType(Constants.WALLET);
+			log.setWalletType(loanOrder.getSymbol().toUpperCase());
 			log.setContentType(Constants.MONEYLOG_CONTENT_LOAN_ADD);
 			moneyLogService.save(log);
 		}

--
Gitblit v1.9.3