From af880d955d2b2935a0faa4c02632ab2148f44053 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 03 Oct 2024 22:25:46 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 37e8285..bbeb08f 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -1,6 +1,7 @@
package com.nq.service.impl;
import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.dao.*;
@@ -339,6 +340,11 @@
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
}
+ StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new LambdaQueryWrapper<StockSubscribe>()
+ .eq(StockSubscribe::getCode, userPosition.getStockCode()));
+ if (null != stockSubscribe && DateUtil.date().before(stockSubscribe.getListDate())) {
+ return ServerResponse.createByErrorMsg("股票未上市,不能平仓", request);
+ }
Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code", userPosition.getStockCode()));
if(null == stock){
return ServerResponse.createByErrorMsg("股票不存在,平仓失败", request);
@@ -573,7 +579,6 @@
Integer state, HttpServletRequest request,
int pageNum, int pageSize, String stockType) {
User user = this.iUserService.getCurrentUser(request);
-
PageHelper.startPage(pageNum, pageSize);
List<UserPosition> userPositions;
@@ -590,7 +595,21 @@
for (UserPosition position : userPositions) {
UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position, priceServices.getNowPrice(position.getStockCode()));
userPositionVO.setOrderTotalPrice(userPositionVO.getOrderTotalPrice().multiply(new BigDecimal(userPositionVO.getOrderLever())));
- userPositionVO.setProfitAndLose(userPositionVO.getProfitAndLose().multiply(new BigDecimal(userPositionVO.getOrderLever())));
+
+ StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new LambdaQueryWrapper<StockSubscribe>()
+ .eq(StockSubscribe::getCode, userPositionVO.getStockCode()));
+ if(position.getSellOrderId() == null){
+ if (null != stockSubscribe && DateUtil.date().before(stockSubscribe.getListDate())) {
+ userPositionVO.setProfitAndLose(BigDecimal.ZERO);
+ userPositionVO.setProfitAndLoseParent("0%");
+ userPositionVO.setIsListed(false);
+ }else{
+ userPositionVO.setIsListed(true);
+ userPositionVO.setProfitAndLose(userPositionVO.getProfitAndLose().multiply(new BigDecimal(userPositionVO.getOrderLever())));
+ }
+ }else{
+ userPositionVO.setProfitAndLose(userPositionVO.getProfitAndLose().multiply(new BigDecimal(userPositionVO.getOrderLever())));
+ }
userPositionVOS.add(userPositionVO);
}
}
@@ -1264,7 +1283,7 @@
userPosition.setBuyOrderPrice(userStockSubscribe.getBuyPrice());
userPosition.setOrderDirection("买涨");
- userPosition.setOrderNum(userStockSubscribe.getApplyNumber()*stockSubscribe.getLever().intValue());
+ userPosition.setOrderNum(userStockSubscribe.getApplyNumber());
userPosition.setIsLock(Integer.valueOf(0));
--
Gitblit v1.9.3