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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * <p>
 * 公众号消息表 
 * </p>
 *
 * @author Wang
 * @since 2025-08-02 15:45:13
 */
@NoArgsConstructor
@Getter
@Setter
@ToString
@TableName("mp_message")
@Schema(name = "MpMessageEntity对象", description = "公众号消息表 ")
public class MpMessageEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "微信公众号的消息编号")
    @TableField("msg_id")
    private Long msgId;

    @Schema(description = "公众号 appId")
    @TableField("app_id")
    private String appId;

    @Schema(description = "公众号用户的编号")
    @TableField("user_id")
    private Integer userId;

    @Schema(description = "发送方账号（一个OpenID）")
    @TableField("from_user")
    private String fromUser;

    @Schema(description = "开发者微信号")
    @TableField("to_user")
    private String toUser;

    @Schema(description = "消息类型")
    @TableField("`type`")
    private String type;

    @Schema(description = "消息来源")
    @TableField("send_from")
    private Integer sendFrom;

    @Schema(description = "消息内容")
    @TableField("content")
    private String content;

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

    @Schema(description = "媒体文件 URL")
    @TableField("media_url")
    private String mediaUrl;

    @Schema(description = "语音识别后文本")
    @TableField("recognition")
    private String recognition;

    @Schema(description = "语音格式")
    @TableField("`format`")
    private String format;

    @Schema(description = "标题")
    @TableField("title")
    private String title;

    @Schema(description = "描述")
    @TableField("`description`")
    private String description;

    @Schema(description = "缩略图的媒体 id")
    @TableField("thumb_media_id")
    private String thumbMediaId;

    @Schema(description = "缩略图的媒体 URL")
    @TableField("thumb_media_url")
    private String thumbMediaUrl;

    @Schema(description = "点击图文消息跳转链接")
    @TableField("url")
    private String url;

    @Schema(description = "地理位置维度")
    @TableField("location_x")
    private Double locationX;

    @Schema(description = "地理位置经度")
    @TableField("location_y")
    private Double locationY;

    @Schema(description = "地图缩放大小")
    @TableField("scale")
    private Double scale;

    @Schema(description = "详细地址")
    @TableField("label")
    private String label;

    @Schema(description = "图文消息数组")
    @TableField("articles")
    private String articles;

    @Schema(description = "音乐链接")
    @TableField("music_url")
    private String musicUrl;

    @Schema(description = "高质量音乐链接")
    @TableField("hq_music_url")
    private String hqMusicUrl;

    @Schema(description = "事件类型")
    @TableField("`event`")
    private String event;

    @Schema(description = "事件 Key")
    @TableField("event_key")
    private String eventKey;

}