package service import ( "zeromesh/internal/model" "zeromesh/internal/repository" ) type LogService struct { repo *repository.LogRepo } func NewLogService(repo *repository.LogRepo) *LogService { return &LogService{repo: repo} } func (s *LogService) ListApiLogs(page, pageSize int, ip, path, method string, statusCode int) ([]model.ApiLog, int64, error) { if page < 1 { page = 1 } if pageSize < 1 || pageSize > 200 { pageSize = 20 } return s.repo.ListApiLogs(page, pageSize, ip, path, method, statusCode) } func (s *LogService) ListErrorLogs(page, pageSize int, ip, path, method string, statusCode int) ([]model.ErrorLog, int64, error) { if page < 1 { page = 1 } if pageSize < 1 || pageSize > 200 { pageSize = 20 } return s.repo.ListErrorLogs(page, pageSize, ip, path, method, statusCode) } func (s *LogService) ListApiLogGrouped() ([]map[string]interface{}, error) { return s.repo.ListApiLogGrouped() } func (s *LogService) InsertApiLog(log *model.ApiLog) error { return s.repo.InsertApiLog(log) } func (s *LogService) InsertErrorLog(log *model.ErrorLog) error { return s.repo.InsertErrorLog(log) } func (s *LogService) ClearApiLogs() error { return s.repo.ClearApiLogs() } func (s *LogService) ClearErrorLogs() error { return s.repo.ClearErrorLogs() }