package com.bocloud.ims.entity.middleware;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * Created by liuyuanyuan on 2020/3/11 15:08
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Table("cms_exchanges")
public class CmsExchange extends GenericEntity {
    @PK(PKStrategy.AUTO)
    private Long id;// ID
    @Column("name")
    private String name;
    @Column("type")
    private String type;
    @JSONField(name = "auto_delete")
    @Column("auto_delete")
    private Boolean autoDelete;
    @Column("durable")
    private Boolean durable;
    @Column("internal")
    private Boolean internal;
    @Column("arguments")
    private JSONObject arguments;
    @Column("mq_id")
    private Long mqId;
    @Column("vhost")
    private String vhost;
    @JSONField(name = "message_stats")
    private JSONObject messageStats;
    private Long publishInRate;
    private Long publishOutRate;
}
