package cn.axzo.msg.center.domain.entity;

import cn.axzo.msg.center.domain.enums.YesNoEnum;
import cn.axzo.msg.center.domain.persistence.BaseOwnEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 渠道消息模板表
 * </p>
 *
 * @author zhaoyong
 * @since 2021-05-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("mns_channel_message_template")
public class MNSChannelMessageTemplate extends BaseOwnEntity<MNSChannelMessageTemplate> {

    private static final long serialVersionUID=1L;

    /**
     * 内部模板号
     */
    @TableField("inner_template_no")
    private String innerTemplateNo;

    /**
     * 渠道模板号
     */
    @TableField("template_no")
    private String templateNo;

    /**
     * 渠道码
     */
    @TableField("channel_code")
    private String channelCode;

    /**
     * 渠道名称
     */
    @TableField("channel_name")
    private String channelName;

    /**
     * 模板名称
     */
    @TableField("title")
    private String title;

    /**
     * 模板内容
     */
    @TableField("template_content")
    private String templateContent;

    /**
     * 模板类型(1:验证码;2:短信通知;3:推广短信;4:群发助手)
     */
    @TableField("type")
    private Integer type;

    /**
     * 状态(0:不可用;1:可用)
     */
    @TableField("status")
    private Integer status;

    /**
     * 模板是否有变量(0:没有;1:有)
     */
    @TableField("has_param")
    private Integer hasParam;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 申请原因
     */
    @TableField("reason")
    private String reason;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public boolean hasParam() {
        return YesNoEnum.YES.getCode().equals(hasParam);
    }

}
