diff --git a/src/main/java/com/mfsys/uco/service/UcoAccountService.java b/src/main/java/com/mfsys/uco/service/UcoAccountService.java index f3952f4..7644a23 100644 --- a/src/main/java/com/mfsys/uco/service/UcoAccountService.java +++ b/src/main/java/com/mfsys/uco/service/UcoAccountService.java @@ -58,16 +58,16 @@ public class UcoAccountService { customerProfile = customerProfileRepository.findCustomerProfileByCmpEmailAndPorOrgacode(porOrgacode, acntTypeValue); } if (Objects.isNull(customerProfile)) { - throw new AccountDoesntExistsException(); + throw new AccountDoesntExistsException(); } - List ucoAccountList= ucoAccountRepository.findUcoAccountByCmpCustcode(porOrgacode, customerProfile.getCmpCustcode()); + List ucoAccountList= ucoAccountRepository.findUcoAccountByCmpCustcode(porOrgacode, customerProfile.getCmpCustcode()); List accountInquiryResponseList = new ArrayList<>(); ucoAccountList.stream().forEach(account ->{; accountInquiryResponseList.add( AccountInquiryResponse.builder().mbmBkmsnumber(account.getId().getMbmBkmsnumber()) .mbmBkmstitle(account.getMbmBkmstitle()) - .pcrCurrshort(account.getPcrCurrshort()) - .pcrCurrcode(account.getPcrCurrcode()) - .pcrCurrdesc(account.getPcrCurrdesc()) + .pcrCurrshort(account.getPcrCurrshort()) + .pcrCurrcode(account.getPcrCurrcode()) + .pcrCurrdesc(account.getPcrCurrdesc()) .build()); }); return accountInquiryResponseList; @@ -191,39 +191,42 @@ public class UcoAccountService { } }); } - String accountNumber = webClientDeposit.createUcoAccount(JsonToString(Map.of("payload",preparePayloadForAccount(customerProfile,addAccountRequestModel.getTitle()), + String accountNumber = webClientDeposit.createUcoAccount(JsonToString(Map.of("payload",preparePayloadForAccount(customerProfile,addAccountRequestModel.getTitle(), addAccountRequestModel.getDmpProdcode()), "uniqueConstraints",List.of(List.of(String.valueOf(addAccountRequestModel.getDmpProdcode()))))),UCOURI.UCO_CUSTOMER_ACCOUNT,porOrgacode); saveCustomerAccountDetails(porOrgacode,customerProfile.getCmpCustcode(),accountNumber); - } + } -public void saveCustomerAccountDetails(String porOrgacode, String cmpCustcode,String accountNumber){ - fetchdepositAccountFromCiihive(porOrgacode, cmpCustcode).stream().forEach(k -> { - if(k.getMbmBkmsnumber().equals(accountNumber)){ - UcoAccount ucoAccount = UcoAccount.builder() - .id(new AccountId(k.getPorOrgacode(), k.getMbmBkmsnumber())) - .dmpProdcode(k.getDmpProdcode()) - .mbmBkmstitle(k.getMbmBkmstitle()) - .pcrCurrdesc(k.getPcrCurrdesc()) - .cmpCustcode(k.getCmpCustcode()) - .pcrCurrcode(k.getPcrCurrcode()) - .pcrCurrshort(k.getPcrCurrshort()) - .mbmBkmsclosed(k.isMbmBkmsclosed()) - .mbmBkmsopendate(LocalDate.now()) - .sgtLasttrandate(LocalDate.now()) - .build(); - ucoAccountRepository.save(ucoAccount); - } - }); -} - public String preparePayloadForAccount(CustomerProfile customerProfile,String title){ - Map jsonMap = new HashMap<>(); + public void saveCustomerAccountDetails(String porOrgacode, String cmpCustcode,String accountNumber){ + fetchdepositAccountFromCiihive(porOrgacode, cmpCustcode).stream().forEach(k -> { + if(k.getMbmBkmsnumber().equals(accountNumber)){ + UcoAccount ucoAccount = UcoAccount.builder() + .id(new AccountId(k.getPorOrgacode(), k.getMbmBkmsnumber())) + .dmpProdcode(k.getDmpProdcode()) + .mbmBkmstitle(k.getMbmBkmstitle()) + .pcrCurrdesc(k.getPcrCurrdesc()) + .cmpCustcode(k.getCmpCustcode()) + .pcrCurrcode(k.getPcrCurrcode()) + .pcrCurrshort(k.getPcrCurrshort()) + .mbmBkmsclosed(k.isMbmBkmsclosed()) + .mbmBkmsopendate(LocalDate.now()) + .sgtLasttrandate(LocalDate.now()) + .build(); + ucoAccountRepository.save(ucoAccount); + } + }); + } + + public String preparePayloadForAccount(CustomerProfile customerProfile, String title, String dmpProdcode) { + System.out.println(customerProfile); + Map jsonMap = new HashMap<>(); jsonMap.put("SUS_USERCODE", "01"); - jsonMap.put("CMP_CUSTCODE",customerProfile.getCmpCustcode()); + jsonMap.put("CMP_CUSTCODE", customerProfile.getCmpCustcode()); jsonMap.put("CMP_FULLNAME", title); - jsonMap.put("PLC_LOCACODE", "2003"); + jsonMap.put("PLC_LOCACODE", "0010"); jsonMap.put("workFlowStage", "BN_WF_CP_AUTHORIZATION"); jsonMap.put("PCT_CSTYCODE", "I"); jsonMap.put("POR_ORGACODE", customerProfile.getPorOrgacode()); + jsonMap.put("DMP_PRODCODE", dmpProdcode); List> workFlowLog = new ArrayList<>(); Map logEntry = new HashMap<>(); logEntry.put("susUsercode", "01"); @@ -249,9 +252,10 @@ public void saveCustomerAccountDetails(String porOrgacode, String cmpCustcode,St Map createdDateMap = new HashMap<>(); createdDateMap.put("$date", new Date()); jsonMap.put("@_CREATEDATE", createdDateMap); - return JsonToString(jsonMap); + return JsonToString(jsonMap); } - public String JsonToString(Object jsonMap){ + + public String JsonToString(Object jsonMap) { try { return this.objectMapper.writeValueAsString(jsonMap); } catch (JsonProcessingException var3) { diff --git a/src/main/java/com/mfsys/uco/service/WebClientDepositService.java b/src/main/java/com/mfsys/uco/service/WebClientDepositService.java index 0cfadef..2cf30db 100644 --- a/src/main/java/com/mfsys/uco/service/WebClientDepositService.java +++ b/src/main/java/com/mfsys/uco/service/WebClientDepositService.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.mfsys.comm.exception.ApplicationException; import com.mfsys.comm.exception.ApplicationExceptionMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -14,6 +15,7 @@ import reactor.core.publisher.Mono; import java.io.IOException; @Service +@Slf4j public class WebClientDepositService { private final WebClient webClientDeposit; @@ -70,6 +72,9 @@ public class WebClientDepositService { return response.getBody(); } catch (WebClientResponseException e) { ApplicationExceptionMapper.APIError errorDetails = parseErrorDetails(e); + log.error("UCO Error Status: {}", e.getStatusCode()); + log.error("UCO Error Body: {}", e.getResponseBodyAsString()); + log.error("UCO Request Headers: {}", e.getRequest().getHeaders()); throw new ApplicationException(porgaCode, errorDetails.getErrorCode(), errorDetails.getArguments()); } }