created validate api for call

This commit is contained in:
rajesh
2024-08-28 12:38:11 +05:30
parent ffa07d779b
commit 630643f156
18 changed files with 214 additions and 61 deletions

View File

@@ -24,7 +24,7 @@ import net.gepafin.tendermanagement.entities.LookUpDataEntity;
import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum;
import net.gepafin.tendermanagement.entities.RegionEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.CallTypeEnum;
import net.gepafin.tendermanagement.enums.CallStatusEnum;
import net.gepafin.tendermanagement.enums.DocumentTypeEnum;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
@@ -41,6 +41,7 @@ import net.gepafin.tendermanagement.repositories.FaqRepository;
import net.gepafin.tendermanagement.repositories.LookUpDataRepository;
import net.gepafin.tendermanagement.repositories.RegionRepository;
import net.gepafin.tendermanagement.service.UserService;
import net.gepafin.tendermanagement.service.impl.CallValidatorServiceImpl;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
@@ -75,7 +76,7 @@ public class CallDao {
@Autowired
private UserService userService;
public CreateCallResponseBean createCallStep1(CreateCallRequestStep1 createCallRequest, Long userId) {
public CallResponse createCallStep1(CreateCallRequestStep1 createCallRequest, Long userId) {
CallEntity callEntity = convertToCallEntity(createCallRequest);
convertToFaqEntities(createCallRequest.getFaq(), callEntity, userId);
convertLookUpDataEntities(createCallRequest.getAimedTo(), callEntity,
@@ -84,7 +85,7 @@ public class CallDao {
// Collections.emptyList(), faqEntities, Collections.emptyList());
// createCallResponseBean.setAimedTo(amiedTo);
// createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
return createCallResponseBean;
@@ -102,7 +103,7 @@ public class CallDao {
callEntity.setDescriptionLong(createCallRequest.getDescriptionLong());
callEntity.setStartDate(createCallRequest.getStartDate());
callEntity.setEndDate(createCallRequest.getEndDate());
callEntity.setStatus(CallTypeEnum.DRAFT.getValue());
callEntity.setStatus(CallStatusEnum.DRAFT.getValue());
callEntity.setAmountMax(createCallRequest.getAmountMax());
callEntity.setAmount(createCallRequest.getAmountMax());
callEntity.setConfidi(false);
@@ -144,7 +145,7 @@ public class CallDao {
if (criteriaReq.getId() == null && criteriaReq.getId().equals(0l)) {
criteriaEntity = evaluationCriteriaRepository.findById(criteriaReq.getId())
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
Translator.toLocale(GepafinConstant.EVALUATION_CRITERIA_NOT_FOUND)));
} else {
criteriaEntity = new EvaluationCriteriaEntity();
criteriaEntity.setCall(callEntity);
@@ -264,15 +265,15 @@ public class CallDao {
}
public CreateCallResponseBean convertToCallResponseBean(CallEntity callEntity) {
CreateCallResponseBean createCallResponseBean = new CreateCallResponseBean();
public CallResponse convertToCallResponseBean(CallEntity callEntity) {
CallResponse createCallResponseBean = new CallResponse();
createCallResponseBean.setId(callEntity.getId());
createCallResponseBean.setName(callEntity.getName());
createCallResponseBean.setStartDate(callEntity.getStartDate());
createCallResponseBean.setEndDate(callEntity.getEndDate());
createCallResponseBean.setDescriptionShort(callEntity.getDescriptionShort());
createCallResponseBean.setDescriptionLong(callEntity.getDescriptionLong());
createCallResponseBean.setStatus(CallTypeEnum.valueOf(callEntity.getStatus()));
createCallResponseBean.setStatus(CallStatusEnum.valueOf(callEntity.getStatus()));
createCallResponseBean.setRegionId(callEntity.getRegion().getId());
createCallResponseBean.setAmount(callEntity.getAmount());
createCallResponseBean.setAmountMax(callEntity.getAmountMax());
@@ -281,6 +282,7 @@ public class CallDao {
createCallResponseBean.setThreshold(callEntity.getThreshold());
createCallResponseBean.setDocumentationReqested(callEntity.getDocumentationRequested());
createCallResponseBean.setPriorityArea(callEntity.getPriorityArea());
createCallResponseBean.setConfidi(callEntity.getConfidi());
createCallResponseBean.setCreatedDate(callEntity.getCreatedDate());
createCallResponseBean.setUpdatedDate(callEntity.getUpdatedDate());
return createCallResponseBean;
@@ -323,11 +325,11 @@ public class CallDao {
return responseBean;
}
public CreateCallResponseBean assembleCreateCallResponseBean(CallEntity callEntity,
public CallResponse assembleCreateCallResponseBean(CallEntity callEntity,
List<EvaluationCriteriaEntity> evaluationCriteriaEntities, List<DocumentEntity> documentEntities,
List<FaqEntity> faqEntities, List<DocumentEntity> images) {
CreateCallResponseBean callResponseBean = convertToCallResponseBean(callEntity);
CallResponse callResponseBean = convertToCallResponseBean(callEntity);
List<EvaluationCriteriaResponseBean> evaluationCriteriaResponseBeans = evaluationCriteriaEntities.stream()
.map(this::convertToEvaluationCriteriaResponseBean).collect(Collectors.toList());
@@ -340,7 +342,7 @@ public class CallDao {
List<DocumentResponseBean> imagesResponseBean = images.stream().map(this::convertToDocumentResponseBean)
.collect(Collectors.toList());
CreateCallResponseBean createCallResponseBean = callResponseBean;
CallResponse createCallResponseBean = callResponseBean;
createCallResponseBean.setCriteria(evaluationCriteriaResponseBeans);
createCallResponseBean.setDocs(documentResponseBeans);
createCallResponseBean.setFaq(faqResponseBeans);
@@ -403,14 +405,14 @@ public class CallDao {
return callRepository.findById(callId).orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
}
public CreateCallResponseBean getCallById(Long callId) {
public CallResponse getCallById(Long callId) {
CallEntity callEntity = callRepository.findById(callId)
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
return getCallResponseBean(callEntity);
}
public CreateCallResponseBean createCallStep2(Long callId, CreateCallRequestStep2 createCallRequest, Long userId) {
public CallResponse createCallStep2(Long callId, CreateCallRequestStep2 createCallRequest, Long userId) {
CallEntity callEntity = callRepository.findById(callId)
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
@@ -433,7 +435,7 @@ public class CallDao {
// documentEntities, faqEntities, imageEntities);
// createCallResponseBean.setAimedTo(amiedTo);
// createCallResponseBean.setCheckList(checkList);
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
return createCallResponseBean;
}
@@ -460,7 +462,7 @@ public class CallDao {
}
}
public CreateCallResponseBean updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) {
public CallResponse updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) {
CallEntity callEntity = validateCall(callId);
UserEntity userEntity = userService.validateUser(userId);
isValidDateRange(updateCallRequest, callEntity);
@@ -478,7 +480,7 @@ public class CallDao {
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
updateLookUpData(callEntity, updateCallRequest.getAimedTo(), LookUpDataTypeEnum.AIMED_TO);
updateFaq(callEntity, updateCallRequest.getFaq(), userEntity);
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
return createCallResponseBean;
}
@@ -506,7 +508,7 @@ public class CallDao {
if (isExistingFaq(faqReq)) {
faqEntity = faqRepository.findById(faqReq.getId())
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
Translator.toLocale(GepafinConstant.FAQ_NOT_FOUND)));
} else {
faqEntity = new FaqEntity();
faqEntity.setCall(callEntity);
@@ -576,7 +578,7 @@ public class CallDao {
callDetailsResponseBean.setDates(List.of(callEntity.getStartDate(), callEntity.getEndDate()));
callDetailsResponseBean.setDescriptionShort(callEntity.getDescriptionShort());
callDetailsResponseBean.setDescriptionLong(callEntity.getDescriptionLong());
callDetailsResponseBean.setStatus(CallTypeEnum.valueOf(callEntity.getStatus()));
callDetailsResponseBean.setStatus(CallStatusEnum.valueOf(callEntity.getStatus()));
callDetailsResponseBean.setRegionId(callEntity.getRegion().getId());
callDetailsResponseBean.setAmount(callEntity.getAmount());
callDetailsResponseBean.setAmountMax(callEntity.getAmountMax());
@@ -589,7 +591,7 @@ public class CallDao {
callDetailsResponseBean.setUpdatedDate(callEntity.getUpdatedDate());
return callDetailsResponseBean;
}
private CreateCallResponseBean getCallResponseBean(CallEntity callEntity) {
private CallResponse getCallResponseBean(CallEntity callEntity) {
List<DocumentEntity> documentEntities = documentRepository.findByCallIdAndTypeAndIsDeletedFalse(callEntity.getId(),
DocumentTypeEnum.DOCUMENT.getValue());
List<DocumentEntity> imageEntities = documentRepository.findByCallIdAndTypeAndIsDeletedFalse(callEntity.getId(),
@@ -605,7 +607,7 @@ public class CallDao {
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = evaluationCriteriaRepository
.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.EVALUATION_CRITERIA.getValue());
CreateCallResponseBean createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
CallResponse createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
documentEntities, faqEntities, imageEntities);
createCallResponseBean.setAimedTo(amiedTo);
createCallResponseBean.setCheckList(checkList);
@@ -617,4 +619,13 @@ public class CallDao {
.map(this::convertToCallDetailsResponseBean)
.collect(Collectors.toList());
}
public CallResponse validateCall(CallEntity callEntity) {
CallResponse callResponseBean = getCallResponseBean(callEntity);
CallValidatorServiceImpl.validateResponse(callResponseBean);
callEntity.setStatus(CallStatusEnum.READY_TO_PUBLISH.getValue());
callRepository.save(callEntity);
callResponseBean.setCurrentStep(GepafinConstant.VALIDATE_REQUEST);
return callResponseBean;
}
}