diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java index 3ebf5e93c7..19514871ee 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RestController; import io.mosip.admin.packetstatusupdater.dto.PacketResumeUpdateResponseDto; +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateResponseDto; import io.mosip.admin.packetstatusupdater.service.PacketStatusUpdateService; import io.mosip.admin.packetstatusupdater.util.AuditUtil; @@ -70,4 +71,24 @@ public ResponseWrapper resumePacket(@RequestParam return responseWrapper; } + + /** + * Validate packet. + * + * @param rId the r id + * @return the response wrapper + */ + @PreAuthorize("hasAnyRole(@authorizedRoles.getGetpacketstatusupdate())") + @PostMapping(value = { "/sentToPerso" }, consumes = { "multipart/form-data" }) + //@PreAuthorize("hasAnyRole('ZONAL_ADMIN','GLOBAL_ADMIN')") + public ResponseWrapper sentPacketCardToPerso(@RequestParam(value = "rid") String rId, + @RequestParam(value = "langCode", required = false) String langCode) { + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PKT_STATUS_UPD_API_CALLED, rId), null); + ResponseWrapper responseWrapper = new ResponseWrapper<>(); + responseWrapper.setResponse(packetUpdateStatusService.sentPacketCardToPerso(rId, langCode)); + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PKT_STATUS_UPD_SUCCESS, rId), null); + return responseWrapper; + + } } + diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java new file mode 100644 index 0000000000..6944a5d9e2 --- /dev/null +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java @@ -0,0 +1,9 @@ +package io.mosip.admin.packetstatusupdater.dto; + +import lombok.Data; + +@Data +public class PacketSendToPersoResponseDto { + + private String message; +} diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java index 08f2daf887..a8e7211852 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java @@ -2,6 +2,7 @@ import io.mosip.admin.packetstatusupdater.dto.PacketResumeUpdateResponseDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateResponseDto; +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; /** * The Interface PacketStatusUpdateService. @@ -20,4 +21,6 @@ public interface PacketStatusUpdateService { public PacketStatusUpdateResponseDto getStatus(String rid, String langCode); public PacketResumeUpdateResponseDto updatePacket(String rid, String langCode); + + public PacketSendToPersoResponseDto sentPacketCardToPerso(String rid, String langCode); } diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java index 7160301284..6e26c2d4c9 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; - +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; @@ -60,6 +60,10 @@ public class PacketStatusUpdateServiceImpl implements PacketStatusUpdateService @Value("${mosip.admin.packet-resume-update-url}") private String packetResumeUpdateUrl; + /** The packet send card to perso. */ + @Value("${mosip.admin.packet-send-to-perso-url}") + private String packetSendToPerso; + /** The zone validation url. */ @Value("${mosip.kernel.zone-validation-url}") private String zoneValidationUrl; @@ -114,6 +118,18 @@ public PacketResumeUpdateResponseDto updatePacket(String rId, String langCode) { return updatePacketResume(rId); } + /* + * (non-Javadoc) + * + * @see io.mosip.admin.packetstatusupdater.service.PacketStatusUpdateService# + * sent packet to perso(java.lang.String) + */ + @Override + public PacketSendToPersoResponseDto sentPacketCardToPerso(String rId, String langCode) { + auditUtil.setAuditRequestDto(EventEnum.PACKET_STATUS,null); + return sendPacket(rId); + } + /** * Gets the packet status. * @@ -206,6 +222,43 @@ private PacketResumeUpdateResponseDto updatePacketResume(String rId) { ); } + /** + * Gets the packet status. + * + * @param rId + * + * @return the send packet to perso + */ + @SuppressWarnings({ "unchecked" }) + private PacketSendToPersoResponseDto sendPacket(String rId) { + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + HttpEntity entity = new HttpEntity<>(headers); + UriComponentsBuilder urlBuilder = UriComponentsBuilder.fromUriString(packetSendToPerso) + .path(rId); + logger.info("Calling Regproc API: {}", urlBuilder.toUriString()); + ResponseEntity response = restTemplate.postForEntity(urlBuilder.toUriString(), entity, String.class); + logger.info("RegProc raw response: {}", response.getBody()); + if (response.getStatusCode().is2xxSuccessful()) { + PacketSendToPersoResponseDto dto = new PacketSendToPersoResponseDto(); + dto.setMessage(response.getBody()); + return dto; + } + } catch (RequestException e) { + logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); + throw e; + } catch (Exception e) { + logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); + throw new MasterDataServiceException(PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorCode(), + PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorMessage(),e); + } + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PACKET_STATUS_ERROR, rId), null); + throw new RequestException(PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorCode(), + PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorMessage() + ); + } + /** * Gets the packet response. diff --git a/admin/admin-service/src/main/resources/application-local1.properties b/admin/admin-service/src/main/resources/application-local1.properties index 1aaa2df06e..8b4647455c 100644 --- a/admin/admin-service/src/main/resources/application-local1.properties +++ b/admin/admin-service/src/main/resources/application-local1.properties @@ -138,12 +138,12 @@ mosip.admin.masterdata.card.document-types-ara=\u0623\u0646\u0648\u0627\u0639 \u #masterdata document category mosip.admin.masterdata.card.document-category-eng=Document Category -mosip.admin.masterdata.card.document-category-fra=Catégorie de document +mosip.admin.masterdata.card.document-category-fra=Catégorie de document mosip.admin.masterdata.card.document-category-ara=\u0641\u0626\u0629 \u0627\u0644\u0648\u062B\u064A\u0642\u0629 #masterdata device specs mosip.admin.masterdata.card.device-specs-eng=Device Specification -mosip.admin.masterdata.card.device-specs-fra=Spécification de l'appareil +mosip.admin.masterdata.card.device-specs-fra=Spécification de l'appareil mosip.admin.masterdata.card.device-specs-ara=\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u062C\u0647\u0627\u0632 #masteradata holidays @@ -163,7 +163,7 @@ mosip.admin.masterdata.card.rejection-reason-ara=\u0623\u0633\u0628\u0627\u0628 #masterdata template mosip.admin.masterdata.card.templates-eng=Templates -mosip.admin.masterdata.card.templates-fra=Modèles +mosip.admin.masterdata.card.templates-fra=Modèles mosip.admin.masterdata.card.templates-ara=\u0642\u0648\u0627\u0644\u0628 #masterdata valid document @@ -196,6 +196,7 @@ mosip.admin.resource.pages = 5,10,15,20,25,30,35,40,45,50 mosip.kernel.packet-status-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ +mosip.admin.packet-send-to-perso-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.net/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 javax.persistence.jdbc.url=jdbc:postgresql://dev.mosip.net:30090/mosip_master @@ -375,4 +376,4 @@ mosip.kernel.masterdata.name.validate.regex=[^A-Za-z] mosip.kernel.config.server.file.storage.uri=https://dev.mosip.net/config/admin/mz/develop2-v2 mosip.admin.identityMappingJson=identity-mapping.json -mosip.admin.applicant-details.exposed-identity-fields=dob,applicantPhoto, NIN \ No newline at end of file +mosip.admin.applicant-details.exposed-identity-fields=dob,applicantPhoto, NIN diff --git a/admin/admin-service/src/test/resources/application-test.properties b/admin/admin-service/src/test/resources/application-test.properties index f0d1009ed4..eba77280b4 100644 --- a/admin/admin-service/src/test/resources/application-test.properties +++ b/admin/admin-service/src/test/resources/application-test.properties @@ -267,6 +267,7 @@ mosip.admin.packetstatus.api.statuscode=PROCESSING mosip.admin.packetstatus.api.packetId=mosip.registration.status mosip.kernel.packet-status-update-url=https://dev.mosip.io/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ +mosip.admin.packet-send-to-perso-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.io/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 @@ -461,4 +462,4 @@ mosip.kernel.masterdata.name.validate.regex=[^A-Za-z] mosip.kernel.config.server.file.storage.uri=${spring.cloud.config.uri}/${spring.application.name}/${spring.profiles.active}/${spring.cloud.config.label}/ mosip.admin.identityMappingJson=identity-mapping.json -mosip.admin.applicant-details.exposed-identity-fields=dob,applicantPhoto, NIN \ No newline at end of file +mosip.admin.applicant-details.exposed-identity-fields=dob,applicantPhoto, NIN