Verschillende functionaliteit:
-een gebruiker kan meerdere bedrijven hebben -manier van afspraken maken veranderd in de backend ivm meerdere bedrijven gebruiker -bedrijven van een gebruiker zijn op te roepen -gebruikers zijn aan een bestaand bedrijf te koppelen via een REST call -email is aangepast op bedrijf en gebruiker
This commit is contained in:
@@ -4,10 +4,12 @@ import io.quarkus.scheduler.Scheduled;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.transaction.Transactional;
|
||||
import nl.veenm.paypoint.domain.AppUser;
|
||||
import nl.veenm.paypoint.domain.Appointment;
|
||||
import nl.veenm.paypoint.domain.Company;
|
||||
import nl.veenm.paypoint.repository.AppointmentRepository;
|
||||
import nl.veenm.paypoint.repository.CompanyRepository;
|
||||
import nl.veenm.paypoint.repository.UserRepository;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -18,6 +20,9 @@ public class AppointmentService {
|
||||
@Inject
|
||||
AppointmentRepository appointmentRepository;
|
||||
|
||||
@Inject
|
||||
UserRepository userRepository;
|
||||
|
||||
@Inject
|
||||
CompanyRepository companyRepository;
|
||||
|
||||
@@ -34,23 +39,25 @@ public class AppointmentService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Appointment add(Appointment appointment, Long companyId) {
|
||||
public Appointment add(Appointment appointment, Long companyId, String username) {
|
||||
Company company = companyRepository.findById(companyId);
|
||||
AppUser user = userRepository.findByUsername(username);
|
||||
appointment.setCompany(company);
|
||||
appointmentRepository.persist(appointment);
|
||||
emailService.stuurBevestiging(appointment);
|
||||
emailService.stuurBevestiging(appointment, user);
|
||||
return appointment;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<Appointment> getAppointmentsByDate(String start, Long companyId) {
|
||||
public List<Appointment> getAppointmentsByDate(String start, String username) {
|
||||
LocalDate date = LocalDate.parse(start);
|
||||
Company company = companyRepository.findById(companyId);
|
||||
AppUser user = userRepository.findByUsername(username);
|
||||
|
||||
|
||||
LocalDateTime startOfDay = date.atStartOfDay();
|
||||
LocalDateTime endOfDay = date.atTime(23, 59, 59);
|
||||
|
||||
return appointmentRepository.find("startDate BETWEEN ?1 AND ?2 AND company = ?3", startOfDay, endOfDay, company).list();
|
||||
return appointmentRepository.findAppointmentsForCompanies(user.getCompanies(), startOfDay, endOfDay);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@@ -93,9 +100,7 @@ public class AppointmentService {
|
||||
|
||||
List<Appointment> allAppointments = appointmentRepository.find("date BETWEEN ?1 AND ?2", startOfDay, endOfDay).list();
|
||||
|
||||
allAppointments.forEach(appointment -> {
|
||||
emailService.stuurHerinnering(appointment);
|
||||
});
|
||||
allAppointments.forEach(emailService::stuurHerinnering);
|
||||
}
|
||||
|
||||
public Appointment getMostRecentByUserId(Long userId) {
|
||||
|
||||
Reference in New Issue
Block a user