544 lines
15 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 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<String> 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<String> 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<String> getEvidenceMaterials() {
return evidenceMaterials;
}
@JsonProperty("evidenceMaterials")
public void setEvidenceMaterials(List<String> 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 ");
}
}