Implemented crud operation for form,form-field and form-template
This commit is contained in:
107
src/main/java/net/gepafin/tendermanagement/dao/FormDao.java
Normal file
107
src/main/java/net/gepafin/tendermanagement/dao/FormDao.java
Normal file
@@ -0,0 +1,107 @@
|
||||
package net.gepafin.tendermanagement.dao;
|
||||
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.entities.CallEntity;
|
||||
import net.gepafin.tendermanagement.entities.FormEntity;
|
||||
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
|
||||
import net.gepafin.tendermanagement.model.request.FormRequest;
|
||||
import net.gepafin.tendermanagement.model.response.FormResponseBean;
|
||||
import net.gepafin.tendermanagement.repositories.CallRepository;
|
||||
import net.gepafin.tendermanagement.repositories.FormRepository;
|
||||
import net.gepafin.tendermanagement.service.CallService;
|
||||
import net.gepafin.tendermanagement.service.FormService;
|
||||
import net.gepafin.tendermanagement.util.ObjectUtils;
|
||||
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.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class FormDao {
|
||||
|
||||
@Autowired
|
||||
private FormRepository formRepository;
|
||||
|
||||
@Autowired
|
||||
private CallService callService;
|
||||
|
||||
@Autowired
|
||||
private FormService formService;
|
||||
|
||||
public FormEntity saveFormEntity(FormEntity formEntity){
|
||||
formEntity=formRepository.save(formEntity);
|
||||
return formEntity;
|
||||
}
|
||||
|
||||
public FormEntity convertFormRequestToFormEntity(Long callId,FormRequest formRequest){
|
||||
FormEntity formEntity=new FormEntity();
|
||||
CallEntity callEntity=callService.getCallEntityById(callId);
|
||||
formEntity.setCall(callEntity);
|
||||
formEntity.setLabel(formRequest.getLabel());
|
||||
formEntity.setContent(formRequest.getContent());
|
||||
formEntity.setOrderNo(formRequest.getOrderNo());
|
||||
formEntity=saveFormEntity(formEntity);
|
||||
return formEntity;
|
||||
}
|
||||
public FormResponseBean convertFormEntityToFormResponseBean(FormEntity formEntity){
|
||||
FormResponseBean formResponseBean=new FormResponseBean();
|
||||
formResponseBean.setId(formEntity.getId());
|
||||
formResponseBean.setContent(formEntity.getContent());
|
||||
formResponseBean.setLabel(formEntity.getLabel());
|
||||
formResponseBean.setCallId(formEntity.getCall().getId());
|
||||
formResponseBean.setOrderNo(formEntity.getOrderNo());
|
||||
formResponseBean.setCreatedDate(formEntity.getCreatedDate());
|
||||
formResponseBean.setUpdatedDate(formEntity.getUpdatedDate());
|
||||
return formResponseBean;
|
||||
}
|
||||
public FormResponseBean createForm(Long callId,FormRequest formRequest){
|
||||
validateForm(formRequest);
|
||||
FormEntity formEntity=convertFormRequestToFormEntity(callId,formRequest);
|
||||
return convertFormEntityToFormResponseBean(formEntity);
|
||||
}
|
||||
public void validateForm(FormRequest formRequest){
|
||||
if(formRequest.getContent()==null || formRequest.getLabel()==null || (formRequest.getOrderNo() == null || formRequest.getOrderNo() <= 0)){
|
||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM));
|
||||
}
|
||||
}
|
||||
public FormResponseBean updateForm(Long formId, FormRequest formRequest){
|
||||
FormEntity formEntity = formService.getFormEntityById(formId);
|
||||
ObjectUtils.setIfUpdated(formEntity::getLabel,formEntity::setLabel,formRequest.getLabel());
|
||||
ObjectUtils.setIfUpdated(formEntity::getContent,formEntity::setContent,formRequest.getContent());
|
||||
if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) {
|
||||
ObjectUtils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo());
|
||||
}
|
||||
formEntity=saveFormEntity(formEntity);
|
||||
return convertFormEntityToFormResponseBean(formEntity);
|
||||
}
|
||||
|
||||
public FormEntity getFormEntity(Long formId) {
|
||||
FormEntity formEntity = formRepository.findById(formId)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_NOT_FOUND)));
|
||||
return formEntity;
|
||||
}
|
||||
|
||||
public FormResponseBean getFormEntityById(Long formId) {
|
||||
FormEntity formEntity = formService.getFormEntityById(formId);
|
||||
return convertFormEntityToFormResponseBean(formEntity);
|
||||
}
|
||||
public void deleteFormById(Long formId){
|
||||
FormEntity formEntity=formService.getFormEntityById(formId);
|
||||
formRepository.delete(formEntity);
|
||||
}
|
||||
public List<FormResponseBean> getFormsByCallId(Long callId){
|
||||
List<FormEntity> formEntities=formRepository.findByCallId(callId);
|
||||
if(formEntities.isEmpty()){
|
||||
throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_NOT_FOUND_FOR_CALL_ID));
|
||||
}
|
||||
List<FormResponseBean> formResponseBeanList = formEntities.stream()
|
||||
.map(req -> convertFormEntityToFormResponseBean(req))
|
||||
.collect(Collectors.toList());
|
||||
return formResponseBeanList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user