package com.ruoyi.mall.service;

import java.util.List;
import com.ruoyi.mall.domain.MallAcceptPlan;
import com.ruoyi.mall.domain.MallMemberUser;
import com.ruoyi.mall.domain.Vo.AcceptChangeVo;
import com.ruoyi.mall.domain.Vo.MajorItemVo;
import org.apache.ibatis.annotations.Param;

/**
 * 招生计划Service接口
 * 
 * @author Lsm
 * @date 2023-10-19
 */
public interface IMallAcceptPlanService 
{
    /**
     * 查询招生计划
     * 
     * @param acceptPlanId 招生计划主键
     * @return 招生计划
     */
    public MallAcceptPlan selectMallAcceptPlanByAcceptPlanId(Long acceptPlanId);

    /**
     * 查询招生计划列表
     * 
     * @param mallAcceptPlan 招生计划
     * @return 招生计划集合
     */
    public List<MallAcceptPlan> selectMallAcceptPlanList(MallAcceptPlan mallAcceptPlan);

    /**
     * 新增招生计划
     * 
     * @param mallAcceptPlan 招生计划
     * @return 结果
     */
    public int insertMallAcceptPlan(MallAcceptPlan mallAcceptPlan);

    /**
     * 修改招生计划
     * 
     * @param mallAcceptPlan 招生计划
     * @return 结果
     */
    public int updateMallAcceptPlan(MallAcceptPlan mallAcceptPlan);

    /**
     * 批量删除招生计划
     * 
     * @param acceptPlanIds 需要删除的招生计划主键集合
     * @return 结果
     */
    public int deleteMallAcceptPlanByAcceptPlanIds(Long[] acceptPlanIds);

    /**
     * 删除招生计划信息
     * 
     * @param acceptPlanId 招生计划主键
     * @return 结果
     */
    public int deleteMallAcceptPlanByAcceptPlanId(Long acceptPlanId);

    /** 查询新招专业或所有新招  用于志愿填报自主选择*/
    List<MajorItemVo> newAcceptList (String subjectType,String newAcceptType, Long batchId);

    /**志愿添加 查询专业 人数 学费*/
   List<MajorItemVo> majorList(MajorItemVo vo);

   /** 招生变化*/
   AcceptChangeVo getChangeBatch(Integer pageNum, Integer pageSize, Long batchId, MallMemberUser user);
}
