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.repositories.FormRepository;
import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.service.CallService;
import net.gepafin.tendermanagement.service.FormService; import net.gepafin.tendermanagement.service.FormService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.util.Utils;
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;
@@ -18,6 +19,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -63,7 +65,7 @@ public class FormDao {
return convertFormEntityToFormResponseBean(formEntity); return convertFormEntityToFormResponseBean(formEntity);
} }
public void validateForm(FormRequest formRequest){ 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)); 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) { if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) {
Utils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo()); Utils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo());
} }
formEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
formEntity=saveFormEntity(formEntity); formEntity=saveFormEntity(formEntity);
return convertFormEntityToFormResponseBean(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.model.response.SettingResponseBean;
import net.gepafin.tendermanagement.repositories.FormFieldRepository; import net.gepafin.tendermanagement.repositories.FormFieldRepository;
import net.gepafin.tendermanagement.service.FormFieldService; import net.gepafin.tendermanagement.service.FormFieldService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.util.Utils;
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;
@@ -16,6 +17,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -70,6 +72,7 @@ public class FormFieldDao {
Utils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel()); Utils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel());
Utils.setIfUpdated(formFieldEntity::getSettings,formFieldEntity::setSettings,setSettingRequestBean(formFieldRequest.getSettings())); Utils.setIfUpdated(formFieldEntity::getSettings,formFieldEntity::setSettings,setSettingRequestBean(formFieldRequest.getSettings()));
Utils.setIfUpdated(formFieldEntity::getValidators,formFieldEntity::setValidators,Utils.convertMapIntoJsonString(formFieldRequest.getValidators())); Utils.setIfUpdated(formFieldEntity::getValidators,formFieldEntity::setValidators,Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
formFieldEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
formFieldEntity=saveFormFieldEntity(formFieldEntity); formFieldEntity=saveFormFieldEntity(formFieldEntity);
return convertFormFieldEntityToFormFieldResponseBean(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.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.FormTemplateEntity; 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.request.FormTemplateRequest;
import net.gepafin.tendermanagement.model.response.ContentResponseBean;
import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean;
import net.gepafin.tendermanagement.repositories.FormTemplateRepository; import net.gepafin.tendermanagement.repositories.FormTemplateRepository;
import net.gepafin.tendermanagement.service.FormTemplateService; import net.gepafin.tendermanagement.service.FormTemplateService;
import net.gepafin.tendermanagement.util.DateTimeUtil;
import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.util.Utils;
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;
@@ -14,6 +17,10 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@Component @Component
public class FormTemplateDao { public class FormTemplateDao {
@@ -26,7 +33,7 @@ public class FormTemplateDao {
public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){ public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity=new FormTemplateEntity(); FormTemplateEntity formTemplateEntity=new FormTemplateEntity();
formTemplateEntity.setContent(formTemplateRequest.getContent()); formTemplateEntity.setContent(setContentResponseBean(formTemplateRequest.getContent()));
formTemplateEntity.setLabel(formTemplateRequest.getLabel()); formTemplateEntity.setLabel(formTemplateRequest.getLabel());
formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return formTemplateEntity; return formTemplateEntity;
@@ -38,10 +45,8 @@ public class FormTemplateDao {
public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){ public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){
FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean(); FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean();
formTemplateResponseBean.setId(formTemplateEntity.getId()); formTemplateResponseBean.setId(formTemplateEntity.getId());
formTemplateResponseBean.setContent(formTemplateEntity.getContent()); formTemplateResponseBean.setContent(Utils.convertJsonStringToList(formTemplateEntity.getContent(), ContentResponseBean.class));
formTemplateResponseBean.setLabel(formTemplateEntity.getLabel()); formTemplateResponseBean.setLabel(formTemplateEntity.getLabel());
formTemplateResponseBean.setCreatedDate(formTemplateEntity.getCreatedDate());
formTemplateResponseBean.setUpdatedDate(formTemplateEntity.getUpdatedDate());
return formTemplateResponseBean; return formTemplateResponseBean;
} }
@@ -58,7 +63,8 @@ public class FormTemplateDao {
public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){ public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId); FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId);
Utils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel()); 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); formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity); return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity);
} }
@@ -77,4 +83,13 @@ public class FormTemplateDao {
FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId); FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId);
formTemplateRepository.delete(formTemplateEntity); 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 lombok.Data;
import java.util.List;
@Data @Data
public class FormTemplateRequest { public class FormTemplateRequest {
private String label; private String label;
private String content; private List<ContentRequestBean> content;
} }

View File

