backend/buisnesslogic/src/main/java/com/plannaplan/services/CommisionService.java

50 lines
1.4 KiB
Java
Raw Normal View History

package com.plannaplan.services;
2020-09-30 17:46:04 +02:00
import java.util.List;
2020-09-30 19:15:32 +02:00
import java.util.Optional;
2020-09-30 17:46:04 +02:00
import com.plannaplan.entities.Commision;
2020-09-30 17:46:04 +02:00
import com.plannaplan.entities.User;
import com.plannaplan.repositories.AssignmentRepository;
import com.plannaplan.repositories.CommisionRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class CommisionService {
@Autowired
private CommisionRepository repo;
@Autowired
private AssignmentRepository aRepository;
public CommisionService() {
}
public Commision save(Commision commision) {
Optional<Commision> lastCommision = this.getNewestCommision(commision.getCommisionOwner());
if (lastCommision.isPresent()) {
final Commision lastCom = lastCommision.get();
lastCom.getAssignments().forEach(assignment -> {
assignment.setPastAssignment(true);
this.aRepository.save(assignment);
});
}
this.repo.save(commision);
return commision;
}
2020-09-30 17:46:04 +02:00
public List<Commision> getUsersCommisions(User user) {
2020-10-05 17:56:35 +02:00
return this.repo.getUsers(user.getId());
2020-09-30 17:46:04 +02:00
}
2020-09-30 19:15:32 +02:00
public Optional<Commision> getNewestCommision(User user) {
return this.repo.getNewestCommision(user.getId()).stream().findFirst();
2020-09-30 19:15:32 +02:00
}
2020-10-02 17:55:42 +02:00
public long getCommisionsAmmount() {
return this.repo.count();
}
}