package com.ruoyi.task.api;
|
|
/**
|
* 任务模块<b>对外接口</b>(其它模块可依赖的稳定入口)。
|
*
|
* <h3>⚠️ 真正的跨模块数据面是 ruoyi-common 的 4 个契约,不是本接口</h3>
|
* 任务/子任务被其它模块使用的能力,已经按"接口在 ruoyi-common、实现在归属模块"的既有手法
|
* 下沉成 4 个契约,并由本模块实现:
|
* <ul>
|
* <li>{@code com.ruoyi.common.core.service.VisitTaskCreateApi} —— 查已发布长期任务、落库子任务、回写待执行子任务;</li>
|
* <li>{@code com.ruoyi.common.core.service.ServiceTaskMatchApi} —— 按科室/诊断/手术编码匹配长期任务;</li>
|
* <li>{@code com.ruoyi.common.core.service.SubtaskStatApi} —— 门诊随访统计取"随访人次/人数";</li>
|
* <li>{@code com.ruoyi.common.core.service.SubtaskOptionMatchApi} —— AI 选项匹配。</li>
|
* </ul>
|
* 调用方<b>直接注入那 4 个接口</b>即可,不必经过本接口。
|
*
|
* <h3>那本接口做什么</h3>
|
* 只暴露"模块是否可用"这一个稳定判断,让调用方能在调任务能力前先行降级,
|
* 而不必知道 {@code TaskSwitch} / {@code sys_config} 的内部细节。
|
*
|
* <h3>关闭时的行为</h3>
|
* 本模块的端点会被 {@code TaskAvailabilityInterceptor} 拦下并返回明确业务错误;
|
* 而 {@code isEnabled()} 供其它模块在<b>调用前</b>判断,避免"拿到 500 才知道关了"。
|
*/
|
public interface TaskApi {
|
|
/**
|
* 任务模块是否已启用(运行时读 {@code sys_config} 的 {@code task.enabled},最多 10 秒延迟)
|
*/
|
boolean isEnabled();
|
}
|