2025-05-07 14:12:53 +08:00

48 lines
1.1 KiB
Go

package system
import (
"context"
"time"
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
"management/internal/erpserver/service"
v1 "management/internal/erpserver/service/v1"
)
type loginLogService struct {
*service.Service
repo system.LoginLogRepository
}
func NewLoginLogService(service *service.Service, repo system.LoginLogRepository) v1.LoginLogService {
return &loginLogService{
Service: service,
repo: repo,
}
}
func (s *loginLogService) Create(ctx context.Context, req *system.LoginLog) error {
return s.repo.Create(ctx, req)
}
func (s *loginLogService) List(ctx context.Context, q dto.SearchDto) ([]*system.LoginLog, int64, error) {
return s.repo.List(ctx, q)
}
func (s *loginLogService) LoginLatestTime(ctx context.Context, email string) time.Time {
log, err := s.repo.GetLatest(ctx, email)
if err != nil {
return time.Time{}
}
return log.CreatedAt
}
func (s *loginLogService) LoginCount(ctx context.Context, email string) int64 {
count, err := s.repo.Count(ctx, email)
if err != nil {
return 0
}
return count
}