package com.keao.edu.user.service;

import com.keao.edu.common.page.PageInfo;
import com.keao.edu.common.page.QueryInfo;
import com.keao.edu.common.service.BaseService;
import com.keao.edu.user.api.entity.Student;
import com.keao.edu.user.dto.StudentExamPaymentDto;
import com.keao.edu.user.page.StudentApplyQueryInfo;

/**
 * @Author Joburgess
 * @Date 2020.06.18
 */
public interface StudentService extends BaseService<Integer, Student> {

    /**
     * @describe 新增学员
     * @author Joburgess
     * @date 2020.06.18
     * @param student:
     * @return void
     */
    void addStudent(Student student);

    /**
     * @describe 更新学员
     * @author Joburgess
     * @date 2020.06.18
     * @param student:
     * @return void
     */
    void updateStudent(Student student);

    /**
     * 获取学员列表
     * @param queryInfo
     * @return
     */
    PageInfo<Student> queryStudentPage(QueryInfo queryInfo);

    /**
     * 获取学员成功报名的数据详情
     * @param queryInfo
     * @return
     */
    PageInfo<StudentExamPaymentDto> queryApplyList(StudentApplyQueryInfo queryInfo);

    /**
     * 获取学生信息
     * @param userId
     * @return
     */
    Student getStudent(Integer userId);

    /**
     * 更新学员基本信息
     * @param student
     * @return
     */
    Student updateInfo(Student student);
}
