package com.happy.dao;

import com.happy.Model.House;
import com.happy.Model.House;
import com.happy.dto.HouseSumEto;
import com.happy.vo.PriceHotelDataVo;

import java.util.List;

public interface HouseDao {

    /**
     * 描述：新增
     * @param house
     * @return
     */
    int insertHouse(House house);

    /**
     * 描述：修改
     * @param house
     * @return
     */
    int updateHouse(House house);

    /**
     * 描述：删除
     * @param id
     * @return
     */
    int delHouse(int id);

    /**
     * 描述：删除
     * @param id
     * @return
     */
    int delHouse(String id);

    /**
     * 描述：根据Id查询详细
     * @param id
     * @return
     */
    House getById(String id);

    /**
     * 描述：分页查询
     * @param sqlx
     * @param page
     * @param rows
     * @return
     */
    List<House> queryPage(String sqlx, int page, int rows);


    /**
     * 描述：获取总条数
     * @param sqlx
     * @return
     */
    int queryTotal(String sqlx);

    /**
     * 描述：查询列表
     * @param sqlx
     * @return
     */
    List<House> queryList(String sqlx);

    /**
     * 描述：分页查询房源
     * @param sqlx1
     * @param sqlx2
     * @param page
     * @param rows
     * @return
     */
    List<HouseSumEto> queryPageHouseSum(String sqlx1,String sqlx2, int page, int rows);

    /**
     * 描述：获取房源总数
     * @param sqlx1
     * @param sqlx2
     * @return
     */
    int queryPageHouseSumTotal(String sqlx1,String sqlx2);

    /**
     * 描述:获取房型数量
     * @param managerId
     * @return
     */
    int getHouseSum(int managerId);

    /**
     * 获取该商家所有房型中最低价格
     * @param managerId
     * @return
     */
    Double getHouseMinPrice(int managerId);

    /**
     * 获取商家集合中所有房型中最低价格
     * @param managerIds
     * @return
     */
    List<PriceHotelDataVo> gethotelMinPrice(String managerIds);

    /**
     * 根据房型获取默认价格
     * @param houseId
     * @return
     */
    Double queryPriceByHouseId(String houseId);
}
