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 com.muse.dto.AppealProcessingHistoryItem; import com.muse.dto.AppealSupplementRecord; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; 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 = "AdminAppealDetail", 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 AdminAppealDetail implements Serializable { private static final long serialVersionUID = 1L; private UUID appealId; /** * Gets or Sets appealType */ public enum AppealTypeEnum { REVIEW_REJECTION("review_rejection"), DELIST("delist"), RECALL("recall"), LICENSE_REVOCATION("license_revocation"), USAGE_IMPACT("usage_impact"); private final String value; AppealTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static AppealTypeEnum fromValue(String value) { for (AppealTypeEnum b : AppealTypeEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private AppealTypeEnum appealType; /** * Gets or Sets status */ public enum StatusEnum { PENDING("pending"), REVIEWING("reviewing"), SUPPLEMENTING("supplementing"), MAINTAINED("maintained"), RESTORED("restored"), CLOSED("closed"); 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 @Nullable UUID appellantId; private @Nullable String appellantName; private UUID assetId; private @Nullable String assetName; private @Nullable String assetVersion; private String reason; @Valid private List evidenceMaterials = new ArrayList<>(); private @Nullable String currentGovernanceStatus; private @Nullable String originalResult; @Valid private List<@Valid AppealProcessingHistoryItem> processingHistory = new ArrayList<>(); @Valid private List<@Valid AppealSupplementRecord> supplementRecords = new ArrayList<>(); public AdminAppealDetail() { super(); } /** * Constructor with only required parameters */ public AdminAppealDetail(UUID appealId, AppealTypeEnum appealType, StatusEnum status, UUID assetId, String reason) { this.appealId = appealId; this.appealType = appealType; this.status = status; this.assetId = assetId; this.reason = reason; } public AdminAppealDetail appealId(UUID appealId) { this.appealId = appealId; return this; } /** * Get appealId * @return appealId */ @NotNull @Valid @Schema(name = "appealId", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("appealId") public UUID getAppealId() { return appealId; } @JsonProperty("appealId") public void setAppealId(UUID appealId) { this.appealId = appealId; } public AdminAppealDetail appealType(AppealTypeEnum appealType) { this.appealType = appealType; return this; } /** * Get appealType * @return appealType */ @NotNull @Schema(name = "appealType", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("appealType") public AppealTypeEnum getAppealType() { return appealType; } @JsonProperty("appealType") public void setAppealType(AppealTypeEnum appealType) { this.appealType = appealType; } public AdminAppealDetail 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 AdminAppealDetail appellantId(@Nullable UUID appellantId) { this.appellantId = appellantId; return this; } /** * Get appellantId * @return appellantId */ @Valid @Schema(name = "appellantId", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("appellantId") public @Nullable UUID getAppellantId() { return appellantId; } @JsonProperty("appellantId") public void setAppellantId(@Nullable UUID appellantId) { this.appellantId = appellantId; } public AdminAppealDetail appellantName(@Nullable String appellantName) { this.appellantName = appellantName; return this; } /** * Get appellantName * @return appellantName */ @Schema(name = "appellantName", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("appellantName") public @Nullable String getAppellantName() { return appellantName; } @JsonProperty("appellantName") public void setAppellantName(@Nullable String appellantName) { this.appellantName = appellantName; } public AdminAppealDetail 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 AdminAppealDetail assetName(@Nullable String assetName) { this.assetName = assetName; return this; } /** * Get assetName * @return assetName */ @Schema(name = "assetName", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("assetName") public @Nullable String getAssetName() { return assetName; } @JsonProperty("assetName") public void setAssetName(@Nullable String assetName) { this.assetName = assetName; } public AdminAppealDetail assetVersion(@Nullable String assetVersion) { this.assetVersion = assetVersion; return this; } /** * Get assetVersion * @return assetVersion */ @Schema(name = "assetVersion", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("assetVersion") public @Nullable String getAssetVersion() { return assetVersion; } @JsonProperty("assetVersion") public void setAssetVersion(@Nullable String assetVersion) { this.assetVersion = assetVersion; } public AdminAppealDetail reason(String reason) { this.reason = reason; return this; } /** * 申诉理由 * @return reason */ @NotNull @Schema(name = "reason", description = "申诉理由", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("reason") public String getReason() { return reason; } @JsonProperty("reason") public void setReason(String reason) { this.reason = reason; } public AdminAppealDetail evidenceMaterials(List evidenceMaterials) { this.evidenceMaterials = evidenceMaterials; return this; } public AdminAppealDetail addEvidenceMaterialsItem(String evidenceMaterialsItem) { if (this.evidenceMaterials == null) { this.evidenceMaterials = new ArrayList<>(); } this.evidenceMaterials.add(evidenceMaterialsItem); return this; } /** * 证据材料标识列表 * @return evidenceMaterials */ @Schema(name = "evidenceMaterials", description = "证据材料标识列表", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("evidenceMaterials") public List getEvidenceMaterials() { return evidenceMaterials; } @JsonProperty("evidenceMaterials") public void setEvidenceMaterials(List evidenceMaterials) { this.evidenceMaterials = evidenceMaterials; } public AdminAppealDetail currentGovernanceStatus(@Nullable String currentGovernanceStatus) { this.currentGovernanceStatus = currentGovernanceStatus; return this; } /** * 当前治理状态 * @return currentGovernanceStatus */ @Schema(name = "currentGovernanceStatus", description = "当前治理状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("currentGovernanceStatus") public @Nullable String getCurrentGovernanceStatus() { return currentGovernanceStatus; } @JsonProperty("currentGovernanceStatus") public void setCurrentGovernanceStatus(@Nullable String currentGovernanceStatus) { this.currentGovernanceStatus = currentGovernanceStatus; } public AdminAppealDetail originalResult(@Nullable String originalResult) { this.originalResult = originalResult; return this; } /** * 原审核/下架/召回结论 * @return originalResult */ @Schema(name = "originalResult", description = "原审核/下架/召回结论", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("originalResult") public @Nullable String getOriginalResult() { return originalResult; } @JsonProperty("originalResult") public void setOriginalResult(@Nullable String originalResult) { this.originalResult = originalResult; } public AdminAppealDetail processingHistory(List<@Valid AppealProcessingHistoryItem> processingHistory) { this.processingHistory = processingHistory; return this; } public AdminAppealDetail addProcessingHistoryItem(AppealProcessingHistoryItem processingHistoryItem) { if (this.processingHistory == null) { this.processingHistory = new ArrayList<>(); } this.processingHistory.add(processingHistoryItem); return this; } /** * Get processingHistory * @return processingHistory */ @Valid @Schema(name = "processingHistory", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("processingHistory") public List<@Valid AppealProcessingHistoryItem> getProcessingHistory() { return processingHistory; } @JsonProperty("processingHistory") public void setProcessingHistory(List<@Valid AppealProcessingHistoryItem> processingHistory) { this.processingHistory = processingHistory; } public AdminAppealDetail supplementRecords(List<@Valid AppealSupplementRecord> supplementRecords) { this.supplementRecords = supplementRecords; return this; } public AdminAppealDetail addSupplementRecordsItem(AppealSupplementRecord supplementRecordsItem) { if (this.supplementRecords == null) { this.supplementRecords = new ArrayList<>(); } this.supplementRecords.add(supplementRecordsItem); return this; } /** * Get supplementRecords * @return supplementRecords */ @Valid @Schema(name = "supplementRecords", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("supplementRecords") public List<@Valid AppealSupplementRecord> getSupplementRecords() { return supplementRecords; } @JsonProperty("supplementRecords") public void setSupplementRecords(List<@Valid AppealSupplementRecord> supplementRecords) { this.supplementRecords = supplementRecords; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AdminAppealDetail adminAppealDetail = (AdminAppealDetail) o; return Objects.equals(this.appealId, adminAppealDetail.appealId) && Objects.equals(this.appealType, adminAppealDetail.appealType) && Objects.equals(this.status, adminAppealDetail.status) && Objects.equals(this.appellantId, adminAppealDetail.appellantId) && Objects.equals(this.appellantName, adminAppealDetail.appellantName) && Objects.equals(this.assetId, adminAppealDetail.assetId) && Objects.equals(this.assetName, adminAppealDetail.assetName) && Objects.equals(this.assetVersion, adminAppealDetail.assetVersion) && Objects.equals(this.reason, adminAppealDetail.reason) && Objects.equals(this.evidenceMaterials, adminAppealDetail.evidenceMaterials) && Objects.equals(this.currentGovernanceStatus, adminAppealDetail.currentGovernanceStatus) && Objects.equals(this.originalResult, adminAppealDetail.originalResult) && Objects.equals(this.processingHistory, adminAppealDetail.processingHistory) && Objects.equals(this.supplementRecords, adminAppealDetail.supplementRecords); } @Override public int hashCode() { return Objects.hash(appealId, appealType, status, appellantId, appellantName, assetId, assetName, assetVersion, reason, evidenceMaterials, currentGovernanceStatus, originalResult, processingHistory, supplementRecords); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AdminAppealDetail {\n"); sb.append(" appealId: ").append(toIndentedString(appealId)).append("\n"); sb.append(" appealType: ").append(toIndentedString(appealType)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" appellantId: ").append(toIndentedString(appellantId)).append("\n"); sb.append(" appellantName: ").append(toIndentedString(appellantName)).append("\n"); sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n"); sb.append(" assetName: ").append(toIndentedString(assetName)).append("\n"); sb.append(" assetVersion: ").append(toIndentedString(assetVersion)).append("\n"); sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); sb.append(" evidenceMaterials: ").append(toIndentedString(evidenceMaterials)).append("\n"); sb.append(" currentGovernanceStatus: ").append(toIndentedString(currentGovernanceStatus)).append("\n"); sb.append(" originalResult: ").append(toIndentedString(originalResult)).append("\n"); sb.append(" processingHistory: ").append(toIndentedString(processingHistory)).append("\n"); sb.append(" supplementRecords: ").append(toIndentedString(supplementRecords)).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 "); } }