package cn.nianxx.thhotel.platform.hotel.service;

import cn.nianxx.thhotel.platform.identity.common.result.AuthHotelResult;
import cn.nianxx.thhotel.platform.identity.domain.PlatformUserEntity;
import java.util.List;

/**
 * 平台酒店授权服务。负责当前用户可访问酒店和默认酒店解析。
 */
public interface HotelAccessService {

    /**
     * 查询当前用户可访问酒店列表。
     */
    List<AuthHotelResult> listAccessibleHotels(PlatformUserEntity user, String preferredHotelId);

    /**
     * 判断当前用户是否可访问指定酒店。
     */
    boolean canAccessHotel(PlatformUserEntity user, String hotelId);

    /**
     * 从酒店响应列表中解析默认酒店 ID。
     */
    String resolveDefaultHotelId(List<AuthHotelResult> hotels);
}
