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

import com.itheima.po.DormRepair;  // 导入 DormRepair 类，表示宿舍维修登记实体类
import com.itheima.po.PageInfo;  // 导入 PageInfo 类，用于分页信息封装

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

/**
 * @program: dormitorySystem  // 程序名称：dormitorySystem
 * @description: 维修登记  // 该接口用于处理宿舍维修登记相关业务
 * @author: Joyrocky  // 作者信息：Joyrocky
 * @create: 2019-04-28 00:25  // 创建日期：2019-04-28
 **/
public interface DormRepairService {

    /**
     * 分页查询宿舍维修登记信息
     * @param d_id 宿舍ID（可选查询条件）
     * @param d_dormbuilding 宿舍楼名称（可选查询条件）
     * @param pageIndex 当前页码
     * @param pageSize 每页显示的记录数
     * @return 返回一个 PageInfo<DormRepair> 对象，封装了分页信息和查询结果
     */
    public PageInfo<DormRepair> findPageInfo(Integer d_id, String d_dormbuilding, Integer pageIndex, Integer pageSize);

    /**
     * 添加宿舍维修登记信息
     * @param dormrepair 要添加的宿舍维修信息对象
     * @return 返回影响的行数，通常 1 表示添加成功，0 表示添加失败
     */
    public int addDormRepair(DormRepair dormrepair);  // 添加宿舍维修信息

    /**
     * 删除宿舍维修登记信息
     * @param r_id 维修登记的ID
     * @return 返回影响的行数，通常 1 表示删除成功，0 表示删除失败
     */
    public int deleteDormRepair(Integer r_id);  // 删除宿舍维修登记信息

    /**
     * 修改宿舍维修登记信息
     * @param dormrepair 要更新的宿舍维修信息对象
     * @return 返回影响的行数，通常 1 表示更新成功，0 表示更新失败
     */
    public int updateDormRepair(DormRepair dormrepair);  // 修改宿舍维修信息

    /**
     * 根据维修登记ID查询单条宿舍维修登记信息
     * @param r_id 维修登记的ID
     * @return 返回查询到的宿舍维修信息对象，如果没有找到，返回 null
     */
    public DormRepair findDormRepairById(Integer r_id);  // 根据维修登记ID查询单条宿舍维修信息

    /**
     * 获取所有宿舍维修登记信息
     * @return 返回一个 List<DormRepair>，包含所有宿舍维修登记记录
     */
    public List<DormRepair> getAll();  // 获取所有宿舍维修登记信息
}
