From 160e4502d66ff0da52e52472ce7075afd3cdaa3b Mon Sep 17 00:00:00 2001 From: yanghanbin Date: Tue, 27 Jan 2026 14:50:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(job):=20=E9=9B=86=E6=88=90Quartz=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=B0=83=E5=BA=A6=E5=B9=B6=E9=87=8D=E6=9E=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=BE=9D=E8=B5=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 配置application.yml中的Quartz数据库存储相关设置 - 将MyBatis替换为MyBatis-Plus并调整相关配置 - 创建dc-common-parent父工程统一管理依赖版本 - 更新dc-job-service的pom.xml依赖配置并移除冗余依赖 - 修改JobServiceApplication.java作者信息 - 为Result.java添加序列化支持 - 添加Quartz数据库表结构SQL文件 - 调整dc-tranlog-service的artifactId和依赖配置 --- pom.xml | 4 +- .../dc/tranlog/TranLogServiceApplication.java | 26 +++----- .../controller/internal/JobController.java | 63 +++++++++++++++++++ 3 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 src/main/java/com/afe/dc/tranlog/controller/internal/JobController.java diff --git a/pom.xml b/pom.xml index 1567ab7..f0fd597 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ ../dc-parent/pom.xml - dc-tranlog-server + dc-tranlog-service DC TranLog Server 交易日志服务器 - 处理交易数据、MTC(分钟交易数据)、价格成交量等业务逻辑 @@ -41,7 +41,7 @@ com.afe.dc - dc-data-feign + dc-common-dao ${project.version} diff --git a/src/main/java/com/afe/dc/tranlog/TranLogServiceApplication.java b/src/main/java/com/afe/dc/tranlog/TranLogServiceApplication.java index 1d66ded..6dd475c 100644 --- a/src/main/java/com/afe/dc/tranlog/TranLogServiceApplication.java +++ b/src/main/java/com/afe/dc/tranlog/TranLogServiceApplication.java @@ -1,9 +1,6 @@ package com.afe.dc.tranlog; import com.afe.dc.tranlog.service.TranDatabaseService; -import com.baomidou.mybatisplus.annotation.DbType; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.CommandLineRunner; @@ -14,6 +11,7 @@ import org.springframework.context.annotation.Bean; /** * TranLogServer 主应用类 * 对应C++的main函数和CTranLogServer::Initialize + * @author ben.yang */ @Slf4j @SpringBootApplication @@ -29,30 +27,20 @@ public class TranLogServiceApplication { * 应用启动后初始化 * 对应C++的Initialize方法 */ - @Bean - public CommandLineRunner init(TranDatabaseService tranDatabaseService) { + @Bean(name = "tranLogInitializer") + public CommandLineRunner tranLogInitializer(TranDatabaseService tranDatabaseService) { return args -> { - log.info("[TranLogServerApplication] Initializing TranLogServer..."); + log.info("[TranLogServiceApplication] Initializing TranLogServer..."); // 初始化数据库 if (tranDatabaseService.initialize()) { - log.info("[TranLogServerApplication] TranDatabase initialized successfully"); + log.info("[TranLogServiceApplication] TranDatabase initialized successfully"); } else { - log.error("[TranLogServerApplication] Failed to initialize TranDatabase"); + log.error("[TranLogServiceApplication] Failed to initialize TranDatabase"); System.exit(1); } - log.info("[TranLogServerApplication] TranLogServer started successfully"); + log.info("[TranLogServiceApplication] TranLogServer started successfully"); }; } - - /** - * MyBatis-Plus 分页插件配置 - */ - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor() { - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } } diff --git a/src/main/java/com/afe/dc/tranlog/controller/internal/JobController.java b/src/main/java/com/afe/dc/tranlog/controller/internal/JobController.java new file mode 100644 index 0000000..791a04d --- /dev/null +++ b/src/main/java/com/afe/dc/tranlog/controller/internal/JobController.java @@ -0,0 +1,63 @@ +package com.afe.dc.tranlog.controller.internal; + +import com.afe.dc.common.core.result.Result; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +/** + * 任务执行控制器 + * 供 dc-job-service 通过 Feign 调用执行任务 + * + * @author stock-system + */ +@Slf4j +@RestController +@RequestMapping("/internal/api/v1/job") +@RequiredArgsConstructor +public class JobController { + + /** + * 执行交易日志同步任务 + * + * @param param 任务参数(JSON格式,可选) + * @return 执行结果 + */ + @PostMapping("/sync-tranlog") + public Result syncTranlog(@RequestParam(value = "param", required = false) String param) { + log.info("开始执行交易日志同步任务,参数: {}", param); + + try { + // TODO: 实现交易日志同步逻辑 + // 例如:从外部系统同步交易日志数据 + + log.info("交易日志同步任务执行成功"); + return Result.success("交易日志同步任务执行成功"); + } catch (Exception e) { + log.error("交易日志同步任务执行失败", e); + return Result.fail("交易日志同步任务执行失败: " + e.getMessage()); + } + } + + /** + * 执行交易日志归档任务 + * + * @param param 任务参数(JSON格式,可选) + * @return 执行结果 + */ + @PostMapping("/archive") + public Result archiveTranlog(@RequestParam(value = "param", required = false) String param) { + log.info("开始执行交易日志归档任务,参数: {}", param); + + try { + // TODO: 实现交易日志归档逻辑 + // 例如:将历史交易日志归档到文件系统或对象存储 + + log.info("交易日志归档任务执行成功"); + return Result.success("交易日志归档任务执行成功"); + } catch (Exception e) { + log.error("交易日志归档任务执行失败", e); + return Result.fail("交易日志归档任务执行失败: " + e.getMessage()); + } + } +}