From 621f2eb73b862920a395a1b74d1fd9e4c26a85d3 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 06 May 2025 01:40:27 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserServiceImpl.java |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 9b5e1b2..4e9cb86 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -17,15 +17,12 @@
 import com.nq.pojo.reponse.RUserAssets;
 import com.nq.service.*;
 import com.nq.utils.UserPointUtil;
-import com.nq.utils.redis.RedisKeyUtil;
+import com.nq.utils.redis.*;
 import com.nq.utils.timeutil.DateTimeUtil;
 import com.nq.utils.PropertiesUtil;
 import com.nq.utils.SymmetricCryptoUtil;
 import com.nq.utils.ip.IpUtils;
 import com.nq.utils.ip.JuheIpApi;
-import com.nq.utils.redis.CookieUtils;
-import com.nq.utils.redis.JsonUtil;
-import com.nq.utils.redis.RedisShardedPoolUtils;
 import com.nq.utils.stock.sina.StockApi;
 import com.nq.vo.agent.AgentUserListVO;
 import com.nq.vo.futuresposition.FuturesPositionVO;
@@ -480,7 +477,7 @@
     public ServerResponse getMoney(Integer userId) {
         List<UserAssets>  userAssetsList =   userAssetsServices.assetsByUserId(userId);
         List<RUserAssets>  rUserAssetsList = new ArrayList<>();
-        int s= 4;
+        int s= 2;
         /**
          *  浮动盈亏
          * */
@@ -517,16 +514,16 @@
             BigDecimal hMoney = userAssets.getHandlingCharge();
             BigDecimal hProfitAndLose = userAssets.getCumulativeProfitAndLoss();
             rUserAssets.setId(userAssets.getId());
-            rUserAssets.setTotalMoney((totalAssets.toString()));
+            rUserAssets.setTotalMoney((totalAssets.setScale(s,BigDecimal.ROUND_DOWN).toString()));
             rUserAssets.setAccectType(userAssets.getAccectType());
-            rUserAssets.setAvailableBalance(amt.toString());
-            rUserAssets.setFreezeMoney(freeMoney.toString());
-            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.toString());
-            rUserAssets.setHandlingCharge(hMoney.toString());
-            rUserAssets.setProfitAndLoss(profitAndLose.toString());
+            rUserAssets.setAvailableBalance(amt.setScale(s,BigDecimal.ROUND_DOWN).toString());
+            rUserAssets.setFreezeMoney(freeMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
+            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
+            rUserAssets.setHandlingCharge(hMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
+            rUserAssets.setProfitAndLoss(new BigDecimal(profitAndLose.toString()).setScale(s,BigDecimal.ROUND_DOWN).toString());
             rUserAssets.setIsZf(userAssets.getIsZf());
-            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).toString()));
-            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten());
+            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).setScale(s,BigDecimal.ROUND_DOWN).toString()));
+            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().setScale(s,BigDecimal.ROUND_DOWN));
             BigDecimal rate = rateServices.currencyRate(
                     EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.US);
 
@@ -620,7 +617,13 @@
         List<UserPositionVO> userPositionVOS = Lists.newArrayList();
         if (userPositions.size() > 0) {
             for (UserPosition position : userPositions) {
-                UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position,priceServices.getNowPrice(position.getStockCode()));
+                BigDecimal nowPrice = BigDecimal.ZERO;
+                if(position.getStockGid().equals("ST")){
+                    nowPrice = priceServices.getNowPrice(position.getStockCode());
+                }else{
+                    nowPrice = new BigDecimal(RedisShardedPoolUtils.get(RedisKeyConstant.getRedisKey(position.getStockName())));
+                }
+                UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position,nowPrice);
                 StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new LambdaQueryWrapper<StockSubscribe>()
                         .eq(StockSubscribe::getCode, userPositionVO.getStockCode()));
                 if(position.getSellOrderId() == null){

--
Gitblit v1.9.3