You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MomentumLab/docs/stock-system-data-relations...

34 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Stock-System 数据结构关系文档

1. 文档简介

本文档详细梳理了 RuoYi-Vue 项目中 stock-system 模块的所有写入数据库的数据结构及其相互关系。该模块主要用于管理和分析股票相关数据,包括基础信息、交易数据、财务数据和分析指标等。

2. 核心数据实体

2.1 股票基础信息 (StockBasic)

  • 表名: stock_basis
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联其他表的关键字段)
    • name: 股票名称
    • blemind2: 所属东财行业指数2级
    • blemind3: 所属东财行业指数3级
    • listdate: 首发上市日期

2.2 股票财务数据 (StockFinancial)

  • 表名: stock_financial
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联 StockBasic)
    • period: 报告期
    • jlrtbzzl: 净利润同比增长率
    • jlrhbzzl: 净利润环比增长率
    • jzcsylroe: 净资产收益率ROE
    • epsbasic: 每股收益EPS
    • jlr: 净利润
    • jbmgsy: 基本每股收益
    • mgjzc: 每股净资产BPS

2.3 股票指数数据 (StockIndex)

  • 表名: stock_index
  • 核心字段:
    • id: 主键
    • code: 指数代码
    • name: 指数名称
    • tradeDay: 交易日期
    • open: 开盘价
    • close: 收盘价
    • high: 最高价
    • low: 最低价
    • differrange: 涨跌幅
    • volume: 成交量
    • amount: 成交额
    • limitupnum: 涨停家数
    • limitdownnum: 跌停家数
    • mv: 总市值
    • pettm: 市盈率PE

2.4 股票交易数据 (Stocks)

  • 表名: stocks
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联 StockBasic)
    • name: 股票名称
    • blemind2: 所属东财行业指数2级
    • blemind3: 所属东财行业指数3级
    • listdate: 首发上市日期
    • tradeDay: 交易日期
    • open: 开盘价
    • close: 收盘价
    • high: 最高价
    • low: 最低价
    • differrange: 当日涨跌幅
    • volumn: 成交量
    • amount: 成交额
    • differrange3/5/10/15/20/30/60: 不同周期涨跌幅
    • islimit: 是否涨停
    • isdrop: 是否跌停

2.5 股票趋势数据 (StocksInTrend)

  • 表名: stocks_in_trend
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联 StockBasic)
    • tradeDay: 交易日期
    • sort: 排名
    • type: 动量数据类型 (10日、20日)
    • name: 股票名称
    • blemind2: 所属东财行业指数2级
    • blemind3: 所属东财行业指数3级
    • open: 开盘价
    • close: 收盘价
    • differrange: 当日涨跌幅
    • differrange10/20/60: 不同周期涨跌幅
    • backdifferrange10/20/60: 不同周期最大回撤

2.6 股票涨跌停数据 (StocksLimit)

  • 表名: stocks_limit
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联 StockBasic)
    • tradeDay: 交易日期
    • islimit: 是否涨停
    • isdrop: 是否跌停
    • blemind2: 所属东财行业指数2级

2.7 股票创新高/新低数据 (StocksNewRecord)

  • 表名: stocks_new_record
  • 核心字段:
    • id: 主键
    • code: 股票代码 (关联 StockBasic)
    • tradeDay: 交易日期
    • isHigh: 是否300天新高
    • isLow: 是否300天新低
    • blemind2: 所属东财行业指数2级

2.8 交易日数据 (TradeDates)

  • 表名: trade_dates
  • 核心字段:
    • date: 交易日期
    • week: 周
    • trade: 是否可交易
  • 表名: trends
  • 核心字段:
    • id: 主键
    • tradeDay: 交易日期
    • blemind2: 所属东财行业指数2级
    • stocksCount: 动量个股数量
    • trendValue: 动量值
    • trendValueChange: 动量值变化
    • sort: 板块排名
    • sortChange: 板块排名变化
    • type: 动量数据类型 (10日、20日)

