package com.seer.teach.mp.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 公众号菜单表
 * </p>
 *
 * @author Lingma
 * @since 2026-01-21
 */
@Getter
@Setter
@TableName("mp_account_menu")
@Schema(name = "MpAccountMenuEntity", description = "公众号菜单表")
public class MpAccountMenuEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "公众号账号ID")
    @TableField("account_id")
    private Integer accountId;

    @Schema(description = "菜单名称")
    @TableField("name")
    private String name;

    @Schema(description = "菜单类型")
    @TableField("type")
    private String type;

    @Schema(description = "菜单KEY值")
    @TableField("menu_key")
    private String menuKey;

    @Schema(description = "菜单URL")
    @TableField("url")
    private String url;

    @Schema(description = "媒体文件ID")
    @TableField("media_id")
    private String mediaId;

    @Schema(description = "小程序APPID")
    @TableField("appid")
    private String appid;

    @Schema(description = "小程序页面路径")
    @TableField("pagepath")
    private String pagepath;

    @Schema(description = "文章ID")
    @TableField("article_id")
    private String articleId;

    @Schema(description = "父菜单ID，0表示一级菜单")
    @TableField("parent_id")
    private Integer parentId;

    @Schema(description = "菜单JSON配置")
    @TableField("menu_config")
    private String menuConfig;

    @Schema(description = "排序")
    @TableField("sort")
    private Integer sort;

    @Schema(description = "状态：0-禁用，1-启用")
    @TableField("status")
    private Integer status;
}