package com.ruoyi.sim.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模拟器报文对象 sim_sim_msg
 *
 * @author tom
 * @date 2024-12-18
 */
public class SimMsg extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 模拟器报文ID
     */
    private Long simMsgId;

    /**
     * 模拟器ID
     */
    @Excel(name = "模拟器ID")
    private Long simId;

    /**
     * 关联ID
     */
    @Excel(name = "关联ID")
    private Long examFaultRefId;

    /**
     * 考试类型
     * 1:练习
     * 2:自主练习
     * 3:考试
     */
    @Excel(name = "考试类型")
    private String examCollectionType;

    /**
     * 状态 0初始值 1成功 2失败
     */
    @Excel(name = "状态 0初始值 1成功 2失败")
    private String sendMsgState;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private Integer priority;

    /**
     * 发送报文类型 cmd+cmdId
     */
    @Excel(name = "发送报文类型 cmd+cmdId")
    private String sendMsgType;

    /**
     * 发送报文
     */
    @Excel(name = "发送报文")
    private String sendMsg;

    /**
     * 发送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /**
     * 接收报文
     */
    @Excel(name = "接收报文")
    private String receiveMsg;

    /**
     * 接收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveTime;

    /**
     * 重试次数
     */
    @Excel(name = "重试次数")
    private Integer retryCount;

    public void setSimMsgId(Long simMsgId) {
        this.simMsgId = simMsgId;
    }

    public Long getSimMsgId() {
        return simMsgId;
    }

    public void setSimId(Long simId) {
        this.simId = simId;
    }

    public Long getSimId() {
        return simId;
    }

    public void setExamFaultRefId(Long examFaultRefId) {
        this.examFaultRefId = examFaultRefId;
    }

    public Long getExamFaultRefId() {
        return examFaultRefId;
    }

    public void setExamCollectionType(String examCollectionType) {
        this.examCollectionType = examCollectionType;
    }

    public String getExamCollectionType() {
        return examCollectionType;
    }

    public void setSendMsgState(String sendMsgState) {
        this.sendMsgState = sendMsgState;
    }

    public String getSendMsgState() {
        return sendMsgState;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setSendMsgType(String sendMsgType) {
        this.sendMsgType = sendMsgType;
    }

    public String getSendMsgType() {
        return sendMsgType;
    }

    public void setSendMsg(String sendMsg) {
        this.sendMsg = sendMsg;
    }

    public String getSendMsg() {
        return sendMsg;
    }

    public void setSendTime(Date sendTime) {
        this.sendTime = sendTime;
    }

    public Date getSendTime() {
        return sendTime;
    }

    public void setReceiveMsg(String receiveMsg) {
        this.receiveMsg = receiveMsg;
    }

    public String getReceiveMsg() {
        return receiveMsg;
    }

    public void setReceiveTime(Date receiveTime) {
        this.receiveTime = receiveTime;
    }

    public Date getReceiveTime() {
        return receiveTime;
    }

    public void setRetryCount(Integer retryCount) {
        this.retryCount = retryCount;
    }

    public Integer getRetryCount() {
        return retryCount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("simMsgId", getSimMsgId())
                .append("simId", getSimId())
                .append("examFaultRefId", getExamFaultRefId())
                .append("examCollectionType", getExamCollectionType())
                .append("sendMsgState", getSendMsgState())
                .append("priority", getPriority())
                .append("sendMsgType", getSendMsgType())
                .append("sendMsg", getSendMsg())
                .append("sendTime", getSendTime())
                .append("receiveMsg", getReceiveMsg())
                .append("receiveTime", getReceiveTime())
                .append("retryCount", getRetryCount())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
