176 lines
5.4 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.muse.dto.ContentSourceSnapshot;
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;
/**
* 合并 Block 请求;服务端必须校验 work owner、blockId/targetBlockId 从属关系、commandId 幂等、expectedRevision 和 sourceSnapshot。
*/
@Schema(name = "MergeBlockRequest", description = "合并 Block 请求;服务端必须校验 work owner、blockId/targetBlockId 从属关系、commandId 幂等、expectedRevision 和 sourceSnapshot。")
@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 MergeBlockRequest implements Serializable {
private static final long serialVersionUID = 1L;
private String commandId;
private Integer expectedRevision;
private @Nullable UUID targetBlockId;
private ContentSourceSnapshot sourceSnapshot;
public MergeBlockRequest() {
super();
}
/**
* Constructor with only required parameters
*/
public MergeBlockRequest(String commandId, Integer expectedRevision, ContentSourceSnapshot sourceSnapshot) {
this.commandId = commandId;
this.expectedRevision = expectedRevision;
this.sourceSnapshot = sourceSnapshot;
}
public MergeBlockRequest commandId(String commandId) {
this.commandId = commandId;
return this;
}
/**
* 幂等键
* @return commandId
*/
@NotNull
@Schema(name = "commandId", description = "幂等键", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("commandId")
public String getCommandId() {
return commandId;
}
@JsonProperty("commandId")
public void setCommandId(String commandId) {
this.commandId = commandId;
}
public MergeBlockRequest expectedRevision(Integer expectedRevision) {
this.expectedRevision = expectedRevision;
return this;
}
/**
* 源 Block 当前 revision乐观锁
* @return expectedRevision
*/
@NotNull
@Schema(name = "expectedRevision", description = "源 Block 当前 revision乐观锁", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("expectedRevision")
public Integer getExpectedRevision() {
return expectedRevision;
}
@JsonProperty("expectedRevision")
public void setExpectedRevision(Integer expectedRevision) {
this.expectedRevision = expectedRevision;
}
public MergeBlockRequest targetBlockId(@Nullable UUID targetBlockId) {
this.targetBlockId = targetBlockId;
return this;
}
/**
* 目标相邻 Block ID不传时默认与下一个 Block 合并
* @return targetBlockId
*/
@Valid
@Schema(name = "targetBlockId", description = "目标相邻 Block ID不传时默认与下一个 Block 合并", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@JsonProperty("targetBlockId")
public @Nullable UUID getTargetBlockId() {
return targetBlockId;
}
@JsonProperty("targetBlockId")
public void setTargetBlockId(@Nullable UUID targetBlockId) {
this.targetBlockId = targetBlockId;
}
public MergeBlockRequest sourceSnapshot(ContentSourceSnapshot sourceSnapshot) {
this.sourceSnapshot = sourceSnapshot;
return this;
}
/**
* Get sourceSnapshot
* @return sourceSnapshot
*/
@NotNull @Valid
@Schema(name = "sourceSnapshot", requiredMode = Schema.RequiredMode.REQUIRED)
@JsonProperty("sourceSnapshot")
public ContentSourceSnapshot getSourceSnapshot() {
return sourceSnapshot;
}
@JsonProperty("sourceSnapshot")
public void setSourceSnapshot(ContentSourceSnapshot sourceSnapshot) {
this.sourceSnapshot = sourceSnapshot;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
MergeBlockRequest mergeBlockRequest = (MergeBlockRequest) o;
return Objects.equals(this.commandId, mergeBlockRequest.commandId) &&
Objects.equals(this.expectedRevision, mergeBlockRequest.expectedRevision) &&
Objects.equals(this.targetBlockId, mergeBlockRequest.targetBlockId) &&
Objects.equals(this.sourceSnapshot, mergeBlockRequest.sourceSnapshot);
}
@Override
public int hashCode() {
return Objects.hash(commandId, expectedRevision, targetBlockId, sourceSnapshot);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class MergeBlockRequest {\n");
sb.append(" commandId: ").append(toIndentedString(commandId)).append("\n");
sb.append(" expectedRevision: ").append(toIndentedString(expectedRevision)).append("\n");
sb.append(" targetBlockId: ").append(toIndentedString(targetBlockId)).append("\n");
sb.append(" sourceSnapshot: ").append(toIndentedString(sourceSnapshot)).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 ");
}
}