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.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 
 * </p>
 *
 * @author XKF
 * @since 2024-08-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("HIS_WRTRADE_TRADEDETAIL")
@ApiModel(value="HisWrtradeTradedetail对象", description="")
public class HisWrtradeTradedetail extends Model<HisWrtradeTradedetail> {

    private static final long serialVersionUID = 1L;

    @TableField("WRTRADEDETAILID")
    private Long wrtradedetailid;

    @TableField("WRTRADETYPE")
    private Integer wrtradetype;

    @TableField("BUYORSELL")
    private Integer buyorsell;

    @TableField("TRADEDATE")
    private String tradedate;

    @TableField("MARKETID")
    private Long marketid;

    @TableField("WRTRADEORDERID")
    private Long wrtradeorderid;

    @TableField("ACCOUNTID")
    private Long accountid;

    @TableField("WRID")
    private Long wrid;

    @TableField("WRFACTORTYPEID")
    private Long wrfactortypeid;

    @TableField("MATCHACCOUNTID")
    private Long matchaccountid;

    @TableField("TRADETIME")
    private Date tradetime;

    @TableField("TRADEPRICE")
    private BigDecimal tradeprice;

    @TableField("TRADEQTY")
    private BigDecimal tradeqty;

    @TableField("TRADEAMOUNT")
    private BigDecimal tradeamount;

    @TableField("REALTRADEQTY")
    private BigDecimal realtradeqty;

    @TableField("REALTRADEAMOUNT")
    private BigDecimal realtradeamount;

    @TableField("FIRSTRATIO")
    private BigDecimal firstratio;

    @TableField("REALFIRSTAMOUNT")
    private BigDecimal realfirstamount;

    @TableField("PERFORMANCEAMOUNT")
    private BigDecimal performanceamount;

    @TableField("PERFORMANCEPLANID")
    private Long performanceplanid;

    @TableField("WRTRANSFERUSERID")
    private Long wrtransferuserid;

    @TableField("HANDLESTATUS")
    private Integer handlestatus;

    @TableField("ISRECKONED")
    private Integer isreckoned;

    @TableField("CHARGEVALUE")
    private BigDecimal chargevalue;

    @TableField("CHARGEALGORITHM")
    private Integer chargealgorithm;

    @TableField("CHARGEALGORITHMVALUE")
    private BigDecimal chargealgorithmvalue;

    @TableField("CHARGEALGORITHMVALUE2")
    private BigDecimal chargealgorithmvalue2;

    @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("FREEZEAMOUNT")
    private BigDecimal freezeamount;

    @TableField("HASWR")
    private Integer haswr;

    @TableField("DELIVERYMONTH")
    private String deliverymonth;

    @TableField("ORITRADEAMOUNT")
    private BigDecimal oritradeamount;

    @TableField("EXCHANGERATE")
    private BigDecimal exchangerate;

    @TableField("PRESALEAPPLYID")
    private Long presaleapplyid;

    @TableField("USERID")
    private Long userid;

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

    @TableField("ISVALIDDATA")
    private Integer isvaliddata;


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

}
