AuctionActivity.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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.enums.AuctionSource;
  6. import com.izouma.nineth.enums.AuctionStatus;
  7. import com.izouma.nineth.enums.AuctionType;
  8. import io.swagger.annotations.ApiModel;
  9. import io.swagger.annotations.ApiModelProperty;
  10. import lombok.AllArgsConstructor;
  11. import lombok.Builder;
  12. import lombok.Data;
  13. import lombok.NoArgsConstructor;
  14. import javax.persistence.*;
  15. import java.math.BigDecimal;
  16. import java.time.LocalDateTime;
  17. import java.util.List;
  18. @Data
  19. @AllArgsConstructor
  20. @NoArgsConstructor
  21. @Builder
  22. @Entity
  23. @ApiModel("拍卖藏品")
  24. public class AuctionActivity extends BaseEntity {
  25. @ApiModelProperty("起拍人ID")
  26. private Long sellerId;
  27. @ApiModelProperty("起拍人昵称")
  28. private String seller;
  29. @ApiModelProperty("起拍人头像")
  30. private String sellerAvatar;
  31. @ApiModelProperty("拍卖名称")
  32. @Searchable
  33. private String name;
  34. @Enumerated(EnumType.STRING)
  35. @ApiModelProperty("拍卖类型")
  36. private AuctionType auctionType;
  37. @ApiModelProperty("铸造者")
  38. private String minter;
  39. @ApiModelProperty("藏品ID")
  40. private Long assetId;
  41. @ApiModelProperty("图片")
  42. @Column(columnDefinition = "TEXT")
  43. @Convert(converter = FileObjectListConverter.class)
  44. private List<FileObject> pic;
  45. @Column(columnDefinition = "TEXT")
  46. @Convert(converter = FileObjectConverter.class)
  47. private FileObject model3d;
  48. @ApiModelProperty("详情")
  49. @Column(columnDefinition = "TEXT")
  50. private String detail;
  51. @ApiModelProperty("分类")
  52. private String category;
  53. @ApiModelProperty("起拍价")
  54. private BigDecimal startingPrice;
  55. @ApiModelProperty("保证金")
  56. private BigDecimal deposit;
  57. @ApiModelProperty("一口价")
  58. private BigDecimal fixedPrice;
  59. @ApiModelProperty("开始时间")
  60. private LocalDateTime startTime;
  61. @ApiModelProperty("加价幅度")
  62. private BigDecimal increment;
  63. @ApiModelProperty("截止时间")
  64. private LocalDateTime endTime;
  65. //每次出价实时更新
  66. @ApiModelProperty("成交价")
  67. private BigDecimal purchasePrice;
  68. @ApiModelProperty("买家id")
  69. private Long purchaserId;
  70. @ApiModelProperty("当前竞价id")
  71. private Long recordId;
  72. @ApiModelProperty("买家")
  73. private String purchaser;
  74. @ApiModelProperty("状态")
  75. @Enumerated(EnumType.STRING)
  76. private AuctionStatus status;
  77. @ApiModelProperty("来源")
  78. private AuctionSource source;
  79. @ApiModelProperty("版税比例")
  80. private int royalties;
  81. @ApiModelProperty("手续费比例")
  82. private int serviceCharge;
  83. @Column(columnDefinition = "int(11) default 0")
  84. @ApiModelProperty("围观次数")
  85. private int likes;
  86. @Column(columnDefinition = "int(11) default 0")
  87. @ApiModelProperty("出价次数")
  88. private int bids;
  89. private boolean hasFixedPrice;
  90. private boolean liked;
  91. @ApiModelProperty("上架")
  92. @Column(columnDefinition = "tinyint unsigned default 0")
  93. private boolean onShelf = false;
  94. }