CompanyCollection.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 com.izouma.nineth.enums.AuthStatus;
  8. import com.izouma.nineth.enums.CollectionStatus;
  9. import io.swagger.annotations.ApiModel;
  10. import io.swagger.annotations.ApiModelProperty;
  11. import lombok.AllArgsConstructor;
  12. import lombok.Builder;
  13. import lombok.Data;
  14. import lombok.NoArgsConstructor;
  15. import javax.persistence.*;
  16. import java.math.BigDecimal;
  17. import java.util.List;
  18. @Data
  19. @AllArgsConstructor
  20. @NoArgsConstructor
  21. @Builder
  22. @Entity
  23. @ApiModel("企业申请的藏品")
  24. public class CompanyCollection extends BaseEntity {
  25. private Long userId;
  26. @ApiModelProperty("铸造者")
  27. private String minter;
  28. @ApiModelProperty("名称")
  29. @Searchable
  30. private String name;
  31. @ApiModelProperty("图片")
  32. @Column(columnDefinition = "TEXT")
  33. @Convert(converter = FileObjectListConverter.class)
  34. private List<FileObject> pic;
  35. @Column(columnDefinition = "TEXT")
  36. @Convert(converter = FileObjectConverter.class)
  37. private FileObject model3d;
  38. @ApiModelProperty("详情")
  39. @Column(columnDefinition = "TEXT")
  40. private String detail;
  41. @ApiModelProperty("分类")
  42. private String category;
  43. @ApiModelProperty("发行数量")
  44. private int total;
  45. @ApiModelProperty("价格")
  46. @Column(precision = 10, scale = 2)
  47. private BigDecimal price;
  48. @ApiModelProperty("原价")
  49. @Column(precision = 10, scale = 2)
  50. private BigDecimal originalPrice;
  51. @ApiModelProperty("限购数量")
  52. private int maxCount;
  53. @ApiModelProperty("限购识别码")
  54. private String countId;
  55. @Column(columnDefinition = "TEXT")
  56. @Convert(converter = PropertyListConverter.class)
  57. @ApiModelProperty("特性")
  58. private List<CollectionProperty> properties;
  59. @Column(columnDefinition = "TEXT")
  60. @Convert(converter = PrivilegeListConverter.class)
  61. @ApiModelProperty("特权")
  62. private List<Privilege> privileges;
  63. @ApiModelProperty("是否可转售")
  64. private boolean canResale;
  65. @ApiModelProperty("状态")
  66. @Enumerated(EnumType.STRING)
  67. private AuthStatus status;
  68. @ApiModelProperty("拒绝理由")
  69. private String reason;
  70. }