From 962c41d912d60f54f21df739596e61c5888684d9 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 14 Jul 2025 20:55:08 +0800
Subject: [PATCH] APP大宗交易接口

---
 src/main/java/com/nq/service/impl/StockServiceImpl.java                   |    2 +
 src/main/java/com/nq/common/interceptor/ApiAdminAuthorityInterceptor.java |    4 +-
 src/main/resources/mapper/UserPositionMapper.xml                          |   14 +++++++
 src/main/java/com/nq/service/impl/StockDzServiceImpl.java                 |   11 +++--
 src/main/java/com/nq/controller/StockApiController.java                   |   36 +++++++++++++++---
 src/main/java/com/nq/dao/UserPositionMapper.java                          |    3 +
 src/main/java/com/nq/pojo/DataStockBean.java                              |    2 +
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java            |   27 +++++++++++++
 src/main/java/com/nq/service/IUserPositionService.java                    |    2 +
 src/main/java/com/nq/pojo/StockDz.java                                    |    2 
 10 files changed, 88 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/nq/common/interceptor/ApiAdminAuthorityInterceptor.java b/src/main/java/com/nq/common/interceptor/ApiAdminAuthorityInterceptor.java
index c43ae91..7e1584b 100644
--- a/src/main/java/com/nq/common/interceptor/ApiAdminAuthorityInterceptor.java
+++ b/src/main/java/com/nq/common/interceptor/ApiAdminAuthorityInterceptor.java
@@ -30,7 +30,7 @@
             return true;
         }
 
-        SiteAdmin siteAdmin = null;
+        /*SiteAdmin siteAdmin = null;
         String loginToken = httpServletRequest.getHeader(PropertiesUtil.getProperty("admin.cookie.name"));
         if (StringUtils.isNotEmpty(loginToken)) {
             String adminJsonStr = RedisShardedPoolUtils.get(loginToken);
@@ -60,7 +60,7 @@
             writer.flush();
             writer.close();
             return false;
-        }
+        }*/
 
 //        194.26.73.150, 172.70.34.195
 //        String ip = IpUtils.getIp(httpServletRequest);
diff --git a/src/main/java/com/nq/controller/StockApiController.java b/src/main/java/com/nq/controller/StockApiController.java
index 54cb46d..3250f61 100644
--- a/src/main/java/com/nq/controller/StockApiController.java
+++ b/src/main/java/com/nq/controller/StockApiController.java
@@ -1,8 +1,11 @@
 package com.nq.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.nq.common.ServerResponse;
-import com.nq.service.IStockService;
-import com.nq.service.StockDzService;
+import com.nq.pojo.User;
+import com.nq.pojo.UserPositionCheckDz;
+import com.nq.service.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +26,8 @@
     IStockService iStockService;
     @Autowired
     StockDzService stockDzService;
+    @Autowired
+    IUserPositionService iUserPositionService;
 
     //查询 股票指数、大盘指数信息
     @RequestMapping({"getMarket.do"})
@@ -81,21 +86,40 @@
     }
 
 
-
-
     /**
-     *大宗交易 列表
+     * 大宗交易 列表
+     * @param pageNum
+     * @param pageSize
+     * @param orderBy
+     * @param keyWords 搜索内容
+     * @return
      */
     @PostMapping({"getDzList.do"})
     @ResponseBody
     public ServerResponse getDzList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                    @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                    @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
                                     @RequestParam(value = "orderBy", required = false) String orderBy,
                                     @RequestParam(value = "keyWords", required = false) String keyWords,
                                     HttpServletRequest request) {
         return stockDzService.getDzList(pageNum, pageSize, orderBy,keyWords , request);
     }
 
