package com.gameplatform.server.model.dto.account;

import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;

@Schema(description = "账户响应")
public class AccountResponse {
    @Schema(description = "账户ID", example = "1")
    private Long id;

    @Schema(description = "用户类型", example = "AGENT", allowableValues = {"ADMIN", "AGENT"})
    private String userType;

    @Schema(description = "用户名", example = "newuser")
    private String username;

    @Schema(description = "账户状态", example = "ENABLED", allowableValues = {"ENABLED", "DISABLED"})
    private String status;

    @Schema(description = "积分余额", example = "1000")
    private Long pointsBalance;

    @Schema(description = "创建时间", example = "2025-08-24T18:30:00.000")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间", example = "2025-08-24T18:30:00.000")
    private LocalDateTime updatedAt;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getUserType() { return userType; }
    public void setUserType(String userType) { this.userType = userType; }
    public String getUsername() { return username; }
    public void setUsername(String username) { this.username = username; }

    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }
    public Long getPointsBalance() { return pointsBalance; }
    public void setPointsBalance(Long pointsBalance) { this.pointsBalance = pointsBalance; }
    public LocalDateTime getCreatedAt() { return createdAt; }
    public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
    public LocalDateTime getUpdatedAt() { return updatedAt; }
    public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
}

