From 4130970dd61791e0a5cb0771a9b707084f1ed464 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 08 May 2025 00:39:05 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/StockDzServiceImpl.java | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
index b807f0f..4e8067c 100644
--- a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -10,9 +11,12 @@
import com.nq.common.ServerResponse;
import com.nq.dao.StockDzMapper;
import com.nq.dao.StockMapper;
+import com.nq.dao.UserPositionMapper;
import com.nq.pojo.Stock;
import com.nq.pojo.StockDz;
+import com.nq.pojo.UserPosition;
import com.nq.pojo.reponse.RPageInfo;
+import com.nq.service.IPriceServices;
import com.nq.service.StockDzService;
import com.nq.utils.stock.sina.StockApi;
import com.nq.utils.timeutil.DateTimeUtil;
@@ -25,6 +29,7 @@
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -46,12 +51,23 @@
private SiteSettingServiceImpl siteSettingService;
@Autowired
private StockMapper stockMapper;
-
+ @Autowired
+ private UserPositionMapper userPositionMapper;
+ @Autowired
+ IPriceServices iPriceServices;
@Override
public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords, HttpServletRequest request) {
PageHelper.startPage(pageNum, pageSize);
String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
List<StockDz> stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords,formatDate);
+ stockTypeDz.forEach(f->{
+ String price = iPriceServices.getNowPrice(f.getStockCode()).toString();
+ BigDecimal subtract = new BigDecimal(price).subtract(f.getNowPrice());
+ f.setPriceSpread(f.getNowPrice());
+ f.setNowPrice(new BigDecimal(price));
+ f.setPriceSpreadPercentum(
+ subtract.divide(new BigDecimal(price), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))
+ ); });
RPageInfo pageInfo = new RPageInfo();
pageInfo.setList(stockTypeDz);
return ServerResponse.createBySuccess(pageInfo);
@@ -61,6 +77,12 @@
public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType) {
if (stockCode == null || stockCode.equals("")||stockNum == null || stockNum.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("") || period == null || nowPrice == null){
return ServerResponse.createByErrorMsg("参数不能为空");
+ }
+
+ Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>()
+ .eq(StockDz::getStockCode,stockCode));
+ if(count > 0){
+ return ServerResponse.createByErrorMsg("股票代码已存在");
}
QueryWrapper queryWrapper = new QueryWrapper();
@@ -123,6 +145,10 @@
@Override
public ServerResponse deleteByAdmin(String id) {
+ List<UserPosition> userPositions = userPositionMapper.selectList(new LambdaQueryWrapper<>(UserPosition.class).eq(UserPosition::getDzId, id).isNull(UserPosition::getSellOrderId));
+ if(CollectionUtil.isNotEmpty(userPositions)){
+ return ServerResponse.createByErrorMsg("删除失败,当前大宗还有用户持有仓位");
+ }
int res = stockDzMapper.deleteById(id);
if (res > 0) {
return ServerResponse.createBySuccess("删除成功");
--
Gitblit v1.9.3