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;

/**
 * <p>
 * 商品交易规则表
 * </p>
 *
 * @author XKF
 * @since 2025-09-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("GOODSTRADERULE")
@ApiModel(value="Goodstraderule对象", description="商品交易规则表")
public class Goodstraderule extends Model<Goodstraderule> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "商品ID")
    private Long goodsid;

    @ApiModelProperty(value = "交易规则 - 101 最大买持仓量  102 最大卖持仓量 103 单笔最小建仓量 104 单笔最大建仓量 105 手续费收费规则 106 交易T+N 107 上市首日涨停 108 上市首日跌停 109 上市首日参考价 110 涨停 111 跌停 112 市价最大偏移范围 113 止损点差 114 止盈点差 115 单笔最小交割数量 116 单笔最大交割数量 ")
    @TableField("RULEID")
    private Integer ruleid;

    @ApiModelProperty(value = "参数值")
    @TableField("PARAMVALUE")
    private BigDecimal paramvalue;

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

    @TableField(select = false)
    private String rulename;//规则名
    @TableField(select = false)
    private String  regexpress;//正则表达式
    @TableField(select = false)
    private String  remark;//描述
    @TableField(select = false)
    private Integer  ismandatory ; //是否必填
    @TableField(select = false)
    private Integer qtydecimalplace;//对应规则的小数位
    @TableField(select = false)
    private Integer flag ; //1-是商品组的设置，2-商品的设置
    @Override
    public Serializable pkVal() {
        return this.goodsid;
    }

}
