From 5b960dee2fbb2885260c2f85859c84b1988c747e Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Thu, 25 Aug 2022 18:26:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=82=E7=82=B9=E8=BF=90=E8=A1=8C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=8F=AF=E4=BB=A5=E6=8C=89=E7=85=A7=E8=8A=82=E7=82=B9?= =?UTF-8?q?ID=E8=AE=BE=E7=BD=AE=E4=B8=BA=E5=B7=B2=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/node_log_dao.go | 14 ++++++++++++-- internal/rpc/services/service_node_log.go | 16 +++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/internal/db/models/node_log_dao.go b/internal/db/models/node_log_dao.go index 74dd8ad9..0c372f61 100644 --- a/internal/db/models/node_log_dao.go +++ b/internal/db/models/node_log_dao.go @@ -342,8 +342,8 @@ func (this *NodeLogDAO) CountAllUnreadNodeLogs(tx *dbs.Tx) (int64, error) { Count() } -// UpdateNodeLogsRead 设置日志为已读 -func (this *NodeLogDAO) UpdateNodeLogsRead(tx *dbs.Tx, nodeLogIds []int64) error { +// UpdateNodeLogIdsRead 设置一组日志为已读 +func (this *NodeLogDAO) UpdateNodeLogIdsRead(tx *dbs.Tx, nodeLogIds []int64) error { for _, logId := range nodeLogIds { err := this.Query(tx). Pk(logId). @@ -356,6 +356,16 @@ func (this *NodeLogDAO) UpdateNodeLogsRead(tx *dbs.Tx, nodeLogIds []int64) error return nil } +// UpdateNodeLogsRead 设置节点日志为已读 +func (this *NodeLogDAO) UpdateNodeLogsRead(tx *dbs.Tx, role nodeconfigs.NodeRole, nodeId int64) error { + return this.Query(tx). + Attr("role", role). + Attr("nodeId", nodeId). + Attr("isRead", false). + Set("isRead", true). + UpdateQuickly() +} + // UpdateAllNodeLogsRead 设置所有日志为已读 func (this *NodeLogDAO) UpdateAllNodeLogsRead(tx *dbs.Tx) error { return this.Query(tx). diff --git a/internal/rpc/services/service_node_log.go b/internal/rpc/services/service_node_log.go index 45e669fa..485d5b72 100644 --- a/internal/rpc/services/service_node_log.go +++ b/internal/rpc/services/service_node_log.go @@ -148,10 +148,20 @@ func (this *NodeLogService) UpdateNodeLogsRead(ctx context.Context, req *pb.Upda } var tx = this.NullTx() - err = models.SharedNodeLogDAO.UpdateNodeLogsRead(tx, req.NodeLogIds) - if err != nil { - return nil, err + if len(req.NodeLogIds) > 0 { + err = models.SharedNodeLogDAO.UpdateNodeLogIdsRead(tx, req.NodeLogIds) + if err != nil { + return nil, err + } } + + if req.NodeId > 0 && len(req.Role) > 0 { + err = models.SharedNodeLogDAO.UpdateNodeLogsRead(tx, req.Role, req.NodeId) + if err != nil { + return nil, err + } + } + return this.Success() }