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

@@ -45,6 +45,7 @@ public class GepafinConstant {
public static final String INVALID_DATE_MSG = "call.invalid.date"; public static final String INVALID_DATE_MSG = "call.invalid.date";
public static final String STEP_1 = "STEP_1"; public static final String STEP_1 = "STEP_1";
public static final String STEP_2 = "STEP_2"; public static final String STEP_2 = "STEP_2";
public static final String VALIDATE_REQUEST = "VALIDATE_REQUEST";
public static final String CALL_UPDATE_SUCCESSFULLY_MSG = "call.update.successfully"; public static final String CALL_UPDATE_SUCCESSFULLY_MSG = "call.update.successfully";
public static final String CALL_NOT_FOUND = "call.not.found"; public static final String CALL_NOT_FOUND = "call.not.found";
public static final String CALL_FETCH_SUCCESS_MSG = "call.fetch.success"; public static final String CALL_FETCH_SUCCESS_MSG = "call.fetch.success";
@@ -75,5 +76,8 @@ public class GepafinConstant {
public static final String LOGOUT_SUCCESSFUL_MSG = "logout.successful.msg"; public static final String LOGOUT_SUCCESSFUL_MSG = "logout.successful.msg";
public static final String SUCCESS_PASSWORD_CHANGED = "success.password.changed"; public static final String SUCCESS_PASSWORD_CHANGED = "success.password.changed";
public static final String UPDATE_USER_STATUS_SUCCESS_MSG = "update.user.status.success"; public static final String UPDATE_USER_STATUS_SUCCESS_MSG = "update.user.status.success";
public static final String FIELD_NOT_NULL = "field.not.null";
public static final String FIELD_NOT_EMPTY = "field.not.empty";
} }

View File

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

View File

@@ -2,15 +2,16 @@ package net.gepafin.tendermanagement.enums;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
public enum CallTypeEnum { public enum CallStatusEnum {
DRAFT("DRAFT"), DRAFT("DRAFT"),
PUBLISH("PUBLISH"), PUBLISH("PUBLISH"),
EXPIRE("EXPIRE"); EXPIRE("EXPIRE"),
READY_TO_PUBLISH("READY_TO_PUBLISH");
private String value; private String value;
CallTypeEnum(String value) { CallStatusEnum(String value) {
this.value = value; this.value = value;
} }

View File

@@ -1,7 +1,7 @@
package net.gepafin.tendermanagement.model.response; package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.CallTypeEnum; import net.gepafin.tendermanagement.enums.CallStatusEnum;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -19,7 +19,7 @@ public class CallDetailsResponseBean {
private List<LocalDateTime> dates; private List<LocalDateTime> dates;
private CallTypeEnum status; private CallStatusEnum status;
private Long regionId; private Long regionId;

View File

@@ -5,10 +5,10 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.CallTypeEnum; import net.gepafin.tendermanagement.enums.CallStatusEnum;
@Data @Data
public class CreateCallResponseBean { public class CallResponse {
private Long id; private Long id;
@@ -22,7 +22,7 @@ public class CreateCallResponseBean {
private LocalDateTime endDate; private LocalDateTime endDate;
private CallTypeEnum status; private CallStatusEnum status;
private Long regionId; private Long regionId;
@@ -39,6 +39,8 @@ public class CreateCallResponseBean {
private String priorityArea; private String priorityArea;
private String documentationReqested; private String documentationReqested;
private Boolean confidi;
private LocalDateTime createdDate; private LocalDateTime createdDate;

View File

@@ -16,5 +16,5 @@ public interface CallTargetAudienceChecklistRepository extends JpaRepository<Cal
@Query("SELECT c FROM CallTargetAudienceChecklistEntity c WHERE c.id = :id AND c.isDeleted = false") @Query("SELECT c FROM CallTargetAudienceChecklistEntity c WHERE c.id = :id AND c.isDeleted = false")
Optional<CallTargetAudienceChecklistEntity> findById(@Param("id") Long id); Optional<CallTargetAudienceChecklistEntity> findById(@Param("id") Long id);
List<CallTargetAudienceChecklistEntity> findByCallIdAndLookupDataTypeAndIsDeletedFalse(Long id, String value); List<CallTargetAudienceChecklistEntity> findByCallIdAndLookupDataTypeAndIsDeletedFalse(Long id, String type);
} }

View File

@@ -7,18 +7,20 @@ import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.CallResponse;
public interface CallService { public interface CallService {
CreateCallResponseBean createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest); CallResponse createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest);
CreateCallResponseBean createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest); CallResponse createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest);
CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest); CallResponse updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest);
CreateCallResponseBean getCallById (Long callId); CallResponse getCallById (Long callId);
List<CallDetailsResponseBean> getAllCalls(); List<CallDetailsResponseBean> getAllCalls();
CallResponse validateCall(Long callId);
} }

