feat: add pay information to licence
This commit is contained in:
@@ -20,18 +20,11 @@ import io.smallrye.mutiny.Uni;
|
||||
import io.smallrye.mutiny.unchecked.Unchecked;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.core.HttpHeaders;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
import org.hibernate.reactive.mutiny.Mutiny;
|
||||
|
||||
import java.io.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@WithSession
|
||||
@@ -270,7 +263,7 @@ public class AffiliationService {
|
||||
.call(l1 -> l1 != null && l1.stream().anyMatch(l -> l.getSaison() == saison) ?
|
||||
Uni.createFrom().nullItem() :
|
||||
Panache.withTransaction(() -> licenceRepository.persist(
|
||||
new LicenceModel(null, m, club.getId(), saison, null, true)))));
|
||||
new LicenceModel(null, m, club.getId(), saison, null, true, false)))));
|
||||
}
|
||||
|
||||
public Uni<?> accept(AffiliationRequestSaveForm form) {
|
||||
|
||||
@@ -78,6 +78,7 @@ public class LicenceService {
|
||||
model.setSaison(form.getSaison());
|
||||
model.setCertificate(form.getCertificate());
|
||||
model.setValidate(form.isValidate());
|
||||
model.setPay(form.isPay());
|
||||
return Panache.withTransaction(() -> repository.persist(model)
|
||||
.call(m -> m.isValidate() ? Uni.createFrom().item(membreModel)
|
||||
.call(genLicenceNumberAndAccountIfNeed())
|
||||
@@ -88,6 +89,7 @@ public class LicenceService {
|
||||
return repository.findById(form.getId()).chain(model -> {
|
||||
model.setCertificate(form.getCertificate());
|
||||
model.setValidate(form.isValidate());
|
||||
model.setPay(form.isPay());
|
||||
return Panache.withTransaction(() -> repository.persist(model)
|
||||
.call(m -> m.isValidate() ? Mutiny.fetch(m.getMembre())
|
||||
.call(genLicenceNumberAndAccountIfNeed())
|
||||
@@ -143,6 +145,8 @@ public class LicenceService {
|
||||
.invoke(Unchecked.consumer(licenceModel -> {
|
||||
if (licenceModel.isValidate())
|
||||
throw new DBadRequestException("Impossible de supprimer une licence déjà validée");
|
||||
if (licenceModel.isPay())
|
||||
throw new DBadRequestException("Impossible de supprimer une licence déjà payée");
|
||||
}))
|
||||
.chain(__ -> Panache.withTransaction(() -> repository.deleteById(id)));
|
||||
}
|
||||
|
||||
@@ -78,29 +78,38 @@ public class MembreService {
|
||||
final static String FIND_NAME_REQUEST = "unaccent(fname) ILIKE unaccent(?1) OR unaccent(lname) ILIKE unaccent(?1) " +
|
||||
"OR unaccent(fname || ' ' || lname) ILIKE unaccent(?1) OR unaccent(lname || ' ' || fname) ILIKE unaccent(?1)";
|
||||
|
||||
private Uni<List<LicenceModel>> getLicenceListe(int licenceRequest, int payState) {
|
||||
Uni<List<LicenceModel>> baseUni;
|
||||
String queryStr = "saison = ?1";
|
||||
if (payState == 0)
|
||||
queryStr += " AND pay = FALSE";
|
||||
if (payState == 1)
|
||||
queryStr += " AND pay = TRUE";
|
||||
if (licenceRequest == 0 || licenceRequest == 1)
|
||||
baseUni = licenceRepository.list(queryStr, Utils.getSaison());
|
||||
else if (licenceRequest == 2)
|
||||
baseUni = licenceRepository.list(queryStr + " AND validate = FALSE", Utils.getSaison());
|
||||
else if (licenceRequest == 5)
|
||||
baseUni = licenceRepository.list(queryStr + " AND validate = FALSE AND LENGTH(certificate) >= 3",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 6)
|
||||
baseUni = licenceRepository.list(queryStr + " AND validate = FALSE AND LENGTH(certificate) <= 2",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 3)
|
||||
baseUni = licenceRepository.list(queryStr + " AND validate = TRUE", Utils.getSaison());
|
||||
else
|
||||
baseUni = Uni.createFrom().item(new ArrayList<>());
|
||||
return baseUni;
|
||||
}
|
||||
|
||||
public Uni<PageResult<SimpleMembre>> searchAdmin(int limit, int page, String search, String club,
|
||||
int licenceRequest) {
|
||||
int licenceRequest, int payState) {
|
||||
if (search == null)
|
||||
search = "";
|
||||
search = "%" + search.replaceAll(" ", "% %") + "%";
|
||||
|
||||
String finalSearch = search;
|
||||
|
||||
Uni<List<LicenceModel>> baseUni;
|
||||
if (licenceRequest == 0 || licenceRequest == 1)
|
||||
baseUni = licenceRepository.list("saison = ?1", Utils.getSaison());
|
||||
else if (licenceRequest == 2)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE", Utils.getSaison());
|
||||
else if (licenceRequest == 5)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE AND LENGTH(certificate) >= 3",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 6)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE AND LENGTH(certificate) <= 2",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 3)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = TRUE", Utils.getSaison());
|
||||
else
|
||||
baseUni = Uni.createFrom().item(new ArrayList<>());
|
||||
Uni<List<LicenceModel>> baseUni = getLicenceListe(licenceRequest, payState);
|
||||
|
||||
return baseUni
|
||||
.map(l -> l.stream().map(l2 -> l2.getMembre().getId()).toList())
|
||||
@@ -110,7 +119,6 @@ public class MembreService {
|
||||
String idf = ((licenceRequest == 0 || licenceRequest == 4) ? "NOT IN" : "IN");
|
||||
|
||||
if (club == null || club.isBlank()) {
|
||||
LOGGER.info(ids);
|
||||
query = repository.find(
|
||||
"id " + idf + " ?2 AND (" + FIND_NAME_REQUEST + ")",
|
||||
Sort.ascending("fname", "lname"), finalSearch, ids)
|
||||
@@ -131,7 +139,7 @@ public class MembreService {
|
||||
});
|
||||
}
|
||||
|
||||
public Uni<PageResult<SimpleMembre>> search(int limit, int page, String search, int licenceRequest,
|
||||
public Uni<PageResult<SimpleMembre>> search(int limit, int page, String search, int licenceRequest, int payState,
|
||||
String subject) {
|
||||
if (search == null)
|
||||
search = "";
|
||||
@@ -139,21 +147,7 @@ public class MembreService {
|
||||
|
||||
String finalSearch = search;
|
||||
|
||||
Uni<List<LicenceModel>> baseUni;
|
||||
if (licenceRequest == 0 || licenceRequest == 1)
|
||||
baseUni = licenceRepository.list("saison = ?1", Utils.getSaison());
|
||||
else if (licenceRequest == 2)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE", Utils.getSaison());
|
||||
else if (licenceRequest == 5)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE AND LENGTH(certificate) >= 3",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 6)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = FALSE AND LENGTH(certificate) <= 2",
|
||||
Utils.getSaison());
|
||||
else if (licenceRequest == 3)
|
||||
baseUni = licenceRepository.list("saison = ?1 AND validate = TRUE", Utils.getSaison());
|
||||
else
|
||||
baseUni = Uni.createFrom().item(new ArrayList<>());
|
||||
Uni<List<LicenceModel>> baseUni = getLicenceListe(licenceRequest, payState);
|
||||
|
||||
return baseUni
|
||||
.map(l -> l.stream().map(l2 -> l2.getMembre().getId()).toList())
|
||||
|
||||
Reference in New Issue
Block a user