From e816fe14093d61df8602439cbd1d1c812951c586 Mon Sep 17 00:00:00 2001 From: harish Date: Tue, 27 Aug 2024 15:39:03 +0530 Subject: [PATCH 1/2] Get Call related api added --- .../constants/GepafinConstant.java | 1 + .../gepafin/tendermanagement/dao/CallDao.java | 15 ++++---- .../tendermanagement/service/CallService.java | 9 +++++ .../service/impl/CallServiceImpl.java | 13 +++++++ .../web/rest/api/CallApi.java | 35 ++++++++++++++++--- .../web/rest/api/impl/CallApiController.java | 22 ++++++++++++ src/main/resources/message_en.properties | 2 ++ src/main/resources/message_it.properties | 1 + 8 files changed, 88 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index 7402a589..4860513f 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -47,6 +47,7 @@ public class GepafinConstant { 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"; + public static final String CALL_FETCH_SUCCESS_MSG = "call.fetch.success"; } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java index 2131519d..c6501463 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java @@ -8,6 +8,8 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import net.gepafin.tendermanagement.model.response.*; +import net.gepafin.tendermanagement.util.Utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; @@ -32,11 +34,6 @@ import net.gepafin.tendermanagement.model.request.EvaluationCriteriaReq; import net.gepafin.tendermanagement.model.request.FaqReq; 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.DocumentResponseBean; -import net.gepafin.tendermanagement.model.response.EvaluationCriteriaResponseBean; -import net.gepafin.tendermanagement.model.response.FaqResponseBean; -import net.gepafin.tendermanagement.model.response.LookUpDataResponse; import net.gepafin.tendermanagement.repositories.CallRepository; import net.gepafin.tendermanagement.repositories.CallTargetAudienceChecklistRepository; import net.gepafin.tendermanagement.repositories.DocumentRepository; @@ -380,7 +377,7 @@ public class CallDao { return lookUpDataResponse; } - private CallEntity getCallById(Long callId) { + public CallEntity getCallById(Long callId) { return callRepository.findById(callId).orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.NAME_NOT_EMPTY_MSG))); } @@ -454,4 +451,10 @@ public class CallDao { createCallResponseBean.setCheckList(checkList); return createCallResponseBean; } + public List getAllCalls() { + return callRepository.findAll() + .stream() + .map(callEntity -> Utils.convertObject(callEntity, CreateCallResponseBean.class)) + .collect(Collectors.toList()); + } } diff --git a/src/main/java/net/gepafin/tendermanagement/service/CallService.java b/src/main/java/net/gepafin/tendermanagement/service/CallService.java index 533d36b4..5973a593 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/CallService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/CallService.java @@ -1,10 +1,15 @@ package net.gepafin.tendermanagement.service; import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.entities.CallEntity; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; 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.RoleResponseBean; + +import java.util.List; public interface CallService { @@ -14,4 +19,8 @@ public interface CallService { CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest); + CallEntity getCallById (Long callId); + + List getAllCalls(); + } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java index d22aa498..b2e636a9 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java @@ -3,14 +3,19 @@ package net.gepafin.tendermanagement.service.impl; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.jwt.TokenProvider; import net.gepafin.tendermanagement.dao.CallDao; +import net.gepafin.tendermanagement.entities.CallEntity; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; 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.RoleResponseBean; import net.gepafin.tendermanagement.service.CallService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.List; import java.util.Map; @@ -41,4 +46,12 @@ public class CallServiceImpl implements CallService { Map userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); return callDao.updateCallStep1(callId, updateCallRequest, Long.parseLong(userInfo.get("userId").toString())); } + @Override + public CallEntity getCallById(Long callId) { + return callDao.getCallById(callId); + } + public List getAllCalls() { + return callDao.getAllCalls(); + + } } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java index c0e8f2ab..0177d76a 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java @@ -7,20 +7,22 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.responses.ApiResponse; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; +import net.gepafin.tendermanagement.entities.CallEntity; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; 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.RoleResponseBean; import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; 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.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @Validated public interface CallApi { @@ -72,5 +74,30 @@ public interface CallApi { public ResponseEntity> 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); + @Operation(summary = "Api to get call by id", + 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 = "/{callId}", + produces = { "application/json" }) + ResponseEntity> getCallById( + @Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId); + @Operation(summary = "Api to get all calls", + 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>> getAllCalls(); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java index 9f6f99b5..8a96bc45 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java @@ -3,10 +3,13 @@ package net.gepafin.tendermanagement.web.rest.api.impl; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; +import net.gepafin.tendermanagement.entities.CallEntity; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; 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.RoleResponseBean; import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.web.rest.api.CallApi; @@ -18,6 +21,8 @@ import org.springframework.transaction.annotation.Transactional; 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/call}") @@ -50,4 +55,21 @@ public class CallApiController implements CallApi { return ResponseEntity.status(HttpStatus.CREATED) .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG))); } + @Override + @Transactional(readOnly = true) + public ResponseEntity> getCallById(Long callId) { + CallEntity callEntity = callService.getCallById(callId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(callEntity, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); + } + + @Override + @Transactional(readOnly = true) + public ResponseEntity>> getAllCalls() { + List calls = callService.getAllCalls(); + + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(calls, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); + + } } \ No newline at end of file diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 345ff54e..3fb55680 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -46,6 +46,8 @@ document.id.not.found=Document ID not found. call.created.successfully=Call created successfully. call.invalid.date=Invalid start or end date. call.update.successfully=Call updated successfully. +call.fetch.success=Call details fetched successfully. + # Login-related messages login.successfully=Login successfully. diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index 6ad0869e..78eff025 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -45,6 +45,7 @@ document.not.found=Documento non trovato. document.id.not.found=ID documento non trovato. call.invalid.date=Data di inizio o fine non valida. call.update.successfully=Chiamata aggiornata con successo. +call.fetch.success=Dettagli della chiamata recuperati con successo. # Login-related messages login.successfully=Accesso effettuato con successo. From 21fc9a4b91cb2f3420c362d1407cedb2b0473565 Mon Sep 17 00:00:00 2001 From: harish Date: Tue, 27 Aug 2024 16:55:50 +0530 Subject: [PATCH 2/2] Add few APIs related to call and Update Responses for Call Controller --- .../gepafin/tendermanagement/dao/CallDao.java | 36 ++++++++++-- .../tendermanagement/dao/RegionDao.java | 11 +++- .../gepafin/tendermanagement/dao/RoleDao.java | 16 ++++-- .../gepafin/tendermanagement/dao/UserDao.java | 4 +- .../response/CallDetailsResponseBean.java | 57 +++++++++++++++++++ .../tendermanagement/service/CallService.java | 5 +- .../service/RegionService.java | 2 +- .../tendermanagement/service/RoleService.java | 2 +- .../service/impl/CallServiceImpl.java | 5 +- .../service/impl/RegionServiceImpl.java | 2 +- .../service/impl/RoleServiceImpl.java | 2 +- .../web/rest/api/CallApi.java | 5 +- .../web/rest/api/RegionApi.java | 2 +- .../web/rest/api/RoleApi.java | 2 +- .../web/rest/api/impl/CallApiController.java | 11 ++-- .../rest/api/impl/RegionApiController.java | 4 +- .../web/rest/api/impl/RoleApiController.java | 6 +- 17 files changed, 136 insertions(+), 36 deletions(-) create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/CallDetailsResponseBean.java diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java index 8f265740..c8e556fc 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java @@ -379,10 +379,16 @@ public class CallDao { return lookUpDataResponse; } - public CallEntity getCallById(Long callId) { + public CallEntity validateCall(Long callId) { return callRepository.findById(callId).orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.CALL_NOT_FOUND))); } + public CreateCallResponseBean getCallById(Long callId) { + CallEntity callEntity = callRepository.findById(callId) + .orElseThrow(() -> new CustomValidationException(Status.VALIDATION_ERROR, + Translator.toLocale(GepafinConstant.CALL_NOT_FOUND))); + return convertToCallResponseBean(callEntity); + } public CreateCallResponseBean createCallStep2(CreateCallRequestStep2 createCallRequest, Long userId) { CreateCallResponseBean createCallResponseBean = null; @@ -434,7 +440,7 @@ public class CallDao { } public CreateCallResponseBean updateCallStep1(Long callId, UpdateCallRequestStep1 updateCallRequest, Long userId) { - CallEntity callEntity = getCallById(callId); + CallEntity callEntity = validateCall(callId); isValidDateRange(updateCallRequest, callEntity); setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName()); setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort, @@ -454,6 +460,26 @@ public class CallDao { return createCallResponseBean; } + public CallDetailsResponseBean convertToCallDetailsResponseBean(CallEntity callEntity) { + CallDetailsResponseBean callDetailsResponseBean = new CallDetailsResponseBean(); + callDetailsResponseBean.setId(callEntity.getId()); + callDetailsResponseBean.setName(callEntity.getName()); + callDetailsResponseBean.setDates(List.of(callEntity.getStartDate(), callEntity.getEndDate())); + callDetailsResponseBean.setDescriptionShort(callEntity.getDescriptionShort()); + callDetailsResponseBean.setDescriptionLong(callEntity.getDescriptionLong()); + callDetailsResponseBean.setStatus(CallTypeEnum.valueOf(callEntity.getStatus())); + callDetailsResponseBean.setRegionId(callEntity.getRegion().getId()); + callDetailsResponseBean.setAmount(callEntity.getAmount()); + callDetailsResponseBean.setAmountMax(callEntity.getAmountMax()); + callDetailsResponseBean.setContactInfo(callEntity.getContactInfo()); + callDetailsResponseBean.setSubmissionMethod(callEntity.getSubmissionMethod()); + callDetailsResponseBean.setThreshold(callEntity.getThreshold()); + callDetailsResponseBean.setDocumentationReqested(callEntity.getDocumentationRequested()); + callDetailsResponseBean.setPriorityArea(callEntity.getPriorityArea()); + callDetailsResponseBean.setCreatedDate(callEntity.getCreatedDate()); + callDetailsResponseBean.setUpdatedDate(callEntity.getUpdatedDate()); + return callDetailsResponseBean; + } private CreateCallResponseBean getCallResponseBean(CallEntity callEntity) { List documentEntities = documentRepository.findByCallIdAndType(callEntity.getId(), DocumentTypeEnum.DOCUMENT.getValue()); @@ -476,10 +502,10 @@ public class CallDao { createCallResponseBean.setCheckList(checkList); return createCallResponseBean; } - public List getAllCalls() { - return callRepository.findAll() + public List getAllCalls() { + return callRepository.findAll() .stream() - .map(callEntity -> Utils.convertObject(callEntity, CreateCallResponseBean.class)) + .map(this::convertToCallDetailsResponseBean) .collect(Collectors.toList()); } } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/RegionDao.java b/src/main/java/net/gepafin/tendermanagement/dao/RegionDao.java index 438160bc..5b59f2a5 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/RegionDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/RegionDao.java @@ -76,7 +76,7 @@ public class RegionDao { public RegionResponseBean updateRegion(Long id, RegionReq regionReq) { log.info("Updating region with ID: {}", id); - RegionEntity existingRegion = getRegionById(id); + RegionEntity existingRegion = validateRegion(id); log.info("Current region details: {}", existingRegion); log.info("New region details: {}", regionReq); String newStatus = regionReq.getStatus() != null ? regionReq.getStatus().getValue() : null; @@ -102,14 +102,19 @@ public class RegionDao { return Utils.convertObject(existingRegion, RegionResponseBean.class); } - public RegionEntity getRegionById(Long id) { + public RegionEntity validateRegion(Long id) { log.info("Fetching region with ID: {}", id); RegionEntity regionEntity = regionRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG))); log.info("Region found: {}", regionEntity); return regionEntity; } - + public RegionResponseBean getRegionById(Long id) { + log.info("Fetching region with ID: {}", id); + RegionEntity regionEntity = regionRepository.findById(id) + .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG))); + return convertRegionEntityToRegionResponse(regionEntity); + } public void deleteById(Long id) { log.info("Deleting region with ID: {}", id); regionRepository.findById(id) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java b/src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java index c28d2808..16ecc749 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/RoleDao.java @@ -2,6 +2,7 @@ package net.gepafin.tendermanagement.dao; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; +import net.gepafin.tendermanagement.entities.RegionEntity; import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.RoleReq; import net.gepafin.tendermanagement.model.response.RegionResponseBean; @@ -48,7 +49,8 @@ public class RoleDao { roleEntity.setRoleType(roleReq.getRoleType()); roleEntity.setPermissions(roleReq.getPermissions()); roleEntity.setDescription(roleReq.getDescription()); - roleEntity.setRegion(regionService.getRegionById(roleReq.getRegionId())); + RegionEntity regionEntity =regionDao.validateRegion(roleReq.getRegionId()); + roleEntity.setRegion(regionEntity); return roleEntity; } @@ -68,7 +70,7 @@ public class RoleDao { public RoleResponseBean updateRole(Long id, RoleReq roleReq) { log.info("Updating role with ID: {}", id); - RoleEntity existingRole = getRoleById(id); + RoleEntity existingRole = validateRole(id); // Log changes before update log.info("Current role details: {}", existingRole); @@ -85,14 +87,20 @@ public class RoleDao { return Utils.convertObject(existingRole, RoleResponseBean.class); } - public RoleEntity getRoleById(Long id) { + public RoleEntity validateRole(Long id) { log.info("Fetching role with ID: {}", id); RoleEntity roleEntity = roleRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND))); log.info("Role found: {}", roleEntity); return roleEntity; } - + public RoleResponseBean getRoleById(Long id) { + log.info("Fetching role with ID: {}", id); + RoleEntity roleEntity = roleRepository.findById(id) + .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND))); + log.info("Role found: {}", roleEntity); + return convertRoleEntityToRoleResponse(roleEntity); + } public void deleteById(Long id) { log.info("Deleting role with ID: {}", id); roleRepository.findById(id) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java index 0393c176..efa3f283 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java @@ -81,7 +81,7 @@ public class UserDao { setIfUpdated(userEntity::getAddress, userEntity::setAddress, userReq.getAddress()); setIfUpdated(userEntity::getPhoneNumber, userEntity::setPhoneNumber, userReq.getPhoneNumber()); if (userReq.getRoleId() != null) { - RoleEntity roleEntity = roleService.getRoleById(userReq.getRoleId()); + RoleEntity roleEntity = roleDao.validateRole(userReq.getRoleId()); setIfUpdated(userEntity::getRoleEntity, userEntity::setRoleEntity, roleEntity); } userEntity = userRepository.save(userEntity); @@ -99,7 +99,7 @@ public class UserDao { userEntity.setOrganization(userReq.getOrganization()); userEntity.setAddress(userReq.getAddress()); userEntity.setPhoneNumber(userReq.getPhoneNumber()); - userEntity.setRoleEntity(roleService.getRoleById(userReq.getRoleId())); + userEntity.setRoleEntity(roleDao.validateRole(userReq.getRoleId())); return userEntity; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/CallDetailsResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/CallDetailsResponseBean.java new file mode 100644 index 00000000..f100446f --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/CallDetailsResponseBean.java @@ -0,0 +1,57 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; +import net.gepafin.tendermanagement.enums.CallTypeEnum; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; +@Data +public class CallDetailsResponseBean { + + private Long id; + + private String name; + + private String descriptionShort; + + private String descriptionLong; + + private List dates; + + private CallTypeEnum status; + + private Long regionId; + + private BigDecimal amount; + + private BigDecimal amountMax; + + private String contactInfo; + + private String submissionMethod; + + private Long threshold; + + private String priorityArea; + + private String documentationReqested; + + private LocalDateTime createdDate; + + private LocalDateTime updatedDate; + + private List aimedTo; + + private List criteria; + + private List docs; + + private List faq; + + private List images; + + private List checkList; + + private String currentStep; +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/CallService.java b/src/main/java/net/gepafin/tendermanagement/service/CallService.java index 5973a593..e77f9168 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/CallService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/CallService.java @@ -6,6 +6,7 @@ import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; +import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean; @@ -19,8 +20,8 @@ public interface CallService { CreateCallResponseBean updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest); - CallEntity getCallById (Long callId); + CreateCallResponseBean getCallById (Long callId); - List getAllCalls(); + List getAllCalls(); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/RegionService.java b/src/main/java/net/gepafin/tendermanagement/service/RegionService.java index 2288fa17..02551552 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/RegionService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/RegionService.java @@ -14,7 +14,7 @@ public interface RegionService { RegionResponseBean updateRegion(Long regionId, RegionReq regionReq); - RegionEntity getRegionById(Long regionId); + RegionResponseBean getRegionById(Long regionId); void deleteRegion(Long regionId); diff --git a/src/main/java/net/gepafin/tendermanagement/service/RoleService.java b/src/main/java/net/gepafin/tendermanagement/service/RoleService.java index 448197b4..d0da5c48 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/RoleService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/RoleService.java @@ -11,7 +11,7 @@ public interface RoleService { RoleResponseBean updateRole(Long roleId, RoleReq roleReq); - RoleEntity getRoleById(Long roleId); + RoleResponseBean getRoleById(Long roleId); void deleteRole(Long roleId); diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java index b2e636a9..6a3c8cff 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java @@ -8,6 +8,7 @@ import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; +import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.service.CallService; @@ -47,10 +48,10 @@ public class CallServiceImpl implements CallService { return callDao.updateCallStep1(callId, updateCallRequest, Long.parseLong(userInfo.get("userId").toString())); } @Override - public CallEntity getCallById(Long callId) { + public CreateCallResponseBean getCallById(Long callId) { return callDao.getCallById(callId); } - public List getAllCalls() { + public List getAllCalls() { return callDao.getAllCalls(); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/RegionServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/RegionServiceImpl.java index 345362d3..78d30715 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/RegionServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/RegionServiceImpl.java @@ -32,7 +32,7 @@ public class RegionServiceImpl implements RegionService { @Override @Transactional(readOnly = true) - public RegionEntity getRegionById(Long regionId) { + public RegionResponseBean getRegionById(Long regionId) { return regionDao.getRegionById(regionId); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java index 9f66415a..33096730 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java @@ -31,7 +31,7 @@ public class RoleServiceImpl implements RoleService { @Override @Transactional(readOnly = true) - public RoleEntity getRoleById(Long roleId) { + public RoleResponseBean getRoleById(Long roleId) { return roleDao.getRoleById(roleId); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java index 0177d76a..ce33e240 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/CallApi.java @@ -12,6 +12,7 @@ import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; +import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.model.util.Response; @@ -85,7 +86,7 @@ public interface CallApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "/{callId}", produces = { "application/json" }) - ResponseEntity> getCallById( + ResponseEntity> getCallById( @Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId); @Operation(summary = "Api to get all calls", responses = { @@ -98,6 +99,6 @@ public interface CallApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "", produces = { "application/json" }) - ResponseEntity>> getAllCalls(); + ResponseEntity>> getAllCalls(); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/RegionApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/RegionApi.java index 3c9237a6..d49924a0 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/RegionApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/RegionApi.java @@ -61,7 +61,7 @@ public interface RegionApi { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "/{regionId}", produces = "application/json") - ResponseEntity> getRegionById( + ResponseEntity> getRegionById( @Parameter(description = "The region id", required = true) @PathVariable("regionId") Long regionId); @Operation(summary = "Api to get all regions", diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/RoleApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/RoleApi.java index 7225d87e..04bff191 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/RoleApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/RoleApi.java @@ -62,7 +62,7 @@ public interface RoleApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "/{roleId}", produces = { "application/json" }) - ResponseEntity> getRoleById( + ResponseEntity> getRoleById( @Parameter(description = "The role ID", required = true) @PathVariable("roleId") Long roleId); @Operation(summary = "Api to get all roles", diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java index 8a96bc45..9b0477c3 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/CallApiController.java @@ -8,6 +8,7 @@ import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1; +import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.model.util.Response; @@ -57,16 +58,16 @@ public class CallApiController implements CallApi { } @Override @Transactional(readOnly = true) - public ResponseEntity> getCallById(Long callId) { - CallEntity callEntity = callService.getCallById(callId); + public ResponseEntity> getCallById(Long callId) { + CreateCallResponseBean createCallResponseBean = callService.getCallById(callId); return ResponseEntity.status(HttpStatus.OK) - .body(new Response<>(callEntity, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); + .body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); } @Override @Transactional(readOnly = true) - public ResponseEntity>> getAllCalls() { - List calls = callService.getAllCalls(); + public ResponseEntity>> getAllCalls() { + List calls = callService.getAllCalls(); return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(calls, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG))); diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RegionApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RegionApiController.java index e7387562..c64258e5 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RegionApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RegionApiController.java @@ -52,10 +52,10 @@ public class RegionApiController implements RegionApi { } @Override - public ResponseEntity> getRegionById( + public ResponseEntity> getRegionById( @PathVariable("regionId") Long regionId) { log.info("Get Region by ID - Region ID: {}", regionId); - RegionEntity region = regionService.getRegionById(regionId); + RegionResponseBean region = regionService.getRegionById(regionId); return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(region, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_REGION_SUCCESS_MSG))); } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RoleApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RoleApiController.java index a720bf3c..4f4c5633 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RoleApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/RoleApiController.java @@ -57,11 +57,11 @@ public class RoleApiController implements RoleApi { } @Override - public ResponseEntity> getRoleById(Long roleId) { + public ResponseEntity> getRoleById(Long roleId) { log.info("Get Role by ID - Role ID: {}", roleId); - RoleEntity roleEntity = roleService.getRoleById(roleId); + RoleResponseBean roleResponseBean = roleService.getRoleById(roleId); return ResponseEntity.status(HttpStatus.OK) - .body(new Response<>(roleEntity, Status.SUCCESS, Translator.toLocale(GepafinConstant.ROLE_FETCH_SUCCESS_MSG))); + .body(new Response<>(roleResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.ROLE_FETCH_SUCCESS_MSG))); } @Override