content: package org.ruoyi.common.chat.entity.images;
  
  import com.fasterxml.jackson.annotation.JsonInclude;
  import com.fasterxml.jackson.annotation.JsonProperty;
  import lombok.AllArgsConstructor;
  import lombok.Builder;
  import lombok.Getter;
  import lombok.NoArgsConstructor;
  import lombok.extern.slf4j.Slf4j;
  
  import java.io.Serializable;
  import java.util.Objects;
  
  /**
   *  
   *
   * @author https:www.unfbx.com
   *  2023-02-15
   */
  @Getter
  @Slf4j
  @Builder
  @JsonInclude(JsonInclude.Include.NON_NULL)
  @NoArgsConstructor
  @AllArgsConstructor
  public class ImageVariations implements Serializable {
      /**
       * 为每个提示生成的完成次数。
       */
      @Builder.Default
      private Integer n = 1;
      /**
       * 256x256
       * 512x512
       * 1024x1024
       */
      @Builder.Default
      private String size = SizeEnum.size_512.getName();
  
      @JsonProperty("response_format")
      @Builder.Default
      private String responseFormat = ResponseFormat.URL.getName();
  
      private String user;
  
  
      public void setN(Integer n) {
          if (n < 1) {
              log.warn("n最小值1");
              this.n = 1;
              return;
          }
          if (n > 10) {
              log.warn("n最大值10");
              this.n = 10;
              return;
          }
          this.n = n;
      }
  
  
      public void setSize(SizeEnum size) {
          if (Objects.isNull(size)) {
              size = SizeEnum.size_512;
          }
          this.size = size.getName();
      }
  
      public void setResponseFormat(ResponseFormat responseFormat) {
          if (Objects.isNull(responseFormat)) {
              responseFormat = ResponseFormat.URL;
          }
          this.responseFormat = responseFormat.getName();
      }
  
      public void setUser(String user) {
          this.user = user;
      }
  
  
  }
  