Asset.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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.PrivilegeListConverter;
  5. import com.izouma.nineth.converter.PropertyListConverter;
  6. import com.izouma.nineth.enums.AssetStatus;
  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.math.BigInteger;
  16. import java.util.List;
  17. @Data
  18. @Entity
  19. @AllArgsConstructor
  20. @NoArgsConstructor
  21. @Builder
  22. @ApiModel("资产")
  23. public class Asset extends BaseEntity {
  24. @ApiModelProperty("用户ID")
  25. private Long userId;
  26. @ApiModelProperty("持有者")
  27. private String ownerName;
  28. @ApiModelProperty("藏品ID")
  29. private Long collectionId;
  30. @ApiModelProperty("订单ID")
  31. private Long orderId;
  32. @ApiModelProperty("编号")
  33. private int number;
  34. @ApiModelProperty("名称")
  35. @Searchable
  36. private String name;
  37. @ApiModelProperty("详情")
  38. @Column(columnDefinition = "TEXT")
  39. private String detail;
  40. @Column(columnDefinition = "TEXT")
  41. @Convert(converter = PropertyListConverter.class)
  42. @ApiModelProperty("特性")
  43. private List<CollectionProperty> properties;
  44. @Column(columnDefinition = "TEXT")
  45. @Convert(converter = PrivilegeListConverter.class)
  46. @ApiModelProperty("特权")
  47. private List<Privilege> privileges;
  48. @ApiModelProperty("分类")
  49. private String category;
  50. @ApiModelProperty("是否可转售")
  51. private boolean canResale;
  52. @ApiModelProperty("版税比例")
  53. private int royalties;
  54. @ApiModelProperty("手续费比例")
  55. private int serviceCharge;
  56. @ApiModelProperty("铸造者")
  57. @Searchable
  58. private String minter;
  59. @ApiModelProperty("铸造者ID")
  60. private Long minterId;
  61. @ApiModelProperty("铸造者头像")
  62. private String minterAvatar;
  63. @ApiModelProperty("持有者")
  64. @Searchable
  65. private String owner;
  66. @ApiModelProperty("持有者ID")
  67. private Long ownerId;
  68. @ApiModelProperty("持有者头像")
  69. private String ownerAvatar;
  70. @ApiModelProperty("图片")
  71. @Convert(converter = FileObjectListConverter.class)
  72. @Column(columnDefinition = "TEXT")
  73. private List<FileObject> pic;
  74. @ApiModelProperty("tokenId")
  75. private String tokenId;
  76. @ApiModelProperty("购买hash")
  77. private String txHash;
  78. @ApiModelProperty("消耗gas")
  79. private BigInteger gasUsed;
  80. @ApiModelProperty("区块高度")
  81. private BigInteger blockNumber;
  82. @ApiModelProperty("ipfs地址")
  83. private String ipfsUrl;
  84. @ApiModelProperty("购买价格")
  85. @Column(precision = 10, scale = 2)
  86. private BigDecimal price;
  87. @ApiModelProperty("转让价格")
  88. @Column(precision = 10, scale = 2)
  89. private BigDecimal sellPrice;
  90. @ApiModelProperty("转让hash")
  91. private String outTxHash;
  92. @ApiModelProperty("转让订单ID")
  93. private Long outOrderId;
  94. @ApiModelProperty("状态")
  95. @Enumerated(EnumType.STRING)
  96. private AssetStatus status;
  97. @ApiModelProperty("是否公开展示")
  98. private boolean publicShow;
  99. @ApiModelProperty("是否寄售")
  100. private boolean consignment;
  101. private Long publicCollectionId;
  102. private int likes;
  103. }