Done ticket GEPAFINBE-6326 Ranking Management
This commit is contained in:
@@ -228,6 +228,9 @@ public class CallDao {
|
||||
if (createCallRequest.getAllowMultipleApplications() != null) {
|
||||
callEntity.setAllowMultipleApplications(createCallRequest.getAllowMultipleApplications());
|
||||
}
|
||||
if (createCallRequest.getRankingType() != null) {
|
||||
callEntity.setRankingType(createCallRequest.getRankingType().getValue());
|
||||
}
|
||||
callEntity = callRepository.save(callEntity);
|
||||
log.info("CallEntity saved with ID: {} for call name: '{}'", callEntity.getId(), callEntity.getName());
|
||||
|
||||
@@ -418,6 +421,9 @@ public class CallDao {
|
||||
createCallResponseBean.setEmail(callEntity.getEmail());
|
||||
createCallResponseBean.setCreatedDate(callEntity.getCreatedDate());
|
||||
createCallResponseBean.setUpdatedDate(callEntity.getUpdatedDate());
|
||||
if (callEntity.getRankingType() != null && !callEntity.getRankingType().isBlank()) {
|
||||
createCallResponseBean.setRankingType(CallRankingTypeEnum.valueOf(callEntity.getRankingType().trim()));
|
||||
}
|
||||
return createCallResponseBean;
|
||||
}
|
||||
|
||||
@@ -583,6 +589,41 @@ public class CallDao {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasNonRankingStep1Field(UpdateCallRequestStep1 r) {
|
||||
return r.getName() != null
|
||||
|| r.getDescriptionShort() != null
|
||||
|| r.getDescriptionLong() != null
|
||||
|| r.getDates() != null
|
||||
|| r.getAmount() != null
|
||||
|| r.getAmountMax() != null
|
||||
|| r.getAimedTo() != null
|
||||
|| r.getDocumentationRequested() != null
|
||||
|| r.getAmountMin() != null
|
||||
|| r.getEmail() != null
|
||||
|| r.getPhoneNumber() != null
|
||||
|| r.getStartTime() != null
|
||||
|| r.getEndTime() != null
|
||||
|| r.getConfidi() != null
|
||||
|| r.getAllowMultipleApplications() != null
|
||||
|| r.getFaq() != null
|
||||
|| r.getNumberOfCheck() != null
|
||||
|| r.getAppointmentTemplateId() != null
|
||||
|| r.getEvaluationVersion() != null;
|
||||
}
|
||||
|
||||
private CallResponse updatePublishedCallStep1RankingTypeOnly(HttpServletRequest request, CallEntity callEntity,
|
||||
CallEntity oldCallEntity, UpdateCallRequestStep1 updateCallRequest) {
|
||||
setIfUpdated(callEntity::getRankingType, callEntity::setRankingType,
|
||||
updateCallRequest.getRankingType() != null ? updateCallRequest.getRankingType().getValue() : null);
|
||||
callEntity = callRepository.save(callEntity);
|
||||
loggingUtil.addVersionHistory(
|
||||
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
CallResponse response = getCallResponseBean(callEntity);
|
||||
response.setCurrentStep(GepafinConstant.STEP_1);
|
||||
log.info("Published call step 1: ranking type only | callId={}", callEntity.getId());
|
||||
return response;
|
||||
}
|
||||
|
||||
public void isValidDateRange(UpdateCallRequestStep1 updateCallRequest, CallEntity callEntity) {
|
||||
List<LocalDateTime> dates = updateCallRequest.getDates();
|
||||
|
||||
@@ -615,6 +656,18 @@ public class CallDao {
|
||||
public CallResponse updateCallStep1(HttpServletRequest request,CallEntity callEntity, UpdateCallRequestStep1 updateCallRequest, UserEntity userEntity) {
|
||||
log.info("Updating Call ID: {}, by User ID: {}", callEntity.getId(),userEntity.getId() );
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
if (CallStatusEnum.PUBLISH.getValue().equals(callEntity.getStatus())) {
|
||||
if (hasNonRankingStep1Field(updateCallRequest)) {
|
||||
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||
Translator.toLocale(GepafinConstant.PUBLISHED_CALL_STEP1_ONLY_RANKING_TYPE_ALLOWED));
|
||||
}
|
||||
if (updateCallRequest.getRankingType() != null) {
|
||||
return updatePublishedCallStep1RankingTypeOnly(request, callEntity, oldCallEntity, updateCallRequest);
|
||||
}
|
||||
CallResponse unchanged = getCallResponseBean(callEntity);
|
||||
unchanged.setCurrentStep(GepafinConstant.STEP_1);
|
||||
return unchanged;
|
||||
}
|
||||
isValidDateRange(updateCallRequest, callEntity);
|
||||
setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName());
|
||||
setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort,
|
||||
@@ -648,8 +701,6 @@ public class CallDao {
|
||||
|
||||
if (!requestEndTime.equals(storedEndTime)) {
|
||||
setIfUpdated(callEntity::getEndTime, callEntity::setEndTime, DateTimeUtil.parseTime(updateCallRequest.getEndTime()));
|
||||
// callEntity.setStatus(CallStatusEnum.PUBLISH.getValue());
|
||||
// callRepository.save(callEntity);
|
||||
isEndTimeUpdated = true;
|
||||
}
|
||||
}
|
||||
@@ -708,10 +759,15 @@ public class CallDao {
|
||||
setIfUpdated(callEntity::getPhoneNumber, callEntity::setPhoneNumber, updateCallRequest.getPhoneNumber());
|
||||
setIfUpdated(callEntity::getStartTime, callEntity::setStartTime, DateTimeUtil.parseTime(updateCallRequest.getStartTime()));
|
||||
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
|
||||
setIfUpdated(callEntity::getEvaluationVersion, callEntity::setEvaluationVersion, updateCallRequest.getEvaluationVersion().getValue());
|
||||
if (updateCallRequest.getEvaluationVersion() != null) {
|
||||
setIfUpdated(callEntity::getEvaluationVersion, callEntity::setEvaluationVersion,
|
||||
updateCallRequest.getEvaluationVersion().getValue());
|
||||
}
|
||||
setIfUpdated(callEntity::getNumberOfCheck, callEntity::setNumberOfCheck, updateCallRequest.getNumberOfCheck());
|
||||
setIfUpdated(callEntity::getAppointmentTemplateId, callEntity::setAppointmentTemplateId, updateCallRequest.getAppointmentTemplateId());
|
||||
setIfUpdated(callEntity::getAllowMultipleApplications, callEntity::setAllowMultipleApplications, updateCallRequest.getAllowMultipleApplications());
|
||||
setIfUpdated(callEntity::getRankingType, callEntity::setRankingType,
|
||||
updateCallRequest.getRankingType() != null ? updateCallRequest.getRankingType().getValue() : null);
|
||||
callEntity = callRepository.save(callEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "update call step 1" operation **/
|
||||
@@ -725,6 +781,15 @@ public class CallDao {
|
||||
return createCallResponseBean;
|
||||
}
|
||||
|
||||
public CallResponse updateCallRankingType(HttpServletRequest request, CallEntity callEntity, CallRankingTypeEnum rankingType) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
callEntity.setRankingType(rankingType != null ? rankingType.getValue() : null);
|
||||
callEntity = callRepository.save(callEntity);
|
||||
loggingUtil.addVersionHistory(
|
||||
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
return getCallResponseBean(callEntity);
|
||||
}
|
||||
|
||||
private void softDeleteFaq(FaqEntity faqEntity) {
|
||||
|
||||
FaqEntity oldFaqEntity = Utils.getClonedEntityForData(faqEntity);
|
||||
|
||||
Reference in New Issue
Block a user