created api to update the call
This commit is contained in:
@@ -45,6 +45,8 @@ 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 CALL_UPDATE_SUCCESSFULLY_MSG = "call.update.successfully";
|
||||||
|
public static final String CALL_NOT_FOUND = "call.not.found";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,12 +24,14 @@ 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.CallTypeEnum;
|
||||||
|
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;
|
||||||
import net.gepafin.tendermanagement.model.request.DocumentReq;
|
import net.gepafin.tendermanagement.model.request.DocumentReq;
|
||||||
import net.gepafin.tendermanagement.model.request.EvaluationCriteriaReq;
|
import net.gepafin.tendermanagement.model.request.EvaluationCriteriaReq;
|
||||||
import net.gepafin.tendermanagement.model.request.FaqReq;
|
import net.gepafin.tendermanagement.model.request.FaqReq;
|
||||||
import net.gepafin.tendermanagement.model.request.LookUpDataReq;
|
import net.gepafin.tendermanagement.model.request.LookUpDataReq;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
|
||||||
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.response.EvaluationCriteriaResponseBean;
|
import net.gepafin.tendermanagement.model.response.EvaluationCriteriaResponseBean;
|
||||||
@@ -48,6 +50,8 @@ import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationExceptio
|
|||||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
|
|
||||||
|
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class CallDao {
|
public class CallDao {
|
||||||
|
|
||||||
@@ -89,12 +93,12 @@ public class CallDao {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public CallEntity convertToCallEntity(CreateCallRequestStep1 createCallRequest) {
|
public CallEntity convertToCallEntity(CreateCallRequestStep1 createCallRequest) {
|
||||||
CallEntity callEntity = new CallEntity();
|
CallEntity callEntity = new CallEntity();
|
||||||
validateCallEntity(createCallRequest);
|
validateCallEntity(createCallRequest);
|
||||||
RegionEntity region = regionRepository.findById(createCallRequest.getRegionId())
|
RegionEntity region = regionRepository.findById(createCallRequest.getRegionId())
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND)));
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.REGION_NOT_FOUND)));
|
||||||
callEntity.setRegion(region);
|
callEntity.setRegion(region);
|
||||||
callEntity.setName(createCallRequest.getName());
|
callEntity.setName(createCallRequest.getName());
|
||||||
callEntity.setDescriptionShort(createCallRequest.getDescriptionShort());
|
callEntity.setDescriptionShort(createCallRequest.getDescriptionShort());
|
||||||
@@ -105,7 +109,7 @@ public class CallDao {
|
|||||||
callEntity.setAmountMax(createCallRequest.getAmountMax());
|
callEntity.setAmountMax(createCallRequest.getAmountMax());
|
||||||
callEntity.setAmount(createCallRequest.getAmountMax());
|
callEntity.setAmount(createCallRequest.getAmountMax());
|
||||||
callEntity.setConfidi(false);
|
callEntity.setConfidi(false);
|
||||||
if(createCallRequest.getConfidi()!=null){
|
if (createCallRequest.getConfidi() != null) {
|
||||||
callEntity.setConfidi(createCallRequest.getConfidi());
|
callEntity.setConfidi(createCallRequest.getConfidi());
|
||||||
}
|
}
|
||||||
callEntity.setDocumentationRequested(createCallRequest.getDocumentationRequested());
|
callEntity.setDocumentationRequested(createCallRequest.getDocumentationRequested());
|
||||||
@@ -113,31 +117,50 @@ public class CallDao {
|
|||||||
return callEntity;
|
return callEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EvaluationCriteriaEntity> convertToEvaluationCriteriaEntities(List<EvaluationCriteriaReq> criteriaReqList, CallEntity callEntity) {
|
public List<EvaluationCriteriaEntity> convertToEvaluationCriteriaEntities(
|
||||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream().map(req -> convertToEvaluationCriteriaEntity(req, callEntity)).collect(Collectors.toList());
|
List<EvaluationCriteriaReq> criteriaReqList, CallEntity callEntity) {
|
||||||
|
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream()
|
||||||
|
.map(req -> convertToEvaluationCriteriaEntity(req, callEntity)).collect(Collectors.toList());
|
||||||
evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
||||||
return evaluationCriteriaEntities;
|
return evaluationCriteriaEntities;
|
||||||
}
|
}
|
||||||
|
|
||||||
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq, CallEntity callEntity) {
|
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq,
|
||||||
|
CallEntity callEntity) {
|
||||||
EvaluationCriteriaEntity criteriaEntity = new EvaluationCriteriaEntity();
|
EvaluationCriteriaEntity criteriaEntity = new EvaluationCriteriaEntity();
|
||||||
validateEvolutionCrieteriaEntity(criteriaReq.getName());
|
LookUpDataEntity lookUpDataEntity = getOrCreateLookUpData(criteriaReq, LookUpDataTypeEnum.EVALUATION_CRITERIA);
|
||||||
criteriaEntity.setName(criteriaReq.getName());
|
criteriaEntity.setLookupData(lookUpDataEntity);
|
||||||
criteriaEntity.setDescription(criteriaReq.getValue());
|
|
||||||
criteriaEntity.setScore(criteriaReq.getScore());
|
criteriaEntity.setScore(criteriaReq.getScore());
|
||||||
criteriaEntity.setCall(callEntity);
|
criteriaEntity.setCall(callEntity);
|
||||||
return criteriaEntity;
|
return criteriaEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private LookUpDataEntity getOrCreateLookUpData(EvaluationCriteriaReq criteriaReq, LookUpDataTypeEnum typeEnum) {
|
||||||
|
LookUpDataEntity lookUpDataEntity = null;
|
||||||
|
if (criteriaReq.getLookUpDataId() == null || criteriaReq.getLookUpDataId().equals(0l)) {
|
||||||
|
validateEvolutionCrieteriaEntity(criteriaReq.getValue());
|
||||||
|
lookUpDataEntity = new LookUpDataEntity();
|
||||||
|
lookUpDataEntity.setValue(criteriaReq.getValue());
|
||||||
|
lookUpDataEntity.setType(typeEnum.getValue());
|
||||||
|
lookUpDataRepository.save(lookUpDataEntity);
|
||||||
|
} else {
|
||||||
|
lookUpDataEntity = lookUpDataRepository.findById(null)
|
||||||
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
||||||
|
}
|
||||||
|
|
||||||
|
return lookUpDataEntity;
|
||||||
|
}
|
||||||
|
|
||||||
public List<DocumentEntity> convertToDocumentEntities(List<DocumentReq> documentReqList, CallEntity callEntity) {
|
public List<DocumentEntity> convertToDocumentEntities(List<DocumentReq> documentReqList, CallEntity callEntity) {
|
||||||
List<DocumentEntity> documentEntities = documentReqList.stream().map(req -> convertToDocumentEntity(req, callEntity)).collect(Collectors.toList());
|
List<DocumentEntity> documentEntities = documentReqList.stream()
|
||||||
|
.map(req -> convertToDocumentEntity(req, callEntity)).collect(Collectors.toList());
|
||||||
documentRepository.saveAll(documentEntities);
|
documentRepository.saveAll(documentEntities);
|
||||||
return documentEntities;
|
return documentEntities;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DocumentEntity convertToDocumentEntity(DocumentReq documentReq, CallEntity callEntity) {
|
private DocumentEntity convertToDocumentEntity(DocumentReq documentReq, CallEntity callEntity) {
|
||||||
validateDocumentEntity(documentReq.getId(),documentReq.getFileName());
|
validateDocumentEntity(documentReq.getId(), documentReq.getFileName());
|
||||||
DocumentEntity documentEntity = documentRepository.findById(documentReq.getId())
|
DocumentEntity documentEntity = documentRepository.findById(documentReq.getId())
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
Translator.toLocale(GepafinConstant.DOCUMENT_NOT_FOUND)));
|
||||||
@@ -150,9 +173,9 @@ public class CallDao {
|
|||||||
return documentEntity;
|
return documentEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, Long userId) {
|
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, Long userId) {
|
||||||
List<FaqEntity> faqEntities = faqReqList.stream().map(req -> convertToFaqEntity(req, callEntity, userId)).collect(Collectors.toList());
|
List<FaqEntity> faqEntities = faqReqList.stream().map(req -> convertToFaqEntity(req, callEntity, userId))
|
||||||
|
.collect(Collectors.toList());
|
||||||
faqRepository.saveAll(faqEntities);
|
faqRepository.saveAll(faqEntities);
|
||||||
return faqEntities;
|
return faqEntities;
|
||||||
}
|
}
|
||||||
@@ -160,16 +183,17 @@ public class CallDao {
|
|||||||
private FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, Long userId) {
|
private FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, Long userId) {
|
||||||
FaqEntity faqEntity = new FaqEntity();
|
FaqEntity faqEntity = new FaqEntity();
|
||||||
validateFaqEntity(faqReq.getQuestion());
|
validateFaqEntity(faqReq.getQuestion());
|
||||||
UserEntity userEntity= userRepository.findById(userId)
|
UserEntity userEntity = userRepository.findById(userId)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
||||||
faqEntity.setUser(userEntity);
|
faqEntity.setUser(userEntity);
|
||||||
faqEntity.setIsVisible(true);
|
faqEntity.setIsVisible(true);
|
||||||
if(faqReq.getIsVisible()!=null){
|
if (faqReq.getIsVisible() != null) {
|
||||||
faqEntity.setIsVisible(faqReq.getIsVisible());
|
faqEntity.setIsVisible(faqReq.getIsVisible());
|
||||||
}
|
}
|
||||||
faqEntity.setQuestionShort(faqReq.getQuestionShort());
|
faqEntity.setQuestionShort(faqReq.getQuestionShort());
|
||||||
faqEntity.setQuestion(faqReq.getQuestion());
|
faqEntity.setQuestion(faqReq.getQuestion());
|
||||||
if(faqReq.getResponse()!=null ||faqReq.getResponseShort()!=null){
|
if (faqReq.getResponse() != null || faqReq.getResponseShort() != null) {
|
||||||
faqEntity.setResponseDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
faqEntity.setResponseDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
}
|
}
|
||||||
faqEntity.setResponseShort(faqReq.getResponseShort());
|
faqEntity.setResponseShort(faqReq.getResponseShort());
|
||||||
@@ -178,15 +202,17 @@ public class CallDao {
|
|||||||
return faqEntity;
|
return faqEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateFaqEntity( String question) {
|
public void validateFaqEntity(String question) {
|
||||||
if (!StringUtils.hasText(question)) {
|
if (!StringUtils.hasText(question)) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.QUESTION_NOT_EMPTY_MSG));
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.QUESTION_NOT_EMPTY_MSG));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateDocumentEntity(Long documentId,String name) {
|
public void validateDocumentEntity(Long documentId, String name) {
|
||||||
if(documentId==null){
|
if (documentId == null) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR,Translator.toLocale(GepafinConstant.DOCUMENT_ID_NOT_FOUND));
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.DOCUMENT_ID_NOT_FOUND));
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!StringUtils.hasText(name)) {
|
// if (!StringUtils.hasText(name)) {
|
||||||
@@ -196,22 +222,29 @@ public class CallDao {
|
|||||||
|
|
||||||
public void validateEvolutionCrieteriaEntity(String name) {
|
public void validateEvolutionCrieteriaEntity(String name) {
|
||||||
if (!StringUtils.hasText(name)) {
|
if (!StringUtils.hasText(name)) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG));
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateCallEntity(CreateCallRequestStep1 createCallRequest) {
|
public void validateCallEntity(CreateCallRequestStep1 createCallRequest) {
|
||||||
if (createCallRequest.getRegionId() == null) {
|
if (createCallRequest.getRegionId() == null) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG));
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (createCallRequest.getAmount().compareTo(BigDecimal.ZERO) <= 0||createCallRequest.getAmountMax().compareTo(BigDecimal.ZERO) <= 0) {
|
if (createCallRequest.getAmount().compareTo(BigDecimal.ZERO) <= 0
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.AMOUNT_GREATER_THAN_ZERO_MSG));
|
|| createCallRequest.getAmountMax().compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.AMOUNT_GREATER_THAN_ZERO_MSG));
|
||||||
}
|
}
|
||||||
if (createCallRequest.getStartDate().toLocalDate().isBefore(LocalDate.now()) || createCallRequest.getEndDate().toLocalDate().isBefore(LocalDate.now())) {
|
if (createCallRequest.getStartDate().toLocalDate().isBefore(LocalDate.now())
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.INVALID_DATE_MSG));
|
|| createCallRequest.getEndDate().toLocalDate().isBefore(LocalDate.now())) {
|
||||||
|
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.INVALID_DATE_MSG));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public CreateCallResponseBean convertToCallResponseBean(CallEntity callEntity) {
|
public CreateCallResponseBean convertToCallResponseBean(CallEntity callEntity) {
|
||||||
CreateCallResponseBean createCallResponseBean = new CreateCallResponseBean();
|
CreateCallResponseBean createCallResponseBean = new CreateCallResponseBean();
|
||||||
createCallResponseBean.setId(callEntity.getId());
|
createCallResponseBean.setId(callEntity.getId());
|
||||||
@@ -232,16 +265,19 @@ public class CallDao {
|
|||||||
createCallResponseBean.setUpdatedDate(callEntity.getUpdatedDate());
|
createCallResponseBean.setUpdatedDate(callEntity.getUpdatedDate());
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EvaluationCriteriaResponseBean convertToEvaluationCriteriaResponseBean(EvaluationCriteriaEntity entity) {
|
public EvaluationCriteriaResponseBean convertToEvaluationCriteriaResponseBean(EvaluationCriteriaEntity entity) {
|
||||||
EvaluationCriteriaResponseBean responseBean = new EvaluationCriteriaResponseBean();
|
EvaluationCriteriaResponseBean responseBean = new EvaluationCriteriaResponseBean();
|
||||||
responseBean.setId(entity.getId());
|
responseBean.setId(entity.getId());
|
||||||
responseBean.setName(entity.getName());
|
responseBean.setLookUpDataId(entity.getLookupData().getId());
|
||||||
responseBean.setDescription(entity.getDescription());
|
responseBean.setTitle(entity.getLookupData().getTitle());
|
||||||
|
responseBean.setValue(entity.getLookupData().getValue());
|
||||||
responseBean.setScore(entity.getScore());
|
responseBean.setScore(entity.getScore());
|
||||||
responseBean.setCreatedDate(entity.getCreatedDate());
|
responseBean.setCreatedDate(entity.getCreatedDate());
|
||||||
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
||||||
return responseBean;
|
return responseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DocumentResponseBean convertToDocumentResponseBean(DocumentEntity entity) {
|
public DocumentResponseBean convertToDocumentResponseBean(DocumentEntity entity) {
|
||||||
DocumentResponseBean responseBean = new DocumentResponseBean();
|
DocumentResponseBean responseBean = new DocumentResponseBean();
|
||||||
responseBean.setId(entity.getId());
|
responseBean.setId(entity.getId());
|
||||||
@@ -252,6 +288,7 @@ public class CallDao {
|
|||||||
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
||||||
return responseBean;
|
return responseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FaqResponseBean convertToFaqResponseBean(FaqEntity entity) {
|
public FaqResponseBean convertToFaqResponseBean(FaqEntity entity) {
|
||||||
FaqResponseBean responseBean = new FaqResponseBean();
|
FaqResponseBean responseBean = new FaqResponseBean();
|
||||||
responseBean.setId(entity.getId());
|
responseBean.setId(entity.getId());
|
||||||
@@ -265,60 +302,59 @@ public class CallDao {
|
|||||||
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
responseBean.setUpdatedDate(entity.getUpdatedDate());
|
||||||
return responseBean;
|
return responseBean;
|
||||||
}
|
}
|
||||||
public CreateCallResponseBean assembleCreateCallResponseBean(
|
|
||||||
CallEntity callEntity,
|
public CreateCallResponseBean assembleCreateCallResponseBean(CallEntity callEntity,
|
||||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities,
|
List<EvaluationCriteriaEntity> evaluationCriteriaEntities, List<DocumentEntity> documentEntities,
|
||||||
List<DocumentEntity> documentEntities,
|
List<FaqEntity> faqEntities, List<DocumentEntity> images) {
|
||||||
List<FaqEntity> faqEntities,List<DocumentEntity> images) {
|
|
||||||
|
|
||||||
CreateCallResponseBean callResponseBean = convertToCallResponseBean(callEntity);
|
CreateCallResponseBean callResponseBean = convertToCallResponseBean(callEntity);
|
||||||
|
|
||||||
List<EvaluationCriteriaResponseBean> evaluationCriteriaResponseBeans = evaluationCriteriaEntities.stream()
|
List<EvaluationCriteriaResponseBean> evaluationCriteriaResponseBeans = evaluationCriteriaEntities.stream()
|
||||||
.map(this::convertToEvaluationCriteriaResponseBean)
|
.map(this::convertToEvaluationCriteriaResponseBean).collect(Collectors.toList());
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
List<DocumentResponseBean> documentResponseBeans = documentEntities.stream()
|
List<DocumentResponseBean> documentResponseBeans = documentEntities.stream()
|
||||||
.map(this::convertToDocumentResponseBean)
|
.map(this::convertToDocumentResponseBean).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<FaqResponseBean> faqResponseBeans = faqEntities.stream().map(this::convertToFaqResponseBean)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
List<FaqResponseBean> faqResponseBeans = faqEntities.stream()
|
List<DocumentResponseBean> imagesResponseBean = images.stream().map(this::convertToDocumentResponseBean)
|
||||||
.map(this::convertToFaqResponseBean)
|
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
CreateCallResponseBean createCallResponseBean = callResponseBean;
|
||||||
List<DocumentResponseBean> imagesResponseBean = images.stream()
|
|
||||||
.map(this::convertToDocumentResponseBean)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
CreateCallResponseBean createCallResponseBean =callResponseBean;
|
|
||||||
createCallResponseBean.setCriteria(evaluationCriteriaResponseBeans);
|
createCallResponseBean.setCriteria(evaluationCriteriaResponseBeans);
|
||||||
createCallResponseBean.setDocs(documentResponseBeans);
|
createCallResponseBean.setDocs(documentResponseBeans);
|
||||||
createCallResponseBean.setFaq(faqResponseBeans);
|
createCallResponseBean.setFaq(faqResponseBeans);
|
||||||
createCallResponseBean.setImages(imagesResponseBean);
|
createCallResponseBean.setImages(imagesResponseBean);
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
}
|
}
|
||||||
public List<LookUpDataResponse> convertLookUpDataEntities(List<LookUpDataReq> lookUpData, CallEntity callEntity, LookUpDataEntity.LookUpDataTypeEnum type) {
|
|
||||||
|
public List<LookUpDataResponse> convertLookUpDataEntities(List<LookUpDataReq> lookUpData, CallEntity callEntity,
|
||||||
|
LookUpDataEntity.LookUpDataTypeEnum type) {
|
||||||
List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
|
List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
|
||||||
.map(req -> convertLookUpDataRequestIntoLookUpDataEntity(req, type))
|
.map(req -> convertLookUpDataRequestIntoLookUpDataEntity(req, type)).collect(Collectors.toList());
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
lookUpDataRepository.saveAll(lookUpDataEntities);
|
lookUpDataRepository.saveAll(lookUpDataEntities);
|
||||||
|
|
||||||
return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
|
return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<LookUpDataResponse> createCallTargetAudienceCheckList(CallEntity callEntity, List<LookUpDataEntity> lookUpDataEntities) {
|
private List<LookUpDataResponse> createCallTargetAudienceCheckList(CallEntity callEntity,
|
||||||
List<LookUpDataResponse> lookUpDataResponses=new ArrayList<>();
|
List<LookUpDataEntity> lookUpDataEntities) {
|
||||||
for(LookUpDataEntity lookUpDataEntity:lookUpDataEntities){
|
List<LookUpDataResponse> lookUpDataResponses = new ArrayList<>();
|
||||||
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity=new CallTargetAudienceChecklistEntity();
|
for (LookUpDataEntity lookUpDataEntity : lookUpDataEntities) {
|
||||||
|
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity = new CallTargetAudienceChecklistEntity();
|
||||||
callTargetAudienceChecklistEntity.setIsValidated(false);
|
callTargetAudienceChecklistEntity.setIsValidated(false);
|
||||||
callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
|
callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
|
||||||
callTargetAudienceChecklistEntity.setCall(callEntity);
|
callTargetAudienceChecklistEntity.setCall(callEntity);
|
||||||
callTargetAudienceChecklistEntity= callTargetAudienceChecklistRepository.save(callTargetAudienceChecklistEntity);
|
callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
|
||||||
|
.save(callTargetAudienceChecklistEntity);
|
||||||
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
|
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
|
||||||
}
|
}
|
||||||
return lookUpDataResponses;
|
return lookUpDataResponses;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LookUpDataEntity convertLookUpDataRequestIntoLookUpDataEntity(LookUpDataReq req, LookUpDataEntity.LookUpDataTypeEnum type) {
|
private LookUpDataEntity convertLookUpDataRequestIntoLookUpDataEntity(LookUpDataReq req,
|
||||||
|
LookUpDataEntity.LookUpDataTypeEnum type) {
|
||||||
if (req.getLookUpDataId() == null || req.getLookUpDataId().equals(0l)) {
|
if (req.getLookUpDataId() == null || req.getLookUpDataId().equals(0l)) {
|
||||||
LookUpDataEntity newEntity = new LookUpDataEntity();
|
LookUpDataEntity newEntity = new LookUpDataEntity();
|
||||||
newEntity.setValue(req.getValue());
|
newEntity.setValue(req.getValue());
|
||||||
@@ -327,27 +363,33 @@ public class CallDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return lookUpDataRepository.findById(req.getLookUpDataId())
|
return lookUpDataRepository.findById(req.getLookUpDataId())
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
.orElseThrow(() -> new ResourceNotFoundException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.LOOK_UP_DATA_NOT_VALID_MSG)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public LookUpDataResponse convertToLookUpDataResponseBean(CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity) {
|
public LookUpDataResponse convertToLookUpDataResponseBean(
|
||||||
|
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity) {
|
||||||
LookUpDataResponse lookUpDataResponse = new LookUpDataResponse();
|
LookUpDataResponse lookUpDataResponse = new LookUpDataResponse();
|
||||||
LookUpDataEntity lookUpDataEntity = callTargetAudienceChecklistEntity.getLookupData();
|
LookUpDataEntity lookUpDataEntity = callTargetAudienceChecklistEntity.getLookupData();
|
||||||
lookUpDataResponse.setId(callTargetAudienceChecklistEntity.getId());
|
lookUpDataResponse.setId(callTargetAudienceChecklistEntity.getId());
|
||||||
lookUpDataResponse.setLookUpDataId(lookUpDataEntity.getId());
|
lookUpDataResponse.setLookUpDataId(lookUpDataEntity.getId());
|
||||||
lookUpDataResponse.setValue(lookUpDataEntity.getValue());
|
lookUpDataResponse.setValue(lookUpDataEntity.getValue());
|
||||||
lookUpDataResponse.setTitle(lookUpDataEntity.getTitle());
|
lookUpDataResponse.setTitle(lookUpDataEntity.getTitle());
|
||||||
lookUpDataResponse.setCreatedDate(lookUpDataEntity.getCreatedDate());
|
lookUpDataResponse.setCreatedDate(callTargetAudienceChecklistEntity.getCreatedDate());
|
||||||
lookUpDataResponse.setUpdatedDate(lookUpDataEntity.getUpdatedDate());
|
lookUpDataResponse.setUpdatedDate(callTargetAudienceChecklistEntity.getUpdatedDate());
|
||||||
return lookUpDataResponse;
|
return lookUpDataResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CallEntity getCallById(Long callId) {
|
||||||
|
return callRepository.findById(callId).orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
|
Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG)));
|
||||||
|
}
|
||||||
|
|
||||||
public CreateCallResponseBean createCallStep2(CreateCallRequestStep2 createCallRequest, Long userId) {
|
public CreateCallResponseBean createCallStep2(CreateCallRequestStep2 createCallRequest, Long userId) {
|
||||||
CreateCallResponseBean createCallResponseBean = null;
|
CreateCallResponseBean createCallResponseBean = null;
|
||||||
CallEntity callEntity = callRepository.findById(createCallRequest.getCallId())
|
CallEntity callEntity = callRepository.findById(createCallRequest.getCallId())
|
||||||
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
|
.orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR,
|
||||||
Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG)));
|
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
|
||||||
|
|
||||||
callEntity.setThreshold(createCallRequest.getThreshold());
|
callEntity.setThreshold(createCallRequest.getThreshold());
|
||||||
callEntity.setStatus(createCallRequest.getStatus().getValue());
|
callEntity.setStatus(createCallRequest.getStatus().getValue());
|
||||||
@@ -369,7 +411,47 @@ public class CallDao {
|
|||||||
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
|
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
|
||||||
return createCallResponseBean;
|
return createCallResponseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CreateCallResponseBean updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) {
|
||||||
|
CallEntity callEntity = getCallById(callId);
|
||||||
|
setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName());
|
||||||
|
setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort,
|
||||||
|
updateCallRequest.getDescriptionShort());
|
||||||
|
setIfUpdated(callEntity::getDescriptionLong, callEntity::setDescriptionLong,
|
||||||
|
updateCallRequest.getDescriptionLong());
|
||||||
|
setIfUpdated(callEntity::getStartDate, callEntity::setStartDate, updateCallRequest.getStartDate());
|
||||||
|
setIfUpdated(callEntity::getEndDate, callEntity::setEndDate, updateCallRequest.getEndDate());
|
||||||
|
setIfUpdated(callEntity::getAmount, callEntity::setAmount, updateCallRequest.getAmount());
|
||||||
|
setIfUpdated(callEntity::getAmountMax, callEntity::setAmountMax, updateCallRequest.getAmountMax());
|
||||||
|
setIfUpdated(callEntity::getDocumentationRequested, callEntity::setDocumentationRequested,
|
||||||
|
updateCallRequest.getDocumentationRequested());
|
||||||
|
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
|
||||||
|
|
||||||
|
CreateCallResponseBean createCallResponseBean = getCallResponseBean(callEntity);
|
||||||
|
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
|
||||||
|
return createCallResponseBean;
|
||||||
|
}
|
||||||
|
|
||||||
|
private CreateCallResponseBean getCallResponseBean(CallEntity callEntity) {
|
||||||
|
List<DocumentEntity> documentEntities = documentRepository.findByCallIdAndType(callEntity.getId(),
|
||||||
|
DocumentTypeEnum.DOCUMENT.getValue());
|
||||||
|
List<DocumentEntity> imageEntities = documentRepository.findByCallIdAndType(callEntity.getId(),
|
||||||
|
DocumentTypeEnum.DOCUMENT.getValue());
|
||||||
|
List<FaqEntity> faqEntities = faqRepository.findByCallId(callEntity.getId());
|
||||||
|
List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
||||||
|
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
||||||
|
.map(this::convertToLookUpDataResponseBean).toList();
|
||||||
|
|
||||||
|
List<LookUpDataResponse> checkList = callTargetAudienceChecklistRepository
|
||||||
|
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.CHECKLIST.getValue()).stream()
|
||||||
|
.map(this::convertToLookUpDataResponseBean).toList();
|
||||||
|
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = evaluationCriteriaRepository
|
||||||
|
.findByCallIdAndLookupDataType(callEntity.getId(), LookUpDataTypeEnum.EVALUATION_CRITERIA.getValue());
|
||||||
|
|
||||||
|
CreateCallResponseBean createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
||||||
|
documentEntities, faqEntities, imageEntities);
|
||||||
|
createCallResponseBean.setAimedTo(amiedTo);
|
||||||
|
createCallResponseBean.setCheckList(checkList);
|
||||||
|
return createCallResponseBean;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import net.gepafin.tendermanagement.config.Translator;
|
|||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
import net.gepafin.tendermanagement.entities.RegionEntity;
|
import net.gepafin.tendermanagement.entities.RegionEntity;
|
||||||
import net.gepafin.tendermanagement.enums.RegionStatusEnum;
|
import net.gepafin.tendermanagement.enums.RegionStatusEnum;
|
||||||
import net.gepafin.tendermanagement.enums.UserStatusEnum;
|
|
||||||
import net.gepafin.tendermanagement.model.request.RegionReq;
|
import net.gepafin.tendermanagement.model.request.RegionReq;
|
||||||
import net.gepafin.tendermanagement.model.response.RegionResponseBean;
|
import net.gepafin.tendermanagement.model.response.RegionResponseBean;
|
||||||
import net.gepafin.tendermanagement.repositories.RegionRepository;
|
import net.gepafin.tendermanagement.repositories.RegionRepository;
|
||||||
@@ -19,7 +18,7 @@ import org.springframework.stereotype.Repository;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
|
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class RegionDao {
|
public class RegionDao {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
|
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class RoleDao {
|
public class RoleDao {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
|
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class UserDao {
|
public class UserDao {
|
||||||
|
|||||||
@@ -18,11 +18,9 @@ public class EvaluationCriteriaEntity extends BaseEntity {
|
|||||||
@JoinColumn(name = "CALL_ID", nullable = false)
|
@JoinColumn(name = "CALL_ID", nullable = false)
|
||||||
private CallEntity call;
|
private CallEntity call;
|
||||||
|
|
||||||
@Column(name = "NAME", nullable = false, columnDefinition = "TEXT")
|
@ManyToOne
|
||||||
private String name;
|
@JoinColumn(name = "LOOKUP_DATA_ID")
|
||||||
|
private LookUpDataEntity lookupData;
|
||||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
@Column(name = "SCORE", nullable = false)
|
@Column(name = "SCORE", nullable = false)
|
||||||
private Integer score;
|
private Integer score;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class CreateCallRequestStep1 {
|
|||||||
@NotEmpty
|
@NotEmpty
|
||||||
private String documentationRequested;
|
private String documentationRequested;
|
||||||
|
|
||||||
private Boolean Confidi;
|
private Boolean confidi;
|
||||||
|
|
||||||
private List<FaqReq> faq;
|
private List<FaqReq> faq;
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,7 @@ package net.gepafin.tendermanagement.model.request;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class EvaluationCriteriaReq {
|
public class EvaluationCriteriaReq extends LookUpDataReq{
|
||||||
|
|
||||||
private String name;
|
|
||||||
private String value;
|
|
||||||
private Integer score;
|
private Integer score;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package net.gepafin.tendermanagement.model.request;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UpdateCallRequestStep1 {
|
||||||
|
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
|
||||||
|
private String descriptionShort;
|
||||||
|
|
||||||
|
|
||||||
|
private String descriptionLong;
|
||||||
|
|
||||||
|
|
||||||
|
private LocalDateTime startDate;
|
||||||
|
|
||||||
|
|
||||||
|
private LocalDateTime endDate;
|
||||||
|
|
||||||
|
|
||||||
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
|
||||||
|
private BigDecimal amountMax;
|
||||||
|
|
||||||
|
|
||||||
|
private List<LookUpDataReq> aimedTo;
|
||||||
|
|
||||||
|
|
||||||
|
private String documentationRequested;
|
||||||
|
|
||||||
|
private Boolean confidi;
|
||||||
|
|
||||||
|
private List<FaqReq> faq;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,17 +5,7 @@ import lombok.Data;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class EvaluationCriteriaResponseBean {
|
public class EvaluationCriteriaResponseBean extends LookUpDataResponse{
|
||||||
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
private Integer score;
|
private Integer score;
|
||||||
|
|
||||||
private LocalDateTime createdDate;
|
|
||||||
|
|
||||||
private LocalDateTime updatedDate;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
package net.gepafin.tendermanagement.repositories;
|
package net.gepafin.tendermanagement.repositories;
|
||||||
import net.gepafin.tendermanagement.entities.DocumentEntity;
|
import net.gepafin.tendermanagement.entities.DocumentEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface DocumentRepository extends JpaRepository<DocumentEntity, Long> {
|
public interface DocumentRepository extends JpaRepository<DocumentEntity, Long> {
|
||||||
|
|
||||||
|
List<DocumentEntity> findByCallIdAndType(Long callId, String type);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
package net.gepafin.tendermanagement.repositories;
|
package net.gepafin.tendermanagement.repositories;
|
||||||
|
|
||||||
import net.gepafin.tendermanagement.entities.EvaluationCriteriaEntity;
|
import net.gepafin.tendermanagement.entities.EvaluationCriteriaEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
public interface EvaluationCriteriaRepository extends JpaRepository<EvaluationCriteriaEntity, Integer> {
|
public interface EvaluationCriteriaRepository extends JpaRepository<EvaluationCriteriaEntity, Integer> {
|
||||||
|
|
||||||
|
List<EvaluationCriteriaEntity> findByCallIdAndLookupDataType(Long callId, String type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package net.gepafin.tendermanagement.repositories;
|
|||||||
|
|
||||||
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
|
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
public interface LookUpDataRepository extends JpaRepository<LookUpDataEntity,Long> {
|
public interface LookUpDataRepository extends JpaRepository<LookUpDataEntity,Long> {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.service;
|
|||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
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;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
|
||||||
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
||||||
|
|
||||||
public interface CallService {
|
public interface CallService {
|
||||||
@@ -11,4 +12,6 @@ public interface CallService {
|
|||||||
|
|
||||||
CreateCallResponseBean createCallStep2(HttpServletRequest request, CreateCallRequestStep2 createCallRequest);
|
CreateCallResponseBean createCallStep2(HttpServletRequest request, CreateCallRequestStep2 createCallRequest);
|
||||||
|
|
||||||
|
CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import net.gepafin.tendermanagement.config.jwt.TokenProvider;
|
|||||||
import net.gepafin.tendermanagement.dao.CallDao;
|
import net.gepafin.tendermanagement.dao.CallDao;
|
||||||
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;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
|
||||||
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
||||||
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;
|
||||||
@@ -33,4 +34,11 @@ public class CallServiceImpl implements CallService {
|
|||||||
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
|
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
|
||||||
return callDao.createCallStep2(createCallRequest, Long.parseLong(userInfo.get("userId").toString()));
|
return callDao.createCallStep2(createCallRequest, Long.parseLong(userInfo.get("userId").toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId,
|
||||||
|
UpdateCallRequestStep1 updateCallRequest) {
|
||||||
|
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
|
||||||
|
return callDao.updateCallStep1(callId, updateCallRequest, Long.parseLong(userInfo.get("userId").toString()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
package net.gepafin.tendermanagement.util;
|
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
public class ObjectUtils {
|
|
||||||
|
|
||||||
public static <T> void setIfNotNull(Consumer<T> setter, T value) {
|
|
||||||
if (value != null) {
|
|
||||||
setter.accept(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public static <T> void setIfUpdated(Supplier<T> getter, Consumer<T> setter, T newValue) {
|
|
||||||
T currentValue = getter.get();
|
|
||||||
if (newValue != null && !newValue.equals(currentValue)) {
|
|
||||||
setter.accept(newValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -10,6 +10,8 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
@@ -69,4 +71,16 @@ public class Utils {
|
|||||||
return new String(decode, StandardCharsets.UTF_8);
|
return new String(decode, StandardCharsets.UTF_8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> void setIfNotNull(Consumer<T> setter, T value) {
|
||||||
|
if (value != null) {
|
||||||
|
setter.accept(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static <T> void setIfUpdated(Supplier<T> getter, Consumer<T> setter, T newValue) {
|
||||||
|
T currentValue = getter.get();
|
||||||
|
if (newValue != null && !newValue.equals(currentValue)) {
|
||||||
|
setter.accept(newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
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;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
|
||||||
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
||||||
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;
|
||||||
@@ -16,6 +17,7 @@ import org.springframework.http.MediaType;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -55,4 +57,20 @@ public interface CallApi {
|
|||||||
@Parameter(description = "Call request object", required = true)
|
@Parameter(description = "Call request object", required = true)
|
||||||
@Valid @RequestBody CreateCallRequestStep2 createCallRequest);
|
@Valid @RequestBody CreateCallRequestStep2 createCallRequest);
|
||||||
|
|
||||||
|
@Operation(summary = "Api to update call step 1",
|
||||||
|
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) }))
|
||||||
|
})
|
||||||
|
@PutMapping(value = "/step1/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
|
||||||
|
public ResponseEntity<Response<CreateCallResponseBean>> updateCallStep1(HttpServletRequest request,
|
||||||
|
@Parameter(description = "The call id", required = true) @PathVariable("callId") Long callId,
|
||||||
|
@Parameter(description = "Call request object", required = true) @Valid @RequestBody UpdateCallRequestStep1 updateCallRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import net.gepafin.tendermanagement.config.Translator;
|
|||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
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;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
|
||||||
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
import net.gepafin.tendermanagement.model.response.CreateCallResponseBean;
|
||||||
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;
|
||||||
@@ -41,4 +42,12 @@ public class CallApiController implements CallApi {
|
|||||||
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
|
||||||
|
@Transactional(rollbackFor=Exception.class)
|
||||||
|
public ResponseEntity<Response<CreateCallResponseBean>> updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest) {
|
||||||
|
CreateCallResponseBean createCallResponseBean = callService.updateCallStep1(request, callId, updateCallRequest);
|
||||||
|
return ResponseEntity.status(HttpStatus.CREATED)
|
||||||
|
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -395,4 +395,19 @@
|
|||||||
<column name="country" value="Italy"/>
|
<column name="country" value="Italy"/>
|
||||||
</insert>
|
</insert>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet id="27-08-2024_1" author="Rajesh Khore">
|
||||||
|
<dropColumn tableName="EVALUATION_CRITERIA"
|
||||||
|
columnName="name" />
|
||||||
|
<dropColumn tableName="EVALUATION_CRITERIA"
|
||||||
|
columnName="description" />
|
||||||
|
<addColumn tableName="EVALUATION_CRITERIA">
|
||||||
|
<column name="lookup_data_id" type="INTEGER">
|
||||||
|
<constraints nullable="false"
|
||||||
|
foreignKeyName="fk_lookup_data_evaluation_criteria"
|
||||||
|
references="lookup_data(id)" />
|
||||||
|
</column>
|
||||||
|
</addColumn>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ document.not.found=Document not found.
|
|||||||
document.id.not.found=Document ID not found.
|
document.id.not.found=Document ID not found.
|
||||||
call.created.successfully=Call created successfully.
|
call.created.successfully=Call created successfully.
|
||||||
call.invalid.date=Invalid start or end date.
|
call.invalid.date=Invalid start or end date.
|
||||||
|
call.update.successfully=Call updated successfully.
|
||||||
|
|
||||||
# Login-related messages
|
# Login-related messages
|
||||||
login.successfully=Login successfully.
|
login.successfully=Login successfully.
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ file.deleted.successfully=File eliminato con successo.
|
|||||||
document.not.found=Documento non trovato.
|
document.not.found=Documento non trovato.
|
||||||
document.id.not.found=ID documento non trovato.
|
document.id.not.found=ID documento non trovato.
|
||||||
call.invalid.date=Data di inizio o fine non valida.
|
call.invalid.date=Data di inizio o fine non valida.
|
||||||
|
call.update.successfully=Chiamata aggiornata con successo.
|
||||||
|
|
||||||
# Login-related messages
|
# Login-related messages
|
||||||
login.successfully=Accesso effettuato con successo.
|
login.successfully=Accesso effettuato con successo.
|
||||||
|
|||||||
Reference in New Issue
Block a user