package org.springblade.modules.martial.service;

import org.springblade.modules.martial.pojo.dto.AdjustOrderDTO;
import org.springblade.modules.martial.pojo.dto.SaveDispatchDTO;
import org.springblade.modules.martial.pojo.vo.DispatchDataVO;

/**
 * Schedule Dispatch Service Interface
 * Responsible for managing dispatch data and order adjustments
 */
public interface IScheduleDispatchService {

    /**
     * Get dispatch data for a competition venue and time slot
     *
     * @param competitionId Competition ID
     * @param venueId Venue ID
     * @param timeSlotIndex Time slot index
     * @return Dispatch data
     */
    DispatchDataVO getDispatchData(Long competitionId, Long venueId, Integer timeSlotIndex);

    /**
     * Adjust performance order
     *
     * @param dto Adjust order data
     * @return Success flag
     */
    boolean adjustOrder(AdjustOrderDTO dto);

    /**
     * Save dispatch data
     *
     * @param dto Dispatch data
     * @return Success flag
     */
    boolean saveDispatch(SaveDispatchDTO dto);
}
