UserActivityLogService.java 2.4 KB
// statistics/service/UserActivityLogService.java
package com.aigeo.statistics.service;

import com.aigeo.statistics.entity.UserActivityLog;
import com.aigeo.statistics.repository.UserActivityLogRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Optional;

@Service
public class UserActivityLogService {

    @Autowired
    private UserActivityLogRepository userActivityLogRepository;

    public List<UserActivityLog> getAllActivityLogs() {
        return userActivityLogRepository.findAll();
    }

    public List<UserActivityLog> getActivityLogsByCompanyId(Integer companyId) {
        return userActivityLogRepository.findByCompanyId(companyId);
    }

    public List<UserActivityLog> getActivityLogsByUserId(Integer userId) {
        return userActivityLogRepository.findByUserId(userId);
    }

    public List<UserActivityLog> getActivityLogsByActivityType(String activityType) {
        return userActivityLogRepository.findByActivityType(activityType);
    }

    public List<UserActivityLog> getActivityLogsByCompanyIdAndUserId(Integer companyId, Integer userId) {
        return userActivityLogRepository.findByCompanyIdAndUserId(companyId, userId);
    }

    public List<UserActivityLog> getActivityLogsByCompanyIdAndActivityType(Integer companyId, String activityType) {
        return userActivityLogRepository.findByCompanyIdAndActivityType(companyId, activityType);
    }

    public List<UserActivityLog> getActivityLogsByCompanyIdAndDateRange(Integer companyId, LocalDateTime startDate, LocalDateTime endDate) {
        return userActivityLogRepository.findByCompanyIdAndDateRange(companyId, startDate, endDate);
    }

    public List<UserActivityLog> getActivityLogsByUserIdAndDateRange(Integer userId, LocalDateTime startDate, LocalDateTime endDate) {
        return userActivityLogRepository.findByUserIdAndDateRange(userId, startDate, endDate);
    }

    public Optional<UserActivityLog> getActivityLogById(Integer id) {
        return userActivityLogRepository.findById(id);
    }

    public UserActivityLog saveActivityLog(UserActivityLog activityLog) {
        return userActivityLogRepository.save(activityLog);
    }

    public void deleteActivityLog(Integer id) {
        userActivityLogRepository.deleteById(id);
    }
}