package user const ( // AdminRoleHost 表示当前有效主播身份。 AdminRoleHost = "host" // AdminRoleAgency 表示当前有效公会 owner 身份,普通公会成员不会获得该角色。 AdminRoleAgency = "agency" // AdminRoleBD 表示当前有效普通 BD 身份。 AdminRoleBD = "bd" // AdminRoleBDLeader 表示当前有效 BD Leader 身份;它可以和普通 BD 身份同时存在。 AdminRoleBDLeader = "bd_leader" // AdminRoleCoinSeller 表示当前有效币商身份。 AdminRoleCoinSeller = "coin_seller" // AdminRoleManager 表示当前有效经理身份。 AdminRoleManager = "manager" ) const ( // BanSourceAdmin 表示有效封禁来自后台管理员事实表。 BanSourceAdmin = "admin" // BanSourceManager 表示有效封禁来自经理中心事实表。 BanSourceManager = "manager" // BanSourceLegacy 表示历史 banned/disabled 状态没有可管理的封禁事实,必须按永久处理。 BanSourceLegacy = "legacy" ) // ActiveBanSummary 是后台列表读取的合并封禁视图。 // 多个来源重叠时,Permanent 只要命中任一永久事实即为 true;否则 ExpiresAtMs 取最晚到期时间。 type ActiveBanSummary struct { Active bool Source string BanID string Permanent bool ExpiresAtMs int64 UserStatus Status OperatorType string OperatorUserID int64 Reason string CreatedAtMs int64 ActiveBanCount int32 } // AdminProfile 是 user-service 为后台用户列表提供的 owner 事实投影。 // 钱包余额、等级等其他 owner 的字段由 admin-server 分别批量聚合,不能塞进该查询回查跨库数据。 type AdminProfile struct { User User BirthDate string RegisterDevice string LastSuccessLoginAtMs int64 Roles []string Ban ActiveBanSummary LastOperatorType string LastOperatorUserID int64 LastOperationReason string LastOperationAtMs int64 }