package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.ResidentInfo;
import com.ruoyi.system.domain.houseInfo.HouseInfo;

import java.util.List;


/**
 * 房屋信息Service接口
 * 
 * @author boman
 * @date 2025-02-20
 */
public interface IHouseInfoService 
{
    /**
     * 查询房屋信息
     * 
     * @param houseId 房屋信息主键
     * @return 房屋信息
     */
    public HouseInfo selectHouseInfoByHouseId(Long houseId);

    /**
     * 查询房屋信息列表
     * 
     * @param houseInfo 房屋信息
     * @return 房屋信息集合
     */
    public List<HouseInfo> selectHouseInfoList(HouseInfo houseInfo);
    /**
     * 查询房屋信息列表带人员信息
     * @param residentInfo
     * @return
     */
    public List<ResidentInfo> selectHouseInfoListAndResidentInfo(ResidentInfo residentInfo);

    /**
     * 新增房屋信息
     * 
     * @param houseInfo 房屋信息
     * @return 结果
     */
    public int insertHouseInfo(HouseInfo houseInfo);

    /**
     * 修改房屋信息
     * 
     * @param houseInfo 房屋信息
     * @return 结果
     */
    public int updateHouseInfo(HouseInfo houseInfo);

    /**
     * 批量删除房屋信息
     * 
     * @param houseIds 需要删除的房屋信息主键集合
     * @return 结果
     */
    public int deleteHouseInfoByHouseIds(Long[] houseIds);

    /**
     * 删除房屋信息信息
     * 
     * @param houseId 房屋信息主键
     * @return 结果
     */
    public int deleteHouseInfoByHouseId(Long houseId);

    AjaxResult importHouseInfo(List<HouseInfo> houseInfoList);
}
