package com.ruoyi.mall.service;

import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.mall.domain.Bo.*;
import com.ruoyi.mall.domain.MallSchoolAccept;
import com.ruoyi.mall.domain.Vo.ReportIntelligenceVo;
import com.ruoyi.mall.domain.Vo.SchoolVO;

import java.util.List;

/**
 * 学校专业录取数据Service接口
 *
 * @author lsm
 * @date 2023-10-18
 */
public interface IMallSchoolAcceptService
{
    /**
     * 查询学校专业录取数据
     *
     * @param schoolAcceptId 学校专业录取数据主键
     * @return 学校专业录取数据
     */
    public MallSchoolAccept selectMallSchoolAcceptBySchoolAcceptId(Long schoolAcceptId);

    /**
     * 查询学校专业录取数据列表
     *
     * @param mallSchoolAccept 学校专业录取数据
     * @return 学校专业录取数据集合
     */
    public List<MallSchoolAccept> selectMallSchoolAcceptList(MallSchoolAccept mallSchoolAccept);

    /**
     * 新增学校专业录取数据
     *
     * @param mallSchoolAccept 学校专业录取数据
     * @return 结果
     */
    public int insertMallSchoolAccept(MallSchoolAccept mallSchoolAccept);

    /**
     * 修改学校专业录取数据
     *
     * @param mallSchoolAccept 学校专业录取数据
     * @return 结果
     */
    public int updateMallSchoolAccept(MallSchoolAccept mallSchoolAccept);

    /**
     * 批量删除学校专业录取数据
     *
     * @param schoolAcceptIds 需要删除的学校专业录取数据主键集合
     * @return 结果
     */
    public int deleteMallSchoolAcceptBySchoolAcceptIds(Long[] schoolAcceptIds);

    /**
     * 删除学校专业录取数据信息
     *
     * @param schoolAcceptId 学校专业录取数据主键
     * @return 结果
     */
    public int deleteMallSchoolAcceptBySchoolAcceptId(Long schoolAcceptId);

    /**根据批次 文理科 查询最新一年的 学校专业录取数据
     * 用于 一键生成志愿填报基础数据
     * @param batchId 批次id
     * @param subjectType 文/理科
     * @return 智能填报志愿条目
     */
    List<ReportIntelligenceVo> getListForIntelligence(String subjectType,Long batchId);

    /**
     * 招生稳定学校列表
     * @param checkingOutParamBo 参数
     * @return 结果
     */
    public PageInfo<SchoolVO> selectSteadySchoolList(CheckingOutParamBo checkingOutParamBo);

    /**
     * 招生数据分析学校列表
     * @param checkingOutParamBo
     * @return
     */
    public PageInfo<SchoolVO> selectSteadySchoolList2(CheckingOutParamBo checkingOutParamBo);

    /**
     * 招生数据分析
     * @param id 用户id
     * @return 结果
     */
    public AjaxResult getAcceptData(Long id, Long batchId);

    /**
     * 招生数据分析统计学校数量
     * @param id
     * @param batchId
     * @return
     */
    public AjaxResult getAcceptData2(Long id, Long batchId);

    /**
     * 导入excel数据list
     * @param list

     * @return
     */
    public String importAcceptData(List<NewAcceptBO> list);

    /**
     * 专科导入
     * @param list
     * @return
     */
    public String importZhuankeData(List<ZhuankeBO> list);

    /**
     * 导入专业分类
     * @param list
     * @return
     */
    public String importMajorClassData(List<MajorClassBO> list);

    /**
     * 导入学校专业关联
     * @param list
     * @return
     */
    public String importSchoolMajorLinkData(List<SchoolMajorLinkBO> list);
}
