package ru.ulstu.ping.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import ru.ulstu.conference.model.Conference; import ru.ulstu.ping.model.Ping; import ru.ulstu.ping.repository.PingRepository; import ru.ulstu.user.service.UserService; import java.io.IOException; import java.util.Calendar; import java.util.Date; @Service public class PingService { private final PingRepository pingRepository; private final UserService userService; public PingService(PingRepository pingRepository, UserService userService) { this.pingRepository = pingRepository; this.userService = userService; } @Transactional public void addPing(Conference conference) throws IOException { Ping newPing = new Ping(new Date(), userService.getCurrentUser()); newPing.setConference(conference); pingRepository.save(newPing); } public Integer countPingYesterday(Conference conference, Calendar calendar) { return Math.toIntExact(pingRepository.countByConferenceAndDate(conference, calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.YEAR))); } }