From a47f9e486847396e5adbdec7a6476a854a38d352 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sat, 27 Apr 2024 16:00:36 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 4405146..d22ca98 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -13,6 +13,7 @@
 import com.nq.pojo.*;
 import com.nq.pojo.reponse.RUserAssets;
 import com.nq.service.*;
+import com.nq.utils.UserPointUtil;
 import com.nq.utils.timeutil.DateTimeUtil;
 import com.nq.utils.PropertiesUtil;
 import com.nq.utils.SymmetricCryptoUtil;
@@ -27,6 +28,7 @@
 import com.nq.vo.indexposition.IndexPositionVO;
 import com.nq.vo.position.PositionProfitVO;
 import com.nq.vo.position.PositionVO;
+import com.nq.vo.position.UserPositionVO;
 import com.nq.vo.stock.StockListVO;
 import com.nq.vo.user.UserInfoVO;
 
@@ -120,7 +122,11 @@
     @Autowired
     private ApplyLeverMapper applyLeverMapper;
 
+    @Autowired
+    private UserPositionMapper userPositionMapper;
 
+    @Autowired
+    IPriceServices priceServices;
 
 
     public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
@@ -549,7 +555,7 @@
             rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
             rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,BigDecimal.ROUND_UP).toString());
             rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
-
+            rUserAssets.setProfitAndLoss(getProfitAndLose(userId).toString());
             AllProfitAndLose = AllProfitAndLose.add(profitAndLossUSD);
             allTotalAssets = allTotalAssets.add(totleMoneyUSD);
             allAmt = allAmt.add(availableBalanceUSD);
@@ -588,6 +594,28 @@
         return ServerResponse.createBySuccess(rUserAssetsList);
     }
 
+    public BigDecimal getProfitAndLose(Integer userId){
+        List<UserPosition> userPositions;
+        userPositions = userPositionMapper.
+                findMyPositionByCodeAndSpell(userId,
+                        "","",
+                        0, "IN");
+
+
+        List<UserPositionVO> userPositionVOS = Lists.newArrayList();
+        if (userPositions.size() > 0) {
+            for (UserPosition position : userPositions) {
+                UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position, priceServices.getNowPrice(position.getStockCode()));
+                userPositionVOS.add(userPositionVO);
+            }
+        }
+        BigDecimal profitAndLose = BigDecimal.ZERO;
+        for (UserPositionVO f : userPositionVOS) {
+            profitAndLose = profitAndLose.add(f.getProfitAndLose());
+        }
+        return profitAndLose;
+    }
+
     @Override
     public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) {
         User user =  userService.getCurrentUser(request);

--
Gitblit v1.9.3