Enhanced PEC error response saving

This commit is contained in:
Piyush
2025-05-08 19:21:59 +05:30
parent 23ed5df464
commit 385ee2f755
20 changed files with 296 additions and 36 deletions

View File

@@ -15,6 +15,7 @@ import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -36,9 +37,11 @@ import jakarta.persistence.criteria.Root;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.EmailScenarioTypeEnum;
import net.gepafin.tendermanagement.enums.MatchModeEnum;
import net.gepafin.tendermanagement.model.request.FilterCriteria;
import net.gepafin.tendermanagement.model.request.GlobalFilters;
import net.gepafin.tendermanagement.model.response.EmailSendResponse;
import net.gepafin.tendermanagement.web.rest.api.errors.*;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;
@@ -1021,5 +1024,21 @@ public class Utils {
}
public static List<EmailSendResponse> mergeEmailSendResponses(List<EmailSendResponse> existingResponses, EmailSendResponse newResponse) {
Map<EmailScenarioTypeEnum, EmailSendResponse> responseMap = Optional.ofNullable(existingResponses)
.orElse(new ArrayList<>())
.stream()
.collect(Collectors.toMap(
EmailSendResponse::getEmailScenario,
Function.identity(),
(oldVal, newVal) -> newVal,
LinkedHashMap::new
));
responseMap.put(newResponse.getEmailScenario(), newResponse);
return new ArrayList<>(responseMap.values());
}
}