Files
user-core-client/types.go
2025-08-20 17:43:52 +08:00

63 lines
1.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package user_core_client
import "time"
type TokenClaims struct {
UserID string `json:"userId"`
PlatformCode string `json:"platformCode"`
}
// Event 接口定义了所有事件应具备的基本元数据
type Event interface {
GetEventID() string // 获取事件唯一ID
GetEventType() string // 获取事件类型
GetTimestamp() time.Time // 获取事件发生时间
}
// User 用户数据模型
type User struct {
ID int64 `json:"id" ` // 主键ID
CreatedAt time.Time `json:"created_at"` // 创建时间
UpdatedAt time.Time `json:"updated_at"` // 更新时间
DeletedAt uint `json:"deleted_at"` // 软删除时间 毫秒 0 表示未删除
EncryptedPhone string `json:"encrypted_phone" ` // 加密后的手机号
PhoneMask string `json:"phone_mask" ` // 手机号掩码(前三后四位)
Username string `json:"username" ` // 用户名(可重复)
LoginName string `json:"login_name" ` // 登录名
Gender string `json:"gender" ` // 性别 (male 男性, female 女性, unknown 未知)
Status string `json:"status" ` // 用户状态enabled/disabled
}
type BaseEvent struct {
EventID string `json:"event_id"` // 事件ID
EventType string `json:"event_type"` // 事件类型
Timestamp time.Time `json:"timestamp"` // 事件时间戳
}
func (b *BaseEvent) GetEventID() string {
return b.EventID
}
func (b *BaseEvent) GetEventType() string {
return b.EventType
}
func (b *BaseEvent) GetTimestamp() time.Time {
return b.Timestamp
}
// UserEvent 用户事件结构
// 用于在Kafka消息中传输用户相关事件
type UserEvent struct {
BaseEvent
PlatformCode string `json:"platform_code"` // 平台代码
UserID int64 `json:"user_id"` // 用户ID
Username string `json:"username"` // 用户名
UserData *User `json:"user_data,omitempty"` // 用户数据,改为具体类型
}