376 lines
10 KiB
Java
376 lines
10 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.JsonTypeName;
|
|
import com.fasterxml.jackson.annotation.JsonValue;
|
|
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;
|
|
|
|
/**
|
|
* AdminResolveAppealRequest
|
|
*/
|
|
|
|
@JsonTypeName("adminResolveAppeal_request")
|
|
@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 AdminResolveAppealRequest implements Serializable {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private UUID commandId;
|
|
|
|
/**
|
|
* 期望当前申诉状态,避免盲处理
|
|
*/
|
|
public enum ExpectedStatusEnum {
|
|
PENDING("pending"),
|
|
|
|
REVIEWING("reviewing"),
|
|
|
|
SUPPLEMENTING("supplementing");
|
|
|
|
private final String value;
|
|
|
|
ExpectedStatusEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.valueOf(value);
|
|
}
|
|
|
|
@JsonCreator
|
|
public static ExpectedStatusEnum fromValue(String value) {
|
|
for (ExpectedStatusEnum b : ExpectedStatusEnum.values()) {
|
|
if (b.value.equals(value)) {
|
|
return b;
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("Unexpected value '" + value + "'");
|
|
}
|
|
}
|
|
|
|
private ExpectedStatusEnum expectedStatus;
|
|
|
|
/**
|
|
* 处理结论
|
|
*/
|
|
public enum ResolutionEnum {
|
|
MAINTAINED("maintained"),
|
|
|
|
RESTORED("restored"),
|
|
|
|
PARTIALLY_RESTORED("partially_restored"),
|
|
|
|
CLOSED("closed");
|
|
|
|
private final String value;
|
|
|
|
ResolutionEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.valueOf(value);
|
|
}
|
|
|
|
@JsonCreator
|
|
public static ResolutionEnum fromValue(String value) {
|
|
for (ResolutionEnum b : ResolutionEnum.values()) {
|
|
if (b.value.equals(value)) {
|
|
return b;
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("Unexpected value '" + value + "'");
|
|
}
|
|
}
|
|
|
|
private ResolutionEnum resolution;
|
|
|
|
private String reason;
|
|
|
|
@Valid
|
|
private List<String> evidenceTags = new ArrayList<>();
|
|
|
|
private UUID impactPreviewId;
|
|
|
|
private Boolean requireSupplement = false;
|
|
|
|
@Valid
|
|
private List<String> supplementItems = new ArrayList<>();
|
|
|
|
public AdminResolveAppealRequest() {
|
|
super();
|
|
}
|
|
|
|
/**
|
|
* Constructor with only required parameters
|
|
*/
|
|
public AdminResolveAppealRequest(UUID commandId, ExpectedStatusEnum expectedStatus, ResolutionEnum resolution, String reason, UUID impactPreviewId) {
|
|
this.commandId = commandId;
|
|
this.expectedStatus = expectedStatus;
|
|
this.resolution = resolution;
|
|
this.reason = reason;
|
|
this.impactPreviewId = impactPreviewId;
|
|
}
|
|
|
|
public AdminResolveAppealRequest commandId(UUID commandId) {
|
|
this.commandId = commandId;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 幂等键
|
|
* @return commandId
|
|
*/
|
|
@NotNull @Valid
|
|
@Schema(name = "commandId", description = "幂等键", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("commandId")
|
|
public UUID getCommandId() {
|
|
return commandId;
|
|
}
|
|
|
|
@JsonProperty("commandId")
|
|
public void setCommandId(UUID commandId) {
|
|
this.commandId = commandId;
|
|
}
|
|
|
|
public AdminResolveAppealRequest expectedStatus(ExpectedStatusEnum expectedStatus) {
|
|
this.expectedStatus = expectedStatus;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 期望当前申诉状态,避免盲处理
|
|
* @return expectedStatus
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "expectedStatus", description = "期望当前申诉状态,避免盲处理", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("expectedStatus")
|
|
public ExpectedStatusEnum getExpectedStatus() {
|
|
return expectedStatus;
|
|
}
|
|
|
|
@JsonProperty("expectedStatus")
|
|
public void setExpectedStatus(ExpectedStatusEnum expectedStatus) {
|
|
this.expectedStatus = expectedStatus;
|
|
}
|
|
|
|
public AdminResolveAppealRequest resolution(ResolutionEnum resolution) {
|
|
this.resolution = resolution;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 处理结论
|
|
* @return resolution
|
|
*/
|
|
@NotNull
|
|
@Schema(name = "resolution", description = "处理结论", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("resolution")
|
|
public ResolutionEnum getResolution() {
|
|
return resolution;
|
|
}
|
|
|
|
@JsonProperty("resolution")
|
|
public void setResolution(ResolutionEnum resolution) {
|
|
this.resolution = resolution;
|
|
}
|
|
|
|
public AdminResolveAppealRequest reason(String reason) {
|
|
this.reason = reason;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 处理理由
|
|
* @return reason
|
|
*/
|
|
@NotNull @Size(max = 5000)
|
|
@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 AdminResolveAppealRequest evidenceTags(List<String> evidenceTags) {
|
|
this.evidenceTags = evidenceTags;
|
|
return this;
|
|
}
|
|
|
|
public AdminResolveAppealRequest addEvidenceTagsItem(String evidenceTagsItem) {
|
|
if (this.evidenceTags == null) {
|
|
this.evidenceTags = new ArrayList<>();
|
|
}
|
|
this.evidenceTags.add(evidenceTagsItem);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 处理证据标签
|
|
* @return evidenceTags
|
|
*/
|
|
|
|
@Schema(name = "evidenceTags", description = "处理证据标签", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("evidenceTags")
|
|
public List<String> getEvidenceTags() {
|
|
return evidenceTags;
|
|
}
|
|
|
|
@JsonProperty("evidenceTags")
|
|
public void setEvidenceTags(List<String> evidenceTags) {
|
|
this.evidenceTags = evidenceTags;
|
|
}
|
|
|
|
public AdminResolveAppealRequest impactPreviewId(UUID impactPreviewId) {
|
|
this.impactPreviewId = impactPreviewId;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 恢复时的关联影响预览 ID
|
|
* @return impactPreviewId
|
|
*/
|
|
@NotNull @Valid
|
|
@Schema(name = "impactPreviewId", description = "恢复时的关联影响预览 ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
@JsonProperty("impactPreviewId")
|
|
public UUID getImpactPreviewId() {
|
|
return impactPreviewId;
|
|
}
|
|
|
|
@JsonProperty("impactPreviewId")
|
|
public void setImpactPreviewId(UUID impactPreviewId) {
|
|
this.impactPreviewId = impactPreviewId;
|
|
}
|
|
|
|
public AdminResolveAppealRequest requireSupplement(Boolean requireSupplement) {
|
|
this.requireSupplement = requireSupplement;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 是否要求申诉人补充材料
|
|
* @return requireSupplement
|
|
*/
|
|
|
|
@Schema(name = "requireSupplement", description = "是否要求申诉人补充材料", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("requireSupplement")
|
|
public Boolean getRequireSupplement() {
|
|
return requireSupplement;
|
|
}
|
|
|
|
@JsonProperty("requireSupplement")
|
|
public void setRequireSupplement(Boolean requireSupplement) {
|
|
this.requireSupplement = requireSupplement;
|
|
}
|
|
|
|
public AdminResolveAppealRequest supplementItems(List<String> supplementItems) {
|
|
this.supplementItems = supplementItems;
|
|
return this;
|
|
}
|
|
|
|
public AdminResolveAppealRequest addSupplementItemsItem(String supplementItemsItem) {
|
|
if (this.supplementItems == null) {
|
|
this.supplementItems = new ArrayList<>();
|
|
}
|
|
this.supplementItems.add(supplementItemsItem);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 需要补充的项目列表
|
|
* @return supplementItems
|
|
*/
|
|
|
|
@Schema(name = "supplementItems", description = "需要补充的项目列表", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
|
@JsonProperty("supplementItems")
|
|
public List<String> getSupplementItems() {
|
|
return supplementItems;
|
|
}
|
|
|
|
@JsonProperty("supplementItems")
|
|
public void setSupplementItems(List<String> supplementItems) {
|
|
this.supplementItems = supplementItems;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (o == null || getClass() != o.getClass()) {
|
|
return false;
|
|
}
|
|
AdminResolveAppealRequest adminResolveAppealRequest = (AdminResolveAppealRequest) o;
|
|
return Objects.equals(this.commandId, adminResolveAppealRequest.commandId) &&
|
|
Objects.equals(this.expectedStatus, adminResolveAppealRequest.expectedStatus) &&
|
|
Objects.equals(this.resolution, adminResolveAppealRequest.resolution) &&
|
|
Objects.equals(this.reason, adminResolveAppealRequest.reason) &&
|
|
Objects.equals(this.evidenceTags, adminResolveAppealRequest.evidenceTags) &&
|
|
Objects.equals(this.impactPreviewId, adminResolveAppealRequest.impactPreviewId) &&
|
|
Objects.equals(this.requireSupplement, adminResolveAppealRequest.requireSupplement) &&
|
|
Objects.equals(this.supplementItems, adminResolveAppealRequest.supplementItems);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash(commandId, expectedStatus, resolution, reason, evidenceTags, impactPreviewId, requireSupplement, supplementItems);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("class AdminResolveAppealRequest {\n");
|
|
sb.append(" commandId: ").append(toIndentedString(commandId)).append("\n");
|
|
sb.append(" expectedStatus: ").append(toIndentedString(expectedStatus)).append("\n");
|
|
sb.append(" resolution: ").append(toIndentedString(resolution)).append("\n");
|
|
sb.append(" reason: ").append(toIndentedString(reason)).append("\n");
|
|
sb.append(" evidenceTags: ").append(toIndentedString(evidenceTags)).append("\n");
|
|
sb.append(" impactPreviewId: ").append(toIndentedString(impactPreviewId)).append("\n");
|
|
sb.append(" requireSupplement: ").append(toIndentedString(requireSupplement)).append("\n");
|
|
sb.append(" supplementItems: ").append(toIndentedString(supplementItems)).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 ");
|
|
}
|
|
}
|
|
|