106 lines
3.0 KiB
Java
106 lines
3.0 KiB
Java
package com.idtgz.dao.entity;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
import com.baomidou.mybatisplus.annotation.TableId;
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import com.idtgz.config.constant.ConnectionConstant;
|
|
import com.idtgz.config.constant.ProtocolConstant;
|
|
import com.idtgz.config.model.MqttConnectionConfig;
|
|
import com.idtgz.context.ConfigContext;
|
|
import com.idtgz.util.CommonUtil;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.regex.Pattern;
|
|
|
|
/**
|
|
* @Description:
|
|
* @author: GS-HQY
|
|
* @date: 2022.05.25
|
|
*/
|
|
@Data
|
|
@NoArgsConstructor
|
|
@TableName("connection")
|
|
public class ConnectionEntity {
|
|
|
|
@TableId("id")
|
|
private Long id;
|
|
|
|
@TableField(exist = false)
|
|
private String connectionId;
|
|
|
|
@TableField("connection_sign")
|
|
private String connectionSign;
|
|
|
|
/**
|
|
* 连接类型 1: 级联客户端连接 2:Broker连接
|
|
*/
|
|
@TableField("connection_type")
|
|
private int connectionType;
|
|
|
|
/**
|
|
* 连接协议 5:opcda 6:opcua 7:db 8:iec104 9:Mqtt
|
|
*/
|
|
@TableField("connection_protocol")
|
|
private int connectionProtocol;
|
|
|
|
@TableField("connection_name")
|
|
private String connectionName;
|
|
|
|
@TableField("connection_json")
|
|
private String connectionJson;
|
|
|
|
@TableField("connection_status")
|
|
private Integer connectionStatus;
|
|
|
|
@TableField("client_id")
|
|
private String clientId;
|
|
|
|
@TableField("device_id")
|
|
private Long deviceId;
|
|
|
|
@TableField("upload_type")
|
|
private Integer uploadType;
|
|
|
|
@TableField("upload_cycle")
|
|
private Integer uploadCycle;
|
|
|
|
@TableField("store_strategy")
|
|
private Integer storeStrategy;
|
|
|
|
@TableField("is_uploaded")
|
|
private int isUploaded;
|
|
|
|
@TableField("created_time")
|
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
private LocalDateTime createdTime;
|
|
|
|
@TableField("updated_time")
|
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
private LocalDateTime updatedTime;
|
|
|
|
|
|
public ConnectionEntity(MqttConnectionConfig connectionConfig) {
|
|
this.connectionSign = connectionConfig.getConnectionSign();
|
|
this.connectionType = ConnectionConstant.BrokerConnection;
|
|
this.connectionProtocol = ProtocolConstant.MQTT;
|
|
this.connectionName = connectionConfig.getConnetionName();
|
|
this.connectionJson = JSON.toJSONString(connectionConfig);
|
|
this.connectionStatus = 1;
|
|
this.deviceId = CommonUtil.getLongId(this.connectionSign);
|
|
if (this.uploadType == null || this.uploadType == null) {
|
|
this.uploadType = 1;
|
|
this.uploadCycle = 1;
|
|
} else {
|
|
this.uploadType = connectionConfig.getUploadType();
|
|
this.uploadCycle = connectionConfig.getCycle();
|
|
}
|
|
this.clientId = connectionConfig.getClientId();
|
|
this.storeStrategy = connectionConfig.getStoreStrategy();
|
|
}
|
|
}
|