package com.srs.comprehensive.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.common.core.domain.AjaxResult;
import com.srs.comprehensive.domain.CphBiyeApply;
import com.srs.comprehensive.domain.CphLakeApply;
import com.srs.comprehensive.domain.Dto.CphAuditMany;
import com.srs.comprehensive.domain.Dto.CphCancel;
import com.srs.comprehensive.domain.Vo.CphBiyeApplyVo;
import com.srs.comprehensive.domain.Vo.CphLakeApplyVo;
import com.srs.comprehensive.domain.Vo.CphSearch;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 优秀毕业生Service接口
 *
 * @author srs
 * @date 2024-01-05
 */
public interface ICphBiyeApplyService extends IService<CphBiyeApply> {
    /**
     * 查询优秀毕业生
     *
     * @param id 优秀毕业生主键
     * @return 优秀毕业生
     */
    public CphBiyeApply selectCphBiyeApplyById(Long id);

    public AjaxResult doApply(CphBiyeApply param);

    public AjaxResult reApply(@RequestBody CphBiyeApply param);

    public AjaxResult cancelApply(CphCancel param);

    public AjaxResult getStuScoreMajorRank(String stuNo);

    public AjaxResult listStuSportScore(String stuNo);

    /**
     * 根据学年标签绑定的学年获取学生运动成绩
     * @param stuNo
     * @param tag
     * @return
     */
    public AjaxResult listStuSportScore(String stuNo, String tag);

    List<CphBiyeApplyVo> listOwnApply();

    List<CphBiyeApplyVo> listView(CphSearch param);

    AjaxResult doAudit(CphBiyeApply param);

    public List<CphBiyeApplyVo> exportView(CphSearch param);

    public AjaxResult manyAudit(CphAuditMany param);

    public AjaxResult xwManyAudit(CphAuditMany param);

    /**
     * 查询优秀毕业生列表
     *
     * @param cphBiyeApply 优秀毕业生
     * @return 优秀毕业生集合
     */
    List<CphBiyeApply> selectCphBiyeApplyList(CphBiyeApply cphBiyeApply);

    /**
     * 新增优秀毕业生
     *
     * @param cphBiyeApply 优秀毕业生
     * @return 结果
     */
    int insertCphBiyeApply(CphBiyeApply cphBiyeApply);

    /**
     * 修改优秀毕业生
     *
     * @param cphBiyeApply 优秀毕业生
     * @return 结果
     */
    int updateCphBiyeApply(CphBiyeApply cphBiyeApply);

    /**
     * 批量删除优秀毕业生
     *
     * @param ids 需要删除的优秀毕业生主键集合
     * @return 结果
     */
    int deleteCphBiyeApplyByIds(Long[] ids);

    /**
     * 删除优秀毕业生信息
     *
     * @param id 优秀毕业生主键
     * @return 结果
     */
    int deleteCphBiyeApplyById(Long id);
}