3. 数据结构关系图

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   StockBasic    │────>│    StockFinancial │────>│     Stocks      │
└─────────────────┘     └─────────────────┘     └─────────────────┘
        │                        │                    │
        │                        │                    │
        ▼                        ▼                    ▼
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   StockIndex    │     │  StocksInTrend  │────>│    Trends       │
└─────────────────┘     └─────────────────┘     └─────────────────┘
        │                        │
        │                        │
        ▼                        ▼
┌─────────────────┐     ┌─────────────────┐
│  TradeDates     │     │  StocksLimit    │
└─────────────────┘     └─────────────────┘
                                  │
                                  │
                                  ▼
                          ┌─────────────────┐
                          │ StocksNewRecord │
                          └─────────────────┘

4. 详细关系说明

4.1 基础数据层

  • StockBasic: 核心基础表,存储股票基本信息,是其他表的关联基础
  • TradeDates: 提供交易日信息,为其他表的时间维度提供参考

4.2 交易数据层

  • Stocks: 存储股票每日交易数据,关联 StockBasic 和 StockFinancial
  • StockIndex: 存储指数交易数据,反映市场整体情况
  • StockFinancial: 存储股票财务数据,与 Stocks 表关联

4.3 分析数据层

  • StocksInTrend: 基于 Stocks 表数据,计算股票趋势指标
  • StocksLimit: 基于 Stocks 表数据,记录股票涨跌停情况
  • StocksNewRecord: 基于 Stocks 表数据,记录股票创新高/新低情况
  • Trends: 基于 StocksInTrend 表数据,分析行业趋势

5. 核心关键字段关系

5.1 股票标识关联

  • code: 股票代码,贯穿所有股票相关表,是表间关联的核心字段
  • name: 股票名称,辅助标识股票

5.2 时间维度关联

  • tradeDay: 交易日期,所有交易和分析数据的时间维度
  • period: 财务数据的报告期
  • date: 交易日历日期

5.3 行业分类关联

  • blemind2: 东财行业指数2级分类用于行业分析
  • blemind3: 东财行业指数3级分类更细分的行业分析

5.4 分析指标关联

  • differrange: 涨跌幅,核心分析指标
  • type: 动量数据类型,区分不同周期的分析数据
  • sort: 排名,用于趋势分析
  • trendValue: 动量值,行业趋势分析的核心指标

6. 数据存储特点

6.1 时间序列数据

  • 所有交易和分析数据都按交易日存储,形成时间序列
  • 支持多周期分析3日、5日、10日、15日、20日、30日、60日

6.2 多维度分析

  • 提供了不同周期的涨跌幅数据
  • 支持按行业分类进行分析
  • 包含多种技术指标(如动量值、最大回撤等)

6.3 数据层次结构

  • 基础数据层: 存储静态基础信息
  • 交易数据层: 存储动态交易数据
  • 分析数据层: 基于基础和交易数据生成的分析结果

6.4 关联完整性

  • 通过股票代码 (code) 和交易日期 (tradeDay) 建立了完整的数据关联体系
  • 各表之间的关联关系清晰,数据流向明确

7. 数据流向

  1. 基础数据流入:

    • StockBasic 表导入股票基础信息
    • TradeDates 表导入交易日历
  2. 交易数据流入:

    • Stocks 表导入每日交易数据
    • StockIndex 表导入指数数据
    • StockFinancial 表导入财务报表数据
  3. 分析数据生成:

    • 基于 Stocks 表数据计算生成 StocksInTrend、StocksLimit、StocksNewRecord
    • 基于 StocksInTrend 表数据计算生成 Trends

8. 总结

Stock-System 模块采用了层次化的数据结构设计,从基础数据、交易数据到分析数据,形成了完整的数据链路。通过股票代码和交易日期两个核心维度,将各个表关联起来,构建了一个功能完备的股票数据管理系统。

