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 io.swagger.annotations.ApiModelProperty;
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 2025-08-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("MARKETSPOTGOODSCONFIG")
@ApiModel(value="Marketspotgoodsconfig对象", description="现货市场商品配置表 - 现货类市场 - 云融")
public class Marketspotgoodsconfig extends Model<Marketspotgoodsconfig> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "市场ID-仓单贸易、竞拍、预售")
    private Long marketid;

    @ApiModelProperty(value = "现货商品ID")
    @TableField("WRSTANDARDID")
    private Long wrstandardid;

    @ApiModelProperty(value = "品种ID")
    @TableField("DELIVERYGOODSID")
    private Long deliverygoodsid;

    @ApiModelProperty(value = "是否允许交易 - 0:不允许 1:允许")
    @TableField("CANTRADE")
    private Integer cantrade;

    @ApiModelProperty(value = "交货模式 - 1:履约计划 2:分步履约 3:分步提货[文昌]")
    @TableField("PERFORMANCEWAY")
    private Integer performanceway;

    @ApiModelProperty(value = "履约计划模板ID(有仓单) - 根据交货模式: 1:履约 - 履约计划模板 2:分步履约 - 履约计划模板 3:分步提货 - 履约方式： 立即执行(-1)")
    @TableField("PERFORMANCETEMPID")
    private Long performancetempid;

    @ApiModelProperty(value = "履约计划模板ID(无仓单) - 根据交货模式: 1:履约 - 履约计划模板 2:分步履约 - 履约计划模板 3:分步提货 - 履约方式： 立即执行")
    @TableField("PERFORMANCETEMPID2")
    private Long performancetempid2;

    @ApiModelProperty(value = "买方释放比率[2:分步履约]")
    @TableField("BUYRELEASERATIO")
    private BigDecimal buyreleaseratio;

    @ApiModelProperty(value = "卖方释放比率[2:分步履约]")
    @TableField("SELLRELEASERATIO")
    private BigDecimal sellreleaseratio;

    @ApiModelProperty(value = "执行方式[2:分步履约] - 1:顺序执行 2:交叉执行")
    @TableField("EXECUTEMODE")
    private Integer executemode;

    @ApiModelProperty(value = "执行方[2:分步履约] - 1:买方 2:卖方")
    @TableField("EXECUTESIDE")
    private Integer executeside;

    @ApiModelProperty(value = "最小执行量[2:分步履约]")
    @TableField("MINQTY")
    private Integer minqty;

    @ApiModelProperty(value = "合同期限[2:分步履约]")
    @TableField("HOLDDAYS")
    private Integer holddays;

    @ApiModelProperty(value = "修改人")
    @TableField("MODIFIERID")
    private BigDecimal modifierid;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATETIME")
    private Date updatetime;


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

}
