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

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

/**
 * <p>
 * 系统/市场运行参数表
 * </p>
 *
 * @author XKF
 * @since 2024-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("MARKETRUN")
@ApiModel(value="Marketrun对象", description="系统/市场运行参数表")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Marketrun extends Model<Marketrun> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "市场ID")
    @TableId(value = "MARKETID")
    private Long marketid;

    @ApiModelProperty(value = "当前交易日(服务) 资金结算完成即变更，供交易服务使用")
    @TableField("TRADEDATE")
    private String tradedate;

    @ApiModelProperty(value = "当前交易日(行情) 在第一个市场待开市时变更为TradeDate，供行情及终端系统使用")
    @TableField("TRADEDATE2")
    private String tradedate2;

    @ApiModelProperty(value = "下一交易日")
    @TableField("NEXTTRADEDATE")
    private String nexttradedate;

    @ApiModelProperty(value = "运行状态 - 0:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 10:日终处理开始 11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败 26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 30.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内) 33.资金结算失败(内) 40.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功 47.签退失败 48.对账开始 49.对账成功 50.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始 62.今日免清算")
    @TableField("RUNSTATUS")
    private Integer runstatus;

    @ApiModelProperty(value = "结算标识 - 0: 停止结算 1: 正常 (管理端控制此字段，交易服务根据此字段判断是否做结算) ")
    @TableField("RECKONFLAG")
    private Integer reckonflag;

    @ApiModelProperty(value = "手动开市标志- 0:否 1:是  (市场为手动时，是否触发了手动开市标志)")
    @TableField("MANUALFLAG")
    private Integer manualflag;

    @ApiModelProperty(value = "行情清盘标志- 1:未发送 2:已发送 3:已回复")
    @TableField("CLEARQUOTEFLAG")
    private Integer clearquoteflag;

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

    @ApiModelProperty(value = "上一交易日")
    @TableField("PRETRADEDATE")
    private String pretradedate;

    @ApiModelProperty(value = "时间段号[多时段时用]")
    @TableField("SECTIONID")
    private Integer sectionid;

    @ApiModelProperty(value = "下下交易日")
    @TableField("AFTERNEXTTRADEDATE")
    private String afternexttradedate;

    @ApiModelProperty(value = "机器时间")
    @TableField("MACHINEDATE")
    private String machinedate;

    @ApiModelProperty(value = "最新交易日(结算成功)")
    @TableField("LASTRECKONDATE")
    private String lastreckondate;


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

}
