package org.springblade.modules.martial.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.martial.pojo.entity.MartialJudgeProject;

import java.util.List;

/**
 * 裁判项目关联 服务类
 *
 * @author BladeX
 */
public interface IMartialJudgeProjectService extends IService<MartialJudgeProject> {

	/**
	 * Task 2.5: 检查裁判是否有权限给项目打分
	 */
	boolean hasPermission(Long judgeId, Long projectId);

	/**
	 * Task 2.5: 批量分配裁判到项目
	 */
	void assignJudgesToProject(Long competitionId, Long projectId, List<Long> judgeIds);

	/**
	 * Task 2.5: 获取裁判负责的所有项目
	 */
	List<Long> getJudgeProjects(Long judgeId, Long competitionId);

	/**
	 * Task 2.5: 获取项目的所有裁判
	 */
	List<Long> getProjectJudges(Long projectId);

}
