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...

584 lines
34 KiB

# 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 缓存,提高查询性能
- 提供了丰富的统计分析接口,支持多维度数据查询
- 缓存键设计合理,分层清晰,便于管理和维护
- 缓存过期时间设置合理,平衡了性能和数据新鲜度