package com.miaxis.school.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.miaxis.school.domain.SchoolInfo;
import com.miaxis.school.dto.SchoolInfoDTO;
import com.miaxis.school.dto.SchoolInfoEvalDTO;
import com.miaxis.school.dto.SchoolInfoPcDTO;
import com.miaxis.school.vo.SchoolInfoDetailPcVO;
import com.miaxis.school.vo.SchoolInfoEvalVO;
import com.miaxis.school.vo.SchoolInfoPcVO;
import com.miaxis.school.vo.SchoolInfoVO;

import java.util.List;

/**
 * 驾校Service接口
 *
 * @author miaxis
 * @date 2020-12-24
 */
public interface ISchoolInfoService extends IService<SchoolInfo>{
    /**
     * 查询驾校
     *
     * @param inscode 驾校ID
     * @return 驾校
     */
    public SchoolInfo selectSchoolInfoById(String inscode);

    /**
     * 查询驾校列表
     *
     * @param schoolInfo 驾校
     * @return 驾校集合
     */
    public List<SchoolInfo> selectSchoolInfoList(SchoolInfo schoolInfo);


    /**
     * 查询驾校列表
     *
     * @param schoolInfoDTO 驾校
     * @return 驾校集合
     */
    public List<SchoolInfoVO> selectSchoolInfoUrlList(SchoolInfoDTO schoolInfoDTO);

    /**
     * 查询驾校信用列表
     *
     * @param schoolInfoEvalDTO 驾校
     * @return 驾校集合
     */
    public List<SchoolInfoEvalVO> selectSchoolInfoEvalList(SchoolInfoEvalDTO schoolInfoEvalDTO);

    /**
     * 新增驾校
     *
     * @param schoolInfo 驾校
     * @return 结果
     */
    public int insertSchoolInfo(SchoolInfo schoolInfo);

    /**
     * 修改驾校
     *
     * @param schoolInfo 驾校
     * @return 结果
     */
    public int updateSchoolInfo(SchoolInfo schoolInfo);

    /**
     * 批量删除驾校
     *
     * @param inscodes 需要删除的驾校ID
     * @return 结果
     */
    public int deleteSchoolInfoByIds(String[] inscodes);

    /**
     * 删除驾校信息
     *
     * @param inscode 驾校ID
     * @return 结果
     */
    public int deleteSchoolInfoById(String inscode);


    /**
     * pc查询列表
     */
    List<SchoolInfoPcVO> queryList(SchoolInfoPcDTO schoolInfoPcDTO);

    /**
     * pc查询驾校详情
     * @param inscode
     * @return
     */
    SchoolInfoDetailPcVO getSchoolInfoDetail(String inscode);

    /**
     * pc删除驾校(逻辑删除)
     * @param inscodes
     * @return
     */
    boolean updateByInscode(String[] inscodes);
}
