package com.flossom.common.core.domain.entity;

import com.flossom.common.core.annotation.Excel;
import com.flossom.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 消息模版对象 wx_script_message
 *
 * @author flossom
 * @date 2023-12-22
 */
public class WxScriptMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 消息主键ID */
    private Long id;

    /** 消息类型 1-用户注册 2-提交留言 3-仪器绑定 */
    @Excel(name = "消息类型 1-用户注册 2-提交留言 3-仪器绑定")
    private Integer messageType;

    /** 消息标题 */
    @Excel(name = "消息标题")
    private String messageTitle;

    /** 仪器ID */
    @Excel(name = "仪器ID")
    private Long instrumentId;

    /** 仪器名字 */
    @Excel(name = "仪器名字")
    private String instrumentName;

    /** 消息内容 */
    @Excel(name = "消息内容")
    private String messageContent;

    /** 0-开启  1-关闭 */
    @Excel(name = "0-开启  1-关闭")
    private Integer status;

    /** 跳转类型：0无跳转、1跳转内部链接、3跳转外部链接、4跳转小程序、5导向视频号、6导向视频号直播间 */
    @Excel(name = "跳转类型：0无跳转、1跳转内部链接、3跳转外部链接、4跳转小程序、5导向视频号、6导向视频号直播间")
    private Integer type;

    /** 跳转链接（跳转外部链接、跳转内部链接） */
    @Excel(name = "跳转链接", readConverterExp = "跳=转外部链接、跳转内部链接")
    private String link;

    /** 跳转链接参数（跳转内部链接） */
    @Excel(name = "跳转链接参数", readConverterExp = "跳=转内部链接")
    private String linkParams;

    /** 外链小程序appid（跳转小程序） */
    @Excel(name = "外链小程序appid", readConverterExp = "跳=转小程序")
    private String redirectAppid;

    /** 外链小程序url（跳转小程序） */
    @Excel(name = "外链小程序url", readConverterExp = "跳=转小程序")
    private String redirectUrl;

    /** 视频号（导向视频号、导向视频号直播间） */
    @Excel(name = "视频号", readConverterExp = "导=向视频号、导向视频号直播间")
    private String videoNo;

    /** 视频号feedId（导向视频号） */
    @Excel(name = "视频号feedId", readConverterExp = "导=向视频号")
    private String feedId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setMessageType(Integer messageType)
    {
        this.messageType = messageType;
    }

    public Integer getMessageType()
    {
        return messageType;
    }
    public void setMessageTitle(String messageTitle)
    {
        this.messageTitle = messageTitle;
    }

    public String getMessageTitle()
    {
        return messageTitle;
    }

    public Long getInstrumentId() {
        return instrumentId;
    }

    public void setInstrumentId(Long instrumentId) {
        this.instrumentId = instrumentId;
    }

    public String getInstrumentName() {
        return instrumentName;
    }

    public void setInstrumentName(String instrumentName) {
        this.instrumentName = instrumentName;
    }

    public void setMessageContent(String messageContent)
    {
        this.messageContent = messageContent;
    }

    public String getMessageContent()
    {
        return messageContent;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setLink(String link)
    {
        this.link = link;
    }

    public String getLink()
    {
        return link;
    }
    public void setLinkParams(String linkParams)
    {
        this.linkParams = linkParams;
    }

    public String getLinkParams()
    {
        return linkParams;
    }
    public void setRedirectAppid(String redirectAppid)
    {
        this.redirectAppid = redirectAppid;
    }

    public String getRedirectAppid()
    {
        return redirectAppid;
    }
    public void setRedirectUrl(String redirectUrl)
    {
        this.redirectUrl = redirectUrl;
    }

    public String getRedirectUrl()
    {
        return redirectUrl;
    }
    public void setVideoNo(String videoNo)
    {
        this.videoNo = videoNo;
    }

    public String getVideoNo()
    {
        return videoNo;
    }
    public void setFeedId(String feedId)
    {
        this.feedId = feedId;
    }

    public String getFeedId()
    {
        return feedId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("messageType", getMessageType())
            .append("messageTitle", getMessageTitle())
            .append("messageContent", getMessageContent())
            .append("status", getStatus())
            .append("type", getType())
            .append("link", getLink())
            .append("linkParams", getLinkParams())
            .append("redirectAppid", getRedirectAppid())
            .append("redirectUrl", getRedirectUrl())
            .append("videoNo", getVideoNo())
            .append("feedId", getFeedId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
