Order.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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.OrderStatus;
  5. import com.izouma.nineth.enums.PayMethod;
  6. import io.swagger.annotations.ApiModel;
  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.math.BigInteger;
  15. import java.time.LocalDateTime;
  16. import java.util.List;
  17. @Data
  18. @Entity
  19. @Table(name = "order_info")
  20. @AllArgsConstructor
  21. @NoArgsConstructor
  22. @Builder
  23. @ApiModel("订单")
  24. public class Order extends BaseEntity {
  25. @ApiModelProperty("用户ID")
  26. @Searchable
  27. private Long userId;
  28. @ApiModelProperty("藏品ID")
  29. @Searchable
  30. private Long collectionId;
  31. @ApiModelProperty("数量")
  32. private int qty;
  33. @ApiModelProperty("名称")
  34. @Searchable
  35. private String name;
  36. @ApiModelProperty("图片")
  37. @Convert(converter = StringArrayConverter.class)
  38. @Column(columnDefinition = "TEXT")
  39. private List<String> pic;
  40. @Column(columnDefinition = "TEXT")
  41. @Convert(converter = Collection.PropertyListConverter.class)
  42. @ApiModelProperty("特性")
  43. private List<Collection.CollectionProperty> properties;
  44. @ApiModelProperty("铸造者")
  45. @Searchable
  46. private String minter;
  47. @ApiModelProperty("铸造者ID")
  48. @Searchable
  49. private Long minterId;
  50. @ApiModelProperty("铸造者头像")
  51. private String minterAvatar;
  52. @ApiModelProperty("价格")
  53. @Column(precision = 10, scale = 2)
  54. private BigDecimal price;
  55. @ApiModelProperty("gas费")
  56. @Column(precision = 10, scale = 2)
  57. private BigDecimal gasPrice;
  58. @ApiModelProperty("总价")
  59. @Column(precision = 10, scale = 2)
  60. private BigDecimal totalPrice;
  61. @ApiModelProperty("状态")
  62. @Enumerated(EnumType.STRING)
  63. private OrderStatus status;
  64. @ApiModelProperty("支付方式")
  65. @Enumerated(EnumType.STRING)
  66. private PayMethod payMethod;
  67. @ApiModelProperty("交易ID")
  68. @Searchable
  69. private String transactionId;
  70. @ApiModelProperty("支付时间")
  71. private LocalDateTime payTime;
  72. @ApiModelProperty("交易hash")
  73. private String txHash;
  74. @ApiModelProperty("消耗gas")
  75. private BigInteger gasUsed;
  76. @ApiModelProperty("区块高度")
  77. private BigInteger blockNumber;
  78. @ApiModelProperty("收货人")
  79. private String contactName;
  80. @ApiModelProperty("收货电话")
  81. private String contactPhone;
  82. @ApiModelProperty("收货地址")
  83. private String address;
  84. }