ActivityCollection.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.izouma.nineth.domain;
  2. import com.izouma.nineth.annotations.Searchable;
  3. import com.izouma.nineth.enums.ActivityCollectionType;
  4. import io.swagger.annotations.ApiModel;
  5. import io.swagger.annotations.ApiModelProperty;
  6. import lombok.*;
  7. import javax.persistence.*;
  8. import java.time.LocalDateTime;
  9. import java.util.List;
  10. @Getter
  11. @Setter
  12. @AllArgsConstructor
  13. @NoArgsConstructor
  14. @Builder
  15. @Entity
  16. @ApiModel("活动收集")
  17. public class ActivityCollection extends BaseEntity {
  18. @ApiModelProperty("活动名称")
  19. @Searchable
  20. private String name;
  21. @Column(columnDefinition = "TEXT")
  22. @ApiModelProperty("图片")
  23. private String pic;
  24. @ApiModelProperty("藏品名称")
  25. private String collectionName;
  26. @ApiModelProperty("藏品ID")
  27. private Long collectionId;
  28. @ApiModelProperty("藏品数量")
  29. private int num;
  30. @ApiModelProperty("剩余数量")
  31. private int stock;
  32. @ApiModelProperty("发行数量")
  33. private int total;
  34. @ApiModelProperty("领取藏品ID")
  35. private Long awardCollectionId;
  36. @ApiModelProperty("领取藏品名称")
  37. private String awardCollectionName;
  38. private int projectId;
  39. @ApiModelProperty("状态 是否可兑换")
  40. @Transient
  41. private Boolean collected;
  42. @ApiModelProperty("类型")
  43. @Enumerated(EnumType.ORDINAL)
  44. private ActivityCollectionType type;
  45. @ApiModelProperty("兑换藏品列表")
  46. @OneToMany(cascade = {CascadeType.REMOVE,CascadeType.PERSIST})
  47. @JoinColumn(name = "activity_id")
  48. private List<AwardActivityCollectionInfo> awardList;
  49. @ApiModelProperty("要收集的藏品列表")
  50. @OneToMany(cascade = {CascadeType.REMOVE,CascadeType.PERSIST})
  51. @JoinColumn(name = "activity_id")
  52. private List<ActivityCollectionInfo> activities;
  53. @ApiModelProperty("活动开始时间")
  54. private LocalDateTime startTime;
  55. @ApiModelProperty("活动结束时间")
  56. private LocalDateTime endTime;
  57. @ApiModelProperty("需要收集的卡片数")
  58. private Integer needCollectedNum;
  59. @ApiModelProperty("活动描述")
  60. @Column(columnDefinition = "TEXT")
  61. private String description;
  62. @Transient
  63. private List<ActivityCollectionInfo> collectionInfo;
  64. }