| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- package com.izouma.nineth.domain;
- import com.fasterxml.jackson.annotation.JsonIgnore;
- import com.fasterxml.jackson.annotation.JsonProperty;
- import com.izouma.nineth.annotations.Searchable;
- import com.izouma.nineth.annotations.SearchableOne;
- import com.izouma.nineth.converter.FileObjectListConverter;
- import com.izouma.nineth.converter.PrivilegeListConverter;
- import com.izouma.nineth.converter.PropertyListConverter;
- import com.izouma.nineth.enums.*;
- import io.swagger.annotations.ApiModel;
- import io.swagger.annotations.ApiModelProperty;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.springframework.data.annotation.CreatedBy;
- import org.springframework.data.annotation.CreatedDate;
- import org.springframework.data.annotation.LastModifiedBy;
- import org.springframework.data.annotation.LastModifiedDate;
- import javax.persistence.*;
- import java.math.BigDecimal;
- import java.math.BigInteger;
- import java.time.LocalDateTime;
- import java.util.List;
- @Data
- @Entity
- @Table(name = "order_info", indexes = {
- @Index(columnList = "userId"),
- @Index(columnList = "status"),
- @Index(columnList = "assetId"),
- @Index(columnList = "collectionId"),
- @Index(columnList = "transactionId"),
- @Index(columnList = "minterId"),
- @Index(columnList = "createdAt")
- })
- @AllArgsConstructor
- @NoArgsConstructor
- @Builder
- @ApiModel("订单")
- public class Order extends BaseEntityNoID {
- @Id
- // @GenericGenerator(name = "custom-id", strategy = "com.izouma.nineth.utils.SnowflakeIdGenerator")
- // @GeneratedValue(strategy = GenerationType.AUTO, generator = "custom-id")
- private Long id;
- @JsonIgnore
- @CreatedBy
- private String createdBy;
- @JsonIgnore
- @CreatedDate
- private LocalDateTime createdAt;
- @JsonIgnore
- @LastModifiedBy
- private String modifiedBy;
- @JsonIgnore
- @LastModifiedDate
- private LocalDateTime modifiedAt;
- private boolean del;
- @ApiModelProperty("用户ID")
- // @Searchable
- private Long userId;
- @Transient
- private String nickname;
- @ApiModelProperty("藏品ID")
- // @Searchable
- private Long collectionId;
- @ApiModelProperty("数量")
- private int qty;
- @ApiModelProperty("名称")
- @SearchableOne
- private String name;
- @ApiModelProperty("图片")
- @Convert(converter = FileObjectListConverter.class)
- @Column(columnDefinition = "TEXT")
- private List<FileObject> pic;
- @ApiModelProperty("详情")
- @Column(columnDefinition = "TEXT")
- private String detail;
- @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 String category;
- @ApiModelProperty("是否可转售")
- private boolean canResale;
- @ApiModelProperty("版税比例")
- private int royalties;
- @ApiModelProperty("手续费比例")
- private int serviceCharge;
- @ApiModelProperty("类型")
- @Enumerated(EnumType.STRING)
- private CollectionType type;
- @ApiModelProperty("来源")
- @Enumerated(EnumType.STRING)
- private CollectionSource source;
- @ApiModelProperty("铸造者")
- // @Searchable
- private String minter;
- @ApiModelProperty("铸造者ID")
- // @Searchable
- private Long minterId;
- @ApiModelProperty("铸造者头像")
- private String minterAvatar;
- @ApiModelProperty("价格")
- @Column(precision = 10, scale = 2)
- private BigDecimal price;
- @ApiModelProperty("gas费")
- @Column(precision = 10, scale = 2)
- private BigDecimal gasPrice;
- @ApiModelProperty("总价")
- @Column(precision = 10, scale = 2)
- private BigDecimal totalPrice;
- @ApiModelProperty("状态")
- @Enumerated(EnumType.STRING)
- private OrderStatus status;
- @ApiModelProperty("支付方式")
- @Enumerated(EnumType.STRING)
- private PayMethod payMethod;
- @ApiModelProperty("交易ID")
- @Searchable
- @Column(length = 90)
- private String transactionId;
- @ApiModelProperty("支付时间")
- private LocalDateTime payTime;
- @ApiModelProperty("取消时间")
- private LocalDateTime cancelTime;
- @ApiModelProperty("交易hash")
- private String txHash;
- @ApiModelProperty("消耗gas")
- private BigInteger gasUsed;
- @ApiModelProperty("区块高度")
- private BigInteger blockNumber;
- @ApiModelProperty("收货人")
- private String contactName;
- @ApiModelProperty("收货电话")
- private String contactPhone;
- @ApiModelProperty("收货地址")
- private String address;
- private Long winCollectionId;
- private Long assetId;
- private Long resultAssetId;
- private boolean hide;
- private Long couponId;
- private Long invitor;
- private boolean opened;
- private String tokenId;
- @JsonProperty("createdAt")
- public LocalDateTime getCreatedAt() {
- return createdAt;
- }
- private String countId;
- @ApiModelProperty("是否vip")
- private boolean vip;
- @ApiModelProperty("vip积分购买")
- private Integer vipPoint;
- @ApiModelProperty("藏品数字码")
- private String numericCode;
- @ApiModelProperty("支付流水号")
- private String paySerialNumber;
- @ApiModelProperty("发行数量")
- private Integer totalCount;
- }
|