package com.ruoyi.web.service;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.domain.dto.house.HouseInfoAddRequest;
import com.ruoyi.web.domain.dto.house.HouseInfoEditRequest;
import com.ruoyi.web.domain.dto.house.HouseInfoQueryRequest;
import com.ruoyi.web.domain.entity.HouseInfo;
import com.ruoyi.web.domain.vo.HouseInfoByVo;
import com.ruoyi.web.domain.vo.HouseInfoVO;

import java.util.Map;


/**
 * 房屋接口
 */
public interface HouseInfoService extends IService<HouseInfo> {

    Long addHouseInfo(HouseInfoAddRequest houseInfoAddRequest);

    boolean deleteHouseInfo(String ids);

    void editHouseInfo(HouseInfoEditRequest houseInfoEditRequest);

    /**
     * 通过人员获取人员包装类
     *
     * @param houseInfo
     * @return
     */
    HouseInfoVO getHouseInfoVO(HouseInfo houseInfo);

    /**
     * 根据id获取房屋包装类
     *
     * @param id
     * @return
     */
    HouseInfoVO getHouseInfoById(int id);

    /**
     * 分页获取人员列表
     *
     * @param houseInfoQueryRequest
     * @return
     */
    Page<HouseInfoVO> getListHouseInfoByPage(HouseInfoQueryRequest houseInfoQueryRequest);


    /**
     * 获取查询条件
     *
     * @param houseInfoQueryRequest
     * @return
     */
    QueryWrapper<HouseInfo> getQueryWrapper(HouseInfoQueryRequest houseInfoQueryRequest);

    HouseInfoByVo getHouseInfoBy(Integer doorplateNumber);

    String saveGeoData(Map<String, Object> map);
}
