Added lookUpDate in Faq

This commit is contained in:
harish
2024-08-29 16:43:56 +05:30
parent b4548876a9
commit f4cdf415ca
11 changed files with 49 additions and 13 deletions

View File

@@ -79,7 +79,7 @@ public class CallDao {
UserEntity userEntity = userService.validateUser(userId);
createCallRequest.setRegionId(userEntity.getRoleEntity().getRegion().getId());
CallEntity callEntity = convertToCallEntity(createCallRequest);
convertToFaqEntities(createCallRequest.getFaq(), callEntity, userEntity);
convertToFaqEntities(createCallRequest.getFaq(), callEntity, userEntity,LookUpDataTypeEnum.FAQ);
convertLookUpDataEntities(createCallRequest.getAimedTo(), callEntity,
LookUpDataTypeEnum.AIMED_TO);
// createCallResponseBean = assembleCreateCallResponseBean(callEntity, Collections.emptyList(),
@@ -199,21 +199,33 @@ public class CallDao {
return documentEntity;
}
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, UserEntity userEntity) {
public List<FaqEntity> convertToFaqEntities(List<FaqReq> faqReqList, CallEntity callEntity, UserEntity userEntity, LookUpDataTypeEnum type) {
if (faqReqList == null) {
return null;
}
List<FaqEntity> faqEntities = faqReqList.stream().map(req -> convertToFaqEntity(req, callEntity, userEntity))
List<FaqEntity> existingFaqEntities = faqRepository.findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), type.getValue());
List<Long> incomingIds = faqReqList.stream()
.map(FaqReq::getId)
.filter(id -> id != null && id > 0)
.collect(Collectors.toList());
existingFaqEntities.stream()
.filter(entity -> !incomingIds.contains(entity.getId()))
.forEach(this::softDeleteFaq);
List<FaqEntity> faqEntities = faqReqList.stream()
.map(req -> convertToFaqEntity(req, callEntity, userEntity, type))
.collect(Collectors.toList());
faqRepository.saveAll(faqEntities);
return faqEntities;
}
public FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, UserEntity userEntity) {
public FaqEntity convertToFaqEntity(FaqReq faqReq, CallEntity callEntity, UserEntity userEntity,LookUpDataTypeEnum type) {
FaqEntity faqEntity = new FaqEntity();
LookUpDataEntity lookupDataEntity = convertLookUpDataRequestIntoLookUpDataEntity(faqReq, type);
validateFaqEntity(faqReq.getQuestion());
faqEntity.setUser(userEntity);
faqEntity.setIsVisible(true);
faqEntity.setLookupData(lookupDataEntity);
if (faqReq.getIsVisible() != null) {
faqEntity.setIsVisible(faqReq.getIsVisible());
}
@@ -321,6 +333,9 @@ public class CallDao {
public FaqResponseBean convertToFaqResponseBean(FaqEntity entity) {
FaqResponseBean responseBean = new FaqResponseBean();
responseBean.setId(entity.getId());
responseBean.setLookUpDataId(entity.getLookupData().getId());
responseBean.setValue(entity.getLookupData().getValue());
responseBean.setTitle(entity.getLookupData().getTitle());
responseBean.setQuestionShort(entity.getQuestionShort());
responseBean.setResponseShort(entity.getResponseShort());
responseBean.setResponse(entity.getResponse());
@@ -662,6 +677,7 @@ public class CallDao {
callEntity.setStatus(CallStatusEnum.READY_TO_PUBLISH.getValue());
callRepository.save(callEntity);
callResponseBean.setCurrentStep(GepafinConstant.VALIDATE_REQUEST);
callResponseBean.setStatus(CallStatusEnum.READY_TO_PUBLISH);
return callResponseBean;
}
@@ -692,9 +708,6 @@ public class CallDao {
case EXPIRED:
throw new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.STATUS_CANNOT_BE_CHANGED));
default:
throw new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.INVALID_STATUS_TRANSITION));
}
}

View File

@@ -4,6 +4,7 @@ import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.CallEntity;
import net.gepafin.tendermanagement.entities.FaqEntity;
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.model.request.FaqReq;
import net.gepafin.tendermanagement.model.response.FaqResponseBean;
@@ -39,7 +40,7 @@ public class FaqDao {
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)));
UserEntity userEntity = userService.validateUser(userId);
entity = callDao.convertToFaqEntity(faqRequest, callEntity, userEntity);
entity = callDao.convertToFaqEntity(faqRequest, callEntity, userEntity, LookUpDataEntity.LookUpDataTypeEnum.FAQ);
faqRepository.save(entity);
return convertFaqEntityToResponseBean(entity);
}