From 3d8c9b6f4455b4efd34812c8e66073bebfacfce7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 05 Jun 2026 11:20:23 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 158 insertions(+), 11 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java
index 54b9316..5ee74dc 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java
@@ -8,7 +8,9 @@
import com.yami.trading.bean.contract.domain.ContractOrder;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.exchange.ExchangeApplyOrder;
+import com.yami.trading.bean.finance.FinanceOrder;
import com.yami.trading.bean.future.domain.FuturesOrder;
+import com.yami.trading.bean.miner.MinerOrder;
import com.yami.trading.bean.model.User;
import com.yami.trading.bean.model.UserData;
import com.yami.trading.bean.model.UserDataSum;
@@ -653,27 +655,27 @@
userData.setRecharge(amount);
userData.setRechargeUsdt(amount);
} else {
- List<Realtime> realtime_list = this.dataService.realtime(symbol);
- Realtime realtime = null;
- if (realtime_list.size() > 0) {
- realtime = realtime_list.get(0);
- } else {
- throw new YamiShopBindException("系统错误,请稍后重试");
- }
+// List<Realtime> realtime_list = this.dataService.realtime(symbol);
+// Realtime realtime = null;
+// if (realtime_list.size() > 0) {
+// realtime = realtime_list.get(0);
+// } else {
+// throw new YamiShopBindException("系统错误,请稍后重试");
+// }
if ("btc".equals(symbol)) {
- userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
+ userData.setRecharge(amount);
userData.setRechargeBtc(amount);
}
if ("eth".equals(symbol)) {
- userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
+ userData.setRecharge(amount);
userData.setRechargeEth(amount);
}
if ("ht".equals(symbol)) {
- userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
+ userData.setRecharge(amount);
userData.setRechargeHt(amount);
}
if ("ltc".equals(symbol)) {
- userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
+ userData.setRecharge(amount);
userData.setRechargeLtc(amount);
}
}
@@ -806,4 +808,149 @@
// }
}
+ /**
+ * 理财产品平仓
+ */
+ @Override
+ public void saveSellFinance(FinanceOrder order) {
+ User user = this.userService.findUserByUserCode(order.getFinanceId());
+// SecUser user = this.userService.findUserByPartyId(order.getPartyId());
+// user.getRoles();
+ boolean guest = false;
+
+// for (Role role : user.getRoles()) {
+// if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())||Constants.SECURITY_ROLE_TEST.equals(role.getRoleName())) {
+// guest = true;
+// }
+// }
+ if (guest) {
+ return;
+ }
+
+ User party = resolveUser(order.getPartyId());
+ UserData userData = new UserData();
+
+ userData.setRolename(resolveRoleName(party));
+ userData.setCreateTime(new Date());
+ userData.setUserId(order.getPartyId());
+ userData.setFinanceAmount(order.getAmount());
+ userData.setFinanceIncome(order.getProfit());
+ save(userData);
+
+// UserRecom userRecom = this.userRecomService.findByPartyId(order.getPartyId());
+// if (userRecom == null) {
+// return;
+// }
+// List<UserRecom> parents = this.userRecomService.getParents(userRecom.getPartyId());
+//
+// for (int i = 0; i < parents.size(); i++) {
+// Party party_parent = partyService.cachePartyBy(parents.get(i).getReco_id());
+//
+// if (Constants.SECURITY_ROLE_AGENT.equals(party_parent.getRolename())) {
+// UserData userData_reco = new UserData();
+// userData_reco.setRolename(party_parent.getRolename());
+// userData_reco.setCreateTime(new Date());
+// userData_reco.setPartyId(parents.get(i).getReco_id());
+// userData_reco.setFinance_amount(order.getAmount());
+// userData_reco.setFinance_income(order.getProfit());
+// save(userData_reco);
+// }
+// }
+ }
+
+ /**
+ * 矿机买入
+ */
+ @Override
+ public void saveMinerBuy(MinerOrder order) {
+ String partyId = order.getPartyId();
+ if (StringUtils.isBlank(partyId)) {
+ return;
+ }
+ User user = resolveUser(partyId);
+ if (isGuestUser(user)) {
+ return;
+ }
+
+ UserData userData = new UserData();
+ userData.setRolename(resolveRoleName(user));
+ userData.setCreateTime(new Date());
+ userData.setUserId(partyId);
+ userData.setMinerAmount(order.getAmount());
+ save(userData);
+ }
+
+ /**
+ * 矿机赎回
+ */
+ @Override
+ public void saveMinerClose(MinerOrder order) {
+ String partyId = order.getPartyId();
+ if (StringUtils.isBlank(partyId)) {
+ return;
+ }
+ User user = resolveUser(partyId);
+ if (isGuestUser(user)) {
+ return;
+ }
+
+ UserData userData = new UserData();
+ userData.setRolename(resolveRoleName(user));
+ userData.setCreateTime(new Date());
+ userData.setUserId(partyId);
+ userData.setMinerAmount(Arith.sub(0, order.getAmount()));
+ save(userData);
+ }
+
+ /**
+ * 矿机利息
+ *
+ * @param partyId 获利人
+ * @param profit 利息
+ */
+ @Override
+ public void saveMinerProfit(String partyId, double profit) {
+ if (StringUtils.isBlank(partyId)) {
+ return;
+ }
+ User user = resolveUser(partyId);
+ if (isGuestUser(user)) {
+ return;
+ }
+
+ UserData userData = new UserData();
+ userData.setRolename(resolveRoleName(user));
+ userData.setCreateTime(new Date());
+ userData.setUserId(partyId);
+ userData.setMinerIncome(profit);
+ save(userData);
+ }
+
+ private User resolveUser(String partyId) {
+ User user = userService.getById(partyId);
+ if (user == null) {
+ user = userService.cacheUserBy(partyId);
+ }
+ if (user == null) {
+ log.warn("UserData resolveUser not found, partyId={}", partyId);
+ }
+ return user;
+ }
+
+ private boolean isGuestUser(User user) {
+ if (user == null) {
+ return false;
+ }
+ String roleName = user.getRoleName();
+ return Constants.SECURITY_ROLE_GUEST.equals(roleName)
+ || Constants.SECURITY_ROLE_TEST.equals(roleName);
+ }
+
+ private String resolveRoleName(User user) {
+ if (user == null || StringUtils.isBlank(user.getRoleName())) {
+ return Constants.SECURITY_ROLE_MEMBER;
+ }
+ return user.getRoleName();
+ }
+
}
--
Gitblit v1.9.3