From 9f39fb2695b27a440500cec6a254e5a7cefe0f58 Mon Sep 17 00:00:00 2001 From: Lxy Date: Sun, 25 Jan 2026 12:17:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=88=86=E6=9E=90?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=92=8C=E7=95=8C=E9=9D=A2=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E6=98=AF=E7=9B=AE=E5=89=8D=E6=9C=AA=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StockDataController.java | 11 ++++++++ .../service/IStockDailyTradeService.java | 8 ++++++ .../impl/StockDailyTradeServiceImpl.java | 27 +++++++++++++++++++ ruoyi-ui/src/api/newstocksystem/stockdata.js | 9 +++++++ .../src/views/newstocksystem/stockdata.vue | 24 +++++++++++++++++ 5 files changed, 79 insertions(+) diff --git a/newstock-system/src/main/java/com/ruoyi/newstocksystem/controller/StockDataController.java b/newstock-system/src/main/java/com/ruoyi/newstocksystem/controller/StockDataController.java index 01ec398..0d03240 100644 --- a/newstock-system/src/main/java/com/ruoyi/newstocksystem/controller/StockDataController.java +++ b/newstock-system/src/main/java/com/ruoyi/newstocksystem/controller/StockDataController.java @@ -319,6 +319,17 @@ public class StockDataController extends BaseController String lastTradeDate = stockDailyTradeService.selectLastTradeDate(); return AjaxResult.success(lastTradeDate); } + + /** + * 分析股票数据 + */ + @Log(title = "股票数据分析", businessType = BusinessType.OTHER) + @PostMapping("/analysis") + public AjaxResult analysis(@RequestBody TStockDailyTrade stockDailyTrade) + { + String result = stockDailyTradeService.analysisStockData(stockDailyTrade); + return AjaxResult.success(result); + } // ========================= 个股新高新低状态相关接口 ========================= diff --git a/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/IStockDailyTradeService.java b/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/IStockDailyTradeService.java index b5d37b6..7adc4c0 100644 --- a/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/IStockDailyTradeService.java +++ b/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/IStockDailyTradeService.java @@ -101,4 +101,12 @@ public interface IStockDailyTradeService * @return 最后一个交易日(格式:yyyy-MM-dd) */ public String selectLastTradeDate(); + + /** + * 分析股票数据 + * + * @param stockDailyTrade 包含交易日期的股票交易数据 + * @return 分析结果信息 + */ + public String analysisStockData(TStockDailyTrade stockDailyTrade); } diff --git a/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/impl/StockDailyTradeServiceImpl.java b/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/impl/StockDailyTradeServiceImpl.java index c0c3dfd..a2b68d3 100644 --- a/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/impl/StockDailyTradeServiceImpl.java +++ b/newstock-system/src/main/java/com/ruoyi/newstocksystem/service/impl/StockDailyTradeServiceImpl.java @@ -385,4 +385,31 @@ public class StockDailyTradeServiceImpl implements IStockDailyTradeService { return stockDailyTradeMapper.selectLastTradeDate(); } + + @Override + public String analysisStockData(TStockDailyTrade stockDailyTrade) + { + logger.info("开始分析股票数据,交易日期: {}", stockDailyTrade.getTradeDate()); + + try { + // 这里实现具体的分析逻辑,参考stocksystem的analysis方法 + // 目前先记录日志并返回成功 + + // 1. 可以在这里添加分析逻辑,比如: + // - 更新涨跌幅数据 + // - 计算动量指标 + // - 生成技术分析结果 + // - 其他业务逻辑 + + // 2. 示例:可以遍历当天数据,进行某些计算 + // List dailyTradeList = stockDailyTradeMapper.selectStockDailyTradeList(stockDailyTrade); + // 然后对这些数据进行分析处理 + + logger.info("股票数据分析完成,交易日期: {}", stockDailyTrade.getTradeDate()); + return "分析完成"; + } catch (Exception e) { + logger.error("股票数据分析失败,交易日期: {}", stockDailyTrade.getTradeDate(), e); + throw new RuntimeException("分析失败: " + e.getMessage()); + } + } } \ No newline at end of file diff --git a/ruoyi-ui/src/api/newstocksystem/stockdata.js b/ruoyi-ui/src/api/newstocksystem/stockdata.js index 8d97c53..f7e8fc5 100644 --- a/ruoyi-ui/src/api/newstocksystem/stockdata.js +++ b/ruoyi-ui/src/api/newstocksystem/stockdata.js @@ -158,6 +158,15 @@ export default { }) }, + // 分析股票数据 + analysis(data) { + return request({ + url: '/newstocksystem/stockdata/analysis', + method: 'post', + data: data + }) + }, + // ========================= 个股新高新低状态相关 ========================= // 查询个股新高新低状态列表 diff --git a/ruoyi-ui/src/views/newstocksystem/stockdata.vue b/ruoyi-ui/src/views/newstocksystem/stockdata.vue index d7de9a7..dc380b1 100644 --- a/ruoyi-ui/src/views/newstocksystem/stockdata.vue +++ b/ruoyi-ui/src/views/newstocksystem/stockdata.vue @@ -46,6 +46,7 @@ 搜索 重置 + 分析 @@ -437,6 +438,29 @@ export default { this.getDailyTradeList() }, + /** 分析股票数据 */ + handleAnalysis() { + if (!this.dailyTradeQuery.tradeDate) { + this.$message.warning('请先选择交易日期') + return + } + this.$confirm('确定要对所选日期的数据进行分析吗?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + stockdataApi.analysis({ tradeDate: this.dailyTradeQuery.tradeDate }).then(response => { + this.$message.success(response.msg || '分析完成') + // 分析完成后刷新数据列表 + this.getDailyTradeList() + }).catch(error => { + this.$message.error('分析失败:' + (error.msg || error.message || '未知错误')) + }) + }).catch(() => { + // 取消操作,不做处理 + }) + }, + /** 重置每日交易数据查询 */ resetDailyTradeQuery() { this.$refs.dailyTradeForm.resetFields()