该系统不仅存储了基础的股票信息和交易数据,还通过计算生成了丰富的分析指标,为股票分析和投资决策提供了全面的数据支持。数据结构设计合理,关联关系清晰,能够满足股票数据管理和分析的各种需求。

9. 接口与实现文件

9.1 股票基础信息 (StockBasic) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/stockbasic/list GET 查询基础数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java
/stocksystem/stockbasic/export POST 导出基础数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java
/stocksystem/stockbasic/{id} GET 获取基础数据详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java
/stocksystem/stockbasic POST 新增基础数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java
/stocksystem/stockbasic PUT 修改基础数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java
/stocksystem/stockbasic/{ids} DELETE 删除基础数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockBasicController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StockBasicServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/stockbasic.js

方法名 接口路径 功能描述
listStockbasic /stocksystem/stockbasic/list 查询基础数据列表
getStockbasic /stocksystem/stockbasic/{id} 查询基础数据详细
addStockbasic /stocksystem/stockbasic 新增基础数据
updateStockbasic /stocksystem/stockbasic 修改基础数据
delStockbasic /stocksystem/stockbasic/{id} 删除基础数据

9.2 股票财务数据 (StockFinancial) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/financial/list GET 查询A股财务数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial/export POST 导出A股财务数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial/{id} GET 获取A股财务数据详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial POST 新增A股财务数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial PUT 修改A股财务数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial/{ids} DELETE 删除A股财务数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java
/stocksystem/financial/importData POST 导入财报数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockFinancialController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StockFinancialServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/financial.js

方法名 接口路径 功能描述
listFinancial /stocksystem/financial/list 查询A股财务数据列表
getFinancial /stocksystem/financial/{id} 查询A股财务数据详细
addFinancial /stocksystem/financial 新增A股财务数据
updateFinancial /stocksystem/financial 修改A股财务数据
delFinancial /stocksystem/financial/{id} 删除A股财务数据

9.3 股票指数数据 (StockIndex) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/stockindex/list GET 查询指数交易行情列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex/export POST 导出指数交易行情列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex/importData POST 导入指数数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex/{id} GET 获取指数交易行情详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex POST 新增指数交易行情 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex PUT 修改指数交易行情 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java
/stocksystem/stockindex/{ids} DELETE 删除指数交易行情 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StockIndexController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StockIndexServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/stockindex.js

方法名 接口路径 功能描述
listStockindex /stocksystem/stockindex/list 查询指数交易行情列表
getStockindex /stocksystem/stockindex/{id} 查询指数交易行情详细
addStockindex /stocksystem/stockindex 新增指数交易行情
updateStockindex /stocksystem/stockindex 修改指数交易行情
delStockindex /stocksystem/stockindex/{id} 删除指数交易行情

9.4 股票交易数据 (Stocks) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/stocks/list GET 查询行情数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/listB GET 查询行情数据列表含基础数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/listStrongStocks GET 查询强势股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/listLimitStocks GET 查询涨停股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/listDropStocks GET 查询跌停股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/distribution GET 查询涨跌分布 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockindestocksdistribution GET 查询板块涨跌分布 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockHistory GET 查询个股历史数据(k线) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockIndexHistory GET 查询板块历史数据(k线) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/groupLimitlist GET 查询每日涨跌停板列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockQueryData GET 获取联想的数据(股票代码) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockNameQueryData GET 获取联想的数据(股票名称) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/stockIndexsNameQueryData GET 获取联想的数据(指数名称) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/getTradeDay GET 获取最近的交易日 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/export POST 导出行情数据列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java
/stocksystem/stocks/importData POST 导入行情数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StocksServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/stocks.js

方法名 接口路径 功能描述
listStocks /stocksystem/stocks/listB 查询行情数据列表含基础数据
getStocks /stocksystem/stocks/{id} 查询行情数据详细
analysis /stocksystem/stocks/analysis 分析行情数据
addStocks /stocksystem/stocks 新增行情数据
updateStocks /stocksystem/stocks 修改行情数据
delStocks /stocksystem/stocks/{id} 删除行情数据

