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

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