Files

138 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2026-02-03 14:20:30 +08:00
[根目录](../CLAUDE.md) > **jsowell-quartz**
# jsowell-quartz 模块
定时任务模块,基于 Quartz 实现任务调度。
---
## 变更记录 (Changelog)
### 2026-02-03 11:32:30
- 初始化模块文档
- 识别 19 个 Java 文件
---
## 模块职责
- **任务管理**: 定时任务 CRUD
- **任务调度**: Quartz 调度器配置
- **任务执行**: 任务执行与日志记录
- **业务任务**: 充电桩业务相关定时任务
---
## 入口与启动
本模块为功能模块,无独立启动入口。
---
## 对外接口
### Controller
| Controller | 路径 | 说明 |
|------------|------|------|
| `SysJobController` | `/monitor/job/**` | 任务管理 |
| `SysJobLogController` | `/monitor/jobLog/**` | 任务日志 |
### Service
| Service | 说明 |
|---------|------|
| `ISysJobService` | 任务服务 |
| `ISysJobLogService` | 任务日志服务 |
### 业务任务
```java
// JsowellTask.java
@Component("jsowellTask")
public class JsowellTask {
// 充电桩业务相关定时任务
}
// RyTask.java
@Component("ryTask")
public class RyTask {
// 示例任务
}
```
---
## 关键依赖与配置
### Quartz 配置
```java
// ScheduleConfig.java
@Configuration
public class ScheduleConfig {
// Quartz 调度器配置
}
```
---
## 数据模型
### 核心实体
| 实体类 | 数据库表 | 说明 |
|--------|---------|------|
| `SysJob` | `sys_job` | 定时任务 |
| `SysJobLog` | `sys_job_log` | 任务日志 |
### Mapper XML 文件
位置:`src/main/resources/mapper/quartz/`
- `SysJobMapper.xml` (111 行)
- `SysJobLogMapper.xml` (94 行)
---
## 常见问题 (FAQ)
### Q: 如何添加新的定时任务?
1. 创建任务类,使用 `@Component` 注解
2. 在管理后台添加任务配置
3. 调用目标字符串格式:`beanName.methodName(params)`
### Q: 任务执行失败如何排查?
查看 `sys_job_log` 表的执行日志和异常信息
---
## 相关文件清单
```
jsowell-quartz/
├── src/main/java/com/jsowell/quartz/
│ ├── config/ # Quartz 配置
│ │ └── ScheduleConfig.java
│ ├── controller/ # 控制器
│ │ ├── SysJobController.java
│ │ └── SysJobLogController.java
│ ├── domain/ # 实体类
│ │ ├── SysJob.java
│ │ └── SysJobLog.java
│ ├── mapper/ # Mapper 接口
│ ├── service/ # Service 接口
│ │ └── impl/ # Service 实现
│ ├── task/ # 业务任务
│ │ ├── JsowellTask.java
│ │ └── RyTask.java
│ └── util/ # 工具类
│ ├── AbstractQuartzJob.java
│ ├── CronUtils.java
│ ├── JobInvokeUtil.java
│ └── ScheduleUtils.java
├── src/main/resources/
│ └── mapper/quartz/ # Mapper XML
└── pom.xml
```