package com.ruoyi.task.api.spi;
|
|
import com.ruoyi.task.domain.ServiceSubtaskRecord;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 子任务「发送记录」({@code service_subtask_record})读取能力 ——
|
* <b>ruoyi-task 的对外 SPI,由 smartor 侧实现</b>。
|
*
|
* <h3>为什么需要它</h3>
|
* {@code service_subtask_record} 这张表<b>不在本次模块化范围内</b>(它的 Mapper/XML/Service
|
* 仍留在 smartor),但它的<b>实体类型</b> {@link ServiceSubtaskRecord} 已随
|
* {@code ServiceSubtask} 的字段 `List<ServiceSubtaskRecord> serviceSubtaskRecordList`
|
* 一起搬进了 ruoyi-task。
|
* <p>
|
* 任务侧(原 {@code ServiceSubtaskController} 的 2 处调用)要读这张表,
|
* 故经本端口取用 —— 方向仍是「接口在 ruoyi-task、实现在 smartor」,编译期无环。
|
*
|
* <h3>⚠️ 这是【过渡】端口,形态刻意与旧 Service 一致</h3>
|
* 逐方法镜像 smartor 的 {@code IServiceSubtaskRecordService} 中任务侧真正用到的那两个方法
|
* (同名、同参数、同返回类型),使 Controller 搬进 ruoyi-task 时
|
* <b>只需换注入字段类型,调用点一行都不用改</b>。
|
*
|
* <h3>将来动作</h3>
|
* 若将来 {@code service_subtask_record} 也纳入任务模块,本端口即可删除,
|
* 改为模块内直接调用。
|
*
|
* <h3>⚠️ 实现必须保持"纯转发"</h3>
|
*/
|
public interface TaskSubtaskRecordPort {
|
|
/**
|
* 按条件查发送记录列表(原 {@code IServiceSubtaskRecordService#selectServiceSubtaskRecordList})。
|
*/
|
List<ServiceSubtaskRecord> selectServiceSubtaskRecordList(ServiceSubtaskRecord query);
|
|
/**
|
* 按子任务 id 集合批量查发送记录,按 subid 分组
|
* (原 {@code IServiceSubtaskRecordService#selectRecordMapBySubtaskIds})。
|
*
|
* @param subtaskIds 子任务 id 集合
|
* @return subid -> 该子任务的记录列表
|
*/
|
Map<Long, List<ServiceSubtaskRecord>> selectRecordMapBySubtaskIds(List<Long> subtaskIds);
|
}
|