9.5 股票趋势数据 (StocksInTrend) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/trendStocks/list GET 查询动量个股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java
/stocksystem/trendStocks/export POST 导出动量个股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java
/stocksystem/trendStocks/{id} GET 获取动量个股详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java
/stocksystem/trendStocks POST 新增动量个股 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java
/stocksystem/trendStocks PUT 修改动量个股 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java
/stocksystem/trendStocks/{ids} DELETE 删除动量个股 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksInTrendController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StocksInTrendServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/trendStocks.js

方法名 接口路径 功能描述
listTrendStocks /stocksystem/trendStocks/list 查询动量个股列表
getTrendStocks /stocksystem/trendStocks/{id} 查询动量个股详细
addTrendStocks /stocksystem/trendStocks 新增动量个股
updateTrendStocks /stocksystem/trendStocks 修改动量个股
delTrendStocks /stocksystem/trendStocks/{id} 删除动量个股

9.6 股票涨跌停数据 (StocksLimit) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/stockslimit/list GET 查询每日涨跌停板列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit/grouplist GET 查询每日涨跌停板列表(按板块分组) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit/export POST 导出每日涨跌停板列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit/importData POST 导入涨跌停数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit/{id} GET 获取每日涨跌停板详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit POST 新增每日涨跌停板 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit PUT 修改每日涨跌停板 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java
/stocksystem/stockslimit/{ids} DELETE 删除每日涨跌停板 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksLimitController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StocksLimitServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/stockslimit.js

方法名 接口路径 功能描述
listStockslimit /stocksystem/stockslimit/list 查询每日涨跌停板列表
getStockslimit /stocksystem/stockslimit/{id} 查询每日涨跌停板详细
addStockslimit /stocksystem/stockslimit 新增每日涨跌停板
updateStockslimit /stocksystem/stockslimit 修改每日涨跌停板
delStockslimit /stocksystem/stockslimit/{id} 删除每日涨跌停板

9.7 股票创新高/新低数据 (StocksNewRecord) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/newrecord/list GET 查询每日创新高新低列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/export POST 导出每日创新高新低列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/grouplist GET 查询每日新高新低列表(按板块分组) stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/getAllNewRecords GET 查询每日新高新低列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/importData POST 导入创新高新低数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/{id} GET 获取每日创新高新低详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord POST 新增每日创新高新低 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord PUT 修改每日创新高新低 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java
/stocksystem/newrecord/{ids} DELETE 删除每日创新高新低 stock-system/src/main/java/com/ruoyi/stocksystem/controller/StocksNewRecordController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/StocksNewRecordServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/newrecord.js

方法名 接口路径 功能描述
listNewrecord /stocksystem/newrecord/list 查询每日创新高新低列表
getNewrecord /stocksystem/newrecord/{id} 查询每日创新高新低详细
addNewrecord /stocksystem/newrecord 新增每日创新高新低
updateNewrecord /stocksystem/newrecord 修改每日创新高新低
delNewrecord /stocksystem/newrecord/{id} 删除每日创新高新低

9.8 交易日数据 (TradeDates) 相关接口

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/tradedates/list GET 查询可交易日期列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java
/stocksystem/tradedates/export POST 导出可交易日期列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java
/stocksystem/tradedates/{date} GET 获取可交易日期详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java
/stocksystem/tradedates POST 新增可交易日期 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java
/stocksystem/tradedates PUT 修改可交易日期 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java
/stocksystem/tradedates/{dates} DELETE 删除可交易日期 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TradeDatesController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/TradeDatesServiceImpl.java

前端调用

: 交易日数据的前端调用主要通过其他模块间接使用,例如在获取最近交易日时调用 /stocksystem/stocks/getTradeDay 接口。

后端接口

