package cn.nianxx.thhotel.platform.identity.common.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.List;

/**
 * 管理后台用户详情。
 */
public record AdminUserDetailResult(
        /** 用户内部 ID 字符串。 */
        String id,
        /** 登录用户名。 */
        String username,
        /** 用户展示名称。 */
        @JsonProperty("display_name")
        String displayName,
        /** 用户邮箱。 */
        String email,
        /** 用户手机号。 */
        String phone,
        /** 用户状态。 */
        @JsonProperty("user_status")
        String userStatus,
        /** 是否超级管理员。 */
        @JsonProperty("super_admin")
        Boolean superAdmin,
        /** 最近密码变更 UTC 时间。 */
        @JsonProperty("password_changed_at")
        OffsetDateTime passwordChangedAt,
        /** 最近登录 UTC 时间。 */
        @JsonProperty("last_login_at")
        OffsetDateTime lastLoginAt,
        /** 创建 UTC 时间。 */
        @JsonProperty("created_at")
        OffsetDateTime createdAt,
        /** 更新 UTC 时间。 */
        @JsonProperty("updated_at")
        OffsetDateTime updatedAt,
        /** 角色列表。 */
        List<AdminUserRoleResult> roles,
        /** 酒店授权列表。 */
        List<AdminUserHotelResult> hotels
) {
}
