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.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; /** * 推荐位 */ @Schema(name = "RecommendationSlot", 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 RecommendationSlot implements Serializable { private static final long serialVersionUID = 1L; private String slotId; private String name; private @Nullable String description; @Valid private List assetIds = new ArrayList<>(); public RecommendationSlot() { super(); } /** * Constructor with only required parameters */ public RecommendationSlot(String slotId, String name) { this.slotId = slotId; this.name = name; } public RecommendationSlot slotId(String slotId) { this.slotId = slotId; return this; } /** * Get slotId * @return slotId */ @NotNull @Schema(name = "slotId", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("slotId") public String getSlotId() { return slotId; } @JsonProperty("slotId") public void setSlotId(String slotId) { this.slotId = slotId; } public RecommendationSlot name(String name) { this.name = name; return this; } /** * Get name * @return name */ @NotNull @Schema(name = "name", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("name") public String getName() { return name; } @JsonProperty("name") public void setName(String name) { this.name = name; } public RecommendationSlot description(@Nullable String description) { this.description = description; return this; } /** * Get description * @return description */ @Schema(name = "description", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("description") public @Nullable String getDescription() { return description; } @JsonProperty("description") public void setDescription(@Nullable String description) { this.description = description; } public RecommendationSlot assetIds(List assetIds) { this.assetIds = assetIds; return this; } public RecommendationSlot addAssetIdsItem(UUID assetIdsItem) { if (this.assetIds == null) { this.assetIds = new ArrayList<>(); } this.assetIds.add(assetIdsItem); return this; } /** * Get assetIds * @return assetIds */ @Valid @Schema(name = "assetIds", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("assetIds") public List getAssetIds() { return assetIds; } @JsonProperty("assetIds") public void setAssetIds(List assetIds) { this.assetIds = assetIds; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } RecommendationSlot recommendationSlot = (RecommendationSlot) o; return Objects.equals(this.slotId, recommendationSlot.slotId) && Objects.equals(this.name, recommendationSlot.name) && Objects.equals(this.description, recommendationSlot.description) && Objects.equals(this.assetIds, recommendationSlot.assetIds); } @Override public int hashCode() { return Objects.hash(slotId, name, description, assetIds); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RecommendationSlot {\n"); sb.append(" slotId: ").append(toIndentedString(slotId)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" assetIds: ").append(toIndentedString(assetIds)).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 "); } }