BlindBoxItem.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.izouma.nineth.domain;
  2. import com.izouma.nineth.annotations.Searchable;
  3. import com.izouma.nineth.converter.FileObjectConverter;
  4. import com.izouma.nineth.converter.FileObjectListConverter;
  5. import com.izouma.nineth.converter.PrivilegeListConverter;
  6. import com.izouma.nineth.converter.PropertyListConverter;
  7. import io.swagger.annotations.ApiModelProperty;
  8. import lombok.AllArgsConstructor;
  9. import lombok.Builder;
  10. import lombok.Data;
  11. import lombok.NoArgsConstructor;
  12. import javax.persistence.*;
  13. import java.math.BigDecimal;
  14. import java.util.List;
  15. @Data
  16. @Entity
  17. @Table(indexes = {
  18. @Index(columnList = "blindBoxId"),
  19. @Index(columnList = "collectionId"),
  20. @Index(columnList = "minterId"),
  21. })
  22. @AllArgsConstructor
  23. @NoArgsConstructor
  24. @Builder
  25. public class BlindBoxItem extends BaseEntity {
  26. private Long blindBoxId;
  27. private Long collectionId;
  28. private Long oasisId;
  29. @ApiModelProperty("名称")
  30. @Searchable
  31. private String name;
  32. @ApiModelProperty("图片")
  33. @Column(columnDefinition = "TEXT")
  34. @Convert(converter = FileObjectListConverter.class)
  35. private List<FileObject> pic;
  36. @Column(columnDefinition = "TEXT")
  37. @Convert(converter = FileObjectConverter.class)
  38. private FileObject model3d;
  39. @ApiModelProperty("铸造者")
  40. @Searchable
  41. private String minter;
  42. @ApiModelProperty("铸造者ID")
  43. private Long minterId;
  44. @ApiModelProperty("铸造者头像")
  45. private String minterAvatar;
  46. @ApiModelProperty("详情")
  47. @Column(columnDefinition = "TEXT")
  48. private String detail;
  49. @ApiModelProperty("已售")
  50. private int sale;
  51. @ApiModelProperty("库存")
  52. private int stock;
  53. @ApiModelProperty("发行数量")
  54. private int total;
  55. @ApiModelProperty("价格")
  56. @Column(precision = 10, scale = 2)
  57. private BigDecimal price;
  58. @Column(columnDefinition = "TEXT")
  59. @Convert(converter = PropertyListConverter.class)
  60. @ApiModelProperty("特性")
  61. private List<CollectionProperty> properties;
  62. @Column(columnDefinition = "TEXT")
  63. @Convert(converter = PrivilegeListConverter.class)
  64. @ApiModelProperty("特权")
  65. private List<Privilege> privileges;
  66. @ApiModelProperty("是否可转售")
  67. private boolean canResale;
  68. @ApiModelProperty("版税比例")
  69. private int royalties;
  70. @ApiModelProperty("手续费比例")
  71. private int serviceCharge;
  72. @ApiModelProperty("分类")
  73. private String category;
  74. @ApiModelProperty("稀有")
  75. private boolean rare;
  76. // @ApiModelProperty("持有几天")
  77. // private Integer holdDays;
  78. }