package com.jay.monitor.data.server.models.entity.es;

import com.jay.monitor.data.core.enums.MQInvokeType;
import com.jay.monitor.data.server.anno.ESSearch;
import com.jay.monitor.data.server.enums.ESQuerySyntax;
import org.zxp.esclientrhl.annotation.ESID;
import org.zxp.esclientrhl.annotation.ESMetaData;

import java.util.Date;

@ESMetaData(indexName = "jay_monitor_mq", indexType = "mq", number_of_shards = 5, number_of_replicas = 0, printLog = true)
public class JayMonitorMQIndex {
    @ESID
    private String id;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 状态
     */
    private Integer status;
    private String rootLogId;

    private String parentLogId;
    /**
     * 订阅主题
     */
    private String topic;
    /**
     * 消息类型
     */
    private String mqType;
    /**
     * 分区名称
     */
    private String partitionName;
    /**
     * 执行类型  生产/ 消费
     */
    private MQInvokeType invokeType;

    /**
     * 来源时间
     */
    private Date sourceTime;

    /**
     * 消息编号
     */
    private String msgId;

    private String ip;

    private String applicationName;

    private String groupName;

    private String groupKeyName;

    private String dataId;

    private String logId;

    @ESSearch(value = ESQuerySyntax.like)
    private String jsonContent;
    @ESSearch(value = ESQuerySyntax.gt)
    private Long requestTime;

    private String errorMessage;

    private String errorStackTrace;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public String getErrorMessage() {
        return this.errorMessage;
    }

    public void setErrorStackTrace(String stackTrace) {
        this.errorStackTrace = stackTrace;
    }

    public String getErrorStackTrace() {
        return this.errorStackTrace;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getApplicationName() {
        return applicationName;
    }

    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupKeyName() {
        return groupKeyName;
    }

    public void setGroupKeyName(String groupKeyName) {
        this.groupKeyName = groupKeyName;
    }

    public String getDataId() {
        return dataId;
    }

    public void setDataId(String dataId) {
        this.dataId = dataId;
    }

    public String getJsonContent() {
        return jsonContent;
    }

    public void setJsonContent(String jsonContent) {
        this.jsonContent = jsonContent;
    }

    public Long getRequestTime() {
        return this.requestTime;
    }

    public void setRequestTime(Long requestTime) {
        this.requestTime = requestTime;
    }

    public String getLogId() {
        return this.logId;
    }

    public void setLogId(String logId) {
        this.logId = logId;
    }

    public Date getSourceTime() {
        return sourceTime;
    }

    public void setSourceTime(Date sourceTime) {
        this.sourceTime = sourceTime;
    }

    public String getPartitionName() {
        return partitionName;
    }

    public void setPartitionName(String partitionName) {
        this.partitionName = partitionName;
    }

    public String getMsgId() {
        return msgId;
    }

    public void setMsgId(String msgId) {
        this.msgId = msgId;
    }

    public String getRootLogId() {
        return this.rootLogId;
    }

    public void setRootLogId(String rootLogId) {
        this.rootLogId = rootLogId;
    }

    public String getParentLogId() {
        return this.parentLogId;
    }

    public void setParentLogId(String parentLogId) {
        this.parentLogId = parentLogId;
    }

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }

    public String getMqType() {
        return mqType;
    }

    public void setMqType(String mqType) {
        this.mqType = mqType;
    }

    public MQInvokeType getInvokeType() {
        return invokeType;
    }

    public void setInvokeType(MQInvokeType invokeType) {
        this.invokeType = invokeType;
    }
}
