package com.sckw.message.model;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 短信模板表
* @date 2026-05-07 08:53:50
* @author xucaiqin
*/

@Schema(description = "短信模板表")
@Data
@TableName(value = "kwm_sms_template")
public class KwmSmsTemplate {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "主键")
    private Long id;

    /**
     * 模板编码
     */
    @TableField(value = "template_code")
    @Schema(description = "模板编码")
    private String templateCode;

    /**
     * 模板名称
     */
    @TableField(value = "template_name")
    @Schema(description = "模板名称")
    private String templateName;

    /**
     * 业务类型
     */
    @TableField(value = "biz_type")
    @Schema(description = "业务类型")
    private String bizType;

    /**
     * 供应商模板code
     */
    @TableField(value = "provider_template_code")
    @Schema(description = "供应商模板code")
    private String providerTemplateCode;

    /**
     * 短信签名
     */
    @TableField(value = "sign_name")
    @Schema(description = "短信签名")
    private String signName;

    /**
     * 模板内容
     */
    @TableField(value = "content")
    @Schema(description = "模板内容")
    private String content;

    /**
     * 变量定义
     */
    @TableField(value = "variable_json")
    @Schema(description = "变量定义")
    private String variableJson;

    /**
     * 短信类型 1验证码 2通知 3营销
     */
    @TableField(value = "sms_type")
    @Schema(description = "短信类型 1验证码 2通知 3营销")
    private Integer smsType;

    /**
     * 状态 0禁用 1启用
     */
    @TableField(value = "`status`")
    @Schema(description = "状态 0禁用 1启用")
    private Integer status;

    /**
     * 备注
     */
    @TableField(value = "remark")
    @Schema(description = "备注")
    private String remark;

    /**
     * 创建人
     */
    private Long createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    private Long updateBy;


    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 删除标识(0正常/-1删除)
     */
    @TableLogic
    private Integer delFlag;
}
