package com.lesingle.creation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lesingle.creation.dto.school.CreateSchoolDTO;
import com.lesingle.creation.dto.school.UpdateSchoolDTO;
import com.lesingle.creation.entity.School;
import com.lesingle.creation.vo.school.SchoolVO;

/**
 * 学校服务接口
 */
public interface SchoolService extends IService<School> {

    /**
     * 创建学校
     *
     * @param dto 创建学校 DTO
     * @param tenantId 租户 ID
     * @param creatorId 创建人 ID
     * @return 学校 VO
     */
    SchoolVO create(CreateSchoolDTO dto, Long tenantId, Long creatorId);

    /**
     * 根据租户 ID 查询学校
     *
     * @param tenantId 租户 ID
     * @return 学校 VO
     */
    SchoolVO getByTenantId(Long tenantId);

    /**
     * 更新学校
     *
     * @param dto 更新学校 DTO
     * @param tenantId 租户 ID
     * @param modifierId 修改人 ID
     * @return 学校 VO
     */
    SchoolVO update(UpdateSchoolDTO dto, Long tenantId, Long modifierId);

    /**
     * 删除学校
     *
     * @param tenantId 租户 ID
     */
    void delete(Long tenantId);
}
