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.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; /** * CreateBindPrecheckRequest */ @JsonTypeName("createBindPrecheck_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 CreateBindPrecheckRequest implements Serializable { private static final long serialVersionUID = 1L; /** * 目标 owner 空间 */ public enum TargetOwnerEnum { AGENT("agent"), KNOWLEDGE("knowledge"), CONTENT("content"); private final String value; TargetOwnerEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static TargetOwnerEnum fromValue(String value) { for (TargetOwnerEnum b : TargetOwnerEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private TargetOwnerEnum targetOwner; /** * 目标动作 */ public enum TargetActionEnum { SLOT_BIND("slot_bind"), BIND("bind"), ASSET_USE("asset_use"); private final String value; TargetActionEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static TargetActionEnum fromValue(String value) { for (TargetActionEnum b : TargetActionEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private TargetActionEnum targetAction; private @Nullable UUID targetWorkId; private UUID commandId; public CreateBindPrecheckRequest() { super(); } /** * Constructor with only required parameters */ public CreateBindPrecheckRequest(TargetOwnerEnum targetOwner, TargetActionEnum targetAction, UUID commandId) { this.targetOwner = targetOwner; this.targetAction = targetAction; this.commandId = commandId; } public CreateBindPrecheckRequest targetOwner(TargetOwnerEnum targetOwner) { this.targetOwner = targetOwner; return this; } /** * 目标 owner 空间 * @return targetOwner */ @NotNull @Schema(name = "targetOwner", description = "目标 owner 空间", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("targetOwner") public TargetOwnerEnum getTargetOwner() { return targetOwner; } @JsonProperty("targetOwner") public void setTargetOwner(TargetOwnerEnum targetOwner) { this.targetOwner = targetOwner; } public CreateBindPrecheckRequest targetAction(TargetActionEnum targetAction) { this.targetAction = targetAction; return this; } /** * 目标动作 * @return targetAction */ @NotNull @Schema(name = "targetAction", description = "目标动作", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("targetAction") public TargetActionEnum getTargetAction() { return targetAction; } @JsonProperty("targetAction") public void setTargetAction(TargetActionEnum targetAction) { this.targetAction = targetAction; } public CreateBindPrecheckRequest targetWorkId(@Nullable UUID targetWorkId) { this.targetWorkId = targetWorkId; return this; } /** * 目标作品 ID * @return targetWorkId */ @Valid @Schema(name = "targetWorkId", description = "目标作品 ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("targetWorkId") public @Nullable UUID getTargetWorkId() { return targetWorkId; } @JsonProperty("targetWorkId") public void setTargetWorkId(@Nullable UUID targetWorkId) { this.targetWorkId = targetWorkId; } public CreateBindPrecheckRequest 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; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } CreateBindPrecheckRequest createBindPrecheckRequest = (CreateBindPrecheckRequest) o; return Objects.equals(this.targetOwner, createBindPrecheckRequest.targetOwner) && Objects.equals(this.targetAction, createBindPrecheckRequest.targetAction) && Objects.equals(this.targetWorkId, createBindPrecheckRequest.targetWorkId) && Objects.equals(this.commandId, createBindPrecheckRequest.commandId); } @Override public int hashCode() { return Objects.hash(targetOwner, targetAction, targetWorkId, commandId); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CreateBindPrecheckRequest {\n"); sb.append(" targetOwner: ").append(toIndentedString(targetOwner)).append("\n"); sb.append(" targetAction: ").append(toIndentedString(targetAction)).append("\n"); sb.append(" targetWorkId: ").append(toIndentedString(targetWorkId)).append("\n"); sb.append(" commandId: ").append(toIndentedString(commandId)).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 "); } }