From dc6abd25de0fc12e7a9de54f628f970c8fdc5910 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 22 May 2026 16:57:16 +0800
Subject: [PATCH] 理财

---
 trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java |  155 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 144 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..cd9d7df 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,135 @@
 //			}
     }
 
+    /**
+     * 理财产品平仓
+     */
+    @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 = userService.cacheUserBy(order.getPartyId().toString());
+        UserData userData = new UserData();
+
+        userData.setRolename(party.getRoleName());
+        userData.setCreateTime(new Date());
+        userData.setUserId(order.getPartyId().toString());
+        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) {
+
+        User user = this.userService.cacheUserBy(order.getPartyId().toString());
+//        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;
+        }
+
+        UserData userData = new UserData();
+        userData.setRolename(user.getRoleName());
+        userData.setCreateTime(new Date());
+        userData.setUserId(order.getPartyId().toString());
+        userData.setMinerAmount(order.getAmount());
+        save(userData);
+    }
+
+    /**
+     * 矿机赎回
+     */
+    @Override
+    public void saveMinerClose(MinerOrder order) {
+        User user = this.userService.cacheUserBy(order.getPartyId().toString());
+//        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;
+        }
+
+//        Party party = partyService.cachePartyBy(order.getPartyId(), false);
+        UserData userData = new UserData();
+        userData.setRolename(user.getRoleName());
+        userData.setCreateTime(new Date());
+        userData.setUserId(order.getPartyId().toString());
+        userData.setMinerAmount(Arith.sub(0, order.getAmount()));
+        save(userData);
+    }
+
+    /**
+     * 矿机利息
+     *
+     * @param partyId 获利人
+     * @param profit  利息
+     */
+    @Override
+    public void saveMinerProfit(String partyId, double profit) {
+        User user = this.userService.cacheUserBy(partyId);
+//        user.getRoles();
+        boolean guest = false;
+//        for (Role role : user.getRoles()) {
+//            if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
+//                guest = true;
+//            }
+//        }
+        if (guest) {
+            return;
+        }
+
+//        Party party = partyService.cachePartyBy(partyId, true);
+        UserData userData = new UserData();
+        userData.setRolename(user.getRoleName());
+        userData.setCreateTime(new Date());
+        userData.setUserId(partyId);
+        userData.setMinerIncome(profit);
+        save(userData);
+    }
+
 }

--
Gitblit v1.9.3