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.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; 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 = "AdminPublishRequestSummary", 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 AdminPublishRequestSummary implements Serializable { private static final long serialVersionUID = 1L; private UUID requestId; private UUID assetId; private String assetName; /** * Gets or Sets assetType */ public enum AssetTypeEnum { WORK("work"), AGENT("agent"), KNOWLEDGE_BASE("knowledge_base"); private final String value; AssetTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static AssetTypeEnum fromValue(String value) { for (AssetTypeEnum b : AssetTypeEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private AssetTypeEnum assetType; private @Nullable UUID publisherId; private @Nullable String publisherName; private @Nullable String version; /** * Gets or Sets status */ public enum StatusEnum { PENDING("pending"), REVIEWING("reviewing"), NEEDS_SUPPLEMENT("needs_supplement"), APPROVED("approved"), REJECTED("rejected"), COMPLIANCE_BLOCKED("compliance_blocked"); 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; @Valid private List riskTags = new ArrayList<>(); @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private @Nullable OffsetDateTime submittedAt; private @Nullable String rightsDeclaration; private @Nullable String privacyCheckResult; public AdminPublishRequestSummary() { super(); } /** * Constructor with only required parameters */ public AdminPublishRequestSummary(UUID requestId, UUID assetId, String assetName, AssetTypeEnum assetType, StatusEnum status) { this.requestId = requestId; this.assetId = assetId; this.assetName = assetName; this.assetType = assetType; this.status = status; } public AdminPublishRequestSummary requestId(UUID requestId) { this.requestId = requestId; return this; } /** * Get requestId * @return requestId */ @NotNull @Valid @Schema(name = "requestId", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("requestId") public UUID getRequestId() { return requestId; } @JsonProperty("requestId") public void setRequestId(UUID requestId) { this.requestId = requestId; } public AdminPublishRequestSummary assetId(UUID assetId) { this.assetId = assetId; return this; } /** * Get assetId * @return assetId */ @NotNull @Valid @Schema(name = "assetId", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("assetId") public UUID getAssetId() { return assetId; } @JsonProperty("assetId") public void setAssetId(UUID assetId) { this.assetId = assetId; } public AdminPublishRequestSummary assetName(String assetName) { this.assetName = assetName; return this; } /** * Get assetName * @return assetName */ @NotNull @Schema(name = "assetName", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("assetName") public String getAssetName() { return assetName; } @JsonProperty("assetName") public void setAssetName(String assetName) { this.assetName = assetName; } public AdminPublishRequestSummary assetType(AssetTypeEnum assetType) { this.assetType = assetType; return this; } /** * Get assetType * @return assetType */ @NotNull @Schema(name = "assetType", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("assetType") public AssetTypeEnum getAssetType() { return assetType; } @JsonProperty("assetType") public void setAssetType(AssetTypeEnum assetType) { this.assetType = assetType; } public AdminPublishRequestSummary publisherId(@Nullable UUID publisherId) { this.publisherId = publisherId; return this; } /** * Get publisherId * @return publisherId */ @Valid @Schema(name = "publisherId", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("publisherId") public @Nullable UUID getPublisherId() { return publisherId; } @JsonProperty("publisherId") public void setPublisherId(@Nullable UUID publisherId) { this.publisherId = publisherId; } public AdminPublishRequestSummary publisherName(@Nullable String publisherName) { this.publisherName = publisherName; return this; } /** * Get publisherName * @return publisherName */ @Schema(name = "publisherName", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("publisherName") public @Nullable String getPublisherName() { return publisherName; } @JsonProperty("publisherName") public void setPublisherName(@Nullable String publisherName) { this.publisherName = publisherName; } public AdminPublishRequestSummary version(@Nullable String version) { this.version = version; return this; } /** * Get version * @return version */ @Schema(name = "version", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("version") public @Nullable String getVersion() { return version; } @JsonProperty("version") public void setVersion(@Nullable String version) { this.version = version; } public AdminPublishRequestSummary status(StatusEnum status) { this.status = status; return this; } /** * Get status * @return status */ @NotNull @Schema(name = "status", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("status") public StatusEnum getStatus() { return status; } @JsonProperty("status") public void setStatus(StatusEnum status) { this.status = status; } public AdminPublishRequestSummary riskTags(List riskTags) { this.riskTags = riskTags; return this; } public AdminPublishRequestSummary addRiskTagsItem(String riskTagsItem) { if (this.riskTags == null) { this.riskTags = new ArrayList<>(); } this.riskTags.add(riskTagsItem); return this; } /** * Get riskTags * @return riskTags */ @Schema(name = "riskTags", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("riskTags") public List getRiskTags() { return riskTags; } @JsonProperty("riskTags") public void setRiskTags(List riskTags) { this.riskTags = riskTags; } public AdminPublishRequestSummary submittedAt(@Nullable OffsetDateTime submittedAt) { this.submittedAt = submittedAt; return this; } /** * Get submittedAt * @return submittedAt */ @Valid @Schema(name = "submittedAt", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("submittedAt") public @Nullable OffsetDateTime getSubmittedAt() { return submittedAt; } @JsonProperty("submittedAt") public void setSubmittedAt(@Nullable OffsetDateTime submittedAt) { this.submittedAt = submittedAt; } public AdminPublishRequestSummary rightsDeclaration(@Nullable String rightsDeclaration) { this.rightsDeclaration = rightsDeclaration; return this; } /** * Get rightsDeclaration * @return rightsDeclaration */ @Schema(name = "rightsDeclaration", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("rightsDeclaration") public @Nullable String getRightsDeclaration() { return rightsDeclaration; } @JsonProperty("rightsDeclaration") public void setRightsDeclaration(@Nullable String rightsDeclaration) { this.rightsDeclaration = rightsDeclaration; } public AdminPublishRequestSummary privacyCheckResult(@Nullable String privacyCheckResult) { this.privacyCheckResult = privacyCheckResult; return this; } /** * 隐私/密钥检查结果 * @return privacyCheckResult */ @Schema(name = "privacyCheckResult", description = "隐私/密钥检查结果", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("privacyCheckResult") public @Nullable String getPrivacyCheckResult() { return privacyCheckResult; } @JsonProperty("privacyCheckResult") public void setPrivacyCheckResult(@Nullable String privacyCheckResult) { this.privacyCheckResult = privacyCheckResult; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AdminPublishRequestSummary adminPublishRequestSummary = (AdminPublishRequestSummary) o; return Objects.equals(this.requestId, adminPublishRequestSummary.requestId) && Objects.equals(this.assetId, adminPublishRequestSummary.assetId) && Objects.equals(this.assetName, adminPublishRequestSummary.assetName) && Objects.equals(this.assetType, adminPublishRequestSummary.assetType) && Objects.equals(this.publisherId, adminPublishRequestSummary.publisherId) && Objects.equals(this.publisherName, adminPublishRequestSummary.publisherName) && Objects.equals(this.version, adminPublishRequestSummary.version) && Objects.equals(this.status, adminPublishRequestSummary.status) && Objects.equals(this.riskTags, adminPublishRequestSummary.riskTags) && Objects.equals(this.submittedAt, adminPublishRequestSummary.submittedAt) && Objects.equals(this.rightsDeclaration, adminPublishRequestSummary.rightsDeclaration) && Objects.equals(this.privacyCheckResult, adminPublishRequestSummary.privacyCheckResult); } @Override public int hashCode() { return Objects.hash(requestId, assetId, assetName, assetType, publisherId, publisherName, version, status, riskTags, submittedAt, rightsDeclaration, privacyCheckResult); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AdminPublishRequestSummary {\n"); sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n"); sb.append(" assetName: ").append(toIndentedString(assetName)).append("\n"); sb.append(" assetType: ").append(toIndentedString(assetType)).append("\n"); sb.append(" publisherId: ").append(toIndentedString(publisherId)).append("\n"); sb.append(" publisherName: ").append(toIndentedString(publisherName)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" riskTags: ").append(toIndentedString(riskTags)).append("\n"); sb.append(" submittedAt: ").append(toIndentedString(submittedAt)).append("\n"); sb.append(" rightsDeclaration: ").append(toIndentedString(rightsDeclaration)).append("\n"); sb.append(" privacyCheckResult: ").append(toIndentedString(privacyCheckResult)).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 "); } }