接口路径 方法 功能描述 实现文件
/stocksystem/trends/list GET 查询动量结果列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/querylist GET 查询动量结果列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/querytrendstockslist GET 查询动量个股列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listSection GET 查询行业趋势数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listTradeVolume GET 查询行业交易量数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listStockIndexLimitUp GET 查询行业涨停家数数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listStockIndexLimitDown GET 查询行业跌停家数数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listStockIndexHighRocord GET 查询行业创新高数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listStockIndexLowRocord GET 查询行业创新低数据 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/listSectionByBlemind GET 查询板块动量值 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/export POST 导出动量结果列表 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/{id} GET 获取动量结果详细信息 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends POST 新增动量结果 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends PUT 修改动量结果 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java
/stocksystem/trends/{ids} DELETE 删除动量结果 stock-system/src/main/java/com/ruoyi/stocksystem/controller/TrendsController.java

实现类: stock-system/src/main/java/com/ruoyi/stocksystem/domain/service/impl/TrendsServiceImpl.java

前端调用

文件路径: ruoyi-ui/src/api/stocksystem/trends.js

方法名 接口路径 功能描述
listTrends /stocksystem/trends/list 查询动量结果列表
listTrendsSection /stocksystem/trends/listSection 查询时间段内动量结果列表
listTradeVolume /stocksystem/trends/listTradeVolume 查询行业交易量数据
listStockIndexLimitUp /stocksystem/trends/listStockIndexLimitUp 查询指数内涨停板数量
listStockIndexLimitDown /stocksystem/trends/listStockIndexLimitDown 查询板块内跌停板数量
listStockIndexHighRocord /stocksystem/trends/listStockIndexHighRocord 查询创新高板块
listStockIndexLowRocord /stocksystem/trends/listStockIndexLowRocord 查询创新低板块
listSectionByBlemind /stocksystem/trends/listSectionByBlemind 查询板块动量值
listStockHistory /stocksystem/stocks/stockHistory 查询个股历史k线数据
listStockIndexHistory /stocksystem/stocks/stockIndexHistory 板块历史k线数据
getTrends /stocksystem/trends/{id} 查询动量结果详细
addTrends /stocksystem/trends 新增动量结果
updateTrends /stocksystem/trends 修改动量结果
delTrends /stocksystem/trends/{id} 删除动量结果

10. Redis 缓存使用分析

10.1 缓存键定义

所有缓存键常量定义在 com.ruoyi.common.constant.Constants 类中,主要包括:

缓存键常量 含义 过期时间
EXPIRED_TIME 默认过期时间 3天606024*3秒
TRENDS 动量趋势数据 -
HOME_HIGH_DISTRIBUTE 首页新高分布 -
HOME_LOW_DISTRIBUTE 首页新低分布 -
HOME_TRENDS_STOCKS 首页动量趋势个股 -
TRENDS_SECTION_BLEMIND 板块趋势值 -
HOME_STRONG_STOCKS 首页强势个股 -
HOME_LIMIT_STOCKS 首页涨停个股 -
HOME_DROP_LIMIT_STOCKS 首页跌停个股 -
HOME_STOCKS_DISTRIBUTE 首页涨跌分布 -
STOCKINDEX_STOCKS_DISTRIBUTE 板块涨跌分布 -
STOCK_CODE_QUERY 个股代码联想 -
STOCK_NAME_QUERY 个股名称联想 -
STOCKINDEX_NAME_QUERY 板块名称联想 -

10.2 缓存使用场景

10.2.1 股票交易数据 (Stocks) 缓存

