From 6630ebdb02b0612d112dd87b17fe755411e37825 Mon Sep 17 00:00:00 2001 From: XM-GO <93296511+XM-GO@users.noreply.github.com> Date: Fri, 15 Sep 2023 15:13:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=95=B0=E6=8D=AE=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E6=9D=83=E9=99=90=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/develop/api/table.go | 3 + apps/develop/entity/dev_gen_table.go | 1 + apps/develop/entity/dev_gen_table_column.go | 1 + apps/develop/services/gen_table.go | 5 +- apps/device/api/device.go | 3 +- apps/device/api/device_alarm.go | 3 + apps/device/api/device_group.go | 32 +- apps/device/entity/device_exp.go | 1 + apps/device/services/device.go | 6 +- apps/device/services/device_alarm.go | 4 + apps/device/services/device_group.go | 6 + apps/device/services/product.go | 12 - apps/job/api/job.go | 11 +- apps/job/api/log_job.go | 10 +- apps/job/jobs/jobbase.go | 2 + apps/job/services/job.go | 7 + apps/job/services/log_job.go | 5 + apps/log/entity/log_login.go | 3 - apps/log/entity/log_oper.go | 3 - apps/log/services/log_login.go | 5 - apps/rule/api/rulechain.go | 4 + apps/rule/api/rulechain_log.go | 4 + apps/rule/entity/rulechain.go | 1 + apps/rule/services/rulechain.go | 7 + apps/rule/services/rulechain_log.go | 3 + apps/system/api/user.go | 2 - apps/system/entity/role.go | 2 + apps/system/services/role.go | 12 + fatal.log | 48 ++ iothub/hook_message_work.go | 3 +- panda_log.log | 538 ++++++++++++++++++ pkg/middleware/oper.go | 1 - pkg/rule_engine/message/message.go | 6 +- .../nodes/action_create_alarm_node.go | 1 + pkg/rule_engine/nodes/action_log_node.go | 1 + pkg/tool/device.go | 18 +- shutdown.bat | 2 +- 37 files changed, 717 insertions(+), 59 deletions(-) diff --git a/apps/develop/api/table.go b/apps/develop/api/table.go index 800cc83..4a5ee3d 100644 --- a/apps/develop/api/table.go +++ b/apps/develop/api/table.go @@ -40,6 +40,7 @@ func (g *GenTableApi) GetTablePage(rc *restfulx.ReqCtx) { dgt.TableName = restfulx.QueryParam(rc, "tableName") dgt.TableComment = restfulx.QueryParam(rc, "tableComment") dgt.RoleId = rc.LoginAccount.RoleId + dgt.Owner = rc.LoginAccount.UserName list, total := g.GenTableApp.FindListPage(pageNum, pageSize, dgt) rc.ResData = model.ResultPage{ @@ -78,6 +79,7 @@ func (g *GenTableApi) GetTableInfoByName(rc *restfulx.ReqCtx) { func (g *GenTableApi) GetTableTree(rc *restfulx.ReqCtx) { dgt := entity.DevGenTable{} dgt.RoleId = rc.LoginAccount.RoleId + dgt.Owner = rc.LoginAccount.UserName rc.ResData = g.GenTableApp.FindTree(dgt) } @@ -92,6 +94,7 @@ func (g *GenTableApi) Insert(rc *restfulx.ReqCtx) { go func(wg *sync.WaitGroup, index int) { genTable := gen.ToolsGenTableColumn.GenTableInit(tablesList[index]) genTable.OrgId = rc.LoginAccount.OrganizationId + genTable.Owner = rc.LoginAccount.UserName g.GenTableApp.Insert(genTable) wg.Done() }(&wg, index) diff --git a/apps/develop/entity/dev_gen_table.go b/apps/develop/entity/dev_gen_table.go index d24ee3d..bc2cbf2 100644 --- a/apps/develop/entity/dev_gen_table.go +++ b/apps/develop/entity/dev_gen_table.go @@ -5,6 +5,7 @@ import "github.com/PandaXGO/PandaKit/model" type DevGenTable struct { TableId int64 `gorm:"primaryKey;autoIncrement" json:"tableId"` // 编号 OrgId int64 `json:"orgId" gorm:"type:int;comment:机构ID"` + Owner string `json:"owner" gorm:"type:varchar(64);comment:创建者,所有者"` TableName string `gorm:"table_name" json:"tableName"` // 表名称 TableComment string `gorm:"table_comment" json:"tableComment"` // 表描述 ClassName string `gorm:"class_name" json:"className"` // 实体类名称 diff --git a/apps/develop/entity/dev_gen_table_column.go b/apps/develop/entity/dev_gen_table_column.go index 3cfd40a..def4e03 100644 --- a/apps/develop/entity/dev_gen_table_column.go +++ b/apps/develop/entity/dev_gen_table_column.go @@ -3,6 +3,7 @@ package entity type DevGenTableColumn struct { ColumnId int64 `gorm:"primaryKey;autoIncrement" json:"columnId"` // 编号 OrgId int64 `json:"orgId" gorm:"type:int;comment:机构ID"` + Owner string `json:"owner" gorm:"type:varchar(64);comment:创建者,所有者"` TableId int64 `gorm:"table_id" json:"tableId"` // 归属表编号 TableName string `gorm:"table_name" json:"tableName"` ColumnName string `gorm:"column_name" json:"columnName"` // 列名称 diff --git a/apps/develop/services/gen_table.go b/apps/develop/services/gen_table.go index 1d6e040..c1ff5d9 100644 --- a/apps/develop/services/gen_table.go +++ b/apps/develop/services/gen_table.go @@ -97,6 +97,7 @@ func (m *devGenTableModelImpl) Insert(dgt entity.DevGenTable) { dgt.Columns[i].TableId = dgt.TableId columns := dgt.Columns[i] columns.OrgId = dgt.OrgId + columns.Owner = dgt.Owner DevTableColumnModelDao.Insert(columns) } } @@ -134,7 +135,7 @@ func (m *devGenTableModelImpl) FindTree(data entity.DevGenTable) *[]entity.DevGe db = db.Where("table_comment = ?", data.TableComment) } // 组织数据访问权限 - tool.OrgAuthSet(db, data.RoleId) + tool.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Find(&resData).Error biz.ErrIsNil(err, "获取TableTree失败") for i := 0; i < len(resData); i++ { @@ -161,7 +162,7 @@ func (m *devGenTableModelImpl) FindListPage(page, pageSize int, data entity.DevG db = db.Where("table_comment = ?", data.TableComment) } // 组织数据访问权限 - tool.OrgAuthSet(db, data.RoleId) + tool.OrgAuthSet(db, data.RoleId, data.Owner) db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Limit(pageSize).Offset(offset).Find(&list).Error diff --git a/apps/device/api/device.go b/apps/device/api/device.go index de4a48f..a5b554a 100644 --- a/apps/device/api/device.go +++ b/apps/device/api/device.go @@ -39,8 +39,9 @@ func (p *DeviceApi) GetDeviceList(rc *restfulx.ReqCtx) { data.DeviceType = restfulx.QueryParam(rc, "deviceType") data.ParentId = restfulx.QueryParam(rc, "parentId") data.LinkStatus = restfulx.QueryParam(rc, "linkStatus") - // 权限检查 + data.RoleId = rc.LoginAccount.RoleId + data.Owner = rc.LoginAccount.UserName list, total := p.DeviceApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ diff --git a/apps/device/api/device_alarm.go b/apps/device/api/device_alarm.go index 02235db..21afac6 100644 --- a/apps/device/api/device_alarm.go +++ b/apps/device/api/device_alarm.go @@ -26,6 +26,9 @@ func (p *DeviceAlarmApi) GetDeviceAlarmList(rc *restfulx.ReqCtx) { data.StartTime = restfulx.QueryParam(rc, "startTime") data.EndTime = restfulx.QueryParam(rc, "endTime") + data.RoleId = rc.LoginAccount.RoleId + data.Owner = rc.LoginAccount.UserName + list, total := p.DeviceAlarmApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ diff --git a/apps/device/api/device_group.go b/apps/device/api/device_group.go index 6961af0..544ce0a 100644 --- a/apps/device/api/device_group.go +++ b/apps/device/api/device_group.go @@ -18,14 +18,20 @@ func (p *DeviceGroupApi) GetDeviceGroupTree(rc *restfulx.ReqCtx) { status := restfulx.QueryParam(rc, "status") id := restfulx.QueryParam(rc, "id") - sg := entity.DeviceGroup{Name: name, Status: status} - sg.Id = id - rc.ResData = p.DeviceGroupApp.SelectDeviceGroup(sg) + vsg := entity.DeviceGroup{Name: name, Status: status} + vsg.Id = id + vsg.RoleId = rc.LoginAccount.RoleId + vsg.Owner = rc.LoginAccount.UserName + + rc.ResData = p.DeviceGroupApp.SelectDeviceGroup(vsg) } func (p *DeviceGroupApi) GetDeviceGroupTreeLabel(rc *restfulx.ReqCtx) { - sg := entity.DeviceGroup{} - rc.ResData = p.DeviceGroupApp.SelectDeviceGroupLabel(sg) + vsg := entity.DeviceGroup{} + vsg.RoleId = rc.LoginAccount.RoleId + vsg.Owner = rc.LoginAccount.UserName + + rc.ResData = p.DeviceGroupApp.SelectDeviceGroupLabel(vsg) } func (p *DeviceGroupApi) GetDeviceGroupList(rc *restfulx.ReqCtx) { @@ -33,18 +39,24 @@ func (p *DeviceGroupApi) GetDeviceGroupList(rc *restfulx.ReqCtx) { status := restfulx.QueryParam(rc, "status") id := restfulx.QueryParam(rc, "id") - sg := entity.DeviceGroup{Name: name, Status: status} - sg.Id = id - if sg.Name == "" { - rc.ResData = p.DeviceGroupApp.SelectDeviceGroup(sg) + vsg := entity.DeviceGroup{Name: name, Status: status} + vsg.Id = id + + vsg.RoleId = rc.LoginAccount.RoleId + vsg.Owner = rc.LoginAccount.UserName + if vsg.Name == "" { + rc.ResData = p.DeviceGroupApp.SelectDeviceGroup(vsg) } else { - rc.ResData = p.DeviceGroupApp.FindList(sg) + rc.ResData = p.DeviceGroupApp.FindList(vsg) } } // GetDeviceGroupAllList 查询所有 func (p *DeviceGroupApi) GetDeviceGroupAllList(rc *restfulx.ReqCtx) { var vsg entity.DeviceGroup + vsg.RoleId = rc.LoginAccount.RoleId + vsg.Owner = rc.LoginAccount.UserName + rc.ResData = p.DeviceGroupApp.FindList(vsg) } diff --git a/apps/device/entity/device_exp.go b/apps/device/entity/device_exp.go index 3fe3b72..0f15514 100644 --- a/apps/device/entity/device_exp.go +++ b/apps/device/entity/device_exp.go @@ -10,6 +10,7 @@ import "time" type DeviceAlarm struct { Id string `json:"id" gorm:"primary_key;"` OrgId int64 `json:"orgId" gorm:"type:int;comment:机构ID"` + Owner string `json:"owner" gorm:"type:varchar(64);comment:创建者,所有者"` Time time.Time `gorm:"comment:告警时间" json:"time"` Name string `gorm:"type:varchar(64);comment:告警名称" json:"name"` DeviceId string `gorm:"type:varchar(64);comment:所属设备" json:"deviceId"` diff --git a/apps/device/services/device.go b/apps/device/services/device.go index e4cf3d7..85528c4 100644 --- a/apps/device/services/device.go +++ b/apps/device/services/device.go @@ -58,7 +58,7 @@ func getDeviceToken(data *entity.Device) *tool.DeviceAuth { etoken := &tool.DeviceAuth{ DeviceId: data.Id, OrgId: data.OrgId, - User: data.Owner, + Owner: data.Owner, Name: data.Name, DeviceType: data.DeviceType, ProductId: data.Pid, @@ -114,7 +114,7 @@ func (m *deviceModelImpl) FindListPage(page, pageSize int, data entity.Device) ( db = db.Where("parent_id = ?", data.ParentId) } // 组织数据访问权限 - tool.OrgAuthSet(db, data.RoleId) + tool.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Count(&total).Error err = db.Order("create_time").Preload("Product").Preload("DeviceGroup").Limit(pageSize).Offset(offset).Find(&list).Error @@ -153,7 +153,7 @@ func (m *deviceModelImpl) FindList(data entity.Device) *[]entity.DeviceRes { if data.ParentId != "" { db = db.Where("parent_id = ?", data.ParentId) } - tool.OrgAuthSet(db, data.RoleId) + tool.OrgAuthSet(db, data.RoleId, data.Owner) db.Preload("Product").Preload("DeviceGroup") biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询设备列表失败") return &list diff --git a/apps/device/services/device_alarm.go b/apps/device/services/device_alarm.go index 039ffb0..f0ae856 100644 --- a/apps/device/services/device_alarm.go +++ b/apps/device/services/device_alarm.go @@ -4,6 +4,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "pandax/apps/device/entity" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -72,6 +73,9 @@ func (m *alarmModelImpl) FindListPage(page, pageSize int, data entity.DeviceAlar if data.EndTime != "" { db = db.Where("time < ?", data.EndTime) } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) + err := db.Count(&total).Error err = db.Order("time").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询设备告警分页列表失败") diff --git a/apps/device/services/device_group.go b/apps/device/services/device_group.go index f6bfbef..0c6f904 100644 --- a/apps/device/services/device_group.go +++ b/apps/device/services/device_group.go @@ -5,6 +5,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "pandax/apps/device/entity" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -67,6 +68,9 @@ func (m *deviceGroupModelImpl) FindListPage(page, pageSize int, data entity.Devi if data.Status != "" { db = db.Where("status = ?", data.Status) } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) + err := db.Count(&total).Error err = db.Order("sort").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询设备分组分页列表失败") @@ -86,6 +90,8 @@ func (m *deviceGroupModelImpl) FindList(data entity.DeviceGroup) *[]entity.Devic if data.Status != "" { db = db.Where("status = ?", data.Status) } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) biz.ErrIsNil(db.Order("sort").Find(&list).Error, "查询设备分组列表失败") return &list } diff --git a/apps/device/services/product.go b/apps/device/services/product.go index 8953e80..95c6aed 100644 --- a/apps/device/services/product.go +++ b/apps/device/services/product.go @@ -62,9 +62,6 @@ func (m *productModelImpl) FindListPage(page, pageSize int, data entity.Product) if data.DeviceType != "" { db = db.Where("device_type = ?", data.DeviceType) } - if data.Id != "" { - db = db.Where("id = ?", data.Id) - } if data.ProductCategoryId != "" { db = db.Where("product_category_id = ?", data.ProductCategoryId) } @@ -77,9 +74,6 @@ func (m *productModelImpl) FindListPage(page, pageSize int, data entity.Product) if data.Name != "" { db = db.Where("name like ?", "%"+data.Name+"%") } - if data.OrgId != 0 { - db = db.Where("org_id = ?", data.OrgId) - } if data.RuleChainId != "" { db = db.Where("rule_chain_id = ?", data.RuleChainId) } @@ -99,9 +93,6 @@ func (m *productModelImpl) FindList(data entity.Product) *[]entity.ProductRes { if data.DeviceType != "" { db = db.Where("device_type = ?", data.DeviceType) } - if data.Id != "" { - db = db.Where("id = ?", data.Id) - } if data.ProductCategoryId != "" { db = db.Where("product_category_id = ?", data.ProductCategoryId) } @@ -114,9 +105,6 @@ func (m *productModelImpl) FindList(data entity.Product) *[]entity.ProductRes { if data.Name != "" { db = db.Where("name like ?", "%"+data.Name+"%") } - if data.OrgId != 0 { - db = db.Where("org_id = ?", data.OrgId) - } if data.RuleChainId != "" { db = db.Where("rule_chain_id = ?", data.RuleChainId) } diff --git a/apps/job/api/job.go b/apps/job/api/job.go index 0feca3b..eed7b86 100644 --- a/apps/job/api/job.go +++ b/apps/job/api/job.go @@ -27,12 +27,16 @@ func (j *JobApi) CreateJob(rc *restfulx.ReqCtx) { } func (j *JobApi) GetJobList(rc *restfulx.ReqCtx) { + job := entity.SysJob{} pageNum := restfulx.QueryInt(rc, "pageNum", 1) pageSize := restfulx.QueryInt(rc, "pageSize", 10) - jobName := restfulx.QueryParam(rc, "jobName") - status := restfulx.QueryParam(rc, "status") + job.JobName = restfulx.QueryParam(rc, "jobName") + job.Status = restfulx.QueryParam(rc, "status") - list, total := j.JobApp.FindListPage(pageNum, pageSize, entity.SysJob{JobName: jobName, Status: status}) + job.RoleId = rc.LoginAccount.RoleId + job.Owner = rc.LoginAccount.UserName + + list, total := j.JobApp.FindListPage(pageNum, pageSize, job) rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -80,6 +84,7 @@ func (l *JobApi) StartJobForService(rc *restfulx.ReqCtx) { j.Args = job.TargetArgs j.MisfirePolicy = job.MisfirePolicy j.OrgId = job.OrgId + j.Owner = job.Owner job.EntryId, err = jobs.AddJob(jobs.Crontab, j) log.Println(err) biz.ErrIsNil(err, "添加JOB失败") diff --git a/apps/job/api/log_job.go b/apps/job/api/log_job.go index 16dba64..b911742 100644 --- a/apps/job/api/log_job.go +++ b/apps/job/api/log_job.go @@ -14,12 +14,16 @@ type JobLogApi struct { // GetJobLogList Job日志列表 func (l *JobLogApi) GetJobLogList(rc *restfulx.ReqCtx) { + job := entity.JobLog{} pageNum := restfulx.QueryInt(rc, "pageNum", 1) pageSize := restfulx.QueryInt(rc, "pageSize", 10) - name := restfulx.QueryParam(rc, "name") - status := restfulx.QueryParam(rc, "status") + job.Name = restfulx.QueryParam(rc, "name") + job.Status = restfulx.QueryParam(rc, "status") - list, total := l.JobLogApp.FindListPage(pageNum, pageSize, entity.JobLog{Name: name, Status: status}) + job.RoleId = rc.LoginAccount.RoleId + job.Owner = rc.LoginAccount.UserName + + list, total := l.JobLogApp.FindListPage(pageNum, pageSize, job) rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), diff --git a/apps/job/jobs/jobbase.go b/apps/job/jobs/jobbase.go index 5c48e5c..4a19920 100644 --- a/apps/job/jobs/jobbase.go +++ b/apps/job/jobs/jobbase.go @@ -38,6 +38,7 @@ type JobCore struct { Name string JobId string OrgId int64 + Owner string EntryId int CronExpression string // 任务表达式 MisfirePolicy string @@ -55,6 +56,7 @@ func (e *ExecJob) Run() { jobLog := logEntity.JobLog{Name: e.Name, EntryId: e.EntryId, TargetInvoke: e.InvokeTarget, Status: "0"} jobLog.Id = kgo.KStr.Uniqid("") jobLog.OrgId = e.OrgId + jobLog.Owner = e.Owner var obj = jobList[e.InvokeTarget] err := CallExec(obj.(JobsExec), e.Args, e.Content) diff --git a/apps/job/services/job.go b/apps/job/services/job.go index a6af771..ced4a19 100644 --- a/apps/job/services/job.go +++ b/apps/job/services/job.go @@ -4,6 +4,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "pandax/apps/job/entity" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -52,6 +53,10 @@ func (m *jobModelImpl) FindListPage(page, pageSize int, data entity.SysJob) (*[] if data.Status != "" { db = db.Where("status = ?", data.Status) } + + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) + err := db.Count(&total).Error err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error @@ -69,6 +74,8 @@ func (m *jobModelImpl) FindList(data entity.SysJob) *[]entity.SysJob { if data.Status != "" { db = db.Where("status = ?", data.Status) } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Order("create_time desc").Find(&list).Error if err != nil { global.Log.Error("查询任务分页信息失败:" + err.Error()) diff --git a/apps/job/services/log_job.go b/apps/job/services/log_job.go index 9697593..a8b1d5c 100644 --- a/apps/job/services/log_job.go +++ b/apps/job/services/log_job.go @@ -4,6 +4,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "pandax/apps/job/entity" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -40,6 +41,10 @@ func (m *JobLogModelImpl) FindListPage(page, pageSize int, data entity.JobLog) ( if data.Name != "" { db = db.Where("name like ?", "%"+data.Name+"%") } + + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) + err := db.Count(&total).Error err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error diff --git a/apps/log/entity/log_login.go b/apps/log/entity/log_login.go index 2cf5157..2f6d7ea 100644 --- a/apps/log/entity/log_login.go +++ b/apps/log/entity/log_login.go @@ -20,8 +20,5 @@ type LogLogin struct { Params string `json:"params" gorm:"-"` Remark string `json:"remark" gorm:"type:varchar(255);"` //备注 Msg string `json:"msg" gorm:"type:varchar(255);"` - OrgId int64 `json:"orgId" gorm:"type:int;"` model.BaseModel - - RoleId int64 `gorm:"-"` // 角色数据权限 } diff --git a/apps/log/entity/log_oper.go b/apps/log/entity/log_oper.go index e61ee9b..fdee662 100644 --- a/apps/log/entity/log_oper.go +++ b/apps/log/entity/log_oper.go @@ -6,7 +6,6 @@ import ( type LogOper struct { OperId int64 `json:"operId" gorm:"primary_key;AUTO_INCREMENT"` //主键 - OrgId int64 `json:"orgId" gorm:"type:int;comment:机构ID"` Title string `json:"title" gorm:"type:varchar(128);comment:操作的模块"` BusinessType string `json:"businessType" gorm:"type:varchar(1);comment:0其它 1新增 2修改 3删除"` Method string `json:"method" gorm:"type:varchar(255);comment:请求方法"` @@ -17,6 +16,4 @@ type LogOper struct { OperParam string `json:"operParam" gorm:"type:varchar(255);comment:请求参数"` // Status string `json:"status" gorm:"type:varchar(1);comment:0=正常,1=异常"` model.BaseModel - - RoleId int64 `gorm:"-"` // 角色数据权限 } diff --git a/apps/log/services/log_login.go b/apps/log/services/log_login.go index 6e99936..9edb0b7 100644 --- a/apps/log/services/log_login.go +++ b/apps/log/services/log_login.go @@ -26,8 +26,6 @@ var LogLoginModelDao LogLoginModel = &logLoginModelImpl{ } func (m *logLoginModelImpl) Insert(data entity.LogLogin) *entity.LogLogin { - data.CreateBy = "0" - data.UpdateBy = "0" global.Db.Table(m.table).Create(&data) return &data } @@ -51,9 +49,6 @@ func (m *logLoginModelImpl) FindListPage(page, pageSize int, data entity.LogLogi if data.LoginLocation != "" { db = db.Where("login_location like ?", "%"+data.LoginLocation+"%") } - if data.Username != "" { - db = db.Where("username like ?", "%"+data.Username+"%") - } err := db.Where("delete_time IS NULL").Count(&total).Error err = db.Order("info_id desc").Limit(pageSize).Offset(offset).Find(&list).Error diff --git a/apps/rule/api/rulechain.go b/apps/rule/api/rulechain.go index c46c1da..1fd7300 100644 --- a/apps/rule/api/rulechain.go +++ b/apps/rule/api/rulechain.go @@ -35,6 +35,10 @@ func (p *RuleChainApi) GetRuleChainList(rc *restfulx.ReqCtx) { pageNum := restfulx.QueryInt(rc, "pageNum", 1) pageSize := restfulx.QueryInt(rc, "pageSize", 10) data.RuleName = restfulx.QueryParam(rc, "ruleName") + + data.RoleId = rc.LoginAccount.RoleId + data.Owner = rc.LoginAccount.UserName + list, total := p.RuleChainApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ diff --git a/apps/rule/api/rulechain_log.go b/apps/rule/api/rulechain_log.go index 674f6ec..3383e53 100644 --- a/apps/rule/api/rulechain_log.go +++ b/apps/rule/api/rulechain_log.go @@ -23,6 +23,10 @@ func (p *RuleChainMsgLogApi) GetRuleChainMsgLogList(rc *restfulx.ReqCtx) { pageSize := restfulx.QueryInt(rc, "pageSize", 10) data.DeviceName = restfulx.QueryParam(rc, "deviceName") data.MsgType = restfulx.QueryParam(rc, "msgType") + + data.RoleId = rc.LoginAccount.RoleId + data.Owner = rc.LoginAccount.UserName + list, total := p.RuleChainMsgLogApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ diff --git a/apps/rule/entity/rulechain.go b/apps/rule/entity/rulechain.go index ba75040..c4b0bfc 100644 --- a/apps/rule/entity/rulechain.go +++ b/apps/rule/entity/rulechain.go @@ -33,6 +33,7 @@ func (RuleChain) TableName() string { type RuleChainMsgLog struct { MessageId string `gorm:"message_id;type:varchar(64);comment:消息Id" json:"messageId"` OrgId int64 `json:"orgId" gorm:"type:int;comment:机构ID"` + Owner string `json:"owner" gorm:"type:varchar(64);comment:创建者,所有者"` MsgType string `gorm:"msg_type;type:varchar(64);comment:消息类型" json:"msgType"` DeviceId string `gorm:"device_id;type:varchar(64);comment:设备ID" json:"deviceId"` DeviceName string `gorm:"device_name;type:varchar(255);comment:设备名称" json:"deviceName"` diff --git a/apps/rule/services/rulechain.go b/apps/rule/services/rulechain.go index 5af5a5b..f551b00 100644 --- a/apps/rule/services/rulechain.go +++ b/apps/rule/services/rulechain.go @@ -11,6 +11,7 @@ import ( "pandax/apps/rule/entity" "pandax/pkg/events" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -78,6 +79,8 @@ func (m *ruleChainModelImpl) FindListPage(page, pageSize int, data entity.RuleCh if data.RuleRemark != "" { db = db.Where("rule_remark like ?", "%"+data.RuleRemark+"%") } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Count(&total).Error err = db.Order("create_time").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询规则链分页列表失败") @@ -97,6 +100,8 @@ func (m *ruleChainModelImpl) FindList(data entity.RuleChain) *[]entity.RuleChain if data.RuleRemark != "" { db = db.Where("rule_remark like ?", "%"+data.RuleRemark+"%") } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询规则链列表失败") return &list } @@ -111,6 +116,8 @@ func (m *ruleChainModelImpl) FindListBaseLabel(data entity.RuleChain) *[]entity. if data.RuleName != "" { db = db.Where("rule_name like ?", "%"+data.RuleName+"%") } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) biz.ErrIsNil(db.Find(&list).Error, "查询规则链列表失败") return &list } diff --git a/apps/rule/services/rulechain_log.go b/apps/rule/services/rulechain_log.go index a76682b..0a4ccee 100644 --- a/apps/rule/services/rulechain_log.go +++ b/apps/rule/services/rulechain_log.go @@ -10,6 +10,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "pandax/apps/rule/entity" "pandax/pkg/global" + "pandax/pkg/tool" ) type ( @@ -49,6 +50,8 @@ func (m *ruleChainLogModelImpl) FindListPage(page, pageSize int, data entity.Rul if data.MsgType != "" { db = db.Where("msg_type = ?", data.MsgType) } + // 组织数据访问权限 + tool.OrgAuthSet(db, data.RoleId, data.Owner) err := db.Count(&total).Error err = db.Order("create_at").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询规则链分页列表失败") diff --git a/apps/system/api/user.go b/apps/system/api/user.go index a7c84ad..24080b9 100644 --- a/apps/system/api/user.go +++ b/apps/system/api/user.go @@ -90,7 +90,6 @@ func (u *UserApi) Login(rc *restfulx.ReqCtx) { loginLog.Ipaddr = rc.Request.Request.RemoteAddr loginLog.LoginLocation = utils.GetRealAddressByIP(rc.Request.Request.RemoteAddr) loginLog.LoginTime = time.Now() - loginLog.OrgId = login.OrganizationId loginLog.Status = "0" loginLog.Remark = rc.Request.Request.UserAgent() browserName, browserVersion := ua.Browser() @@ -131,7 +130,6 @@ func (u *UserApi) LogOut(rc *restfulx.ReqCtx) { loginLog.Ipaddr = rc.Request.Request.RemoteAddr loginLog.LoginTime = time.Now() loginLog.Status = "0" - loginLog.OrgId = rc.LoginAccount.OrganizationId loginLog.Remark = rc.Request.Request.UserAgent() browserName, browserVersion := ua.Browser() loginLog.Browser = browserName + " " + browserVersion diff --git a/apps/system/entity/role.go b/apps/system/entity/role.go index bd01704..b6ea8e8 100644 --- a/apps/system/entity/role.go +++ b/apps/system/entity/role.go @@ -27,6 +27,8 @@ type SysRole struct { ApiIds []casbin.CasbinRule `json:"apiIds" gorm:"-"` MenuIds []int64 `json:"menuIds" gorm:"-"` OrganizationIds []int64 `json:"organizationIds" gorm:"-"` + + Org string `json:"org" gorm:"column:org"` } type MenuIdList struct { diff --git a/apps/system/services/role.go b/apps/system/services/role.go index 118ae94..314e3c5 100644 --- a/apps/system/services/role.go +++ b/apps/system/services/role.go @@ -17,6 +17,7 @@ type ( Delete(roleId []int64) GetRoleMeunId(data entity.SysRole) []int64 GetRoleOrganizationId(data entity.SysRole) []int64 + FindOrganizationsByRoleId(roleId int64) (entity.SysRole, error) } sysRoleModel struct { @@ -130,3 +131,14 @@ func (m *sysRoleModel) GetRoleOrganizationId(data entity.SysRole) []int64 { } return organizationIds } + +func (m *sysRoleModel) FindOrganizationsByRoleId(roleId int64) (entity.SysRole, error) { + var roleData entity.SysRole + err := global.Db.Table(m.table). + Select("sys_roles.data_scope, GROUP_CONCAT(sys_role_organizations.organization_id) as org"). + Joins("LEFT JOIN sys_role_organizations ON sys_roles.role_id = sys_role_organizations.role_id"). + Where("sys_roles.role_id = ?", roleId). + Group("sys_roles.role_id"). + First(&roleData).Error + return roleData, err +} diff --git a/fatal.log b/fatal.log index d28e974..f198a18 100644 --- a/fatal.log +++ b/fatal.log @@ -258,3 +258,51 @@ created by pandax/iothub.(*HookService).handleOne 2023-09-14 17:03:46-------------------------------- 2023-09-14 17:16:48-------------------------------- + +2023-09-14 17:22:08-------------------------------- + +2023-09-15 08:46:35-------------------------------- + +2023-09-15 08:47:33-------------------------------- + +2023-09-15 08:49:55-------------------------------- + +2023-09-15 08:51:36-------------------------------- + +2023-09-15 08:57:24-------------------------------- + +2023-09-15 08:59:11-------------------------------- + +2023-09-15 09:00:14-------------------------------- + +2023-09-15 09:02:06-------------------------------- + +2023-09-15 09:04:31-------------------------------- + +2023-09-15 09:06:29-------------------------------- + +2023-09-15 09:09:13-------------------------------- + +2023-09-15 09:11:32-------------------------------- + +2023-09-15 09:13:46-------------------------------- + +2023-09-15 09:14:22-------------------------------- + +2023-09-15 09:41:31-------------------------------- + +2023-09-15 09:43:12-------------------------------- + +2023-09-15 09:43:57-------------------------------- + +2023-09-15 09:46:00-------------------------------- + +2023-09-15 09:46:49-------------------------------- + +2023-09-15 09:47:19-------------------------------- + +2023-09-15 10:38:48-------------------------------- + +2023-09-15 14:45:53-------------------------------- + +2023-09-15 14:52:47-------------------------------- diff --git a/iothub/hook_message_work.go b/iothub/hook_message_work.go index 3736823..f400204 100644 --- a/iothub/hook_message_work.go +++ b/iothub/hook_message_work.go @@ -126,10 +126,11 @@ func buildRuleMessage(etoken *tool.DeviceAuth, dei *DeviceEventInfo, msgType str "deviceType": etoken.DeviceType, "productId": etoken.ProductId, "orgId": etoken.OrgId, + "owner": etoken.Owner, } msgVals := make(map[string]interface{}) json.Unmarshal([]byte(dei.Datas), &msgVals) - return message.NewMessage(etoken.User, msgType, msgVals, metadataVals) + return message.NewMessage(etoken.Owner, msgType, msgVals, metadataVals) } func SendZtWebsocket(deviceId, message string) { diff --git a/panda_log.log b/panda_log.log index c6320a6..737841e 100644 --- a/panda_log.log +++ b/panda_log.log @@ -1517,3 +1517,541 @@ 2023-09-14 17:22:41.255 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/develop/code/table/info/7] : 获取表信息 ->9ms 2023-09-14 17:22:41.260 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/type/list] : 获取字典类型分页列表 ->8ms 2023-09-14 17:22:41.308 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/develop/code/table/tableTree] : 获取表树 ->46ms +2023-09-15 08:20:32.436 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [POST=/system/user/login] : 登录 ->80ms +2023-09-15 08:20:32.463 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/user/auth] [uid=1] : 认证信息 ->20ms +2023-09-15 08:20:47.668 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/alarm/list] [uid=1] : 获取告警分页列表 ->29ms +2023-09-15 08:21:14.260 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:21:17.603 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:21:17.616 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/rule/chain/list] [uid=1] : 获取规则引擎分页列表 ->8ms +2023-09-15 08:21:20.280 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/log/list] : 获取规则引擎日志分页列表 ->13ms +2023-09-15 08:22:23.706 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:22:23.713 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->4ms +2023-09-15 08:22:23.887 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->115ms +2023-09-15 08:22:23.911 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 ->192ms +2023-09-15 08:46:26.606 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:46:35.877 [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-15 08:46:35.882 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:46:35.884 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:46:35.884 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:46:35.891 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:46:35.891 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:46:35.892 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:46:35.896 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:46:35 [INFO] JobCore start success. +2023-09-15 08:46:38.655 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:46:38.656 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:46:38.658 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:47:00.546 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->3ms +2023-09-15 08:47:00.555 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:47:01.418 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->8ms +2023-09-15 08:47:01.428 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->6ms +2023-09-15 08:47:01.438 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 08:47:01.450 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->9ms +2023-09-15 08:47:25.430 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:47:34.017 [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-15 08:47:34.023 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:47:34.026 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:47:34.026 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:47:34.034 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:47:34.034 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:47:34.035 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:47:34.039 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:47:34 [INFO] JobCore start success. +2023-09-15 08:47:37.499 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:47:37.500 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:47:37.502 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:47:45.209 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->12ms +2023-09-15 08:47:45.212 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 08:47:46.299 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:47:46.311 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 08:47:46.324 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->4ms +2023-09-15 08:47:46.335 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->8ms +2023-09-15 08:49:48.433 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:49:55.547 [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-15 08:49:55.553 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:49:55.554 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:49:55.554 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:49:55.563 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:49:55.563 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:49:55.564 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:49:55.569 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:49:55 [INFO] JobCore start success. +2023-09-15 08:50:00.501 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:50:00.503 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:50:00.505 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:50:11.679 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:50:11.686 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list] [uid=1] [uname=panda] : 获取DeviceGroup列表 ->4ms +2023-09-15 08:50:12.661 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:50:12.670 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 08:50:12.678 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->4ms +2023-09-15 08:50:12.693 [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-15 08:51:29.128 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:51:36.232 [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-15 08:51:36.239 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:51:36.241 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:51:36.241 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:51:36.248 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:51:36.248 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:51:36.249 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:51:36.254 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:51:36 [INFO] JobCore start success. +2023-09-15 08:51:38.893 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:51:38.901 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->6ms +2023-09-15 08:51:39.761 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->7ms +2023-09-15 08:51:39.772 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 08:51:39.780 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->4ms +2023-09-15 08:51:39.793 [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-15 08:51:41.207 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:51:41.208 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:51:41.211 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:55:04.739 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:55:04.744 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->4ms +2023-09-15 08:55:05.686 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:55:05.701 [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-15 08:55:05.702 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 08:55:05.709 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->3ms +2023-09-15 08:57:18.375 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:57:24.207 [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-15 08:57:24.213 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:57:24.215 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:57:24.215 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:57:24.222 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:57:24.222 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:57:24.222 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:57:24.227 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:57:24 [INFO] JobCore start success. +2023-09-15 08:57:24.415 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:57:24.418 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:57:24.419 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:57:30.484 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:57:30.489 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->4ms +2023-09-15 08:57:31.141 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:57:31.152 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 08:57:31.158 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->6ms +2023-09-15 08:57:31.172 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->11ms +2023-09-15 08:59:05.184 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 08:59:11.663 [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-15 08:59:11.669 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 08:59:11.671 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 08:59:11.671 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 08:59:11.678 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 08:59:11.678 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 08:59:11.679 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 08:59:11.683 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 08:59:11 [INFO] JobCore start success. +2023-09-15 08:59:11.738 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 08:59:11.739 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 08:59:11.742 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 08:59:16.049 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->4ms +2023-09-15 08:59:16.057 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 08:59:16.676 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 08:59:16.685 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 08:59:16.691 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->3ms +2023-09-15 08:59:16.704 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->9ms +2023-09-15 09:00:08.415 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:00:14.660 [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-15 09:00:14.666 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:00:14.668 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:00:14.668 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:00:14.675 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:00:14.675 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:00:14.675 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:00:14.679 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:00:14 [INFO] JobCore start success. +2023-09-15 09:00:14.979 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:00:14.981 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:00:14.984 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:00:20.045 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->4ms +2023-09-15 09:00:20.056 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:00:21.349 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->9ms +2023-09-15 09:00:21.368 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:00:21.368 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->6ms +2023-09-15 09:00:21.383 [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-15 09:02:00.333 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:02:06.691 [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-15 09:02:06.696 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:02:06.698 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:02:06.698 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:02:06.705 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:02:06.705 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:02:06.706 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:02:06.710 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:02:06 [INFO] JobCore start success. +2023-09-15 09:02:06.874 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:02:06.875 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:02:06.878 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:02:10.681 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:02:10.690 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:02:11.728 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:02:11.743 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:02:11.744 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->3ms +2023-09-15 09:02:11.757 [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-15 09:04:24.497 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:04:31.686 [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-15 09:04:31.691 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:04:31.693 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:04:31.693 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:04:31.700 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:04:31.700 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:04:31.701 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:04:31.705 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:04:31 [INFO] JobCore start success. +2023-09-15 09:04:35.825 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:04:35.830 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->4ms +2023-09-15 09:04:36.578 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:04:36.580 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:04:36.583 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:04:36.744 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 09:04:36.749 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:04:36.756 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->4ms +2023-09-15 09:04:36.771 [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-15 09:06:23.606 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:06:29.907 [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-15 09:06:29.912 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:06:29.915 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:06:29.915 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:06:29.924 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:06:29.924 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:06:29.925 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:06:29.930 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:06:29 [INFO] JobCore start success. +2023-09-15 09:06:30.156 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:06:30.159 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:06:30.161 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:06:33.794 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->4ms +2023-09-15 09:06:33.802 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:06:34.763 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->17ms +2023-09-15 09:06:34.774 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->6ms +2023-09-15 09:06:34.788 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:06:34.798 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->8ms +2023-09-15 09:09:07.016 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:09:13.580 [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-15 09:09:13.586 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:09:13.588 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:09:13.588 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:09:13.595 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:09:13.595 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:09:13.596 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:09:13.601 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:09:13 [INFO] JobCore start success. +2023-09-15 09:09:14.085 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:09:14.086 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:09:14.090 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:09:30.055 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:09:30.063 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->5ms +2023-09-15 09:09:30.804 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->43ms +2023-09-15 09:09:30.816 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:09:30.825 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->6ms +2023-09-15 09:09:30.840 [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-15 09:11:14.599 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:11:32.414 [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-15 09:11:32.419 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:11:32.421 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:11:32.421 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:11:32.428 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:11:32.429 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:11:32.429 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:11:32.433 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:11:32 [INFO] JobCore start success. +2023-09-15 09:11:33.701 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:11:33.702 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:11:33.704 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:11:35.331 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->5ms +2023-09-15 09:11:35.339 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:11:36.417 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:11:36.424 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->3ms +2023-09-15 09:11:36.433 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:11:36.444 [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-15 09:11:46.008 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->5ms +2023-09-15 09:11:46.023 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 09:11:46.652 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->7ms +2023-09-15 09:11:46.663 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [GET=/device/list] [uid=1] [uname=panda] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:11:46.670 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->5ms +2023-09-15 09:11:46.682 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->10ms +2023-09-15 09:13:40.040 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:13:46.475 [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-15 09:13:46.480 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:13:46.482 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:13:46.482 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:13:46.490 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:13:46.490 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:13:46.490 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:13:46.496 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:13:46 [INFO] JobCore start success. +2023-09-15 09:13:46.591 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:13:46.592 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:13:46.596 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:13:52.226 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->3ms +2023-09-15 09:13:52.235 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->6ms +2023-09-15 09:13:52.766 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->48ms +2023-09-15 09:13:52.780 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:13:52.789 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->5ms +2023-09-15 09:13:52.799 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->8ms +2023-09-15 09:14:16.934 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:14:22.586 [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-15 09:14:22.591 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:14:22.594 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:14:22.594 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:14:22.603 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:14:22.603 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:14:22.603 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:14:22.607 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:14:22 [INFO] JobCore start success. +2023-09-15 09:14:22.974 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:14:22.976 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:14:22.978 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:41:32.042 [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-15 09:41:32.046 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:41:32.048 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:41:32.048 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:41:32.056 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:41:32.056 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:41:32.057 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:41:32.062 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:41:32 [INFO] JobCore start success. +2023-09-15 09:41:32.192 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:41:32.193 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:41:32.195 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:41:42.189 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list] [uid=1] [uname=panda] : 获取DeviceGroup列表 ->4ms +2023-09-15 09:41:42.197 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:41:43.101 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->44ms +2023-09-15 09:41:43.113 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:41:43.121 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->5ms +2023-09-15 09:41:43.137 [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-15 09:43:05.097 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:43:12.091 [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-15 09:43:12.096 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:43:12.098 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:43:12.098 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:43:12.105 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:43:12.105 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:43:12.105 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:43:12.110 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:43:12 [INFO] JobCore start success. +2023-09-15 09:43:12.156 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:43:12.158 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:43:12.161 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:43:17.362 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:43:17.369 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:43:18.091 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 09:43:18.098 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:43:18.107 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->5ms +2023-09-15 09:43:18.121 [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-15 09:43:50.969 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:43:57.373 [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-15 09:43:57.379 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:43:57.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:43:57.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:43:57.389 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:43:57.389 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:43:57.390 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:43:57.394 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:43:57 [INFO] JobCore start success. +2023-09-15 09:43:57.515 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:43:57.517 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:43:57.520 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:44:01.558 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->8ms +2023-09-15 09:44:01.567 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:44:02.192 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:44:02.202 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 查询角色数据权限失败 +2023-09-15 09:44:02.208 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->4ms +2023-09-15 09:44:02.220 [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-15 09:45:51.769 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:46:00.123 [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-15 09:46:00.129 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:46:00.131 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:46:00.131 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:46:00.137 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:46:00.137 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:46:00.138 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:46:00.143 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:46:00 [INFO] JobCore start success. +2023-09-15 09:46:02.506 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list] [uid=1] [uname=panda] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:46:02.515 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->3ms +2023-09-15 09:46:03.519 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->53ms +2023-09-15 09:46:03.534 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:46:03.546 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list/tree/label] [uid=1] [uname=panda] : 获取DeviceGroup树 ->6ms +2023-09-15 09:46:03.559 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->10ms +2023-09-15 09:46:03.846 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:46:03.848 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:46:03.850 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:46:44.150 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:46:49.400 [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-15 09:46:49.405 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:46:49.407 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:46:49.407 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:46:49.414 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:46:49.414 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:46:49.415 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:46:49.419 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:46:49 [INFO] JobCore start success. +2023-09-15 09:46:49.674 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:46:49.676 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:46:49.678 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:46:53.020 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:46:53.030 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 09:46:53.622 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:46:53.631 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 09:46:53.637 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->3ms +2023-09-15 09:46:53.650 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->9ms +2023-09-15 09:47:12.318 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 09:47:19.299 [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-15 09:47:19.304 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 09:47:19.305 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 09:47:19.306 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 09:47:19.313 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 09:47:19.313 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 09:47:19.314 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 09:47:19.320 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:85] : 2023-09-15 09:47:19 [INFO] JobCore start success. +2023-09-15 09:47:19.380 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 09:47:19.381 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 09:47:19.383 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 09:47:22.101 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:47:22.112 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->8ms +2023-09-15 09:47:23.714 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 09:47:23.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->4ms +2023-09-15 09:47:23.740 [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-15 09:47:23.747 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->24ms +2023-09-15 09:48:02.721 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list] [uid=1] [uname=panda] : 获取DeviceGroup列表 ->3ms +2023-09-15 09:48:02.732 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:48:04.234 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 09:48:04.247 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->5ms +2023-09-15 09:48:04.256 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->7ms +2023-09-15 09:48:04.259 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->24ms +2023-09-15 10:08:34.925 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 10:08:34.939 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/log/logLogin/list] [uid=1] : 获取登录日志列表 ->11ms +2023-09-15 10:38:04.244 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 10:38:48.260 [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-15 10:38:48.266 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 10:38:48.269 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 10:38:48.269 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 10:38:48.278 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 10:38:48.278 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 10:38:48.278 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 10:38:48.283 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-15 10:38:48 [INFO] JobCore start success. +2023-09-15 10:38:48.286 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 10:38:48.289 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 10:39:02.062 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->6ms +2023-09-15 10:39:02.083 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->11ms +2023-09-15 10:39:02.085 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 10:39:02.091 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->27ms +2023-09-15 10:39:03.399 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 10:39:03.404 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->3ms +2023-09-15 10:39:04.670 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 10:39:04.686 [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-15 10:39:04.687 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list] : 获取Product分页列表 ->16ms +2023-09-15 10:39:04.729 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-15 10:39:09.635 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 10:39:11.210 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->31ms +2023-09-15 10:39:12.251 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 10:39:12.263 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/list] : 获取规则引擎分页列表 ->8ms +2023-09-15 10:39:13.376 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/log/list] : 获取规则引擎日志分页列表 ->8ms +2023-09-15 14:45:53.349 [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-15 14:45:53.355 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 14:45:53.357 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 14:45:53.357 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 14:45:53.365 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 14:45:53.365 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 14:45:53.366 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 14:45:53.371 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-15 14:45:53 [INFO] JobCore start success. +2023-09-15 14:45:54.081 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 14:45:54.085 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 14:45:54.088 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 14:46:28.934 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [POST=/system/user/login] : 登录 ->72ms +2023-09-15 14:46:28.961 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/user/auth] [uid=1] [uname=panda] : 认证信息 ->18ms +2023-09-15 14:49:44.417 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 14:49:44.424 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 14:49:44.433 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->29ms +2023-09-15 14:49:44.439 [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-15 14:49:59.124 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list] : 获取DeviceGroup列表 ->11ms +2023-09-15 14:49:59.127 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 14:50:00.734 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->7ms +2023-09-15 14:50:00.757 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 14:50:00.775 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->37ms +2023-09-15 14:50:00.777 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list/all] [uid=1] [uname=panda] : 获取Product分页列表 ->14ms +2023-09-15 14:52:39.778 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:31] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 +<-e errCode: 400, errMsg: 该角色下未分配组织权限 +2023-09-15 14:52:39.823 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->34ms +2023-09-15 14:52:39.831 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->15ms +2023-09-15 14:52:39.839 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->58ms +2023-09-15 14:52:40.885 [ERROR] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:41] : error http serve: http: Server closed +2023-09-15 14:52:47.379 [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-15 14:52:47.385 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:46] : mysql连接成功 +2023-09-15 14:52:47.387 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:51] : Redis连接成功 +2023-09-15 14:52:47.387 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:58] : Tdengine连接成功 +2023-09-15 14:52:47.395 [INFO] [D:/workspace/go/project/PandaX/PandaX/main.go:76] : 路由初始化完成 +2023-09-15 14:52:47.395 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/transport/http_server.go:38] : HTTP Server listen: :7788 +2023-09-15 14:52:47.395 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:37] : IOTHUB HOOK Start SUCCESS,Grpc Server listen: :9001 +2023-09-15 14:52:47.400 [INFO] [D:/workspace/go/project/PandaX/PandaX/apps/job/jobs/jobbase.go:87] : 2023-09-15 14:52:47 [INFO] JobCore start success. +2023-09-15 14:52:47.450 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:124] : pandax断开连接 +2023-09-15 14:52:47.451 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:153] : 账号pandax,密码pandax,开始认证 +2023-09-15 14:52:47.453 [INFO] [D:/workspace/go/project/PandaX/PandaX/iothub/hook.go:96] : Client emqx@172.17.0.4 Connected +2023-09-15 14:57:24.025 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->18ms +2023-09-15 14:57:24.044 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->11ms +2023-09-15 14:57:24.056 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list/all] : 获取Product分页列表 ->34ms +2023-09-15 14:57:24.066 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->83ms +2023-09-15 14:57:45.151 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/d_1928b99619910dae5a001fa7/status] [uid=1] : 获取Device状态信息 ->19ms +2023-09-15 14:57:46.000 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/alarm/list] : 获取告警分页列表 ->46ms +2023-09-15 14:57:46.762 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/cmd/list] : 获取命令下发分页列表 ->12ms +2023-09-15 14:57:54.709 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list] [uid=1] : 获取DeviceGroup列表 ->35ms +2023-09-15 14:57:54.711 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->9ms +2023-09-15 14:57:57.988 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->8ms +2023-09-15 14:57:58.018 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->15ms +2023-09-15 14:57:58.030 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->40ms +2023-09-15 14:57:58.030 [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-15 14:57:59.064 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/group/list] [uid=1] [uname=panda] : 获取DeviceGroup列表 ->16ms +2023-09-15 14:57:59.065 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 14:58:00.445 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/category/list/tree/label] : 获取ProductCategory树 ->7ms +2023-09-15 14:58:00.452 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list] [uid=1] [uname=panda] : 获取Product分页列表 ->33ms +2023-09-15 14:58:00.471 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->13ms +2023-09-15 14:58:00.524 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->1ms +2023-09-15 14:58:05.326 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->7ms +2023-09-15 14:58:05.332 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list] [uid=1] [uname=panda] : 获取ProductCategory列表 ->4ms +2023-09-15 14:58:06.683 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/category/list/tree/label] : 获取ProductCategory树 ->5ms +2023-09-15 14:58:06.687 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list] [uid=1] [uname=panda] : 获取Product分页列表 ->20ms +2023-09-15 14:58:06.695 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 14:58:06.740 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-15 14:58:10.066 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->7ms +2023-09-15 14:58:10.074 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/rule/chain/list] : 获取规则引擎分页列表 ->29ms +2023-09-15 14:58:11.596 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/rule/chain/log/list] [uid=1] : 获取规则引擎日志分页列表 ->24ms +2023-09-15 14:58:40.412 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 14:58:40.419 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/rule/chain/list] [uid=1] : 获取规则引擎分页列表 ->19ms +2023-09-15 14:58:41.407 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/rule/chain/log/list] [uid=1] : 获取规则引擎日志分页列表 ->18ms +2023-09-15 15:01:27.011 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/category/list/tree/label] [uid=1] : 获取ProductCategory树 ->7ms +2023-09-15 15:01:27.011 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list] : 获取Product分页列表 ->17ms +2023-09-15 15:01:27.020 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/system/dict/data/type] [uid=1] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 15:01:30.519 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list/tree/label] [uid=1] [uname=panda] : 获取ProductCategory树 ->9ms +2023-09-15 15:01:30.534 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list] : 获取Product分页列表 ->39ms +2023-09-15 15:01:30.543 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->12ms +2023-09-15 15:01:51.178 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/group/list/tree/label] [uid=1] : 获取DeviceGroup树 ->29ms +2023-09-15 15:01:51.187 [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-15 15:01:51.187 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/list] : 获取Device分页列表 ->49ms +2023-09-15 15:01:51.196 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->8ms +2023-09-15 15:01:55.101 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->8ms +2023-09-15 15:01:55.117 [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-15 15:01:55.124 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/list] [uid=1] [uname=panda] : 获取Product分页列表 ->18ms +2023-09-15 15:02:59.209 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/product/category/list/tree/label] [uid=1] [uname=panda] : 获取ProductCategory树 ->7ms +2023-09-15 15:02:59.212 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/product/list] : 获取Product分页列表 ->18ms +2023-09-15 15:02:59.229 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->17ms +2023-09-15 15:02:59.306 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-15 15:03:11.908 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->1ms +2023-09-15 15:03:11.929 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/template/list] [uid=1] : 获取Template分页列表 ->11ms +2023-09-15 15:04:36.893 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/group/list/tree/label] : 获取DeviceGroup树 ->15ms +2023-09-15 15:04:36.902 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/list] [uid=1] : 获取Device分页列表 ->38ms +2023-09-15 15:04:36.904 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list/all] [uid=1] : 获取Product分页列表 ->14ms +2023-09-15 15:04:36.905 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->5ms +2023-09-15 15:04:41.928 [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-15 15:04:41.971 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->26ms +2023-09-15 15:04:41.976 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/product/list] [uid=1] : 获取Product分页列表 ->41ms +2023-09-15 15:04:42.020 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/upload/get/d7432e83df771fad85aa4e74235b0591_20230819092625.png] : 获取图片 ->0ms +2023-09-15 15:04:43.972 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/device/template/list] : 获取Template分页列表 ->9ms +2023-09-15 15:06:18.618 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [GET=/system/dict/data/type] : 获取字典数据列表通过字典类型 ->4ms +2023-09-15 15:06:18.620 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/job/list] [uid=1] [uname=panda] : 获取Job列表 ->14ms +2023-09-15 15:06:20.423 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/system/dict/data/type] [uid=1] [uname=panda] : 获取字典数据列表通过字典类型 ->6ms +2023-09-15 15:06:20.438 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/job/log/list] [uid=1] [uname=panda] : 获取操作日志列表 ->12ms +2023-09-15 15:06:54.882 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uname=panda] [GET=/device/alarm/list] [uid=1] : 获取告警分页列表 ->16ms +2023-09-15 15:07:55.932 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [GET=/device/alarm/list] [uid=1] [uname=panda] : 获取告警分页列表 ->15ms +2023-09-15 15:08:04.836 [INFO] [D:/workspace/go/project/PandaX/PandaX/pkg/middleware/log.go:34] [uid=1] [uname=panda] [PUT=/device/alarm] : 修改告警信息 ->134ms diff --git a/pkg/middleware/oper.go b/pkg/middleware/oper.go index 9d4150a..d6f381b 100644 --- a/pkg/middleware/oper.go +++ b/pkg/middleware/oper.go @@ -20,7 +20,6 @@ func OperationHandler(rc *restfulx.ReqCtx) error { go func() { oper := entity.LogOper{ Title: rc.LogInfo.Description, - OrgId: rc.LoginAccount.OrganizationId, BusinessType: "0", Method: c.Request.Method, OperName: rc.LoginAccount.UserName, diff --git a/pkg/rule_engine/message/message.go b/pkg/rule_engine/message/message.go index c3539c7..bbe0b1f 100644 --- a/pkg/rule_engine/message/message.go +++ b/pkg/rule_engine/message/message.go @@ -32,17 +32,17 @@ type Message struct { Id string //uuid 消息Id Ts time.Time //时间戳 MsgType string //消息类型, attributes(参数),telemetry(遥测),Connect连接事件 - UserId string //客户Id UUID 设备发布人 + User string //客户 设备发布人 设备所有者 Msg Msg //数据 数据结构JSON 设备原始数据 msg Metadata Metadata //消息的元数据 包括设备Id,设备类型,产品ID等 } // NewMessage ... -func NewMessage(userId, messageType string, msg Msg, metadata Metadata) *Message { +func NewMessage(user, messageType string, msg Msg, metadata Metadata) *Message { return &Message{ Id: uuid.New().String(), Ts: time.Now(), - UserId: userId, + User: user, MsgType: messageType, Msg: msg, Metadata: metadata, diff --git a/pkg/rule_engine/nodes/action_create_alarm_node.go b/pkg/rule_engine/nodes/action_create_alarm_node.go index 4b22de5..125fc8b 100644 --- a/pkg/rule_engine/nodes/action_create_alarm_node.go +++ b/pkg/rule_engine/nodes/action_create_alarm_node.go @@ -61,6 +61,7 @@ func (n *createAlarmNode) Handle(msg *message.Message) error { alarm.Type = n.AlarmType alarm.Time = time.Now() alarm.OrgId = msg.Metadata.GetValue("orgId").(int64) + alarm.Owner = msg.Metadata.GetValue("owner").(string) marshal, _ := json.Marshal(msg.Msg) alarm.Details = string(marshal) err := services.DeviceAlarmModelDao.Insert(*alarm) diff --git a/pkg/rule_engine/nodes/action_log_node.go b/pkg/rule_engine/nodes/action_log_node.go index c2e0e52..6ca6953 100644 --- a/pkg/rule_engine/nodes/action_log_node.go +++ b/pkg/rule_engine/nodes/action_log_node.go @@ -41,6 +41,7 @@ func (n *logNode) Handle(msg *message.Message) error { MsgType: msg.MsgType, DeviceId: msg.Metadata["deviceId"].(string), OrgId: msg.Metadata["orgId"].(int64), + Owner: msg.Metadata["owner"].(string), DeviceName: msg.Metadata["deviceName"].(string), Ts: msg.Ts, Content: logMessage, diff --git a/pkg/tool/device.go b/pkg/tool/device.go index fd36184..08e3031 100644 --- a/pkg/tool/device.go +++ b/pkg/tool/device.go @@ -7,6 +7,7 @@ import ( "github.com/PandaXGO/PandaKit/biz" "github.com/google/uuid" "gorm.io/gorm" + "pandax/apps/system/entity" "pandax/apps/system/services" "pandax/pkg/global" "strconv" @@ -14,7 +15,7 @@ import ( ) type DeviceAuth struct { - User string `json:"user"` + Owner string `json:"owner"` OrgId int64 `json:"orgId"` DeviceId string `json:"device_id"` DeviceType string `json:"device_type"` @@ -65,10 +66,15 @@ func (m *DeviceAuth) UnmarshalBinary(data []byte) error { return json.Unmarshal(data, m) } -func OrgAuthSet(tx *gorm.DB, roleId int64) { - // todo 使用缓存 - ids, err := services.SysRoleOrganizationModelDao.FindOrganizationsByRoleId(roleId) +func OrgAuthSet(tx *gorm.DB, roleId int64, owner string) { + //TODO 使用缓存 + role, err := services.SysRoleModelDao.FindOrganizationsByRoleId(roleId) biz.ErrIsNil(err, "查询角色数据权限失败") - biz.IsTrue(len(ids) > 0, "该角色下未分配组织权限") - tx.Where("org_id in (?)", ids) + if role.DataScope != entity.SELFDATASCOPE { + biz.IsTrue(len(role.Org) > 0, "该角色下未分配组织权限") + tx.Where("org_id in (?)", strings.Split(role.Org, ",")) + } else { + tx.Where("owner = ?", owner) + } + } diff --git a/shutdown.bat b/shutdown.bat index c37bf57..de2f549 100644 --- a/shutdown.bat +++ b/shutdown.bat @@ -1 +1 @@ -taskkill /pid 8140 -t -f \ No newline at end of file +taskkill /pid 27928 -t -f \ No newline at end of file