package com.ruoyi.system.service; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.system.domain.SysTaskAssignee; import com.ruoyi.system.domain.vo.TaskCreateVO; import java.util.List; /** * 任务执行人服务接口 * * @author ruoyi */ public interface ISysTaskAssigneeService { /** * 保存任务执行人员信息 * * @param taskId 任务ID * @param assignees 执行人员信息列表 * @param userName 操作人 */ void saveTaskAssignees(Long taskId, List assignees, String userName); /** * 更新任务执行人员(含变更检测,仅在有变化时才更新) * * @param taskId 任务ID * @param newAssignees 新的执行人员信息列表 * @param userName 操作人 * @return 是否有变更 */ boolean updateTaskAssignees(Long taskId, List newAssignees, String userName); /** * 根据任务ID获取执行人列表 * * @param taskId 任务ID * @return 执行人列表 */ List getAssigneesByTaskId(Long taskId); /** * 删除任务的所有执行人 * * @param taskId 任务ID * @return 删除数量 */ int deleteAssigneesByTaskId(Long taskId); /** * 执行人点击就绪 * * @param taskId 任务ID * @param userId 用户ID * @return 结果 */ AjaxResult setAssigneeReady(Long taskId, Long userId); /** * 取消执行人就绪 * * @param taskId 任务ID * @param userId 用户ID * @return 结果 */ AjaxResult cancelAssigneeReady(Long taskId, Long userId); /** * 获取执行人ID列表 * * @param taskId 任务ID * @return 执行人ID列表 */ List getAssigneeIds(Long taskId); /** * 获取执行人姓名列表 * * @param taskId 任务ID * @return 执行人姓名列表 */ List getAssigneeNames(Long taskId); }