package com.kingtom.shengtai.app.message.model.table;

import java.io.Serial;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 消息内容表 表定义层。
 *
 * @author wany
 * @since 2023-12-27
 */
public class MsgSummaryTableDef extends TableDef {

    /**
     * 消息内容表
     */
    public static final MsgSummaryTableDef MSG_SUMMARY = new MsgSummaryTableDef();

    @Serial
    private static final long serialVersionUID = 1229728280935555759L;

    /**
     * 主键
     */
    public final QueryColumn ID = new QueryColumn(this, "id");

    /**
     * 扩展字段1
     */
    public final QueryColumn EXT1 = new QueryColumn(this, "ext1");

    /**
     * 扩展字段2
     */
    public final QueryColumn EXT2 = new QueryColumn(this, "ext2");

    /**
     * 扩展字段3
     */
    public final QueryColumn EXT3 = new QueryColumn(this, "ext3");

    /**
     * 消息类型
     */
    public final QueryColumn TYPE = new QueryColumn(this, "type");

    /**
     * 系统ID
     */
    public final QueryColumn SYS_ID = new QueryColumn(this, "sys_id");

    /**
     * 发送人
     */
    public final QueryColumn SENDER = new QueryColumn(this, "sender");

    /**
     * 消息内容
     */
    public final QueryColumn CONTENT = new QueryColumn(this, "content");

    /**
     * 创建时间
     */
    public final QueryColumn GMT_CREATE = new QueryColumn(this, "gmt_create");

    /**
     * 更新时间
     */
    public final QueryColumn GMT_MODIFIED = new QueryColumn(this, "gmt_modified");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, TYPE, CONTENT, SENDER, EXT1, EXT2, EXT3, GMT_CREATE, GMT_MODIFIED, SYS_ID};

    public MsgSummaryTableDef() {
        super("public", "msg_summary");
    }

}
