291 lines
7.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.PublishCheckItem;
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 = "PublishCheckResult", 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 PublishCheckResult implements Serializable {
private static final long serialVersionUID = 1L;
private UUID marketPublishCheckId;
/**
* Gets or Sets status
*/
public enum StatusEnum {
RUNNING("running"),
PASSED("passed"),
FAILED("failed"),
EXPIRED("expired");
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<@Valid PublishCheckItem> blockers = new ArrayList<>();
@Valid
private List<@Valid PublishCheckItem> warnings = new ArrayList<>();
private Boolean canSubmit;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private OffsetDateTime expiresAt;
public PublishCheckResult() {
super();
}
/**
* Constructor with only required parameters
*/
public PublishCheckResult(UUID marketPublishCheckId, StatusEnum status, Boolean canSubmit, OffsetDateTime expiresAt) {
this.marketPublishCheckId = marketPublishCheckId;
this.status = status;
this.canSubmit = canSubmit;
this.expiresAt = expiresAt;
}
public PublishCheckResult marketPublishCheckId(UUID marketPublishCheckId) {
this.marketPublishCheckId = marketPublishCheckId;
return this;
}
/**
* 检查结果 ID提交审核时消费
* @return marketPublishCheckId
*/
@NotNull @Valid
@Schema(name = "marketPublishCheckId", description = "检查结果 ID提交审核时消费", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("marketPublishCheckId")
public UUID getMarketPublishCheckId() {
return marketPublishCheckId;
}
@JsonProperty("marketPublishCheckId")
public void setMarketPublishCheckId(UUID marketPublishCheckId) {
this.marketPublishCheckId = marketPublishCheckId;
}
public PublishCheckResult 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 PublishCheckResult blockers(List<@Valid PublishCheckItem> blockers) {
this.blockers = blockers;
return this;
}
public PublishCheckResult addBlockersItem(PublishCheckItem blockersItem) {
if (this.blockers == null) {
this.blockers = new ArrayList<>();
}
this.blockers.add(blockersItem);
return this;
}
/**
* 阻断项
* @return blockers
*/
@Valid
@Schema(name = "blockers", description = "阻断项", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@JsonProperty("blockers")
public List<@Valid PublishCheckItem> getBlockers() {
return blockers;
}
@JsonProperty("blockers")
public void setBlockers(List<@Valid PublishCheckItem> blockers) {
this.blockers = blockers;
}
public PublishCheckResult warnings(List<@Valid PublishCheckItem> warnings) {
this.warnings = warnings;
return this;
}
public PublishCheckResult addWarningsItem(PublishCheckItem warningsItem) {
if (this.warnings == null) {
this.warnings = new ArrayList<>();
}
this.warnings.add(warningsItem);
return this;
}
/**
* 警告项
* @return warnings
*/
@Valid
@Schema(name = "warnings", description = "警告项", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@JsonProperty("warnings")
public List<@Valid PublishCheckItem> getWarnings() {
return warnings;
}
@JsonProperty("warnings")
public void setWarnings(List<@Valid PublishCheckItem> warnings) {
this.warnings = warnings;
}
public PublishCheckResult canSubmit(Boolean canSubmit) {
this.canSubmit = canSubmit;
return this;
}
/**
* 检查通过是否可提交审核
* @return canSubmit
*/
@NotNull
@Schema(name = "canSubmit", description = "检查通过是否可提交审核", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("canSubmit")
public Boolean getCanSubmit() {
return canSubmit;
}
@JsonProperty("canSubmit")
public void setCanSubmit(Boolean canSubmit) {
this.canSubmit = canSubmit;
}
public PublishCheckResult expiresAt(OffsetDateTime expiresAt) {
this.expiresAt = expiresAt;
return this;
}
/**
* 检查结果过期时间
* @return expiresAt
*/
@NotNull @Valid
@Schema(name = "expiresAt", description = "检查结果过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("expiresAt")
public OffsetDateTime getExpiresAt() {
return expiresAt;
}
@JsonProperty("expiresAt")
public void setExpiresAt(OffsetDateTime expiresAt) {
this.expiresAt = expiresAt;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PublishCheckResult publishCheckResult = (PublishCheckResult) o;
return Objects.equals(this.marketPublishCheckId, publishCheckResult.marketPublishCheckId) &&
Objects.equals(this.status, publishCheckResult.status) &&
Objects.equals(this.blockers, publishCheckResult.blockers) &&
Objects.equals(this.warnings, publishCheckResult.warnings) &&
Objects.equals(this.canSubmit, publishCheckResult.canSubmit) &&
Objects.equals(this.expiresAt, publishCheckResult.expiresAt);
}
@Override
public int hashCode() {
return Objects.hash(marketPublishCheckId, status, blockers, warnings, canSubmit, expiresAt);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class PublishCheckResult {\n");
sb.append(" marketPublishCheckId: ").append(toIndentedString(marketPublishCheckId)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append(" blockers: ").append(toIndentedString(blockers)).append("\n");
sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n");
sb.append(" canSubmit: ").append(toIndentedString(canSubmit)).append("\n");
sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).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 ");
}
}