package com.izouma.nineth.domain; import com.izouma.nineth.annotations.Searchable; import com.izouma.nineth.converter.StringArrayConverter; import com.izouma.nineth.enums.AssetStatus; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.*; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; @Data @Entity @AllArgsConstructor @NoArgsConstructor @Builder @ApiModel("资产") public class Asset extends BaseEntity { @ApiModelProperty("用户ID") private Long userId; @ApiModelProperty("订单ID") private Long orderId; @ApiModelProperty("名称") @Searchable private String name; @Column(columnDefinition = "TEXT") @Convert(converter = Collection.PropertyListConverter.class) @ApiModelProperty("特性") private List properties; @ApiModelProperty("铸造者") @Searchable private String minter; @ApiModelProperty("铸造者ID") private Long minterId; @ApiModelProperty("铸造者头像") private String minterAvatar; @ApiModelProperty("图片") @Convert(converter = StringArrayConverter.class) @Column(columnDefinition = "TEXT") private List pic; @ApiModelProperty("tokenId") private String tokenId; @ApiModelProperty("购买hash") private String txHash; @ApiModelProperty("消耗gas") private BigInteger gasUsed; @ApiModelProperty("区块高度") private BigInteger blockNumber; @ApiModelProperty("购买hash") private String ipfsUrl; @ApiModelProperty("购买价格") @Column(precision = 10, scale = 2) private BigDecimal price; @ApiModelProperty("转让价格") @Column(precision = 10, scale = 2) private BigDecimal sellPrice; @ApiModelProperty("转让hash") private String outTxHash; @ApiModelProperty("转让订单ID") private Long outOrderId; @ApiModelProperty("状态") @Enumerated(EnumType.STRING) private AssetStatus status; }