Asset.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.izouma.nineth.domain;
  2. import com.izouma.nineth.annotations.Searchable;
  3. import com.izouma.nineth.converter.StringArrayConverter;
  4. import com.izouma.nineth.enums.AssetStatus;
  5. import io.swagger.annotations.ApiModel;
  6. import io.swagger.annotations.ApiModelProperty;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Builder;
  9. import lombok.Data;
  10. import lombok.NoArgsConstructor;
  11. import javax.persistence.*;
  12. import java.math.BigDecimal;
  13. import java.math.BigInteger;
  14. import java.util.List;
  15. @Data
  16. @Entity
  17. @AllArgsConstructor
  18. @NoArgsConstructor
  19. @Builder
  20. @ApiModel("资产")
  21. public class Asset extends BaseEntity {
  22. @ApiModelProperty("用户ID")
  23. private Long userId;
  24. @ApiModelProperty("持有者")
  25. private String ownerName;
  26. @ApiModelProperty("藏品ID")
  27. private Long collectionId;
  28. @ApiModelProperty("订单ID")
  29. private Long orderId;
  30. @ApiModelProperty("编号")
  31. private int number;
  32. @ApiModelProperty("名称")
  33. @Searchable
  34. private String name;
  35. @ApiModelProperty("详情")
  36. @Column(columnDefinition = "TEXT")
  37. private String detail;
  38. @Column(columnDefinition = "TEXT")
  39. @Convert(converter = Collection.PropertyListConverter.class)
  40. @ApiModelProperty("特性")
  41. private List<Collection.CollectionProperty> properties;
  42. @ApiModelProperty("是否可转售")
  43. private boolean canResale;
  44. @ApiModelProperty("版税比例")
  45. private int royalties;
  46. @ApiModelProperty("手续费比例")
  47. private int serviceCharge;
  48. @ApiModelProperty("铸造者")
  49. @Searchable
  50. private String minter;
  51. @ApiModelProperty("铸造者ID")
  52. private Long minterId;
  53. @ApiModelProperty("铸造者头像")
  54. private String minterAvatar;
  55. @ApiModelProperty("图片")
  56. @Convert(converter = StringArrayConverter.class)
  57. @Column(columnDefinition = "TEXT")
  58. private List<String> pic;
  59. @ApiModelProperty("tokenId")
  60. private String tokenId;
  61. @ApiModelProperty("购买hash")
  62. private String txHash;
  63. @ApiModelProperty("消耗gas")
  64. private BigInteger gasUsed;
  65. @ApiModelProperty("区块高度")
  66. private BigInteger blockNumber;
  67. @ApiModelProperty("ipfs地址")
  68. private String ipfsUrl;
  69. @ApiModelProperty("购买价格")
  70. @Column(precision = 10, scale = 2)
  71. private BigDecimal price;
  72. @ApiModelProperty("转让价格")
  73. @Column(precision = 10, scale = 2)
  74. private BigDecimal sellPrice;
  75. @ApiModelProperty("转让hash")
  76. private String outTxHash;
  77. @ApiModelProperty("转让订单ID")
  78. private Long outOrderId;
  79. @ApiModelProperty("状态")
  80. @Enumerated(EnumType.STRING)
  81. private AssetStatus status;
  82. private boolean publicShow;
  83. private Long publicCollectionId;
  84. }