package com.ruoyi.task.api.spi; import com.ruoyi.task.domain.ServiceSubtaskRecord; import java.util.List; import java.util.Map; /** * 子任务「发送记录」({@code service_subtask_record})读取能力 —— * ruoyi-task 的对外 SPI,由 smartor 侧实现。 * *

为什么需要它

* {@code service_subtask_record} 这张表不在本次模块化范围内(它的 Mapper/XML/Service * 仍留在 smartor),但它的实体类型 {@link ServiceSubtaskRecord} 已随 * {@code ServiceSubtask} 的字段 `List<ServiceSubtaskRecord> serviceSubtaskRecordList` * 一起搬进了 ruoyi-task。 *

* 任务侧(原 {@code ServiceSubtaskController} 的 2 处调用)要读这张表, * 故经本端口取用 —— 方向仍是「接口在 ruoyi-task、实现在 smartor」,编译期无环。 * *

⚠️ 这是【过渡】端口,形态刻意与旧 Service 一致

* 逐方法镜像 smartor 的 {@code IServiceSubtaskRecordService} 中任务侧真正用到的那两个方法 * (同名、同参数、同返回类型),使 Controller 搬进 ruoyi-task 时 * 只需换注入字段类型,调用点一行都不用改。 * *

将来动作

* 若将来 {@code service_subtask_record} 也纳入任务模块,本端口即可删除, * 改为模块内直接调用。 * *

⚠️ 实现必须保持"纯转发"

*/ public interface TaskSubtaskRecordPort { /** * 按条件查发送记录列表(原 {@code IServiceSubtaskRecordService#selectServiceSubtaskRecordList})。 */ List selectServiceSubtaskRecordList(ServiceSubtaskRecord query); /** * 按子任务 id 集合批量查发送记录,按 subid 分组 * (原 {@code IServiceSubtaskRecordService#selectRecordMapBySubtaskIds})。 * * @param subtaskIds 子任务 id 集合 * @return subid -> 该子任务的记录列表 */ Map> selectRecordMapBySubtaskIds(List subtaskIds); }