View File

@@ -7,7 +7,7 @@ import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.service.CallService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -28,28 +28,28 @@ public class CallServiceImpl implements CallService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreateCallResponseBean createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) { public CallResponse createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) {
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
return callDao.createCallStep1(createCallRequest, Long.parseLong(userInfo.get("userId").toString())); return callDao.createCallStep1(createCallRequest, Long.parseLong(userInfo.get("userId").toString()));
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreateCallResponseBean createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) { public CallResponse createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) {
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
return callDao.createCallStep2(callId, createCallRequest, Long.parseLong(userInfo.get("userId").toString())); return callDao.createCallStep2(callId, createCallRequest, Long.parseLong(userInfo.get("userId").toString()));
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId, public CallResponse updateCallStep1(HttpServletRequest request, Long callId,
UpdateCallRequestStep1 updateCallRequest) { UpdateCallRequestStep1 updateCallRequest) {
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
return callDao.updateCallStep1(callId, updateCallRequest, Long.parseLong(userInfo.get("userId").toString())); return callDao.updateCallStep1(callId, updateCallRequest, Long.parseLong(userInfo.get("userId").toString()));
} }
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public CreateCallResponseBean getCallById(Long callId) { public CallResponse getCallById(Long callId) {
return callDao.getCallById(callId); return callDao.getCallById(callId);
} }
@@ -59,4 +59,10 @@ public class CallServiceImpl implements CallService {
return callDao.getAllCalls(); return callDao.getAllCalls();
} }
@Override
@Transactional(rollbackFor = Exception.class)
public CallResponse validateCall(Long callId) {
return callDao.validateCall(callDao.validateCall(callId));
}
} }

View File

@@ -0,0 +1,31 @@
package net.gepafin.tendermanagement.service.impl;
import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.util.FieldValidator;
public class CallValidatorServiceImpl {
public static void validateResponse(CallResponse response) {
FieldValidator.create()
.notNull(response.getId(), "id")
.notNull(response.getName(), "name")
.notNull(response.getDescriptionShort(), "descriptionShort")
.notNull(response.getDescriptionLong(), "descriptionLong")
.notNull(response.getStartDate(), "startDate")
.notNull(response.getEndDate(), "endDate")
.notNull(response.getStatus(), "status")
.notNull(response.getRegionId(), "regionId")
.notNull(response.getAmount(), "amount")
.notNull(response.getAmountMax(), "amountMax")
.notNull(response.getThreshold(), "threshold")
.notNull(response.getDocumentationReqested(), "documentationReqested")
.notEmpty(response.getAimedTo(), "aimedTo")
.notEmpty(response.getCriteria(), "criteria")
.notEmpty(response.getDocs(), "docs")
.notEmpty(response.getFaq(), "faq")
.notEmpty(response.getImages(), "images")
.notEmpty(response.getCheckList(), "checkList")
.validate();
}
}

View File

@@ -0,0 +1,40 @@
package net.gepafin.tendermanagement.util;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import net.gepafin.tendermanagement.web.rest.api.errors.ValidationException;
public class FieldValidator {
private final List<String> errors = new ArrayList<>();
public static FieldValidator create() {
return new FieldValidator();
}
public FieldValidator notNull(Object object, String fieldName) {
if (Objects.isNull(object)) {
errors.add(MessageFormat.format(Translator.toLocale(GepafinConstant.FIELD_NOT_NULL), fieldName));
}
return this;
}
public FieldValidator notEmpty(List<?> list, String fieldName) {
if (list == null || list.isEmpty()) {
errors.add(MessageFormat.format(Translator.toLocale(GepafinConstant.FIELD_NOT_EMPTY), fieldName));
}
return this;
}
public void validate() {
if (!errors.isEmpty()) {
throw new ValidationException(Status.VALIDATION_ERROR, errors);
}
}
}

View File

