From 340fe577cf354439af1b9429b7c2d37a2773ec23 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 08 Aug 2025 18:15:17 +0800
Subject: [PATCH] 时区修改 购买修复

---
 src/main/java/com/nq/pojo/OrderEchoOut.java                    |    4 ++--
 src/main/java/com/nq/vo/position/UserPositionVO.java           |    2 ++
 src/main/java/com/nq/service/impl/UserAssetsServices.java      |    4 ++--
 src/main/java/com/nq/pojo/UserWithdraw.java                    |    4 ++--
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java |   18 +++++++++---------
 src/main/java/com/nq/pojo/MoneyLog.java                        |    2 +-
 src/main/java/com/nq/pojo/UserRecharge.java                    |    4 ++--
 7 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/nq/pojo/MoneyLog.java b/src/main/java/com/nq/pojo/MoneyLog.java
index 7c4ef31..7e99795 100644
--- a/src/main/java/com/nq/pojo/MoneyLog.java
+++ b/src/main/java/com/nq/pojo/MoneyLog.java
@@ -20,7 +20,7 @@
     private String accectType;
     private String userId;
     private String symbol;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     private Date createTime;
 
 
diff --git a/src/main/java/com/nq/pojo/OrderEchoOut.java b/src/main/java/com/nq/pojo/OrderEchoOut.java
index d8ffad0..fc1c003 100644
--- a/src/main/java/com/nq/pojo/OrderEchoOut.java
+++ b/src/main/java/com/nq/pojo/OrderEchoOut.java
@@ -26,10 +26,10 @@
     private String returnOfRate;
 
     //买入时间
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     private Date buyTime;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     private Date endTime;
 
     //用户id
diff --git a/src/main/java/com/nq/pojo/UserRecharge.java b/src/main/java/com/nq/pojo/UserRecharge.java
index 92b7e8c..798bebd 100644
--- a/src/main/java/com/nq/pojo/UserRecharge.java
+++ b/src/main/java/com/nq/pojo/UserRecharge.java
@@ -39,9 +39,9 @@
     private String orderDesc;
 
     @Excel(name = "申请时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Shanghai")
     private Date addTime;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "Asia/Shanghai")
     @Excel(name = "支付时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date payTime;
     /*支付通道主键id*/
diff --git a/src/main/java/com/nq/pojo/UserWithdraw.java b/src/main/java/com/nq/pojo/UserWithdraw.java
index 22e5f9d..e0c3a18 100644
--- a/src/main/java/com/nq/pojo/UserWithdraw.java
+++ b/src/main/java/com/nq/pojo/UserWithdraw.java
@@ -22,10 +22,10 @@
     private Integer agentId;
     @Excel(name = "出金金额")
     private BigDecimal withAmt;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     @Excel(name = "申请时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date applyTime;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Kolkata")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     @Excel(name = "出金时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd HH:mm:ss")
     private Date transTime;
 
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 4560957..88dbd31 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -179,7 +179,7 @@
         UserPosition userPosition = userPositionMapper.selectOne(new LambdaQueryWrapper<UserPosition>().gt(UserPosition::getAmountToBeCovered, BigDecimal.ZERO).eq(UserPosition::getUserId,userAssets.getUserId()));
         String type = eUserAssets.getDesc();
         String before = userAssets.getAvailableBalance().toString();
-        String accectType = userAssets.getAccectType();
+        accetType = userAssets.getAccectType();
         BigDecimal amountLog = amount;
         if(Objects.equals(eUserAssets.getCode(), EUserAssets.BUY.getCode())){
             userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
@@ -265,7 +265,7 @@
         moneyLog.setBeFore(before);
         moneyLog.setAfter(after);
         moneyLog.setAmount(amountLog.toString());
-        moneyLog.setAccectType(accectType);
+        moneyLog.setAccectType(accetType);
         moneyLog.setType(eUserAssets.getCode());
         moneyLog.setUserId(userId+"");
         moneyLog.setSymbol(EStockType.getEStockTypeByCode(accetType).getSymbol());
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 6275641..3f70206 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -177,20 +177,20 @@
                     return ServerResponse.createByErrorMsg("报价0,请稍后再试", request);
                 }
 
-
                 BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
-                BigDecimal finalBuyAmt = buyAmt;
-                //如果不是默认货币需要转换金额
-                if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
-                    buyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
-                }
+                //手续费
                 BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
-
+                BigDecimal needBuyAmt = buyAmt.add(orderFree);
+                //资金校验
+                if (!stock.getStockType().equals(EStockType.getDefault().getCode())) {
+                    needBuyAmt = userAssetsServices.exchangeAmountByRate(stock.getStockType(), buyAmt);
+                }
                 BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
                 BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
-                if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
+                if (availableBalance.compareTo(needBuyAmt) < 0) {
                     return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
                 }
+
                 UserPosition userPosition = new UserPosition();
                 if (profitTarget != null && profitTarget.compareTo(new BigDecimal("0")) > 0) {
                     userPosition.setProfitTargetPrice(profitTarget);
@@ -217,7 +217,7 @@
                 }
                 userPosition.setIsLock(Integer.valueOf(0));
                 userPosition.setOrderLever(lever);
-                userPosition.setOrderTotalPrice(finalBuyAmt);
+                userPosition.setOrderTotalPrice(buyAmt);
                 // 手续费
 
                 userPosition.setOrderFee(orderFree);
diff --git a/src/main/java/com/nq/vo/position/UserPositionVO.java b/src/main/java/com/nq/vo/position/UserPositionVO.java
index e84caac..82910a8 100644
--- a/src/main/java/com/nq/vo/position/UserPositionVO.java
+++ b/src/main/java/com/nq/vo/position/UserPositionVO.java
@@ -1,6 +1,7 @@
 
 package com.nq.vo.position;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -26,6 +27,7 @@
 
     private String buyOrderId;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
     private Date buyOrderTime;
 
     private BigDecimal buyOrderPrice;

--
Gitblit v1.9.3