Updated response of form template

This commit is contained in:
rajesh
2024-08-30 18:41:40 +05:30
parent 7af37db2ff
commit 18c40eaf03
13 changed files with 213 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import net.gepafin.tendermanagement.model.response.FormResponseBean;
import net.gepafin.tendermanagement.repositories.FormRepository;
import net.gepafin.tendermanagement.service.CallService;
import net.gepafin.tendermanagement.service.FormService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
@@ -18,6 +19,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@@ -63,7 +65,7 @@ public class FormDao {
return convertFormEntityToFormResponseBean(formEntity);
}
public void validateForm(FormRequest formRequest){
if(formRequest.getContent()==null || formRequest.getLabel()==null || (formRequest.getOrderNo() == null || formRequest.getOrderNo() <= 0)){
if(formRequest.getContent()==null || formRequest.getLabel()==null ){
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM));
}
}
@@ -74,6 +76,7 @@ public class FormDao {
if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) {
Utils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo());
}
formEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
formEntity=saveFormEntity(formEntity);
return convertFormEntityToFormResponseBean(formEntity);
}

View File

@@ -9,6 +9,7 @@ import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
import net.gepafin.tendermanagement.model.response.SettingResponseBean;
import net.gepafin.tendermanagement.repositories.FormFieldRepository;
import net.gepafin.tendermanagement.service.FormFieldService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
@@ -16,6 +17,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@@ -70,6 +72,7 @@ public class FormFieldDao {
Utils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel());
Utils.setIfUpdated(formFieldEntity::getSettings,formFieldEntity::setSettings,setSettingRequestBean(formFieldRequest.getSettings()));
Utils.setIfUpdated(formFieldEntity::getValidators,formFieldEntity::setValidators,Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
formFieldEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
formFieldEntity=saveFormFieldEntity(formFieldEntity);
return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity);
}

View File

@@ -3,10 +3,13 @@ package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.FormTemplateEntity;
import net.gepafin.tendermanagement.model.request.ContentRequestBean;
import net.gepafin.tendermanagement.model.request.FormTemplateRequest;
import net.gepafin.tendermanagement.model.response.ContentResponseBean;
import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean;
import net.gepafin.tendermanagement.repositories.FormTemplateRepository;
import net.gepafin.tendermanagement.service.FormTemplateService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
@@ -14,6 +17,10 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class FormTemplateDao {
@@ -26,7 +33,7 @@ public class FormTemplateDao {
public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity=new FormTemplateEntity();
formTemplateEntity.setContent(formTemplateRequest.getContent());
formTemplateEntity.setContent(setContentResponseBean(formTemplateRequest.getContent()));
formTemplateEntity.setLabel(formTemplateRequest.getLabel());
formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return formTemplateEntity;
@@ -38,10 +45,8 @@ public class FormTemplateDao {
public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){
FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean();
formTemplateResponseBean.setId(formTemplateEntity.getId());
formTemplateResponseBean.setContent(formTemplateEntity.getContent());
formTemplateResponseBean.setContent(Utils.convertJsonStringToList(formTemplateEntity.getContent(), ContentResponseBean.class));
formTemplateResponseBean.setLabel(formTemplateEntity.getLabel());
formTemplateResponseBean.setCreatedDate(formTemplateEntity.getCreatedDate());
formTemplateResponseBean.setUpdatedDate(formTemplateEntity.getUpdatedDate());
return formTemplateResponseBean;
}
@@ -58,7 +63,8 @@ public class FormTemplateDao {
public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId);
Utils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel());
Utils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,formTemplateRequest.getContent());
Utils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,setContentResponseBean(formTemplateRequest.getContent()));
formTemplateEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity);
}
@@ -77,4 +83,13 @@ public class FormTemplateDao {
FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId);
formTemplateRepository.delete(formTemplateEntity);
}
public String setContentResponseBean(List<ContentRequestBean> contentRequestBeans){
return Utils.convertListToJsonString(contentRequestBeans);
}
public List<FormTemplateResponseBean> getAllFormTemplate(){
List<FormTemplateEntity> formTemplateEntities=formTemplateRepository.findAll();
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateEntities.stream()
.map(req -> convertFormTemplateEntityToFormTemplateResponseBean(req)).collect(Collectors.toList());
return formTemplateResponseBeans;
}
}

View File

@@ -2,10 +2,12 @@ package net.gepafin.tendermanagement.model.request;
import lombok.Data;
import java.util.List;
@Data
public class FormTemplateRequest {
private String label;
private String content;
private List<ContentRequestBean> content;
}

View File

@@ -1,12 +1,16 @@
package net.gepafin.tendermanagement.model.response;
import lombok.Data;
import net.gepafin.tendermanagement.model.BaseBean;
import java.util.List;
@Data
public class FormTemplateResponseBean extends BaseBean {
public class FormTemplateResponseBean {
private Long id;
private String label;
private String content;
private List<ContentResponseBean> content;
}

View File

@@ -5,6 +5,8 @@ import net.gepafin.tendermanagement.entities.FormTemplateEntity;
import net.gepafin.tendermanagement.model.request.FormTemplateRequest;
import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean;
import java.util.List;
public interface FormTemplateService {
public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest);
@@ -17,4 +19,6 @@ public interface FormTemplateService {
public FormTemplateEntity getFormEntityById(Long id);
public List<FormTemplateResponseBean> getAllFormTemplate(HttpServletRequest request);
}

View File

@@ -9,6 +9,8 @@ import net.gepafin.tendermanagement.service.FormTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class FormTemplateServiceImpl implements FormTemplateService {
@@ -39,4 +41,10 @@ public class FormTemplateServiceImpl implements FormTemplateService {
public FormTemplateEntity getFormEntityById(Long id) {
return formTemplateDao.getFormTemplateEntity(id);
}
@Override
public List<FormTemplateResponseBean> getAllFormTemplate(HttpServletRequest request) {
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateDao.getAllFormTemplate();
return formTemplateResponseBeans;
}
}

View File

@@ -15,6 +15,8 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
public interface FormTemplateApi {
@Operation(summary = "Api to create form template",
@@ -75,4 +77,18 @@ public interface FormTemplateApi {
@DeleteMapping(value = "/{formTemplateId}")
ResponseEntity<Response<Void>> deleteFormTemplate(HttpServletRequest request,
@Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId);
@Operation(summary = "Api to get all form template",
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) })) })
@GetMapping(value = "",
produces = { "application/json" })
ResponseEntity<Response<List<FormTemplateResponseBean>>> getAllFormTemplate(HttpServletRequest request);
}

View File

@@ -15,6 +15,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}")
public class FormTemplateApiController implements FormTemplateApi {
@@ -49,4 +51,11 @@ public class FormTemplateApiController implements FormTemplateApi {
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_DELETED_SUCCESSFULLY)));
}
@Override
public ResponseEntity<Response<List<FormTemplateResponseBean>>> getAllFormTemplate(HttpServletRequest request) {
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateService.getAllFormTemplate(request);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formTemplateResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
}
}