package com.tzy.base.dto;

import com.tzy.common.utils.StringUtils;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;

import static com.tzy.common.utils.NoticeType.*;

@Data
@ToString
public class SysNoticeRecordDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;
    /** 消息发送者 */
    private String fromUser;
    /** 消息接收者 */
    private String toUser;
    /** 消息类型 */
    private String type;
    /** 消息编码 */
    private String code;
    /** 消息需要跳转id */
    private Long contentId;
    /** 消息需要跳转的url */
    private String contentUrl;
    /**
     * 标题
     */
    private String title;
    /** 消息内容 */
    private String msg;
    /** 是否已读 */
    private boolean reader;
    /** 已读时间 */
    private Date readerTime;
    /** 状态：0正常 */
    private Long status;
    /** 删除标记：0正常 */
    private Long delFlg;
    /** 接收者id */
    private Long toUserid;
    /** 发送者id */
    private Long fromUserid;

    private String remark;

    private Date createTime;

    private String createBy;

    private Date updateTime;

    private String updateBy;

    public String getContentUrl(){
        if(StringUtils.isNotEmpty(contentUrl)){
            return contentUrl;
        }
        if(StringUtils.isNotEmpty(this.type)
                && (
                PUBLICITY.equals(this.type) ||
                        LIVE_BEGIN.equals(this.type) ||
                        GROUP_FULL.equals(this.type) ||
                        GROUP_FAIL.equals(this.type)
        )){
            return group_detail_url + this.contentId;
        }
        if(StringUtils.isNotEmpty(this.type)
                && (
                SEND_EXPRESS.equals(this.type) ||
                        WIN.equals(this.type) ||
                        PAY_SUCCESS.equals(this.type) ||
                        GROUP_ORDER_FAIL.equals(this.type)
        )
        ){
            return order_detail_url + this.contentId;
        }
        return null;
    }
}
