From 0b568d16e18fc7acf9ec722213b68b5b20a7f21f Mon Sep 17 00:00:00 2001 From: XM-GO <93296511+XM-GO@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=E3=80=91=E5=AD=90=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=B8=8A=E6=8A=A5=E6=96=B9=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/device/api/device.go | 2 +- apps/device/services/device.go | 20 +- fatal.log | 289 ++++++++++++++++++ iothub/README.md | 32 +- iothub/hook_message_work/hook_message_work.go | 4 +- iothub/netbase/hook_base.go | 28 +- iothub/server/emqxserver/const.go | 2 - iothub/server/emqxserver/hook.go | 50 ++- iothub/server/httpserver/hook.go | 6 +- pkg/global/global.go | 4 +- pkg/initialize/event.go | 2 +- pkg/tool/device.go | 1 - shutdown.bat | 2 +- 13 files changed, 378 insertions(+), 64 deletions(-) diff --git a/apps/device/api/device.go b/apps/device/api/device.go index 668298f..7919557 100644 --- a/apps/device/api/device.go +++ b/apps/device/api/device.go @@ -31,7 +31,7 @@ type DeviceApi struct { } func (p *DeviceApi) GetDevicePanel(rc *restfulx.ReqCtx) { - get, err := global.Cache.ComputeIfAbsent("panel", func(k any) (any, error) { + get, err := global.PanelCache.ComputeIfAbsent("panel", func(k any) (any, error) { var data entity.DeviceTotalOutput data.DeviceInfo = p.DeviceApp.FindDeviceCount() data.DeviceLinkStatusInfo = p.DeviceApp.FindDeviceCountGroupByLinkStatus() diff --git a/apps/device/services/device.go b/apps/device/services/device.go index 3024bcd..08bc326 100644 --- a/apps/device/services/device.go +++ b/apps/device/services/device.go @@ -13,6 +13,7 @@ type ( DeviceModel interface { Insert(data entity.Device) *entity.Device FindOneByToken(token string) (*entity.Device, error) + FindOneByName(name string) (*entity.Device, error) FindOne(id string) *entity.DeviceRes FindListPage(page, pageSize int, data entity.Device) (*[]entity.DeviceRes, int64) FindList(data entity.Device) *[]entity.DeviceRes @@ -39,11 +40,11 @@ func (m *deviceModelImpl) Insert(data entity.Device) *entity.Device { list := m.FindList(entity.Device{Name: data.Name}) biz.IsTrue(list != nil && len(*list) == 0, "设备名称已经存在") //2 创建认证TOKEN IOTHUB使用 - etoken, err := GetDeviceToken(&data) + _, err := GetDeviceToken(&data) biz.ErrIsNil(err, "设备缓存失败") // 子网关不需要设置token - if data.DeviceType != global.GATEWAYS { - data.Token = etoken.Token + if data.DeviceType == global.GATEWAYS { + data.Token = "" } //3 添加设备 err = tx.Table(m.table).Create(&data).Error @@ -66,6 +67,13 @@ func (m *deviceModelImpl) FindOne(id string) *entity.DeviceRes { return resData } +func (m *deviceModelImpl) FindOneByName(token string) (*entity.Device, error) { + resData := new(entity.Device) + db := global.Db.Table(m.table).Where("name = ?", token) + err := db.First(resData).Error + return resData, err +} + func (m *deviceModelImpl) FindOneByToken(token string) (*entity.Device, error) { resData := new(entity.Device) db := global.Db.Table(m.table).Where("token = ?", token) @@ -205,11 +213,9 @@ func GetDeviceToken(data *entity.Device) (*tool.DeviceAuth, error) { etoken.CreatedAt = now.Unix() etoken.ExpiredAt = now.Add(time.Hour * 24 * 365).Unix() if data.Token == "" { - etoken.Token = etoken.MD5ID() - } else { - etoken.Token = data.Token + data.Token = etoken.MD5ID() } - err := etoken.CreateDeviceToken(etoken.Token) + err := etoken.CreateDeviceToken(data.Token) return etoken, err } diff --git a/fatal.log b/fatal.log index 6637704..5d52650 100644 --- a/fatal.log +++ b/fatal.log @@ -2999,3 +2999,292 @@ created by net/http.(*Server).Serve 2023-09-27 17:21:04.140 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/client/tcpclient/tcp.go:13] : 设备lCtIzLLdIQ, 发送指令{"close":"asd"} 2023-09-27 17:21:04.416 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [POST=/device/cmd] : 命令下发 ->290ms 2023-09-27 17:21:04.442 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/cmd/list] : 获取命令下发分页列表 ->8ms +2023-09-27 17:22:41.755 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/alarm/list] : 获取告警分页列表 ->59ms +2023-09-27 17:22:42.320 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/cmd/list] : 获取命令下发分页列表 ->10ms +2023-09-27 17:26:26.122 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/cmd/list] [uid=1] [uname=panda] : 获取命令下发分页列表 ->64ms +2023-09-27 17:28:33.772 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/cmd/list] [uid=1] [uname=panda] : 获取命令下发分页列表 ->19ms +2023-09-27 17:34:14.065 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/log/list] : 获取规则引擎日志分页列表 ->140ms +2023-09-27 17:34:15.975 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-27 17:34:15.980 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/list] : 获取规则引擎分页列表 ->17ms +2023-09-27 17:36:15.638 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-27 17:36:22-------------------------------- +2023-09-27 17:36:22.339 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-27 17:36:22.345 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-27 17:36:22.346 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-27 17:36:22.346 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-27 17:36:22.354 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-27 17:36:22.354 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-27 17:36:22.354 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-27 17:36:22.354 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-27 17:36:22.355 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-27 17:36:22.361 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-27 17:36:22 [INFO] JobCore start success. +2023-09-27 17:36:22.538 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-27 17:36:22.551 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->26ms +2023-09-27 17:36:22.552 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->10ms +2023-09-27 17:36:22.559 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->10ms +2023-09-27 17:36:22.703 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:98] : pandax断开连接 +2023-09-27 17:36:22.706 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-27 17:36:22.709 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-27 17:36:54.978 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:153] : +panic: interface conversion: interface {} is nil, not *tool.DeviceAuth + +goroutine 252 [running]: +pandax/iothub/server/httpserver.InitHttpHook.func1({0x2e28c10, 0xc001d74ad8}, 0x145bc00?) + D:/workspace/go/project/PandaX/PandaX/iothub/server/httpserver/hook.go:47 +0x249 +net/http.(*conn).setState(0xc001e8dea0, {0x2e28c10, 0xc001d74ad8}, 0x4, 0x1) + D:/go1.19/go/src/net/http/server.go:1795 +0x134 +net/http.(*conn).serve.func1() + D:/go1.19/go/src/net/http/server.go:1862 +0x1e8 +net/http.(*conn).serve(0xc001e8dea0, {0x2e1ece8, 0xc0006fc1e0}) + D:/go1.19/go/src/net/http/server.go:1949 +0xc5a +created by net/http.(*Server).Serve + D:/go1.19/go/src/net/http/server.go:3102 +0x4db + +2023-09-28 09:21:30-------------------------------- +2023-09-28 09:21:30.706 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 09:21:30.711 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 09:21:30.713 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 09:21:30.714 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 09:21:30.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 09:21:30.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 09:21:30.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 09:21:30.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 09:21:30.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 09:21:30.728 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 09:21:30 [INFO] JobCore start success. +2023-09-28 09:21:30.730 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-28 09:21:30.732 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 09:21:45.231 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [POST=/system/user/login] : 登录 ->74ms +2023-09-28 09:21:45.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/user/auth] : 认证信息 ->18ms +2023-09-28 09:21:45.956 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/alarm/panel] [uid=1] [uname=panda] : 获取面板告警分组 ->3ms +2023-09-28 09:21:45.988 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/panel] [uid=1] : 获取DevicePanel ->28ms +2023-09-28 09:21:52.224 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->8ms +2023-09-28 09:21:52.237 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->14ms +2023-09-28 09:21:52.241 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->33ms +2023-09-28 09:21:52.242 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:21:53.761 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->11ms +2023-09-28 09:21:53.766 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->8ms +2023-09-28 09:21:53.777 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->9ms +2023-09-28 09:22:40.756 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [POST=/device] : 添加Device信息 ->190ms +2023-09-28 09:22:40.800 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->24ms +2023-09-28 09:23:43.182 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/l7HF7UZCEA/status] [uid=1] [uname=panda] : 获取Device状态信息 ->15ms +2023-09-28 09:23:44.437 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/l7HF7UZCEA/status] [uid=1] [uname=panda] : 获取Device状态信息 ->17ms +2023-09-28 09:23:58.060 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3,开始认证 +2023-09-28 09:23:58.064 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 09:23:59.042 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3订阅了[name:"$dz/events/device/s7-device/data/update"] +2023-09-28 09:23:59.507 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3订阅了[name:"v1/devices/me/telemetry"] +2023-09-28 09:23:59.924 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3订阅了[name:"$hw/events/device/s7-device/twin/update"] +2023-09-28 09:24:00.233 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3订阅了[name:"v1/devices/me/rpc/request/+"] +2023-09-28 09:24:00.649 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/9GOIPOI6GQ/status] : 获取Device状态信息 ->14ms +2023-09-28 09:24:01.894 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/9GOIPOI6GQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->16ms +2023-09-28 09:24:15.011 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:153] : +2023-09-28 09:24:18.413 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/9GOIPOI6GQ/status] : 获取Device状态信息 ->15ms +2023-09-28 09:24:18.865 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/9GOIPOI6GQ/status] : 获取Device状态信息 ->14ms +2023-09-28 09:24:22.021 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/9GOIPOI6GQ/property/history] [uid=1] [uname=panda] : 获取设备属性的遥测历史 ->17ms +2023-09-28 09:24:24.231 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/9GOIPOI6GQ/property/history] : 获取设备属性的遥测历史 ->16ms +2023-09-28 09:24:27.346 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/9GOIPOI6GQ/property/history] : 获取设备属性的遥测历史 ->13ms +2023-09-28 09:24:46.192 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:98] : YWRlMTA0MmYtMzc2MS0zZTljLThjNjAtMzNhMzg4ZjdkOGQ3断开连接 +2023-09-28 09:25:13.112 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号ZTg0ZDNkZDItOWQ1Mi0zYjM2LTg1NWQtYTI0NmE0NDcyOTM2,开始认证 +2023-09-28 09:25:13.119 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 09:25:13.939 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : ZTg0ZDNkZDItOWQ1Mi0zYjM2LTg1NWQtYTI0NmE0NDcyOTM2订阅了[name:"$dz/events/device/s7-device/data/update"] +2023-09-28 09:25:14.259 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : ZTg0ZDNkZDItOWQ1Mi0zYjM2LTg1NWQtYTI0NmE0NDcyOTM2订阅了[name:"v1/devices/me/telemetry"] +2023-09-28 09:25:14.553 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : ZTg0ZDNkZDItOWQ1Mi0zYjM2LTg1NWQtYTI0NmE0NDcyOTM2订阅了[name:"$hw/events/device/s7-device/twin/update"] +2023-09-28 09:25:14.848 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:138] : ZTg0ZDNkZDItOWQ1Mi0zYjM2LTg1NWQtYTI0NmE0NDcyOTM2订阅了[name:"v1/devices/me/rpc/request/+"] +2023-09-28 09:25:18.868 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->19ms +2023-09-28 09:25:18.885 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 ->43ms +2023-09-28 09:25:18.891 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->24ms +2023-09-28 09:25:18.892 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->18ms +2023-09-28 09:25:59.358 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->14ms +2023-09-28 09:26:00.585 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:26:01.588 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->17ms +2023-09-28 09:26:02.647 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->16ms +2023-09-28 09:26:06.051 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->8ms +2023-09-28 09:26:06.060 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list/tree/label] [uid=1] [uname=panda] : 获取ProductCategory树 ->6ms +2023-09-28 09:26:06.077 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list] [uid=1] [uname=panda] : 获取Product分页列表 ->13ms +2023-09-28 09:26:06.140 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-28 09:26:10.938 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/template/list] [uid=1] : 获取Template分页列表 ->7ms +2023-09-28 09:26:13.453 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->11ms +2023-09-28 09:26:45.686 [ERROR] [D:/workspace/go/project/PandaX/PandaX/apps/device/api/product_template.go:75] : sql: converting argument $1 type: unsupported type sql.DB, a struct +2023-09-28 09:26:45.795 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [POST=/device/template] : 添加Template信息 ->331ms +2023-09-28 09:26:45.828 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/template/list] [uid=1] [uname=panda] : 获取Template分页列表 ->12ms +2023-09-28 09:26:49.763 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->10ms +2023-09-28 09:26:49.788 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->15ms +2023-09-28 09:26:49.789 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->8ms +2023-09-28 09:26:49.795 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->34ms +2023-09-28 09:27:01.794 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->15ms +2023-09-28 09:27:02.715 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:27:55.497 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:153] : +2023-09-28 09:28:04.046 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list/tree/label] [uid=1] [uname=panda] : 获取ProductCategory树 ->5ms +2023-09-28 09:28:04.069 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->8ms +2023-09-28 09:28:04.072 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list] [uid=1] [uname=panda] : 获取Product分页列表 ->22ms +2023-09-28 09:28:04.129 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-28 09:28:08.374 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/template/list] [uid=1] [uname=panda] : 获取Template分页列表 ->8ms +2023-09-28 09:28:26.130 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:28:26.142 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->12ms +2023-09-28 09:28:26.145 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->32ms +2023-09-28 09:28:26.149 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->9ms +2023-09-28 09:29:17.429 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list/tree/label] [uid=1] [uname=panda] : 获取ProductCategory树 ->3ms +2023-09-28 09:29:17.432 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list] [uid=1] : 获取Product分页列表 ->17ms +2023-09-28 09:29:17.438 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:29:17.529 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-28 09:29:19.665 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->8ms +2023-09-28 09:29:30.309 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:234] : ctr453子设备遥测数据结构错误 +2023-09-28 09:29:49.005 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->12ms +2023-09-28 09:29:49.013 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->13ms +2023-09-28 09:29:49.025 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-28 09:29:49.037 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->28ms +2023-09-28 09:29:52.411 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->15ms +2023-09-28 09:29:53.294 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->15ms +2023-09-28 09:33:03.088 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:153] : +2023-09-28 09:33:10.364 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->15ms +2023-09-28 09:33:10.882 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->17ms +2023-09-28 09:33:33.235 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->32ms +2023-09-28 09:33:33.664 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->19ms +2023-09-28 09:35:06.254 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 09:35:15-------------------------------- +2023-09-28 09:35:15.278 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 09:35:15.284 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 09:35:15.287 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 09:35:15.287 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 09:35:15.296 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 09:35:15.296 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 09:35:15.297 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 09:35:15.297 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 09:35:15.297 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 09:35:15.303 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 09:35:15 [INFO] JobCore start success. +2023-09-28 09:35:18.321 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-28 09:35:18.324 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 09:35:37.417 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : +2023-09-28 09:36:02.044 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/property/history] : 获取设备属性的遥测历史 ->18ms +2023-09-28 09:36:04.779 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/property/history] : 获取设备属性的遥测历史 ->16ms +2023-09-28 09:36:05.440 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/property/history] : 获取设备属性的遥测历史 ->14ms +2023-09-28 09:36:07.994 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:36:08.442 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->16ms +2023-09-28 09:36:57.350 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 09:37:04-------------------------------- +2023-09-28 09:37:04.240 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 09:37:04.247 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 09:37:04.249 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 09:37:04.249 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 09:37:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 09:37:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 09:37:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 09:37:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 09:37:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 09:37:04.263 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 09:37:04 [INFO] JobCore start success. +2023-09-28 09:37:04.403 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:98] : pandax断开连接 +2023-09-28 09:37:04.405 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-28 09:37:04.407 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 09:39:53.682 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : +2023-09-28 09:40:15.266 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->15ms +2023-09-28 09:40:15.645 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->17ms +2023-09-28 09:40:16.570 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:40:17.035 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:43:33.516 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:43:33.519 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list] : 获取Product分页列表 ->18ms +2023-09-28 09:43:33.523 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/category/list/tree/label] : 获取ProductCategory树 ->4ms +2023-09-28 09:43:33.578 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-28 09:43:44.534 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->9ms +2023-09-28 09:43:46.950 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/template/list] [uid=1] [uname=panda] : 获取Template分页列表 ->10ms +2023-09-28 09:44:50.226 [ERROR] [D:/workspace/go/project/PandaX/PandaX/apps/device/api/product_template.go:115] : sql: converting argument $1 type: unsupported type sql.DB, a struct +2023-09-28 09:44:50.335 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [PUT=/device/template] [uid=1] : 修改Template信息 ->575ms +2023-09-28 09:44:50.366 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->12ms +2023-09-28 09:46:11.596 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->17ms +2023-09-28 09:46:11.605 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->14ms +2023-09-28 09:46:11.605 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->42ms +2023-09-28 09:46:11.606 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:46:26.806 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->14ms +2023-09-28 09:46:27.785 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->15ms +2023-09-28 09:46:28.970 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->17ms +2023-09-28 09:46:29.468 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->19ms +2023-09-28 09:46:33.283 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/rC82hwE6iw/status] [uid=1] [uname=panda] : 获取Device状态信息 ->15ms +2023-09-28 09:46:34.421 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/rC82hwE6iw/status] : 获取Device状态信息 ->16ms +2023-09-28 09:48:16.646 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : +2023-09-28 09:49:30.771 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 09:49:38-------------------------------- +2023-09-28 09:49:38.986 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 09:49:38.992 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 09:49:38.994 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 09:49:38.994 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 09:49:39.002 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 09:49:39.003 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 09:49:39.003 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 09:49:39.004 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 09:49:39.004 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:34] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 09:49:39.009 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 09:49:39 [INFO] JobCore start success. +2023-09-28 09:49:42.839 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:99] : pandax断开连接 +2023-09-28 09:49:42.841 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:115] : 账号pandax,开始认证 +2023-09-28 09:49:42.843 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:85] : Client emqx@172.17.0.4 Connected +2023-09-28 09:50:09.569 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : 设置设备影子点失败 +2023-09-28 09:50:18.314 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/status] [uid=1] [uname=panda] : 获取Device状态信息 ->15ms +2023-09-28 09:50:19.425 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->16ms +2023-09-28 09:50:20.534 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->15ms +2023-09-28 09:50:21.065 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->17ms +2023-09-28 09:50:26.468 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/68zSC94dFQ/property/history] [uid=1] [uname=panda] : 获取设备属性的遥测历史 ->26ms +2023-09-28 09:50:32.354 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/category/list/tree/label] [uid=1] : 获取ProductCategory树 ->5ms +2023-09-28 09:50:32.355 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list] [uid=1] : 获取Product分页列表 ->15ms +2023-09-28 09:50:32.364 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-28 09:50:32.451 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->1ms +2023-09-28 09:50:38.221 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/template/list] [uid=1] [uname=panda] : 获取Template分页列表 ->11ms +2023-09-28 09:50:40.357 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->10ms +2023-09-28 09:52:25.647 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 09:52:32-------------------------------- +2023-09-28 09:52:32.359 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 09:52:32.367 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 09:52:32.369 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 09:52:32.370 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 09:52:32.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 09:52:32.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 09:52:32.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 09:52:32.382 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 09:52:32.383 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:34] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 09:52:32.398 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 09:52:32 [INFO] JobCore start success. +2023-09-28 09:52:32.701 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:99] : pandax断开连接 +2023-09-28 09:52:32.703 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:115] : 账号pandax,开始认证 +2023-09-28 09:52:32.706 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:85] : Client emqx@172.17.0.4 Connected +2023-09-28 09:52:39.756 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : 设置设备影子点失败 +2023-09-28 09:54:34.394 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : +2023-09-28 09:55:11.767 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->11ms +2023-09-28 09:55:11.778 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->11ms +2023-09-28 09:55:11.778 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 ->28ms +2023-09-28 09:55:11.780 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-28 09:55:15.182 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->14ms +2023-09-28 09:55:15.976 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->14ms +2023-09-28 10:00:56.867 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 10:01:03-------------------------------- +2023-09-28 10:01:03.284 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 10:01:03.290 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 10:01:03.291 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 10:01:03.292 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 10:01:03.301 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 10:01:03.301 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 10:01:03.301 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 10:01:03.302 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 10:01:03.302 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 10:01:03.307 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 10:01:03 [INFO] JobCore start success. +2023-09-28 10:01:03.406 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-28 10:01:03.409 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 10:02:01.995 [ERROR] [D:/workspace/go/project/PandaX/PandaX/iothub/hook_message_work/hook_message_work.go:155] : +2023-09-28 10:02:13.414 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/68zSC94dFQ/status] [uid=1] : 获取Device状态信息 ->15ms +2023-09-28 10:02:14.400 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/68zSC94dFQ/status] : 获取Device状态信息 ->17ms +2023-09-28 10:07:08.686 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed + +2023-09-28 10:07:15-------------------------------- +2023-09-28 10:07:15.726 [INFO] [D:/workspace/go/pkg/mod/github.com/!panda!x!g!o/!panda!kit@v0.0.0-20230914055936-853aa978dda1/starter/gorm.go:36] : 连接mysql [root:!MyEMS1@tcp(127.0.0.1:3306)/pandax_iot?charset=utf8&loc=Local&parseTime=true] +2023-09-28 10:07:15.732 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:45] : mysql连接成功 +2023-09-28 10:07:15.734 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:50] : Redis连接成功 +2023-09-28 10:07:15.734 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:57] : Tdengine连接成功 +2023-09-28 10:07:15.742 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:75] : 路由初始化完成 +2023-09-28 10:07:15.742 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-28 10:07:15.742 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:46] : HTTP Server listen: :7788 +2023-09-28 10:07:15.743 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/tcpserver/hook.go:29] : TCP IOTHUB HOOK Start SUCCESS, Server listen: +2023-09-28 10:07:15.743 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:33] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: +2023-09-28 10:07:15.748 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-28 10:07:15 [INFO] JobCore start success. +2023-09-28 10:07:20.747 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:114] : 账号pandax,开始认证 +2023-09-28 10:07:20.749 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/server/emqxserver/hook.go:84] : Client emqx@172.17.0.4 Connected +2023-09-28 10:07:31.493 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:48] : error http serve: http: Server closed diff --git a/iothub/README.md b/iothub/README.md index 57386a7..9ee6422 100644 --- a/iothub/README.md +++ b/iothub/README.md @@ -47,7 +47,7 @@ return {msg: msg, metadata: metadata, msgType: msgType}; ``` ## 网关子设备属性上报格式 -devA 为设备ID +devA 为设备标识 ```json { "devA": { @@ -62,18 +62,25 @@ devA 为设备ID ``` ## 网关子设备遥测上报格式 -devA 为设备ID +devA 为设备标识 ```json { - "devA": [ - { + "devA": { "ts": 1689837909000, "values": { "telemetry1": "value1", "telemetry2": 0 } } - ] +} +``` +或者 +```json +{ + "devA": { + "telemetry1": "value1", + "telemetry2": 0 + } } ``` @@ -84,13 +91,11 @@ devA 为设备ID "devB": "offline" } ``` -## 命令下发格式 -下发的ID和相应的ID相同 +## 命令下发,设备请求格式, ```json { - "id": "2343", - "cmd": "restart", - "content": { + "method": "restart", + "params": { "firmware_address": "http://xxx.yyy.com", "version": "latest", "secret": "****", @@ -98,14 +103,13 @@ devA 为设备ID } } ``` +属性下发 method: 'setAttributes' ## 命令响应的格式 -success 返回结果必传 content代表输出参数可选 ```json { - "id": "2343", - "success": true, - "content": { + "method": "2343", + "params": { "aa": "2" } } diff --git a/iothub/hook_message_work/hook_message_work.go b/iothub/hook_message_work/hook_message_work.go index a533e1b..85e35b9 100644 --- a/iothub/hook_message_work/hook_message_work.go +++ b/iothub/hook_message_work/hook_message_work.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "github.com/PandaXGO/PandaKit/biz" + "log" "pandax/apps/device/entity" "pandax/apps/device/services" ruleEntity "pandax/apps/rule/entity" @@ -67,6 +68,7 @@ func (s *HookService) handleOne(msg *netbase.DeviceEventInfo) { global.Log.Error("规则链执行失败", errs) } // 保存设备影子 + log.Println(ruleMessage.Msg, msg.Type, msg.DeviceAuth) if msg.Type != message.RpcRequestMes { SetDeviceShadow(msg.DeviceAuth, ruleMessage.Msg, msg.Type) } @@ -106,7 +108,7 @@ func getRuleChain(etoken *tool.DeviceAuth) *ruleEntity.RuleDataJson { } }() key := etoken.ProductId - get, err := global.Cache.ComputeIfAbsent(key, func(k any) (any, error) { + get, err := global.ProductCache.ComputeIfAbsent(key, func(k any) (any, error) { one := services.ProductModelDao.FindOne(k.(string)) rule := ruleService.RuleChainModelDao.FindOne(one.RuleChainId) return rule.RuleDataJson, nil diff --git a/iothub/netbase/hook_base.go b/iothub/netbase/hook_base.go index dfb514d..ba71f61 100644 --- a/iothub/netbase/hook_base.go +++ b/iothub/netbase/hook_base.go @@ -2,7 +2,6 @@ package netbase import ( "encoding/json" - "log" "pandax/apps/device/services" "pandax/iothub/server/emqxserver/protobuf" "pandax/pkg/global" @@ -25,7 +24,6 @@ func Auth(authToken string) bool { err = global.RedisDb.Get(authToken, etoken) } else { device, err := services.DeviceModelDao.FindOneByToken(authToken) - log.Println(err) if err != nil { global.Log.Infof("设备token %s 不存在", authToken) return false @@ -48,6 +46,32 @@ func Auth(authToken string) bool { return true } +func SubAuth(name string) (*tool.DeviceAuth, bool) { + etoken := &tool.DeviceAuth{} + // redis 中有就查询,没有就添加 + exists, err := global.RedisDb.Exists(global.RedisDb.Context(), name).Result() + if exists == 1 { + err = etoken.GetDeviceToken(name) + } else { + device, err := services.DeviceModelDao.FindOneByName(name) + // 没有设备就要创建设备 + if err != nil { + global.Log.Infof("设备标识 %s 不存在", name) + return nil, false + } + etoken, err = services.GetDeviceToken(device) + if err != nil { + global.Log.Infof("设备标识 %s添加缓存失败", name) + return nil, false + } + } + if err != nil { + global.Log.Infof("无效设备标识 %s", name) + return nil, false + } + return etoken, true +} + // 解析遥测数据类型 返回标准带时间戳格式 func UpdateDeviceTelemetryData(data string) map[string]interface{} { tel := make(map[string]interface{}) diff --git a/iothub/server/emqxserver/const.go b/iothub/server/emqxserver/const.go index 76cdd17..ba92134 100644 --- a/iothub/server/emqxserver/const.go +++ b/iothub/server/emqxserver/const.go @@ -15,7 +15,6 @@ const ( AttributesGatewayTopic = "v1/gateway/attributes" TelemetryGatewayTopic = "v1/gateway/telemetry" ConnectGatewayTopic = "v1/gateway/connect" - DisconnectGatewayTopic = "v1/gateway/disconnect" RpcReqReg = `v1/devices/me/rpc/request/(.*?)$` ) @@ -33,7 +32,6 @@ func NewIotHubTopic() TopicMeg { AttributesGatewayTopic: message.GATEWAY, TelemetryGatewayTopic: message.GATEWAY, ConnectGatewayTopic: message.GATEWAY, - DisconnectGatewayTopic: message.GATEWAY, } } diff --git a/iothub/server/emqxserver/hook.go b/iothub/server/emqxserver/hook.go index ee0281a..1bce726 100644 --- a/iothub/server/emqxserver/hook.go +++ b/iothub/server/emqxserver/hook.go @@ -203,15 +203,15 @@ func (s *HookGrpcService) OnMessagePublish(ctx context.Context, in *exhook2.Mess res.Value = &exhook2.ValuedResponse_BoolResult{BoolResult: false} return res, nil } - // key就是deviceId + // key就是device name for key, value := range subData { - etoken := &tool.DeviceAuth{} - err = global.RedisDb.Get(key, etoken) - if err != nil { - global.Log.Infof("%s设备不存在", key) + auth, isSub := netbase.SubAuth(key) + if !isSub { + global.Log.Infof("子设备%s 标识不存在,请先创建设备标识", key) continue } - data.DeviceId = key + data.DeviceAuth = auth + data.DeviceId = auth.DeviceId if in.Message.Topic == AttributesGatewayTopic { data.Type = message.AttributesMes marshal, _ := json.Marshal(value) @@ -227,36 +227,28 @@ func (s *HookGrpcService) OnMessagePublish(ctx context.Context, in *exhook2.Mess if in.Message.Topic == TelemetryGatewayTopic { data.Type = message.TelemetryMes // 数据处理 如果上传的数据没有时间戳 添加时间戳更改格式化 - telData := make([]map[string]interface{}, 0) - // 解析子设备遥测数据结构 - marshal, _ := json.Marshal(value) - err := json.Unmarshal(marshal, &telData) - if err != nil { - global.Log.Infof("%s子设备遥测数据结构错误", key) + td, _ := json.Marshal(value) + telemetryData := netbase.UpdateDeviceTelemetryData(string(td)) + if telemetryData == nil { continue } - for _, da := range telData { - td, _ := json.Marshal(da) - telemetryData := netbase.UpdateDeviceTelemetryData(string(td)) - if telemetryData == nil { - continue + bytes, _ := json.Marshal(telemetryData) + data.Datas = string(bytes) + // 子设备发送到队列里 + s.HookService.MessageCh <- data + } + if in.Message.Topic == ConnectGatewayTopic { + if val, ok := value.(string); ok { + if val == "online" { + data = netbase.CreateConnectionInfo(message.ConnectMes, "mqtt", in.Message.From, in.Message.Headers["peerhost"], auth) + } + if val == "offline" { + data = netbase.CreateConnectionInfo(message.DisConnectMes, "mqtt", in.Message.From, in.Message.Headers["peerhost"], auth) } - bytes, _ := json.Marshal(telemetryData) - data.Datas = string(bytes) // 子设备发送到队列里 s.HookService.MessageCh <- data } } - if in.Message.Topic == ConnectGatewayTopic { - data = netbase.CreateConnectionInfo(message.ConnectMes, "mqtt", in.Message.From, in.Message.Headers["peerhost"], etoken) - // 子设备发送到队列里 - s.HookService.MessageCh <- data - } - if in.Message.Topic == DisconnectGatewayTopic { - data = netbase.CreateConnectionInfo(message.DisConnectMes, "mqtt", in.Message.From, in.Message.Headers["peerhost"], etoken) - // 子设备发送到队列里 - s.HookService.MessageCh <- data - } } res.Value = &exhook2.ValuedResponse_Message{Message: in.Message} return res, nil diff --git a/iothub/server/httpserver/hook.go b/iothub/server/httpserver/hook.go index 447fd26..5b65101 100644 --- a/iothub/server/httpserver/hook.go +++ b/iothub/server/httpserver/hook.go @@ -6,7 +6,6 @@ import ( "fmt" "github.com/emicklei/go-restful/v3" "io" - "log" "net" "net/http" "pandax/iothub/hook_message_work" @@ -41,11 +40,10 @@ func InitHttpHook(addr string, hs *hook_message_work.HookService) { // 断开连接 switch state { case http.StateHijacked, http.StateClosed: - etoken, _ := activeConnections.Load(conn.RemoteAddr()) - log.Println("关闭http连接") + etoken, _ := activeConnections.Load(conn.RemoteAddr().String()) data := netbase.CreateConnectionInfo(message.DisConnectMes, "http", conn.RemoteAddr().String(), conn.RemoteAddr().String(), etoken.(*tool.DeviceAuth)) + activeConnections.Delete(conn.RemoteAddr().String()) service.HookService.MessageCh <- data - activeConnections.Delete(conn.RemoteAddr()) } } err := server.Start(context.TODO()) diff --git a/pkg/global/global.go b/pkg/global/global.go index 00230b3..8f938a1 100644 --- a/pkg/global/global.go +++ b/pkg/global/global.go @@ -21,4 +21,6 @@ var ( var EventEmitter = events.EventEmitter{} // Cache 默认10分钟 -var Cache = cache.NewTimedCache(cache.NoExpiration, 600*time.Second) +var ProductCache = cache.NewTimedCache(cache.NoExpiration, 24*time.Hour) +var SubDeviceCache = cache.NewTimedCache(cache.NoExpiration, 24*time.Hour) +var PanelCache = cache.NewTimedCache(cache.NoExpiration, 600*time.Second) diff --git a/pkg/initialize/event.go b/pkg/initialize/event.go index e6a27bb..22ecea1 100644 --- a/pkg/initialize/event.go +++ b/pkg/initialize/event.go @@ -17,7 +17,7 @@ func InitEvents() { }) if list != nil { for _, product := range *list { - global.Cache.Put(product.Id, codeData) + global.ProductCache.Put(product.Id, codeData) } } }) diff --git a/pkg/tool/device.go b/pkg/tool/device.go index 62b1f2f..cb98b41 100644 --- a/pkg/tool/device.go +++ b/pkg/tool/device.go @@ -24,7 +24,6 @@ type DeviceAuth struct { ProductId string `json:"product_id"` RuleChainId string `json:"rule_chain_id"` Name string `json:"name"` - Token string `json:"token"` CreatedAt int64 `json:"created_at"` ExpiredAt int64 `json:"expired_at"` } diff --git a/shutdown.bat b/shutdown.bat index 0655335..7ac3ae7 100644 --- a/shutdown.bat +++ b/shutdown.bat @@ -1 +1 @@ -taskkill /pid 25960 -t -f \ No newline at end of file +taskkill /pid 26536 -t -f \ No newline at end of file