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 java.net.URI; 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 = "ProfileUpdateRequest", 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 ProfileUpdateRequest implements Serializable { private static final long serialVersionUID = 1L; private String commandId; private Integer expectedVersion; private @Nullable String nickname; private @Nullable URI avatar; private @Nullable String publicPenName; public ProfileUpdateRequest() { super(); } /** * Constructor with only required parameters */ public ProfileUpdateRequest(String commandId, Integer expectedVersion) { this.commandId = commandId; this.expectedVersion = expectedVersion; } public ProfileUpdateRequest 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 ProfileUpdateRequest expectedVersion(Integer expectedVersion) { this.expectedVersion = expectedVersion; return this; } /** * 期望资料版本号(乐观锁) * @return expectedVersion */ @NotNull @Schema(name = "expectedVersion", description = "期望资料版本号(乐观锁)", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("expectedVersion") public Integer getExpectedVersion() { return expectedVersion; } @JsonProperty("expectedVersion") public void setExpectedVersion(Integer expectedVersion) { this.expectedVersion = expectedVersion; } public ProfileUpdateRequest nickname(@Nullable String nickname) { this.nickname = nickname; return this; } /** * 新昵称 * @return nickname */ @Schema(name = "nickname", description = "新昵称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("nickname") public @Nullable String getNickname() { return nickname; } @JsonProperty("nickname") public void setNickname(@Nullable String nickname) { this.nickname = nickname; } public ProfileUpdateRequest avatar(@Nullable URI avatar) { this.avatar = avatar; return this; } /** * 新头像 URL * @return avatar */ @Valid @Schema(name = "avatar", description = "新头像 URL", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("avatar") public @Nullable URI getAvatar() { return avatar; } @JsonProperty("avatar") public void setAvatar(@Nullable URI avatar) { this.avatar = avatar; } public ProfileUpdateRequest publicPenName(@Nullable String publicPenName) { this.publicPenName = publicPenName; return this; } /** * 新公开署名 * @return publicPenName */ @Schema(name = "publicPenName", description = "新公开署名", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("publicPenName") public @Nullable String getPublicPenName() { return publicPenName; } @JsonProperty("publicPenName") public void setPublicPenName(@Nullable String publicPenName) { this.publicPenName = publicPenName; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ProfileUpdateRequest profileUpdateRequest = (ProfileUpdateRequest) o; return Objects.equals(this.commandId, profileUpdateRequest.commandId) && Objects.equals(this.expectedVersion, profileUpdateRequest.expectedVersion) && Objects.equals(this.nickname, profileUpdateRequest.nickname) && Objects.equals(this.avatar, profileUpdateRequest.avatar) && Objects.equals(this.publicPenName, profileUpdateRequest.publicPenName); } @Override public int hashCode() { return Objects.hash(commandId, expectedVersion, nickname, avatar, publicPenName); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ProfileUpdateRequest {\n"); sb.append(" commandId: ").append(toIndentedString(commandId)).append("\n"); sb.append(" expectedVersion: ").append(toIndentedString(expectedVersion)).append("\n"); sb.append(" nickname: ").append(toIndentedString(nickname)).append("\n"); sb.append(" avatar: ").append(toIndentedString(avatar)).append("\n"); sb.append(" publicPenName: ").append(toIndentedString(publicPenName)).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 "); } }