BlinkBox.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.izouma.nineth.domain;
  2. import com.izouma.nineth.annotations.Searchable;
  3. import com.izouma.nineth.converter.FileObjectListConverter;
  4. import com.izouma.nineth.converter.PropertyListConverter;
  5. import com.izouma.nineth.enums.CollectionSource;
  6. import com.izouma.nineth.enums.CollectionType;
  7. import io.swagger.annotations.ApiModel;
  8. import io.swagger.annotations.ApiModelProperty;
  9. import lombok.AllArgsConstructor;
  10. import lombok.Builder;
  11. import lombok.Data;
  12. import lombok.NoArgsConstructor;
  13. import javax.persistence.*;
  14. import java.math.BigDecimal;
  15. import java.util.List;
  16. @Data
  17. @Entity
  18. @AllArgsConstructor
  19. @NoArgsConstructor
  20. @Builder
  21. @ApiModel("盲盒")
  22. public class BlinkBox extends BaseEntity {
  23. @ApiModelProperty("名称")
  24. @Searchable
  25. private String name;
  26. @ApiModelProperty("图片")
  27. @Column(columnDefinition = "TEXT")
  28. @Convert(converter = FileObjectListConverter.class)
  29. private List<FileObject> pics;
  30. @ApiModelProperty("铸造者")
  31. @Searchable
  32. private String minter;
  33. @ApiModelProperty("铸造者ID")
  34. private Long minterId;
  35. @ApiModelProperty("铸造者头像")
  36. private String minterAvatar;
  37. @ApiModelProperty("详情")
  38. @Column(columnDefinition = "TEXT")
  39. private String detail;
  40. @ApiModelProperty("类型")
  41. @Enumerated(EnumType.STRING)
  42. private CollectionType type;
  43. @ApiModelProperty("来源")
  44. @Enumerated(EnumType.STRING)
  45. private CollectionSource source;
  46. @ApiModelProperty("已售")
  47. private int sale;
  48. @ApiModelProperty("库存")
  49. private int stock;
  50. @ApiModelProperty("点赞")
  51. private int likes;
  52. @ApiModelProperty("上架")
  53. private boolean onShelf;
  54. @ApiModelProperty("可售")
  55. private boolean salable;
  56. @ApiModelProperty("价格")
  57. @Column(precision = 10, scale = 2)
  58. private BigDecimal price;
  59. @Column(columnDefinition = "TEXT")
  60. @Convert(converter = PropertyListConverter.class)
  61. @ApiModelProperty("特性")
  62. private List<CollectionProperty> properties;
  63. }