@@ -1,12 +1,16 @@
package net.gepafin.tendermanagement.model.response; package net.gepafin.tendermanagement.model.response;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.model.BaseBean;
import java.util.List;
@Data @Data
public class FormTemplateResponseBean extends BaseBean { public class FormTemplateResponseBean {
private Long id;
private String label; 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.request.FormTemplateRequest;
import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean;
import java.util.List;
public interface FormTemplateService { public interface FormTemplateService {
public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest); public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest);
@@ -17,4 +19,6 @@ public interface FormTemplateService {
public FormTemplateEntity getFormEntityById(Long id); 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class FormTemplateServiceImpl implements FormTemplateService { public class FormTemplateServiceImpl implements FormTemplateService {
@@ -39,4 +41,10 @@ public class FormTemplateServiceImpl implements FormTemplateService {
public FormTemplateEntity getFormEntityById(Long id) { public FormTemplateEntity getFormEntityById(Long id) {
return formTemplateDao.getFormTemplateEntity(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.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
public interface FormTemplateApi { public interface FormTemplateApi {
@Operation(summary = "Api to create form template", @Operation(summary = "Api to create form template",
@@ -75,4 +77,18 @@ public interface FormTemplateApi {
@DeleteMapping(value = "/{formTemplateId}") @DeleteMapping(value = "/{formTemplateId}")
ResponseEntity<Response<Void>> deleteFormTemplate(HttpServletRequest request, ResponseEntity<Response<Void>> deleteFormTemplate(HttpServletRequest request,
@Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId); @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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController @RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}") @RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}")
public class FormTemplateApiController implements FormTemplateApi { public class FormTemplateApiController implements FormTemplateApi {
@@ -49,4 +51,11 @@ public class FormTemplateApiController implements FormTemplateApi {
return ResponseEntity.status(HttpStatus.OK) return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_DELETED_SUCCESSFULLY))); .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)));
}
} }

View File

@@ -505,5 +505,13 @@
</column> </column>
</addColumn> </addColumn>
</changeSet> </changeSet>
<changeSet id="30-08-2024_1" author="Rajesh Khore">
<sqlFile dbms="postgresql"
path="db/dump/inserted_form_field_data_30_08_2024.sql" />
<sql dbms="postgresql">select
setval('gepafin_schema.form_field_id_seq', (select
max(id)+1
from gepafin_schema.form_field), false)
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -0,0 +1,128 @@
INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE)
VALUES (
'textinput',
'Text Input',
'[
{
"name": "label",
"value": "Text input"
},
{
"name": "placeholder",
"value": "Placeholder text"
}
]',
'{
"isRequired": false,
"minLength": null,
"maxLength": null,
"pattern": null,
"custom": null
}',
'2024-08-30T09:50:31.926Z',
'2024-08-30T09:50:31.926Z'
);
INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE)
VALUES
( 'textarea',
'Text Area',
'[
{
"name": "label",
"value": "Text area"
},
{
"name": "placeholder",
"value": "Placeholder text"
}
]',
'{
"isRequired": false,
"minLength": null,
"maxLength": null,
"pattern": null,
"custom": null
}',
'2024-08-30T09:50:31.926Z',
'2024-08-30T09:50:31.926Z'
);
INSERT INTO FORM_FIELD ( NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE)
VALUES
( 'textinput',
'Number Input',
'[
{
"name": "label",
"value": "Number"
},
{
"name": "placeholder",
"value": ""
}
]',
'{
"isRequired": false,
"min": null,
"max": null,
"pattern": null,
"custom": null
}',
'2024-08-30T09:50:31.926Z',
'2024-08-30T09:50:31.926Z'
);
INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE)
VALUES
( 'textinput',
'P.IVA',
'[
{
"name": "label",
"value": "P.IVA"
},
{
"name": "placeholder",
"value": "Insert p.iva number"
}
]',
'{
"isRequired": true,
"minLength": null,
"maxLength": null,
"pattern": null,
"custom": "isValidVAT"
}',
'2024-08-30T09:50:31.926Z',
'2024-08-30T09:50:31.926Z'
);
INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE)
VALUES
( 'radio',
'Radio Input',
'[
{
"name": "label",
"value": "Radio input"
},
{
"name": "options",
"value": [
{
"name": "opt1",
"label": "Opt1"
}
]
}
]',
'{
"isRequired": false,
"min": null,
"max": null,
"custom": null
}',
'2024-08-30T09:50:31.926Z',
'2024-08-30T09:50:31.926Z'
);

View File

@@ -74,7 +74,7 @@ form.created.successfully=Form created successfully.
form.updated.suucessfully=Form updated successfully. form.updated.suucessfully=Form updated successfully.
form.deleted.successfully=Form deleted successfully. form.deleted.successfully=Form deleted successfully.
form.fetched.successfully=Form fetched successfully. form.fetched.successfully=Form fetched successfully.
required.parameter.not.found.for.form=Label, content, or orderNo cannot be null. required.parameter.not.found.for.form=Label or content cannot be null.
form.not.found.for.call.id=Form not found for corresponding call. form.not.found.for.call.id=Form not found for corresponding call.
#EvaluationCriteria-related messages #EvaluationCriteria-related messages
evaluation.criteria.not.found=EvaluationCriteria not found. evaluation.criteria.not.found=EvaluationCriteria not found.

View File

@@ -74,7 +74,7 @@ form.created.successfully=Modulo creato correttamente.
form.updated.suucessfully=Modulo aggiornato correttamente. form.updated.suucessfully=Modulo aggiornato correttamente.
form.deleted.successfully=Modulo eliminato correttamente. form.deleted.successfully=Modulo eliminato correttamente.
form.fetched.successfully=Modulo recuperato correttamente. form.fetched.successfully=Modulo recuperato correttamente.
required.parameter.not.found.for.form=Etichetta, contenuto o orderNo non possono essere nulli. required.parameter.not.found.for.form=L'etichetta o il contenuto non possono essere nulli.
form.not.found.for.call.id=Modulo non trovato per la chiamata corrispondente. form.not.found.for.call.id=Modulo non trovato per la chiamata corrispondente.
#Form-field-related messages #Form-field-related messages