# 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`: 是否可交易 ### 2.9 行业趋势分析数据 (Trends) - **表名**: `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 接口。 ### 9.9 行业趋势分析数据 (Trends) 相关接口 #### 后端接口 | 接口路径 | 方法 | 功能描述 | 实现文件 | |---------|------|---------|--------| | /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天(60*60*24*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天 | #### 10.2.3 行业趋势分析数据 (Trends) 缓存 | 接口 | 缓存键 | 功能描述 | 过期时间 | |-----|-------|---------|--------| | /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 缓存,提高查询性能 - 提供了丰富的统计分析接口,支持多维度数据查询 - 缓存键设计合理,分层清晰,便于管理和维护 - 缓存过期时间设置合理,平衡了性能和数据新鲜度