From 7a607b3c9c592f6db8ea9a90eb1a92bbec06063d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 17 Jan 2020 18:38:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/event.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/business/model/dao/event.go b/business/model/dao/event.go index 1a2005a39..3ac394be5 100644 --- a/business/model/dao/event.go +++ b/business/model/dao/event.go @@ -87,18 +87,28 @@ func GetOperateEvents(db *DaoDB, name string, apiFunctions []string, operateType if err = GetRows(db, &operateEventExt, sql, sqlParams...); err == nil { totalCount = GetLastTotalRowCount(db) } + var ( + accessUUidList []string + details []*model.OperateEventDetail + detailMap = make(map[string][]*model.OperateEventDetail) + ) for _, v := range operateEventExt { - var details []*model.OperateEventDetail - sql := ` + accessUUidList = append(accessUUidList, v.AccessUUID) + } + sql2 := ` SELECT * FROM operate_event_detail - WHERE access_uuid = ? + WHERE access_uuid IN (` + GenQuestionMarks(len(accessUUidList)) + `) ` - sqlParams := []interface{}{ - v.AccessUUID, + sqlParams2 := []interface{}{accessUUidList} + err = GetRows(db, &details, sql2, sqlParams2...) + for _, v := range details { + detailMap[v.AccessUUID] = append(detailMap[v.AccessUUID], v) + } + for _, v := range operateEventExt { + if detailMap[v.AccessUUID] != nil { + v.Detail = detailMap[v.AccessUUID] } - err = GetRows(db, &details, sql, sqlParams...) - v.Detail = details } return operateEventExt, totalCount, err }