feat():learning后台管理项目初始化
This commit is contained in:
85
internal/services/log_service.go
Normal file
85
internal/services/log_service.go
Normal file
@@ -0,0 +1,85 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"go.uber.org/zap"
|
||||
"goalfymax-admin/internal/models"
|
||||
"goalfymax-admin/internal/storage"
|
||||
"goalfymax-admin/pkg/utils"
|
||||
)
|
||||
|
||||
// LogService 日志服务接口
|
||||
type LogService interface {
|
||||
CreateLoginLog(log *models.LoginLog) error
|
||||
CreateOperationLog(log *models.OperationLog) error
|
||||
GetLoginLogs(req *models.LoginLogListRequest) ([]models.LoginLog, int64, error)
|
||||
GetOperationLogs(req *models.OperationLogListRequest) ([]models.OperationLog, int64, error)
|
||||
DeleteLoginLogs(beforeDate string) error
|
||||
DeleteOperationLogs(beforeDate string) error
|
||||
}
|
||||
|
||||
type logService struct {
|
||||
logStorage storage.LogStorage
|
||||
logger *utils.Logger
|
||||
}
|
||||
|
||||
// NewLogService 创建日志服务实例
|
||||
func NewLogService(logStorage storage.LogStorage, logger *utils.Logger) LogService {
|
||||
return &logService{
|
||||
logStorage: logStorage,
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// CreateLoginLog 创建登录日志
|
||||
func (s *logService) CreateLoginLog(log *models.LoginLog) error {
|
||||
err := s.logStorage.CreateLoginLog(log)
|
||||
if err != nil {
|
||||
s.logger.Error("创建登录日志失败", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CreateOperationLog 创建操作日志
|
||||
func (s *logService) CreateOperationLog(log *models.OperationLog) error {
|
||||
err := s.logStorage.CreateOperationLog(log)
|
||||
if err != nil {
|
||||
s.logger.Error("创建操作日志失败", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetLoginLogs 获取登录日志列表
|
||||
func (s *logService) GetLoginLogs(req *models.LoginLogListRequest) ([]models.LoginLog, int64, error) {
|
||||
return s.logStorage.GetLoginLogs(req)
|
||||
}
|
||||
|
||||
// GetOperationLogs 获取操作日志列表
|
||||
func (s *logService) GetOperationLogs(req *models.OperationLogListRequest) ([]models.OperationLog, int64, error) {
|
||||
return s.logStorage.GetOperationLogs(req)
|
||||
}
|
||||
|
||||
// DeleteLoginLogs 删除指定日期之前的登录日志
|
||||
func (s *logService) DeleteLoginLogs(beforeDate string) error {
|
||||
err := s.logStorage.DeleteLoginLogs(beforeDate)
|
||||
if err != nil {
|
||||
s.logger.Error("删除登录日志失败", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
s.logger.Info("登录日志删除成功", zap.String("beforeDate", beforeDate))
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteOperationLogs 删除指定日期之前的操作日志
|
||||
func (s *logService) DeleteOperationLogs(beforeDate string) error {
|
||||
err := s.logStorage.DeleteOperationLogs(beforeDate)
|
||||
if err != nil {
|
||||
s.logger.Error("删除操作日志失败", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
s.logger.Info("操作日志删除成功", zap.String("beforeDate", beforeDate))
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user