mirror of
https://git.ittx.com.cn/office-walle/will_server.git
synced 2026-10-20 00:17:50 +00:00
- 新增 AbstractZentaoReportBuilder 抽象类提供通用查询方法 - 新增 ReportBuilder 接口和 @ReportJob 注解实现报表构建器插件化 - 新增 ZentaoDailyEffortReportBuilder 实现日报工时统计报表 - 将 ZentaoWeComReportService 重命名为 BuildReportService 并重构为通用报表服务 - 在 job_config 表新增 mailCc 字段支持邮件抄送功能 - 更新 MailMessageClient 支持抄送人参数和收件人格式标准化 - 新增工作台菜单项并更新数据库补丁脚本 - 移除原有的 ZentaoEffortReportQueryService 和 ZentaoDailyEffortJobExecutor - 更新 XXL-JOB 调度分发器支持新的报表构建器模式
3.5 KiB
3.5 KiB
willSystem 项目流程图
计划任务配置与执行流程
flowchart TD
A[前端计划任务配置页面] --> B[AgentReportController]
B --> C[JobConfigService]
C --> D[(job_config)]
C --> E[ConfigService]
E --> F[(config_group / config_item)]
F --> G[JOB_TYPE 任务功能下拉]
C --> H[JobScheduleSyncService]
H --> I[XxlJobScheduleSyncService]
I --> J[XxlJobAdminClient]
J --> K[XXL-JOB Admin]
K --> L[executorHandler: agentReportDispatchJob]
K --> M[executorParam: configId]
L --> N[ZentaoEffortReportJobHandler]
M --> N
N --> C
N --> O[JobExecutionDispatcher]
O --> P[JobExecutor]
O --> Q[BuildReportService]
Q --> R["@ReportJob + ReportBuilder"]
R --> S[ZentaoDailyEffortReportBuilder]
R --> T[ZentaoWeeklyTaskDetailReportBuilder]
S --> U[ZentaoEffortReportQueryService]
T --> U
U --> V[(Zentao DB)]
Q --> W[RobotMessageClient / MailMessageClient]
W --> X[企业微信 / 飞书 / 钉钉 / 邮件]
统一配置流程
flowchart TD
A[前端统一配置页面] --> B[ConfigController]
B --> C[ConfigService]
C --> D[(config_group)]
C --> E[(config_item)]
D --> F[配置组]
E --> G[配置项]
G --> H[JOB_TYPE]
H --> I[计划任务配置的任务功能下拉]
当前关键设置
- 计划任务配置表是
job_config。 - 系统配置主子表是
config_group和config_item。 - 任务功能下拉不写死在前端,来自
config_group.code = JOB_TYPE下的启用配置项。 job_config不再保存zone、daysAgo、groupName。- 时区、执行范围、统计偏移等业务逻辑固定在后端执行逻辑中。
- 计划任务保存时,
name、jobType、cron必填。 jobType必须存在于启用的JOB_TYPE配置项中。- 任务执行采用插件式
JobExecutor结构。 - 报表类任务采用
@ReportJob(jobType = "...") + ReportBuilder自动装载。 - 新增报表类计划任务时,优先新增一个
ReportBuilder实现类,不改BuildReportService和调度入口。 - 非报表类任务仍可新增一个
JobExecutor实现类。 - XXL-JOB 统一使用
agentReportDispatchJob作为执行器 Handler。 - XXL-JOB 参数只传
configId,执行时再读取job_config获取完整配置。
新增计划任务推荐流程
flowchart TD
A[新增任务需求] --> B[确认是否需要新增 jobType]
B --> C[在 JOB_TYPE 配置项中新增任务功能]
C --> D{是否报表发送类任务}
D -->|是| E[新增 ReportBuilder 实现并标注 @ReportJob]
D -->|否| F[新增 JobExecutor 实现]
E --> G[实现 build ReportRequest]
F --> H[实现 execute JobConfigDTO]
G --> I[复用或新增业务 Service]
H --> I
I --> J[如需新字段再评估 job_config 表结构]
J --> K[同步 SQL 脚本和前端表单]
K --> L[运行后端编译和前端类型检查]
后续需求调整原则
- 先判断需求属于配置管理、任务类型、任务执行器、业务报表查询、消息发送还是 XXL-JOB 同步。
- 不在
JobConfigService中增加具体业务执行分支。 - 不在
ZentaoEffortReportJobHandler中增加具体任务类型判断。 - 不在
BuildReportService中增加具体报表类型判断。 - 不在前端写死任务功能下拉值。
- 新增表字段前先确认是否是业务逻辑固定值,固定值优先放后端执行代码。
- 旧表迁移和新建表脚本必须同步检查。