package com.itheima.service;  // 定义接口所属的包路径：com.itheima.service

import com.itheima.po.PageInfo;  // 导入 PageInfo 类，用于分页信息的封装
import com.itheima.po.StudentClean;  // 导入 StudentClean 类，表示学生卫生相关的实体类

import java.util.List;  // 导入 List 类，用于存储多个 StudentClean 对象

/**
 * @program: dormitorySystem  // 程序名称：dormitorySystem
 * @description: 学生卫生服务接口  // 该接口用于提供学生卫生管理相关的业务操作
 * @author: Joyrocky  // 作者信息：Joyrocky
 * @create: 2019-04-25 12:15  // 创建日期：2019-04-25
 **/
public interface StudentCleanService {

    /**
     * 分页查询学生卫生记录
     * @param s_studentid 学生ID（可选查询条件）
     * @param s_name 学生姓名（可选查询条件）
     * @param s_dormitoryid 宿舍ID（可选查询条件）
     * @param pageIndex 当前页码
     * @param pageSize 每页显示的记录数
     * @return 返回一个 PageInfo<StudentClean> 对象，封装了分页信息和查询结果
     */
    public PageInfo<StudentClean> findPageInfo(Integer s_studentid, String s_name, Integer s_dormitoryid, Integer pageIndex, Integer pageSize);

    /**
     * 添加学生卫生记录
     * @param studentclean 要添加的学生卫生信息对象
     * @return 返回影响的行数，通常 1 表示添加成功，0 表示添加失败
     */
    public int addStudentClean(StudentClean studentclean);  // 添加学生卫生记录

    /**
     * 删除学生卫生记录
     * @param g_id 卫生记录的ID
     * @return 返回影响的行数，通常 1 表示删除成功，0 表示删除失败
     */
    public int deleteStudentClean(Integer g_id);  // 删除学生卫生记录

    /**
     * 修改学生卫生记录
     * @param studentclean 要更新的学生卫生信息对象
     * @return 返回影响的行数，通常 1 表示更新成功，0 表示更新失败
     */
    public int updateStudentClean(StudentClean studentclean);  // 修改学生卫生记录

    /**
     * 根据卫生记录ID查询单条学生卫生记录
     * @param g_id 卫生记录的ID
     * @return 返回查询到的学生卫生信息对象，如果没有找到，返回 null
     */
    public StudentClean findStudentCleanById(Integer g_id);  // 根据卫生记录ID查询单条学生卫生记录

    /**
     * 获取所有学生卫生记录
     * @return 返回一个 List<StudentClean>，包含所有学生卫生记录
     */
    public List<StudentClean> getAll();  // 获取所有学生卫生记录
}
