package org.springblade.modules.martial.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.martial.pojo.entity.MartialTeam;
import org.springblade.modules.martial.pojo.vo.MartialTeamVO;

import java.util.List;

public interface IMartialTeamService extends IService<MartialTeam> {

	/**
	 * Save team with members
	 */
	boolean saveTeamWithMembers(MartialTeam team, List<Long> memberIds);

	/**
	 * Update team with members
	 */
	boolean updateTeamWithMembers(MartialTeam team, List<Long> memberIds);

	/**
	 * Get team list with member count
	 */
	IPage<MartialTeamVO> getTeamList(Long createUser, Integer current, Integer size);

	/**
	 * Get team detail with members
	 */
	MartialTeamVO getTeamDetail(Long id);

	/**
	 * Remove team and its members
	 */
	boolean removeTeamWithMembers(Long id);

}