@@ -23,7 +23,7 @@ import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
@@ -42,7 +42,7 @@ public interface CallApi {
}) })
@PostMapping(value = "/step1", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "/step1", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
public ResponseEntity<Response<CreateCallResponseBean>> createCallStep1(HttpServletRequest request, public ResponseEntity<Response<CallResponse>> createCallStep1(HttpServletRequest request,
@Parameter(description = "Call request object", required = true) @Parameter(description = "Call request object", required = true)
@Valid @RequestBody CreateCallRequestStep1 createCallRequest); @Valid @RequestBody CreateCallRequestStep1 createCallRequest);
@@ -58,7 +58,7 @@ public interface CallApi {
}) })
@PutMapping(value = "/step2/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PutMapping(value = "/step2/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
public ResponseEntity<Response<CreateCallResponseBean>> createCallStep2(HttpServletRequest request, public ResponseEntity<Response<CallResponse>> createCallStep2(HttpServletRequest request,
@Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId, @Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId,
@Parameter(description = "Call request object", required = true) @Valid @RequestBody CreateCallRequestStep2 createCallRequest); @Parameter(description = "Call request object", required = true) @Valid @RequestBody CreateCallRequestStep2 createCallRequest);
@@ -74,7 +74,7 @@ public interface CallApi {
}) })
@PutMapping(value = "/step1/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PutMapping(value = "/step1/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
public ResponseEntity<Response<CreateCallResponseBean>> updateCallStep1(HttpServletRequest request, public ResponseEntity<Response<CallResponse>> updateCallStep1(HttpServletRequest request,
@Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId, @Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId,
@Parameter(description = "Call request object", required = true) @Valid @RequestBody UpdateCallRequestStep1 updateCallRequest); @Parameter(description = "Call request object", required = true) @Valid @RequestBody UpdateCallRequestStep1 updateCallRequest);
@Operation(summary = "Api to get call by id", @Operation(summary = "Api to get call by id",
@@ -88,8 +88,10 @@ public interface CallApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
@GetMapping(value = "/{callId}", @GetMapping(value = "/{callId}",
produces = { "application/json" }) produces = { "application/json" })
ResponseEntity<Response<CreateCallResponseBean>> getCallById( ResponseEntity<Response<CallResponse>> getCallById(
@Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId); @Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId);
@Operation(summary = "Api to get all calls", @Operation(summary = "Api to get all calls",
responses = { responses = {
@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "200", description = "OK"),
@@ -102,5 +104,21 @@ public interface CallApi {
@GetMapping(value = "", @GetMapping(value = "",
produces = { "application/json" }) produces = { "application/json" })
ResponseEntity<Response<List<CallDetailsResponseBean>>> getAllCalls(); ResponseEntity<Response<List<CallDetailsResponseBean>>> getAllCalls();
@Operation(summary = "Api to validate call",
responses = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
})
@PostMapping(value = "/validate/{callId}", produces = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
public ResponseEntity<Response<CallResponse>> validateCall(HttpServletRequest request,
@Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId);
} }

View File

@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
public interface EvaluationCriteriaApi { public interface EvaluationCriteriaApi {
@Operation(summary = "API to create evaluation criteria", @Operation(summary = "Api to create evaluation criteria",
responses = { responses = {
@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@@ -28,12 +28,12 @@ public interface EvaluationCriteriaApi {
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
}) })
@PostMapping(value = "/criteria", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Response<EvaluationCriteriaResponseBean>> createEvaluationCriteria(HttpServletRequest request, ResponseEntity<Response<EvaluationCriteriaResponseBean>> createEvaluationCriteria(HttpServletRequest request,
@Parameter(description = "Evaluation criteria request object", required = true) @Parameter(description = "Evaluation criteria request object", required = true)
@Valid @RequestBody EvaluationCriteriaRequest createCallRequest); @Valid @RequestBody EvaluationCriteriaRequest createCallRequest);
@Operation(summary = "API to get evaluation criteria by id", @Operation(summary = "Api to get evaluation criteria by id",
responses = { responses = {
@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@@ -41,7 +41,7 @@ public interface EvaluationCriteriaApi {
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })) @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) }))
}) })
@GetMapping(value = "/criteria/{id}", produces = MediaType.APPLICATION_JSON_VALUE) @GetMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Response<EvaluationCriteriaResponseBean>> getEvaluationCriteriaById(HttpServletRequest request, ResponseEntity<Response<EvaluationCriteriaResponseBean>> getEvaluationCriteriaById(HttpServletRequest request,
@Parameter(description = "evaluation criteria id", required = true) @Parameter(description = "evaluation criteria id", required = true)
@PathVariable Long id); @PathVariable Long id);
@@ -56,7 +56,7 @@ public interface EvaluationCriteriaApi {
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
}) })
@PutMapping(value = "/criteria/{id}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PutMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Response<EvaluationCriteriaResponseBean>> updateEvaluationCriteria(HttpServletRequest request, ResponseEntity<Response<EvaluationCriteriaResponseBean>> updateEvaluationCriteria(HttpServletRequest request,
@Parameter(description = "evaluation criteria id", required = true) @Parameter(description = "evaluation criteria id", required = true)
@PathVariable Long id, @PathVariable Long id,
@@ -71,7 +71,7 @@ public interface EvaluationCriteriaApi {
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })) @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) }))
}) })
@DeleteMapping(value = "/criteria/{id}", produces = MediaType.APPLICATION_JSON_VALUE) @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Void> deleteEvaluationCriteria(HttpServletRequest request, ResponseEntity<Void> deleteEvaluationCriteria(HttpServletRequest request,
@Parameter(description = "evaluation criteria id", required = true) @Parameter(description = "evaluation criteria id", required = true)
@PathVariable Long id); @PathVariable Long id);

