[根目录](../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
```
