package org.jeecg.modules.system.app.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.app.form.QueryByOrgCodeForm;
import org.jeecg.modules.system.app.dto.*;
import org.jeecg.modules.system.app.entity.AppSite;
import org.jeecg.modules.system.app.entity.AppSitePlace;

import java.util.List;

/**
 * @Description: 商户场所表
 * @Author: jeecg-boot
 * @Date:   2025-07-09
 * @Version: V1.0
 */
public interface IAppSitePlaceService extends IService<AppSitePlace> {
    /**
     *学校场所新增
     * @param placeDTO
     * @return
     */
    Boolean saveSchool(AppSitePlaceSchoolDTO placeDTO);
    /**
     * 学校场所修改
     * @param placeDTO
     * @return
     */
    Boolean editSchool(AppSitePlaceSchoolDTO placeDTO);
    /**
     * 通过id查询学校场所
     * @param id
     * @return
     */
    AppSitePlaceSchoolDTO querySchoolById(String id);
    /**
     * 删除学校场所
     * @param id
     * @return
     */
    Boolean deleteSchoolById(String id);

    /**
     * 学校分页列表
     * @param dto
     * @return
     */

    IPage<AppSitePlaceCuDTO> querySchoolPage(AppSitePlacePageDTO dto);




    //Unfixed
    /**
     * 添加无固定场
     * @param unsetDTO
     * @return
     */

    Boolean addUnfixed(AppSitePlaceUnfixedDTO unsetDTO);
    /**
     * 编辑无固定场
     * @param unsetDTO
     * @return
     */
    Boolean updateUnfixed(AppSitePlaceUnfixedDTO unsetDTO);
    /**
     * 删除无固定场
     * @param id
     * @return
     */
    Boolean deleteUnfixed(String id);
    /**
     * 无固定场分页列表
     * @param dto
     * @return
     */
    IPage<AppSitePlaceUnfixedDTO> queryUnfixedPage(AppSitePlaceUnfixedPageDTO dto);
    /**
     * 无固定场详情
     * @param id
     * @return
     */
    AppSitePlaceUnfixedDTO queryUnfixedById(String id);

//体育馆包场
    /**
     *包场场所新增
     * @param appSitePlaceParkDTO
     * @return
     */
//    Boolean savePack(AppSitePlaceDTO placeDTO);
    Boolean savePack(AppSitePlaceParkDTO appSitePlaceParkDTO);
    /**
     * 包场场所修改
     * @param appSitePlaceParkDTO
     * @return
     */
    Boolean editPack(AppSitePlaceParkDTO appSitePlaceParkDTO);
    /**
     * 通过id查询包场场所
     * @param id
     * @return
     */
    AppSitePlaceDTO queryPackById(String id);
    /**
     * 包场学校场所
     * @param id
     * @return
     */
    Boolean deletePackById(String id);

    boolean addSchoolPlace(SchoolPlaceAddDTO schoolPlaceAddDTO);

    SchoolPlaceAddDTO querySchoolPlace(String orgCode);

    AppSitePlaceParkDTO queryPack(String siteId);

    List<AppSite> queryByOrgCode(QueryByOrgCodeForm queryByOrgCodeForm);
}
