package cn.axzo.msg.center.api.response;

import cn.axzo.msg.center.api.enums.MsgRecordTerminalTypeEnum;
import cn.axzo.msg.center.api.enums.MsgStateEnum;
import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * @description
 *   消息相关API接口定义
 *
 * @author cold_blade
 * @date 2023/9/13
 * @version 1.0
 */
@Setter
@Getter
public class MessageDetailRes implements Serializable {

    private static final long serialVersionUID = 5633067221907248558L;

    /**
     * 消息Id
     */
    private Long msgId;
    /**
     * 消息标题
     */
    private String msgTitle;
    /**
     * 消息内容
     */
    private String content;

    /**
     * 模块名称
     */
    private String moduleName;
    /**
     * 模块图标
     */
    private String moduleIcon;

    /**
     * 消息所属标识类型 PROJECT:项目 ENT:企业
     */
    private MsgRecordTerminalTypeEnum terminalType;

    /**
     * 项目Id/企业Id  用于跳转
     */
    private Long terminalId;

    /**
     * 项目名称/企业名称  有则展示
     */
    private String terminalName;

    /**
     * 普通消息状态  1. HAS_BEEN_SENT: 未读 2. HAVE_READ: 已读
     * <p>
     * 待办消息状态  1. HAS_BEEN_SENT: 待处理 2. COMPLETE: 已完成
     */
    private MsgStateEnum state;

    /**
     * 消息时间戳
     */
    private Long msgTimestamp;

    /**
     * 路由地址
     */
    private String routeUrl;

    /**
     * 路由类型: (0:null, 1:uniapp, 2:native, 3:H5 4:webCms)
     */
    private Integer routeType;

    /**
     * 路由参数
     */
    private String routerParam;

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