View File

@@ -0,0 +1,27 @@
package net.gepafin.tendermanagement.web.rest.api.errors;
import java.util.List;
public class ValidationException extends CustomValidationException {
private final Status status;
private static final long serialVersionUID = 1L;
private final List<String> errors;
public ValidationException(Status status, List<String> errors) {
super(status, errors.toString());
this.errors = errors;
this.status = status;
}
public List<String> getErrors() {
return errors;
}
public Status getStatus() {
return status;
}
}

View File

@@ -16,7 +16,7 @@ import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.service.CallService;
import net.gepafin.tendermanagement.web.rest.api.CallApi; import net.gepafin.tendermanagement.web.rest.api.CallApi;
@@ -33,31 +33,31 @@ public class CallApiController implements CallApi {
@Override @Override
@Transactional(rollbackFor=Exception.class) @Transactional(rollbackFor=Exception.class)
public ResponseEntity<Response<CreateCallResponseBean>> createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) { public ResponseEntity<Response<CallResponse>> createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) {
CreateCallResponseBean createCallResponseBean = callService.createCallStep1(request, createCallRequest); CallResponse createCallResponseBean = callService.createCallStep1(request, createCallRequest);
return ResponseEntity.status(HttpStatus.CREATED) return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG))); .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG)));
} }
@Override @Override
@Transactional(rollbackFor=Exception.class) @Transactional(rollbackFor=Exception.class)
public ResponseEntity<Response<CreateCallResponseBean>> createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) { public ResponseEntity<Response<CallResponse>> createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) {
CreateCallResponseBean createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest); CallResponse createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest);
return ResponseEntity.status(HttpStatus.CREATED) return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG))); .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG)));
} }
@Override @Override
@Transactional(rollbackFor=Exception.class) @Transactional(rollbackFor=Exception.class)
public ResponseEntity<Response<CreateCallResponseBean>> updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest) { public ResponseEntity<Response<CallResponse>> updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest) {
CreateCallResponseBean createCallResponseBean = callService.updateCallStep1(request, callId, updateCallRequest); CallResponse createCallResponseBean = callService.updateCallStep1(request, callId, updateCallRequest);
return ResponseEntity.status(HttpStatus.CREATED) return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG))); .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG)));
} }
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public ResponseEntity<Response<CreateCallResponseBean>> getCallById(Long callId) { public ResponseEntity<Response<CallResponse>> getCallById(Long callId) {
CreateCallResponseBean createCallResponseBean = callService.getCallById(callId); CallResponse createCallResponseBean = callService.getCallById(callId);
return ResponseEntity.status(HttpStatus.OK) return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG)));
} }
@@ -71,4 +71,11 @@ public class CallApiController implements CallApi {
.body(new Response<>(calls, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); .body(new Response<>(calls, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG)));
} }
@Override
public ResponseEntity<Response<CallResponse>> validateCall(HttpServletRequest request, Long callId) {
CallResponse call = callService.validateCall(callId);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(call, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG)));
}
} }

View File

@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/evaluation}") @RequestMapping("${openapi.gepafin.base-path:/v1/evaluationCriteria}")
public class EvaluationCriteriaApiController implements EvaluationCriteriaApi { public class EvaluationCriteriaApiController implements EvaluationCriteriaApi {
@Autowired @Autowired

View File

@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/lookupdata}") @RequestMapping("${openapi.gepafin.base-path:/v1/lookUpData}")
public class LookUpDataApiController implements LookUpDataApi { public class LookUpDataApiController implements LookUpDataApi {
@Autowired @Autowired

View File

@@ -49,6 +49,8 @@ call.update.successfully=Call updated successfully.
call.fetch.success=Call details fetched successfully. call.fetch.success=Call details fetched successfully.
call.not.found=Call not found. call.not.found=Call not found.
score.not.null=Score cannot be null or cannot be zero. score.not.null=Score cannot be null or cannot be zero.
field.not.null={0} cannot be null.
field.not.empty={0} cannot be empty.
# Login-related messages # Login-related messages
login.successfully=Login successfully. login.successfully=Login successfully.

View File

@@ -48,6 +48,8 @@ call.update.successfully=Chiamata aggiornata con successo.
call.fetch.success=Dettagli della chiamata recuperati con successo. call.fetch.success=Dettagli della chiamata recuperati con successo.
call.not.found=Chiamata non trovata. call.not.found=Chiamata non trovata.
score.not.null=Il punteggio non pu� essere nullo o zero. score.not.null=Il punteggio non pu� essere nullo o zero.
field.not.null={0} non può essere nullo.
field.not.empty=la {0} non può essere vuota.
# Login-related messages # Login-related messages
login.successfully=Accesso effettuato con successo. login.successfully=Accesso effettuato con successo.