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