mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 02:48:34 +08:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package tdengine
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/kakuilan/kgo"
|
|
"strings"
|
|
)
|
|
|
|
type ConnectInfo struct {
|
|
Ts string `json:"ts"`
|
|
ClientID string `json:"clientId"`
|
|
Type string `json:"type"` // 连接类型
|
|
PeerHost string `json:"peerHost"`
|
|
SocketPort string `json:"sockPort"`
|
|
Protocol string `json:"protocol"`
|
|
DeviceId string `json:"deviceId"`
|
|
}
|
|
|
|
// CreateEventTable 创建设备连接事件表
|
|
func (s *TdEngine) CreateEventTable() (err error) {
|
|
sql := fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s.device_connect (ts TIMESTAMP,deviceId NCHAR(64),
|
|
type NCHAR(64),clientId NCHAR(64),peerHost NCHAR(64),sockPort NCHAR(64),protocol NCHAR(64))`, s.dbName)
|
|
_, err = s.db.Exec(sql)
|
|
return
|
|
}
|
|
|
|
func (s *TdEngine) InsertEvent(data map[string]any) (err error) {
|
|
if len(data) == 0 {
|
|
return
|
|
}
|
|
var (
|
|
field = []string{}
|
|
value = []string{}
|
|
)
|
|
for k, v := range data {
|
|
field = append(field, k)
|
|
value = append(value, "'"+kgo.KConv.ToStr(v)+"'")
|
|
}
|
|
|
|
sql := "INSERT INTO ? (?) VALUES (?)"
|
|
_, err = s.db.Exec(sql, "device_connect", strings.Join(field, ","), strings.Join(value, ","))
|
|
return err
|
|
}
|