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

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.property.PropertyOwnerResidentDto;
import com.yuchen.saas.park.api.dto.property.PropertyUserHouseDto;
import com.yuchen.saas.park.api.dto.property.PropertyUserHouseQueryDto;
import com.yuchen.saas.park.api.dto.property.PropertyVerifyCodeDto;
import com.yuchen.saas.park.api.entity.property.PropertyUserHouse;
import com.yuchen.saas.park.api.vo.property.PropertyOwnerResidentListVo;
import com.yuchen.saas.park.api.vo.property.PropertyUserHouseBindResVo;
import com.yuchen.saas.park.api.vo.property.PropertyUserHouseListVo;
import org.nest.springwrap.core.mp.support.NestPage;

import java.util.List;
import java.util.Map;

/**
 * @Author 蔡文强
 * @Date 2023/11/28 10:56
 * @Description 用户房产表 服务类
 */
public interface IPropertyUserHouseService extends IService<PropertyUserHouse> {
    PropertyUserHouseBindResVo bindHouse(PropertyUserHouseDto userHouseDto);
    Map<String,String> sendCode(String phone);
    Boolean verifyCode(PropertyVerifyCodeDto verifyCodeDto);
    NestPage<PropertyUserHouseListVo> getUserHouseList(PropertyUserHouseQueryDto queryDto);
    Boolean deleteUserHouse(Long id);
    Boolean saveOrUpdateResident(PropertyOwnerResidentDto ownerResidentDto);
    Boolean removeResident(Long id);
    NestPage<PropertyOwnerResidentListVo> getResidentList(PropertyUserHouseQueryDto queryDto);
    List<Long> getUserHouseParkList(Long userDetailId);

    PropertyUserHouse getByUserDetailIdAndHouseId(Long userDetailId,Long houseId);
}
