Files
PandaX/pkg/tdengine/tdengine_event.go
2023-08-22 15:17:14 +08:00

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
}