47 lines
978 B
Go
Raw Normal View History

2025-06-15 15:10:28 +08:00
package impl
import (
"context"
"122.51.31.227/go-course/go18/devcloud/audit/apps/event"
"github.com/infraboard/mcube/v2/types"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo/options"
)
// 存储
func (s *EventServiceImpl) SaveEvent(ctx context.Context, in *types.Set[*event.Event]) error {
s.log.Debug().Msgf("events: %s", in)
_, err := s.col.InsertMany(ctx, in.ToAny())
if err != nil {
return err
}
return nil
}
func (s *EventServiceImpl) QueryEvent(ctx context.Context, in *event.QueryEventRequest) (*types.Set[*event.Event], error) {
set := types.NewSet[*event.Event]()
// 查询条件
filter := bson.M{}
opt := options.Find()
opt.SetLimit(int64(in.PageSize))
opt.SetSkip(in.ComputeOffset())
cursor, err := s.col.Find(ctx, filter, opt)
if err != nil {
return nil, err
}
for cursor.Next(ctx) {
e := event.NewEvent()
if err := cursor.Decode(e); err != nil {
return nil, err
}
set.Add(e)
}
return set, nil
}