package com.prolog.rdc.tms.model.dto.message;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
*  DTO
* <p>
* Copyright: Copyright (C) 2022 prolog-int, Inc. All rights reserved.
* <p>
* Company: 湖北普罗格科技股份有限公司
*
*
* @author hongbo.pan
* @since 2022-11-15 14:03:39
*/
@Data
public class MessageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "消息ID")
    private Long id;

    @ApiModelProperty(value = "消息配置ID")
    private Long messageConfigId;

    @ApiModelProperty(value = "消息配置名称")
    private String messageName;

    @ApiModelProperty(value = "消息类型MESSAGE_TYPE")
    private String messageType;

    @ApiModelProperty(value = "消息类型")
    private String messageTypeName;

    @ApiModelProperty(value = "消息推送类型MESSAGE_SEND_TYPE")
    private String messageSendType;

    @ApiModelProperty(value = "消息推送类型")
    private String messageSendTypeName;

    @ApiModelProperty(value = "业务单据ID")
    private String refbillid;

    @ApiModelProperty(value = "业务单据号")
    private String refbillno;

    @ApiModelProperty(value = "消息内容")
    private String content;

    @ApiModelProperty(value = "单位id")
    private String customerIds;

    @ApiModelProperty(value = "单位编号")
    private String customerCodes;

    @ApiModelProperty(value = "单位名称")
    private String customerNames;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "发送时间")
    private Date sendTime;

    @ApiModelProperty(value = "发送人ID")
    private String sendUserId;

    @ApiModelProperty(value = "发送人名称")
    private String sendUserName;

    @ApiModelProperty(value = "发送部门ID")
    private String sendDepartmentId;

    @ApiModelProperty(value = "发送部门名称")
    private String sendDepartmentName;

    @ApiModelProperty(value = "接收人ID")
    private String receiveUserId;

    @ApiModelProperty(value = "接收人名称")
    private String receiveUserName;

    @ApiModelProperty(value = "接收部门ID")
    private String receiveDepartmentId;

    @ApiModelProperty(value = "接收部门名称")
    private String receiveDepartmentName;

    @ApiModelProperty(value = "是否已读 0:否 1:是")
    private String whetherRead;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "已读时间")
    private Date readTime;

    @ApiModelProperty(value = "接收企业ID")
    private Long enterpriseId;

    @ApiModelProperty(value = "接收企业名称")
    private String enterpriseName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createtime;

    @ApiModelProperty(value = "创建人")
    private String createperson;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "修改时间")
    private Date updatetime;

    @ApiModelProperty(value = "修改人")
    private String updateperson;

    @ApiModelProperty(value = "通知类型")
    private String messageNoticeType;

    @ApiModelProperty(value = "运单ID")
    private String shipbillId;

}
