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(); } }