代码拉取完成,页面将自动刷新
package schemaDataRepo
import (
"encoding/json"
"gitee.com/unitedrhino/share/domain/deviceMsg/msgThing"
"gitee.com/unitedrhino/share/domain/schema"
"gitee.com/unitedrhino/share/utils"
"github.com/spf13/cast"
)
func ToEventData(db map[string]any) *msgThing.EventData {
var (
params map[string]any
paramStr = cast.ToString(db["param"])
)
err := json.Unmarshal([]byte(paramStr), ¶ms)
if err != nil {
return nil
}
data := msgThing.EventData{
Identifier: cast.ToString(db["event_id"]),
Type: cast.ToString(db["event_type"]),
Params: params,
TimeStamp: cast.ToTime(db["ts"]),
}
return &data
}
func ToPropertyData(id string, p *schema.Property, db map[string]any) *msgThing.PropertyData {
propertyType := db[PropertyType]
switch propertyType {
case string(schema.DataTypeStruct):
data := msgThing.PropertyData{
Identifier: id,
Param: nil,
TimeStamp: cast.ToTime(db["ts"]),
}
delete(db, "ts")
delete(db, "device_name")
delete(db, PropertyType)
delete(db, "_num")
for k, v := range db {
db[k] = utils.BoolToInt(v)
}
data.Param = db
return &data
case string(schema.DataTypeArray):
switch p.Define.ArrayInfo.Type {
case schema.DataTypeStruct:
data := msgThing.PropertyData{
Identifier: id,
TimeStamp: cast.ToTime(db["ts"]),
}
delete(db, "ts")
delete(db, "device_name")
delete(db, PropertyType)
delete(db, "_num")
for k, v := range db {
db[k] = utils.BoolToInt(v)
}
data.Param = db
return &data
default:
data := msgThing.PropertyData{
Identifier: id,
Param: cast.ToString(utils.BoolToInt(db["param"])),
TimeStamp: cast.ToTime(db["ts"]),
}
return &data
}
default:
data := msgThing.PropertyData{
Identifier: id,
Param: cast.ToString(utils.BoolToInt(db["param"])),
TimeStamp: cast.ToTime(db["ts"]),
}
return &data
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。