From b12c933b411d72446ec215d54bcb1eb8a47105cc Mon Sep 17 00:00:00 2001 From: Naeem Ullah Date: Mon, 12 Jan 2026 16:36:09 +0500 Subject: [PATCH] validation --- .../controller/ValidationController.java | 37 +++++++++++++ .../validation/service/ValidationService.java | 52 +++++++++++++++++++ .../constant/TokenBypassURI.java | 3 +- 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 aconnect/src/main/java/com/mfsys/aconnect/validation/controller/ValidationController.java create mode 100644 aconnect/src/main/java/com/mfsys/aconnect/validation/service/ValidationService.java diff --git a/aconnect/src/main/java/com/mfsys/aconnect/validation/controller/ValidationController.java b/aconnect/src/main/java/com/mfsys/aconnect/validation/controller/ValidationController.java new file mode 100644 index 0000000..c3385c5 --- /dev/null +++ b/aconnect/src/main/java/com/mfsys/aconnect/validation/controller/ValidationController.java @@ -0,0 +1,37 @@ +package com.mfsys.aconnect.validation.controller; + +import com.mfsys.aconnect.validation.service.ValidationService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ValidationController { + + private final ValidationService validationService; + + public ValidationController(ValidationService validationService) { + this.validationService = validationService; + } + + @GetMapping("/validate-primary") + public boolean validatePrimaryIdenNo( + @RequestHeader("Authorization") String token, + @RequestHeader("SUS_USERCODE") String userCode, + @RequestHeader("POR_ORGACODE") String porOrgacode, + @RequestParam String primaryIdenNo) { + return validationService.validatePrimaryIdenNo(porOrgacode, primaryIdenNo, userCode, token); + } + + + @GetMapping("/validate-customer") + public boolean validateCustomerNo( + @RequestHeader("Authorization") String token, + @RequestHeader("SUS_USERCODE") String userCode, + @RequestHeader("POR_ORGACODE") String porOrgacode, + @RequestParam String cmpCustcode) { + return validationService.validateCustomerNo(porOrgacode, cmpCustcode, userCode, token); + } +} + diff --git a/aconnect/src/main/java/com/mfsys/aconnect/validation/service/ValidationService.java b/aconnect/src/main/java/com/mfsys/aconnect/validation/service/ValidationService.java new file mode 100644 index 0000000..06bb782 --- /dev/null +++ b/aconnect/src/main/java/com/mfsys/aconnect/validation/service/ValidationService.java @@ -0,0 +1,52 @@ +package com.mfsys.aconnect.validation.service; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.*; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +import static com.mfsys.common.configuration.constant.AconnectURI.DEPOSIT; + +@Service +public class ValidationService { + + @Value("${app.deposit.uri}") + private String depositURI; + + private final RestTemplate restTemplate; + public ValidationService(RestTemplate restTemplate) { + this.restTemplate = restTemplate; + } + + public boolean validatePrimaryIdenNo(String porOrgacode, String primaryIdenNo, String userCode, String tokenHeader) { + String url = depositURI + DEPOSIT + "/validate-cnicno" + "?porOrgacode=" + porOrgacode + "&pitIdenvalue=" + primaryIdenNo; + + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", tokenHeader); + headers.set("POR_ORGACODE", porOrgacode); + headers.set("SUS_USERCODE", userCode); + headers.setAccept(java.util.List.of(MediaType.APPLICATION_JSON)); + + HttpEntity entity = new HttpEntity<>(headers); + ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET,entity,Boolean.class); + Boolean result = response.getBody(); + return result != null && result; + + } + + public boolean validateCustomerNo(String porOrgacode, String cmpCustcode, String userCode, String tokenHeader) { + String url = depositURI + DEPOSIT + "/validate-customerno" + "?porOrgacode=" + porOrgacode + "&cmpCustcode=" + cmpCustcode; + + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", tokenHeader); + headers.set("POR_ORGACODE", porOrgacode); + headers.set("SUS_USERCODE", userCode); + headers.setAccept(java.util.List.of(MediaType.APPLICATION_JSON)); + + HttpEntity entity = new HttpEntity<>(headers); + ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET,entity,Boolean.class); + Boolean result = response.getBody(); + return result != null && result; + + } +} diff --git a/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java b/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java index dc917ce..e5a7689 100644 --- a/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java +++ b/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java @@ -28,7 +28,8 @@ public interface TokenBypassURI { "/aconnect/loan/individual/create", "/aconnect/deposit/transactions/cancel", "/aconnect/generalledger/transactions/cancel", - + "/aconnect/validate-primary", + "/aconnect/validate-customer", "/aconnect/deposit/transactions/reversal", "/aconnect/generalledger/transactions/reversal",