From bcb620e2b9da85149c464c9909bcdeb5dc56fd3c Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 04 Feb 2026 18:31:50 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/StockDzServiceImpl.java |   20 +++++++++++++++++++-
 1 files changed, 19 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..c27d15e 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,8 +11,10 @@
 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.StockDzService;
 import com.nq.utils.stock.sina.StockApi;
@@ -46,10 +49,16 @@
     private SiteSettingServiceImpl siteSettingService;
     @Autowired
     private StockMapper stockMapper;
+    @Autowired
+    private UserPositionMapper userPositionMapper;
 
     @Override
     public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords,  HttpServletRequest request) {
         PageHelper.startPage(pageNum, pageSize);
+        if (keyWords == null || keyWords.trim().isEmpty()) {
+            // 如果 keyWords 为空,则直接返回空分页结果
+            return ServerResponse.createBySuccess(new RPageInfo());
+        }
         String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
         List<StockDz> stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords,formatDate);
         RPageInfo pageInfo = new RPageInfo();
@@ -61,6 +70,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();
@@ -106,7 +121,6 @@
         }else {
             list = stockDzMapper.selectList(new QueryWrapper<StockDz>().orderByDesc("id"));
         }
-        log.info("list:{}",list);
         return ServerResponse.createBySuccess(list);
     }
 
@@ -123,6 +137,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