package cn.axzo.msg.center.service.template.response;

import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
import cn.axzo.msg.center.service.enums.StatusEnum;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * @author cold_blade
 * @date 2023/10/12
 * @version 1.0
 */
@Setter
@Getter
public class MessageTemplatePageResponse implements Serializable {

    private static final long serialVersionUID = 4748193413608569743L;

    /**
     * 模板名称
     */
    private String templateName;
    /**
     * 模板编码
     */
    private String templateCode;
    /**
     * 消息类型
     *   GENERAL_MESSAGE: 通知
     *   BIZ_PENDING_MESSAGE: 业务待办
     *   APPROVAL_PENDING_MESSAGE: 审批待办
     */
    private MessageCategoryEnum category;
    /**
     * 消息标题
     */
    private String title;
    /**
     * 消息内容
     */
    private String content;
    /**
     * 分类路径，eg：发薪管理/发薪提醒/提醒工人
     */
    private List<String> groupNodeNamePaths;
    /**
     * 模板状态
     *   ENABLE: 启用
     *   DISABLE: 禁用
     */
    private StatusEnum status;
    /**
     * 创建人id
     */
    private Long createPersonId;
    /**
     * 创建人姓名
     */
    private String createPersonName;
    /**
     * 更新人id
     */
    private Long updatePersonId;
    /**
     * 更新人姓名
     */
    private String updatePersonName;
    /**
     * 待办样式
     */
    private MessageDetailStyle styleType;

    private JSONObject pushData;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
