package com.ycwl.basic.model.pc.notify.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 微信小程序订阅消息模板配置（支持按景区覆盖）
 *
 * @Author: System
 * @Date: 2025/12/31
 */
@Data
@TableName("wechat_subscribe_template_config")
public class WechatSubscribeTemplateConfigEntity {

    @TableId
    private Long id;

    /**
     * 逻辑模板键（业务固定）
     */
    private String templateKey;

    /**
     * 景区ID；0=默认配置
     */
    private Long scenicId;

    /**
     * 微信订阅消息模板ID（tmplId）
     */
    private String wechatTemplateId;

    /**
     * 是否启用：1启用 0禁用
     */
    private Integer enabled;

    /**
     * 标题模板（用于日志/后台展示）
     */
    private String titleTemplate;

    /**
     * 内容模板（用于日志/后台展示）
     */
    private String contentTemplate;

    /**
     * 跳转页面模板（小程序 page）
     */
    private String pageTemplate;

    /**
     * data模板JSON：{ "thing1":"${scenicName}", "thing3":"${remark}" }
     */
    private String dataTemplateJson;

    /**
     * 前端展示用描述
     */
    private String description;

    /**
     * 去重窗口（秒），0表示永久去重，小于0表示不去重，大于0表示窗口期去重
     * 来自 wechat_subscribe_event_template 表，仅在事件触发时有效
     */
    @TableField(exist = false)
    private Integer dedupSeconds;

    private Date createTime;

    private Date updateTime;
}

