| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- package com.izouma.nineth.domain;
- import com.izouma.nineth.annotations.Searchable;
- import com.izouma.nineth.annotations.SearchableOne;
- import com.izouma.nineth.converter.FileObjectConverter;
- import com.izouma.nineth.converter.FileObjectListConverter;
- import com.izouma.nineth.converter.PrivilegeListConverter;
- import com.izouma.nineth.converter.PropertyListConverter;
- import com.izouma.nineth.enums.CollectionSource;
- import com.izouma.nineth.enums.CollectionType;
- import io.swagger.annotations.ApiModel;
- import io.swagger.annotations.ApiModelProperty;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.hibernate.annotations.Formula;
- import javax.persistence.*;
- import java.math.BigDecimal;
- import java.time.LocalDateTime;
- import java.util.List;
- @Data
- @Entity
- @Table(name = "collection_info", indexes = {
- @Index(columnList = "type"),
- @Index(columnList = "source"),
- @Index(columnList = "minterId"),
- @Index(columnList = "onShelf"),
- @Index(columnList = "ownerId"),
- @Index(columnList = "assetId"),
- @Index(columnList = "salable"),
- @Index(columnList = "del"),
- @Index(columnList = "name")
- })
- @AllArgsConstructor
- @NoArgsConstructor
- @Builder
- @ApiModel("藏品")
- public class Collection extends BaseEntity {
- @ApiModelProperty("名称")
- @Searchable
- private String name;
- @ApiModelProperty("图片")
- @Column(columnDefinition = "TEXT")
- @Convert(converter = FileObjectListConverter.class)
- private List<FileObject> pic;
- @Column(columnDefinition = "TEXT")
- @Convert(converter = FileObjectConverter.class)
- private FileObject model3d;
- @ApiModelProperty("铸造者")
- @SearchableOne
- private String minter;
- @ApiModelProperty("铸造者ID")
- private Long minterId;
- @ApiModelProperty("铸造者头像")
- private String minterAvatar;
- @ApiModelProperty("持有者")
- @SearchableOne
- private String owner;
- @ApiModelProperty("持有者者ID")
- private Long ownerId;
- @ApiModelProperty("铸造者头像")
- private String ownerAvatar;
- @ApiModelProperty("详情")
- @Column(columnDefinition = "TEXT")
- private String detail;
- @ApiModelProperty("类型")
- @Enumerated(EnumType.STRING)
- private CollectionType type;
- @Column(columnDefinition = "TEXT")
- @Convert(converter = PropertyListConverter.class)
- @ApiModelProperty("特性")
- private List<CollectionProperty> properties;
- @Column(columnDefinition = "TEXT")
- @Convert(converter = PrivilegeListConverter.class)
- @ApiModelProperty("特权")
- private List<Privilege> privileges;
- @ApiModelProperty("编号")
- private Integer number;
- @ApiModelProperty("是否可转售")
- private boolean canResale;
- @ApiModelProperty("版税比例")
- private int royalties;
- @ApiModelProperty("手续费比例")
- private int serviceCharge;
- @ApiModelProperty("分类")
- private String category;
- @ApiModelProperty("来源")
- @Enumerated(EnumType.STRING)
- private CollectionSource source;
- @ApiModelProperty("已售")
- private int sale;
- @ApiModelProperty("库存")
- private int stock;
- @ApiModelProperty("发行数量")
- private int total;
- @ApiModelProperty("点赞")
- private int likes;
- @ApiModelProperty("上架")
- private boolean onShelf;
- @ApiModelProperty("可售")
- private boolean salable;
- @ApiModelProperty("价格")
- @Column(precision = 10, scale = 2)
- private BigDecimal price;
- @ApiModelProperty("盲盒开售时间")
- private LocalDateTime startTime;
- private boolean scheduleSale;
- private int sort;
- private Long assetId;
- private BigDecimal originalPrice;
- private Integer currentNumber;
- @Formula(value = "if(stock <= 0, 1, 0)")
- private int soldOut;
- @ApiModelProperty("限购数量")
- private int maxCount;
- @ApiModelProperty("限购识别码")
- private String countId;
- private boolean scanCode;
- /*
- true: 没售罄
- false: 已售罄
- */
- @ApiModelProperty("手动售罄")
- private boolean noSoldOut;
- @ApiModelProperty("拉新任务指标")
- private int assignment;
- @ApiModelProperty("优惠券支付")
- private boolean couponPayment;
- @ApiModelProperty("分享背景")
- private String shareBg;
- @ApiModelProperty("注册背景")
- private String registerBg;
- @ApiModelProperty("总额度")
- private Integer totalQuota;
- @ApiModelProperty("剩余额度")
- private Integer vipQuota;
- @ApiModelProperty("延迟销售")
- private Boolean timeDelay;
- @ApiModelProperty("销售时间")
- private LocalDateTime saleTime;
- @ApiModelProperty("持有几天")
- private Integer holdDays;
- @ApiModelProperty("开启抢白名单")
- private Boolean openQuota;
- @ApiModelProperty("最低消费")
- private BigDecimal minimumCharge;
- }
|