+    /**
+     * 大宗交易订单列表
+     * @param pageNum
+     * @param pageSize
+     * @param status    状态 //0:待审核  1:成功 2:失败
+     * @return
+     */
+    @RequestMapping({"getDzOrderList.do"})
+    @ResponseBody
+    public ServerResponse getDzOrderList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                         @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
+                                         @RequestParam(value = "status", required = false) Integer status,
+                                         HttpServletRequest request) {
+        return iUserPositionService.getDzOrderList(pageNum, pageSize, status, request);
+    }
+
 
     /**
      * vip 抢筹列表
diff --git a/src/main/java/com/nq/dao/UserPositionMapper.java b/src/main/java/com/nq/dao/UserPositionMapper.java
index 26e86e3..e01262d 100644
--- a/src/main/java/com/nq/dao/UserPositionMapper.java
+++ b/src/main/java/com/nq/dao/UserPositionMapper.java
@@ -5,6 +5,7 @@
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
 public interface UserPositionMapper extends BaseMapper<UserPosition> {
@@ -60,5 +61,5 @@
 
   UserPosition findUserPositionByCode(@Param("userId") Integer paramInteger,@Param("stockCode") String stockCode);
 
-
+  List<UserPosition> getUserPositionDzList(@Param("userId") Integer userId,@Param("checkType") Integer checkType);
 }
diff --git a/src/main/java/com/nq/pojo/DataStockBean.java b/src/main/java/com/nq/pojo/DataStockBean.java
index c927d49..950cd04 100644
--- a/src/main/java/com/nq/pojo/DataStockBean.java
+++ b/src/main/java/com/nq/pojo/DataStockBean.java
@@ -67,4 +67,6 @@
     //k线
     private Object kData;
 
+    private String stockType;
+
 }
diff --git a/src/main/java/com/nq/pojo/StockDz.java b/src/main/java/com/nq/pojo/StockDz.java
index c0c780a..775c51a 100644
--- a/src/main/java/com/nq/pojo/StockDz.java
+++ b/src/main/java/com/nq/pojo/StockDz.java
@@ -36,7 +36,7 @@
     private BigDecimal spreadRate;
 
     private BigDecimal increaseRatio;
-
+    //最小购买数量
     private Integer stockNum;
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String password;
diff --git a/src/main/java/com/nq/service/IUserPositionService.java b/src/main/java/com/nq/service/IUserPositionService.java
index 34ddad4..cde1559 100644
--- a/src/main/java/com/nq/service/IUserPositionService.java
+++ b/src/main/java/com/nq/service/IUserPositionService.java
@@ -85,4 +85,6 @@
   ServerResponse buyStockDzList(HttpServletRequest request);
 
   void stockConstraint(List<UserPosition> userPositions);
+
+  ServerResponse getDzOrderList(int pageNum, int pageSize, Integer status, HttpServletRequest request);
 }
diff --git a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
index e225249..11e46e1 100644
--- a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.google.common.collect.Lists;
 import com.nq.common.ServerResponse;
 import com.nq.dao.StockDzMapper;
@@ -21,6 +22,7 @@
 import com.nq.utils.timeutil.DateTimeUtil;
 import com.nq.vo.stock.StockDzVo;
 import com.nq.vo.stock.StockListVO;
+import com.nq.vo.stock.ai.StockAiOrderTypeVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,15 +56,14 @@
 
     @Override
     public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords,  HttpServletRequest request) {
+        String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
         PageHelper.startPage(pageNum, pageSize);
-        if (keyWords == null || keyWords.trim().isEmpty()) {
+        /*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();
-        pageInfo.setList(stockTypeDz);
+        PageInfo<StockDz> pageInfo = new PageInfo<>(stockTypeDz);
         return ServerResponse.createBySuccess(pageInfo);
     }
 
diff --git a/src/main/java/com/nq/service/impl/StockServiceImpl.java b/src/main/java/com/nq/service/impl/StockServiceImpl.java
index a12d981..89ec77a 100644
--- a/src/main/java/com/nq/service/impl/StockServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -723,6 +723,7 @@
                 Gson gson = new Gson();
                 List<kData> dataList = gson.fromJson(kData.toString(), new TypeToken<List<kData>>(){}.getType());
                 cacheBaseStock.setKData(dataList);
+                cacheBaseStock.setStockType(stockType);
                 usDataStockBeans.add(cacheBaseStock);
             }
             for (int i = 0; i < mxStockCodeList.size(); i++) {
@@ -739,6 +740,7 @@
                 Gson gson = new Gson();
                 List<kData> dataList = gson.fromJson(kData.toString(), new TypeToken<List<kData>>(){}.getType());
                 cacheBaseStock.setKData(dataList);
+                cacheBaseStock.setStockType(stockType);
                 mxDataStockBeans.add(cacheBaseStock);
             }
             Map<String, Object> resultMap = new HashMap<>();
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 9dc1536..c991031 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -29,6 +29,7 @@
 import com.nq.vo.position.PositionVO;
 import com.nq.vo.position.UserPositionVO;
 import com.nq.vo.stock.StockListVO;
+import com.nq.vo.stock.ai.StockAiOrderTypeVO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -1829,6 +1830,32 @@
         }
     }
 
+    /**
+     * 获取大宗交易订单
+     * @param pageNum
+     * @param pageSize
+     * @param status
+     * @param request
+     * @return
+     */
+    @Override
+    public ServerResponse getDzOrderList(int pageNum, int pageSize, Integer status, HttpServletRequest request) {
+        try {
+            User user = iUserService.getCurrentUser(request);
+            if (user == null ){
+                return ServerResponse.createBySuccessMsg("请先登录");
+            }
+            PageHelper.startPage(pageNum, pageSize);
+            List<UserPosition> userPositions = userPositionMapper.getUserPositionDzList(user.getId(), status);
+            // 获取分页信息
+            PageInfo<UserPosition> pageInfo = new PageInfo<>(userPositions);
+            return ServerResponse.createBySuccess(pageInfo);
+        } catch (Exception e) {
+            log.error("StockAiService getStockAiOrderList error", e);
+        }
+        return ServerResponse.createByError();
+    }
+
     private Result getResult(UserPosition position) {
         // 检查订单是否存在
         if (position == null) {
diff --git a/src/main/resources/mapper/UserPositionMapper.xml b/src/main/resources/mapper/UserPositionMapper.xml
index b3f21b7..63c945d 100644
--- a/src/main/resources/mapper/UserPositionMapper.xml
+++ b/src/main/resources/mapper/UserPositionMapper.xml
@@ -542,7 +542,21 @@
     limit 1
   </select>
 
+  <select id="getUserPositionDzList" resultType="com.nq.pojo.UserPosition">
+        SELECT u.*
+            FROM user_position u
+        LEFT JOIN user_position_check_dz dz ON dz.id = u.dz_id
 
+    <where>
+      <if test="userId != null ">
+        and u.user_id = #{userId}
+      </if>
+      <if test="checkType != null ">
+        and dz.check_type = #{checkType}
+      </if>
+    </where>
+    ORDER BY u.buy_order_time DESC
+  </select>
 
 </mapper>
 

--
Gitblit v1.9.3