459 lines
12 KiB
Java
459 lines
12 KiB
Java
package com.muse.dto;
|
|
|
|
import java.net.URI;
|
|
import java.util.Objects;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
import com.fasterxml.jackson.annotation.JsonValue;
|
|
import java.net.URI;
|
|
import java.time.OffsetDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import org.springframework.lang.Nullable;
|
|
import java.io.Serializable;
|
|
import java.time.OffsetDateTime;
|
|
import jakarta.validation.Valid;
|
|
import jakarta.validation.constraints.*;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
|
|
|
import java.util.*;
|
|
import jakarta.annotation.Generated;
|
|
|
|
/**
|
|
* 管理端用户账户摘要
|
|
*/
|
|
|
|
@Schema(name = "AdminAccountUserSummary", description = "管理端用户账户摘要")
|
|
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T16:47:40.290595+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0")
|
|
public class AdminAccountUserSummary implements Serializable {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private String userId;
|
|
|
|
private String nickname;
|
|
|
|
private @Nullable URI avatar;
|
|
|
|
/**
|
|
* 账号状态
|
|
*/
|
|
public enum StatusEnum {
|
|
ACTIVE("active"),
|
|
|
|
RESTRICTED("restricted"),
|
|
|
|
SUSPENDED("suspended");
|
|
|
|
private final String value;
|
|
|
|
StatusEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.valueOf(value);
|
|
}
|
|
|
|
@JsonCreator
|
|
public static StatusEnum fromValue(String value) {
|
|
for (StatusEnum b : StatusEnum.values()) {
|
|
if (b.value.equals(value)) {
|
|
return b;
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("Unexpected value '" + value + "'");
|
|
}
|
|
}
|
|
|
|
private StatusEnum status;
|
|
|
|
private String entitlementSource;
|
|
|
|
/**
|
|
* 配额状态
|
|
*/
|
|
public enum QuotaStatusEnum {
|
|
NORMAL("normal"),
|
|
|
|
LOW("low"),
|
|
|
|
EXHAUSTED("exhausted"),
|
|
|
|
EXPIRED("expired");
|
|
|
|
private final String value;
|
|
|
|
QuotaStatusEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.valueOf(value);
|
|
}
|
|
|
|
@JsonCreator
|
|
public static QuotaStatusEnum fromValue(String value) {
|
|
for (QuotaStatusEnum b : QuotaStatusEnum.values()) {
|
|
if (b.value.equals(value)) {
|
|
return b;
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("Unexpected value '" + value + "'");
|
|
}
|
|
}
|
|
|
|
private QuotaStatusEnum quotaStatus;
|
|
|
|
/**
|
|
* New-API 网关绑定状态
|
|
*/
|
|
public enum NewApiBindingStatusEnum {
|
|
BOUND("bound"),
|
|
|
|
UNBOUND("unbound"),
|
|
|
|
SYNC_FAILED("sync_failed"),
|
|
|
|
PENDING("pending");
|
|
|
|
private final String value;
|
|
|
|
NewApiBindingStatusEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.valueOf(value);
|
|
}
|
|
|
|
@JsonCreator
|
|
public static NewApiBindingStatusEnum fromValue(String value) {
|
|
for (NewApiBindingStatusEnum b : NewApiBindingStatusEnum.values()) {
|
|
if (b.value.equals(value)) {
|
|
return b;
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("Unexpected value '" + value + "'");
|
|
}
|
|
}
|
|
|
|
private @Nullable NewApiBindingStatusEnum newApiBindingStatus;
|
|
|
|
@Valid
|
|
private List<String> riskFlags = new ArrayList<>();
|
|
|
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
|
|
private @Nullable OffsetDateTime createdAt;
|
|
|
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
|
|
private @Nullable OffsetDateTime lastActiveAt;
|
|
|
|
public AdminAccountUserSummary() {
|
|
super();
|
|
}
|
|
|
|
/**
|
|
* Constructor with only required parameters
|
|
*/
|
|
public AdminAccountUserSummary(String userId, String nickname, StatusEnum status, String entitlementSource, QuotaStatusEnum quotaStatus) {
|
|
this.userId = userId;
|
|
this.nickname = nickname;
|
|
this.status = status;
|
|
this.entitlementSource = entitlementSource;
|
|
this.quotaStatus = quotaStatus;
|
|
}
|
|
|
|
public AdminAccountUserSummary userId(String userId) {
|
|
this.userId = userId;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 用户 ID
|
|
* @return userId
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "userId", description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("userId")
|
|
public String getUserId() {
|
|
return userId;
|
|
}
|
|
|
|
@JsonProperty("userId")
|
|
public void setUserId(String userId) {
|
|
this.userId = userId;
|
|
}
|
|
|
|
public AdminAccountUserSummary nickname(String nickname) {
|
|
this.nickname = nickname;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 用户昵称
|
|
* @return nickname
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "nickname", description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("nickname")
|
|
public String getNickname() {
|
|
return nickname;
|
|
}
|
|
|
|
@JsonProperty("nickname")
|
|
public void setNickname(String nickname) {
|
|
this.nickname = nickname;
|
|
}
|
|
|
|
public AdminAccountUserSummary avatar(@Nullable URI avatar) {
|
|
this.avatar = avatar;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 头像 URL
|
|
* @return avatar
|
|
*/
|
|
@Valid
|
|
@Schema(name = "avatar", description = "头像 URL", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("avatar")
|
|
public @Nullable URI getAvatar() {
|
|
return avatar;
|
|
}
|
|
|
|
@JsonProperty("avatar")
|
|
public void setAvatar(@Nullable URI avatar) {
|
|
this.avatar = avatar;
|
|
}
|
|
|
|
public AdminAccountUserSummary status(StatusEnum status) {
|
|
this.status = status;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 账号状态
|
|
* @return status
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "status", description = "账号状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("status")
|
|
public StatusEnum getStatus() {
|
|
return status;
|
|
}
|
|
|
|
@JsonProperty("status")
|
|
public void setStatus(StatusEnum status) {
|
|
this.status = status;
|
|
}
|
|
|
|
public AdminAccountUserSummary entitlementSource(String entitlementSource) {
|
|
this.entitlementSource = entitlementSource;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 权益来源(套餐名或管理员授权)
|
|
* @return entitlementSource
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "entitlementSource", description = "权益来源(套餐名或管理员授权)", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("entitlementSource")
|
|
public String getEntitlementSource() {
|
|
return entitlementSource;
|
|
}
|
|
|
|
@JsonProperty("entitlementSource")
|
|
public void setEntitlementSource(String entitlementSource) {
|
|
this.entitlementSource = entitlementSource;
|
|
}
|
|
|
|
public AdminAccountUserSummary quotaStatus(QuotaStatusEnum quotaStatus) {
|
|
this.quotaStatus = quotaStatus;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 配额状态
|
|
* @return quotaStatus
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "quotaStatus", description = "配额状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("quotaStatus")
|
|
public QuotaStatusEnum getQuotaStatus() {
|
|
return quotaStatus;
|
|
}
|
|
|
|
@JsonProperty("quotaStatus")
|
|
public void setQuotaStatus(QuotaStatusEnum quotaStatus) {
|
|
this.quotaStatus = quotaStatus;
|
|
}
|
|
|
|
public AdminAccountUserSummary newApiBindingStatus(@Nullable NewApiBindingStatusEnum newApiBindingStatus) {
|
|
this.newApiBindingStatus = newApiBindingStatus;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* New-API 网关绑定状态
|
|
* @return newApiBindingStatus
|
|
*/
|
|
|
|
@Schema(name = "newApiBindingStatus", description = "New-API 网关绑定状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("newApiBindingStatus")
|
|
public @Nullable NewApiBindingStatusEnum getNewApiBindingStatus() {
|
|
return newApiBindingStatus;
|
|
}
|
|
|
|
@JsonProperty("newApiBindingStatus")
|
|
public void setNewApiBindingStatus(@Nullable NewApiBindingStatusEnum newApiBindingStatus) {
|
|
this.newApiBindingStatus = newApiBindingStatus;
|
|
}
|
|
|
|
public AdminAccountUserSummary riskFlags(List<String> riskFlags) {
|
|
this.riskFlags = riskFlags;
|
|
return this;
|
|
}
|
|
|
|
public AdminAccountUserSummary addRiskFlagsItem(String riskFlagsItem) {
|
|
if (this.riskFlags == null) {
|
|
this.riskFlags = new ArrayList<>();
|
|
}
|
|
this.riskFlags.add(riskFlagsItem);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 风险标记列表
|
|
* @return riskFlags
|
|
*/
|
|
|
|
@Schema(name = "riskFlags", description = "风险标记列表", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("riskFlags")
|
|
public List<String> getRiskFlags() {
|
|
return riskFlags;
|
|
}
|
|
|
|
@JsonProperty("riskFlags")
|
|
public void setRiskFlags(List<String> riskFlags) {
|
|
this.riskFlags = riskFlags;
|
|
}
|
|
|
|
public AdminAccountUserSummary createdAt(@Nullable OffsetDateTime createdAt) {
|
|
this.createdAt = createdAt;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 注册时间
|
|
* @return createdAt
|
|
*/
|
|
@Valid
|
|
@Schema(name = "createdAt", description = "注册时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("createdAt")
|
|
public @Nullable OffsetDateTime getCreatedAt() {
|
|
return createdAt;
|
|
}
|
|
|
|
@JsonProperty("createdAt")
|
|
public void setCreatedAt(@Nullable OffsetDateTime createdAt) {
|
|
this.createdAt = createdAt;
|
|
}
|
|
|
|
public AdminAccountUserSummary lastActiveAt(@Nullable OffsetDateTime lastActiveAt) {
|
|
this.lastActiveAt = lastActiveAt;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 最近活跃时间
|
|
* @return lastActiveAt
|
|
*/
|
|
@Valid
|
|
@Schema(name = "lastActiveAt", description = "最近活跃时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("lastActiveAt")
|
|
public @Nullable OffsetDateTime getLastActiveAt() {
|
|
return lastActiveAt;
|
|
}
|
|
|
|
@JsonProperty("lastActiveAt")
|
|
public void setLastActiveAt(@Nullable OffsetDateTime lastActiveAt) {
|
|
this.lastActiveAt = lastActiveAt;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (o == null || getClass() != o.getClass()) {
|
|
return false;
|
|
}
|
|
AdminAccountUserSummary adminAccountUserSummary = (AdminAccountUserSummary) o;
|
|
return Objects.equals(this.userId, adminAccountUserSummary.userId) &&
|
|
Objects.equals(this.nickname, adminAccountUserSummary.nickname) &&
|
|
Objects.equals(this.avatar, adminAccountUserSummary.avatar) &&
|
|
Objects.equals(this.status, adminAccountUserSummary.status) &&
|
|
Objects.equals(this.entitlementSource, adminAccountUserSummary.entitlementSource) &&
|
|
Objects.equals(this.quotaStatus, adminAccountUserSummary.quotaStatus) &&
|
|
Objects.equals(this.newApiBindingStatus, adminAccountUserSummary.newApiBindingStatus) &&
|
|
Objects.equals(this.riskFlags, adminAccountUserSummary.riskFlags) &&
|
|
Objects.equals(this.createdAt, adminAccountUserSummary.createdAt) &&
|
|
Objects.equals(this.lastActiveAt, adminAccountUserSummary.lastActiveAt);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash(userId, nickname, avatar, status, entitlementSource, quotaStatus, newApiBindingStatus, riskFlags, createdAt, lastActiveAt);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("class AdminAccountUserSummary {\n");
|
|
sb.append(" userId: ").append(toIndentedString(userId)).append("\n");
|
|
sb.append(" nickname: ").append(toIndentedString(nickname)).append("\n");
|
|
sb.append(" avatar: ").append(toIndentedString(avatar)).append("\n");
|
|
sb.append(" status: ").append(toIndentedString(status)).append("\n");
|
|
sb.append(" entitlementSource: ").append(toIndentedString(entitlementSource)).append("\n");
|
|
sb.append(" quotaStatus: ").append(toIndentedString(quotaStatus)).append("\n");
|
|
sb.append(" newApiBindingStatus: ").append(toIndentedString(newApiBindingStatus)).append("\n");
|
|
sb.append(" riskFlags: ").append(toIndentedString(riskFlags)).append("\n");
|
|
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
|
|
sb.append(" lastActiveAt: ").append(toIndentedString(lastActiveAt)).append("\n");
|
|
sb.append("}");
|
|
return sb.toString();
|
|
}
|
|
|
|
/**
|
|
* Convert the given object to string with each line indented by 4 spaces
|
|
* (except the first line).
|
|
*/
|
|
private String toIndentedString(@Nullable Object o) {
|
|
return o == null ? "null" : o.toString().replace("\n", "\n ");
|
|
}
|
|
}
|
|
|