package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author XKF
 * @since 2024-08-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("HIS_WRTRADE_ORDERDETAIL")
@ApiModel(value="HisWrtradeOrderdetail对象", description="")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class HisWrtradeOrderdetail extends Model<HisWrtradeOrderdetail> {

    private static final long serialVersionUID = 1L;

    @TableField("WRTRADEORDERID")
    private Long wrtradeorderid;

    @TableField("TRADEDATE")
    private String tradedate;

    @TableField("WRTRADETYPE")
    private Integer wrtradetype;

    @TableField("BUYORSELL")
    private Integer buyorsell;

    @TableField("RELATEDWRTRADEORDERID")
    private Long relatedwrtradeorderid;

    @TableField("MARKETID")
    private Long marketid;

    @TableField("USERID")
    private Long userid;

    @TableField("ACCOUNTID")
    private Long accountid;

    @TableField("WRFACTORTYPEID")
    private Long wrfactortypeid;

    @TableField("ORDERQTY")
    private Integer orderqty;

    @TableField("TRADEQTY")
    private Integer tradeqty;

    @TableField("CANCELQTY")
    private Integer cancelqty;

    @TableField("WRPRICETYPE")
    private Integer wrpricetype;

    @TableField("FIXEDPRICE")
    private BigDecimal fixedprice;

    @TableField("ISSPECIFIED")
    private Integer isspecified;

    @TableField("PRICEFACTOR")
    private BigDecimal pricefactor;

    @TableField("PRICEMOVE")
    private BigDecimal pricemove;

    @TableField("FIRSTRATIO")
    private BigDecimal firstratio;

    @TableField("WRTRANSFERUSERID")
    private Long wrtransferuserid;

    @TableField("TRADEPRICE")
    private BigDecimal tradeprice;

    @TableField("FREEZEFIRSTAMOUNT")
    private BigDecimal freezefirstamount;

    @TableField("UNFREEZEFIRSTAMOUNT")
    private BigDecimal unfreezefirstamount;

    @TableField("PERFORMANCETEMPLATEID")
    private Long performancetemplateid;

    @TableField("VALIDTYPE")
    private Integer validtype;

    @TableField("VALIDTIME")
    private Date validtime;

    @TableField("ORDERTIME")
    private Date ordertime;

    @TableField("CANCELTIME")
    private Date canceltime;

    @TableField("WRTRADEORDERSTATUS")
    private Integer wrtradeorderstatus;

    @TableField("CLIENTTICKET")
    private String clientticket;

    @TableField("ORDERSRC")
    private Integer ordersrc;

    @TableField("CLIENTTYPE")
    private Integer clienttype;

    @TableField("UUID")
    private String uuid;

    @TableField("CLIENTORDERTIME")
    private Date clientordertime;

    @TableField("RETCODE")
    private Integer retcode;

    @TableField("OPERATORID")
    private Long operatorid;

    @TableField("PRICEDISPLAYMODE")
    private Integer pricedisplaymode;

    @TableField("FREEZEMARGIN")
    private BigDecimal freezemargin;

    @TableField("UNFREEZEMARGIN")
    private BigDecimal unfreezemargin;

    @TableField("FREEZECHARGE")
    private BigDecimal freezecharge;

    @TableField("UNFREEZECHARGE")
    private BigDecimal unfreezecharge;

    @TableField("MARGINALGORITHM")
    private Integer marginalgorithm;

    @TableField("MARGINVALUE")
    private BigDecimal marginvalue;

    @TableField("CHARGEALGORITHM")
    private Integer chargealgorithm;

    @TableField("CHARGEALGORITHMVALUE")
    private BigDecimal chargealgorithmvalue;

    @TableField("CHARGEALGORITHMVALUE2")
    private BigDecimal chargealgorithmvalue2;

    @TableField("CANBARGAIN")
    private Integer canbargain;

    @TableField("WRBARGAINID")
    private Long wrbargainid;

    @TableField("ATTACHMENT1")
    private String attachment1;

    @TableField("ATTACHMENT2")
    private String attachment2;

    @TableField("REMARK")
    private String remark;

    @TableField("APPLYID")
    private Long applyid;

    @TableField("PERFORMANCEWAY")
    private Integer performanceway;

    @TableField("BUYRELEASERATIO")
    private BigDecimal buyreleaseratio;

    @TableField("SELLRELEASERATIO")
    private BigDecimal sellreleaseratio;

    @TableField("EXECUTEMODE")
    private Integer executemode;

    @TableField("EXECUTESIDE")
    private Integer executeside;

    @TableField("MINQTY")
    private Integer minqty;

    @TableField("HOLDDAYS")
    private Integer holddays;

    @TableField("AUCTIONWRTYPE")
    private Integer auctionwrtype;

    @TableField("HASWR")
    private Integer haswr;

    @TableField("LIMITEDPRICE")
    private BigDecimal limitedprice;

    @TableField("CANPART")
    private Integer canpart;

    @TableField("WRID")
    private Long wrid;

    @TableField("DELIVERYMONTH")
    private String deliverymonth;

    @TableField("DELIVERYGOODSID")
    private Long deliverygoodsid;

    @TableField("WRSTANDARDID")
    private Long wrstandardid;

    @TableField("DELISTMINQTY")
    private Long delistminqty;

    @TableField("MARGINFLAG")
    private Integer marginflag;

    @TableField("ALLFRIENDSFLAG")
    private Integer allfriendsflag;

    @TableField("PRESALEAPPLYID")
    private Long presaleapplyid;

    @TableField("PRESALETYPE")
    private Integer presaletype;

    @TableField("EXCHANGERATE")
    private BigDecimal exchangerate;

    @TableField("ORDERAMOUNT")
    private BigDecimal orderamount;

    @TableId(value = "HISTRADEDATE")
    private String histradedate;

    @TableField("ISVALIDDATA")
    private Integer isvaliddata;


    @Override
    public Serializable pkVal() {
        return this.histradedate;
    }

}
