Order.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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.CollectionType;
  7. import com.izouma.nineth.enums.OrderStatus;
  8. import com.izouma.nineth.enums.PayMethod;
  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.math.BigInteger;
  18. import java.time.LocalDateTime;
  19. import java.util.List;
  20. @Data
  21. @Entity
  22. @Table(name = "order_info")
  23. @AllArgsConstructor
  24. @NoArgsConstructor
  25. @Builder
  26. @ApiModel("订单")
  27. public class Order extends BaseEntity {
  28. @ApiModelProperty("用户ID")
  29. @Searchable
  30. private Long userId;
  31. @ApiModelProperty("藏品ID")
  32. @Searchable
  33. private Long collectionId;
  34. @ApiModelProperty("数量")
  35. private int qty;
  36. @ApiModelProperty("名称")
  37. @Searchable
  38. private String name;
  39. @ApiModelProperty("图片")
  40. @Convert(converter = FileObjectListConverter.class)
  41. @Column(columnDefinition = "TEXT")
  42. private List<FileObject> pic;
  43. @ApiModelProperty("详情")
  44. @Column(columnDefinition = "TEXT")
  45. private String detail;
  46. @Column(columnDefinition = "TEXT")
  47. @Convert(converter = PropertyListConverter.class)
  48. @ApiModelProperty("特性")
  49. private List<CollectionProperty> properties;
  50. @Column(columnDefinition = "TEXT")
  51. @Convert(converter = PrivilegeListConverter.class)
  52. @ApiModelProperty("特权")
  53. private List<Privilege> privileges;
  54. @ApiModelProperty("分类")
  55. private String category;
  56. @ApiModelProperty("是否可转售")
  57. private boolean canResale;
  58. @ApiModelProperty("版税比例")
  59. private int royalties;
  60. @ApiModelProperty("手续费比例")
  61. private int serviceCharge;
  62. @ApiModelProperty("类型")
  63. @Enumerated(EnumType.STRING)
  64. private CollectionType type;
  65. @ApiModelProperty("铸造者")
  66. @Searchable
  67. private String minter;
  68. @ApiModelProperty("铸造者ID")
  69. @Searchable
  70. private Long minterId;
  71. @ApiModelProperty("铸造者头像")
  72. private String minterAvatar;
  73. @ApiModelProperty("价格")
  74. @Column(precision = 10, scale = 2)
  75. private BigDecimal price;
  76. @ApiModelProperty("gas费")
  77. @Column(precision = 10, scale = 2)
  78. private BigDecimal gasPrice;
  79. @ApiModelProperty("总价")
  80. @Column(precision = 10, scale = 2)
  81. private BigDecimal totalPrice;
  82. @ApiModelProperty("状态")
  83. @Enumerated(EnumType.STRING)
  84. private OrderStatus status;
  85. @ApiModelProperty("支付方式")
  86. @Enumerated(EnumType.STRING)
  87. private PayMethod payMethod;
  88. @ApiModelProperty("交易ID")
  89. @Searchable
  90. private String transactionId;
  91. @ApiModelProperty("支付时间")
  92. private LocalDateTime payTime;
  93. @ApiModelProperty("取消时间")
  94. private LocalDateTime cancelTime;
  95. @ApiModelProperty("交易hash")
  96. private String txHash;
  97. @ApiModelProperty("消耗gas")
  98. private BigInteger gasUsed;
  99. @ApiModelProperty("区块高度")
  100. private BigInteger blockNumber;
  101. @ApiModelProperty("收货人")
  102. private String contactName;
  103. @ApiModelProperty("收货电话")
  104. private String contactPhone;
  105. @ApiModelProperty("收货地址")
  106. private String address;
  107. private Long assetId;
  108. private boolean hide;
  109. private Long couponId;
  110. }