接口 缓存键 功能描述 过期时间
/stocksystem/stocks/listStrongStocks HOME_STRONG_STOCKS + 日期 + "_" + 类型 查询强势股 3天
/stocksystem/stocks/listLimitStocks HOME_LIMIT_STOCKS + 日期 + "_" + 类型 查询涨停股 3天
/stocksystem/stocks/listDropStocks HOME_DROP_LIMIT_STOCKS + 日期 + "_" + 类型 查询跌停股 3天
/stocksystem/stocks/distribution HOME_STOCKS_DISTRIBUTE + 日期 + "_" + 类型 查询涨跌分布 3天
/stocksystem/stocks/stockindestocksdistribution STOCKINDEX_STOCKS_DISTRIBUTE + 日期 + "_" + 板块 查询板块涨跌分布 3天
/stocksystem/stocks/groupLimitlist 动态生成 查询每日涨跌停板列表 3天
/stocksystem/stocks/stockQueryData STOCK_CODE_QUERY 获取个股代码联想数据 12小时
/stocksystem/stocks/stockNameQueryData STOCK_NAME_QUERY 获取个股名称联想数据 12小时
/stocksystem/stocks/stockIndexsNameQueryData STOCKINDEX_NAME_QUERY 获取板块名称联想数据 12小时
/stocksystem/stocks/getTradeDay 动态生成 获取最近交易日 -

10.2.2 股票创新高/新低数据 (StocksNewRecord) 缓存

接口 缓存键 功能描述 过期时间
/stocksystem/newrecord/grouplist HOME_HIGH_DISTRIBUTE/HOME_LOW_DISTRIBUTE + 日期 查询每日新高新低列表 3天
接口 缓存键 功能描述 过期时间
/stocksystem/trends/querytrendstockslist HOME_TRENDS_STOCKS + 日期 + "_" + 类型 查询动量趋势个股 3天
/stocksystem/trends/listSection TRENDS + 日期 + "_" + 类型 查询行情数据列表含基础数据 3天
/stocksystem/trends/listSectionByBlemind TRENDS_SECTION_BLEMIND + 日期 + "" + 板块 + "" + 类型 查询板块动量值 3天

10.3 缓存使用模式

各控制器采用统一的缓存使用模式:

  1. 生成缓存键:根据业务参数(如日期、类型、板块等)动态生成缓存键
  2. 查询缓存:使用 redisCache.getCacheList()redisCache.getCacheObject() 查询缓存
  3. 缓存命中处理:如果缓存存在,直接返回缓存数据
  4. 缓存未命中处理
    • 查询数据库获取数据
    • 使用 redisCache.setCacheList()redisCache.setCacheObject() 将数据存入缓存
    • 使用 redisCache.expire() 设置缓存过期时间
  5. 特殊情况:当存在搜索条件时,通常不走缓存,也不缓存结果

11. 附录

11.1 数据实体对应文件路径

数据实体 文件路径
StockBasic stock-system/src/main/java/com/ruoyi/stocksystem/domain/StockBasic.java
StockFinancial stock-system/src/main/java/com/ruoyi/stocksystem/domain/StockFinancial.java
StockIndex stock-system/src/main/java/com/ruoyi/stocksystem/domain/StockIndex.java
Stocks stock-system/src/main/java/com/ruoyi/stocksystem/domain/Stocks.java
StocksInTrend stock-system/src/main/java/com/ruoyi/stocksystem/domain/StocksInTrend.java
StocksLimit stock-system/src/main/java/com/ruoyi/stocksystem/domain/StocksLimit.java
StocksNewRecord stock-system/src/main/java/com/ruoyi/stocksystem/domain/StocksNewRecord.java
TradeDates stock-system/src/main/java/com/ruoyi/stocksystem/domain/TradeDates.java
Trends stock-system/src/main/java/com/ruoyi/stocksystem/domain/Trends.java

11.2 技术实现特点

  • 采用了典型的 MVC 架构
  • 使用 MyBatis 作为 ORM 框架与数据库交互
  • 支持 Excel 导入导出功能
  • 提供了丰富的分析指标和查询功能
  • 数据结构设计符合金融行业特点,支持高频数据处理
  • 集成了 Redis 缓存,提高查询性能
  • 提供了丰富的统计分析接口,支持多维度数据查询
  • 缓存键设计合理,分层清晰,便于管理和维护
  • 缓存过期时间设置合理,平衡了性能和数据新鲜度