package com.yuchen.saas.park.service.service.property;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.property.PropertyHouseResidentDto;
import com.yuchen.saas.park.api.dto.property.PropertyHouseResidentQueryDto;
import com.yuchen.saas.park.api.entity.property.PropertyHouseResident;
import com.yuchen.saas.park.api.vo.property.PropertyHouseResidentImportResVo;
import com.yuchen.saas.park.api.vo.property.PropertyHouseResidentListVo;
import com.yuchen.saas.park.api.vo.property.PropertyHouseResidentVo;
import com.yuchen.saas.park.api.vo.property.PropertyTenantOwnerVo;
import org.nest.springwrap.core.mp.support.NestPage;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * @Author 蔡文强
 * @Date 2023/11/28 10:56
 * @Description 房产住户表 服务类
 */
public interface IPropertyHouseResidentService extends IService<PropertyHouseResident> {
    Boolean saveOrUpdateHouseResident(PropertyHouseResidentDto houseResidentDto);
    Boolean deleteHouseResident(Long id);
    PropertyHouseResidentVo getHouseResidentById(Long id);
    NestPage<PropertyHouseResidentListVo> getHouseResidentPageList(PropertyHouseResidentQueryDto queryDto);
    PropertyHouseResidentImportResVo importHouseResident(MultipartFile file);
    void exportHouseResident(PropertyHouseResidentQueryDto queryDto, HttpServletResponse response);

    /**
     * 根据房源id，查找租客或业主
     * @param hoseId
     * @return
     */
    PropertyTenantOwnerVo getTenantOrOwnerInfo(long hoseId);
}
