@@ -29,7 +29,6 @@ import (
2929 "context"
3030 "fmt"
3131 "sort"
32- "time"
3332
3433 "github.com/GoSimplicity/AI-CloudOps/internal/k8s/manager"
3534 "github.com/GoSimplicity/AI-CloudOps/internal/model"
@@ -85,26 +84,6 @@ func (s *eventService) GetEventList(ctx context.Context, req *model.GetEventList
8584 if req .EventType != "" && event .Type != req .EventType {
8685 continue
8786 }
88- if req .Reason != "" && event .Reason != req .Reason {
89- continue
90- }
91- if req .Source != "" && event .Source .Component != req .Source {
92- continue
93- }
94- if req .InvolvedObjectKind != "" && event .InvolvedObject .Kind != req .InvolvedObjectKind {
95- continue
96- }
97- if req .InvolvedObjectName != "" && event .InvolvedObject .Name != req .InvolvedObjectName {
98- continue
99- }
100-
101- // 时间过滤
102- if req .LimitDays > 0 {
103- limitTime := time .Now ().AddDate (0 , 0 , - req .LimitDays )
104- if event .CreationTimestamp .Time .Before (limitTime ) {
105- continue
106- }
107- }
10887
10988 events = append (events , eventEntity )
11089 }
@@ -114,13 +93,33 @@ func (s *eventService) GetEventList(ctx context.Context, req *model.GetEventList
11493 return events [i ].LastTimestamp .After (events [j ].LastTimestamp )
11594 })
11695
117- // 如果没有过滤条件,使用原始total;否则使用过滤后的数量
96+ // 如果有过滤条件,使用过滤后的数量;否则使用原始total
11897 filteredTotal := total
119- if req .EventType != "" || req .Reason != "" || req .Source != "" ||
120- req .InvolvedObjectKind != "" || req .InvolvedObjectName != "" || req .LimitDays > 0 {
98+ if req .EventType != "" {
12199 filteredTotal = int64 (len (events ))
122100 }
123101
102+ // 分页处理
103+ page := req .Page
104+ size := req .Size
105+ if page <= 0 {
106+ page = 1
107+ }
108+ if size <= 0 {
109+ size = 10 // 默认每页显示10条
110+ }
111+
112+ start := (page - 1 ) * size
113+ end := start + size
114+
115+ if start >= len (events ) {
116+ events = []* model.K8sEvent {}
117+ } else if end > len (events ) {
118+ events = events [start :]
119+ } else {
120+ events = events [start :end ]
121+ }
122+
124123 return model.ListResp [* model.K8sEvent ]{Items : events , Total : filteredTotal }, nil
125124}
126125
@@ -147,10 +146,8 @@ func (s *eventService) GetEventsByObject(ctx context.Context, clusterID int, nam
147146 }
148147
149148 eventReq := & model.GetEventListReq {
150- ClusterID : clusterID ,
151- Namespace : namespace ,
152- FieldSelector : fieldSelector ,
153- LimitDays : limitDays ,
149+ ClusterID : clusterID ,
150+ Namespace : namespace ,
154151 }
155152
156153 return s .GetEventList (ctx , eventReq )
0 commit comments