package com.aegis.emergency.dispatch.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.aegis.emergency.dispatch.domain.DispatchTaskParticipant;

/**
 * 调度任务参与方 Service 接口
 *
 * 管理任务参与方的增删改查及确认/到达等状态更新
 *
 * @author aegis
 */
public interface IDispatchTaskParticipantService extends IService<DispatchTaskParticipant> {

    /**
     * 根据任务ID查询参与方列表
     *
     * @param taskId 任务ID
     * @return 参与方集合
     */
    List<DispatchTaskParticipant> listByTaskId(Long taskId);

    /**
     * 批量添加参与方
     *
     * @param taskId 任务ID
     * @param participants 参与方集合
     */
    void addParticipants(Long taskId, List<DispatchTaskParticipant> participants);

    /**
     * 移除参与方
     *
     * @param taskId 任务ID
     * @param participantId 参与方ID
     * @return 是否成功
     */
    boolean removeParticipant(Long taskId, Long participantId);
}