commit demo

Nabeel-DG-BS
Raja Nabeel 2 years ago
parent 246703f61d
commit c512fedf60

@ -16,6 +16,7 @@ public interface UCOURI {
String SUBMIT_DR_TRANSACTION = "/submitDrTransaction"; String SUBMIT_DR_TRANSACTION = "/submitDrTransaction";
String SUBMIT_CR_TRANSACTION = "/submitCrTransaction"; String SUBMIT_CR_TRANSACTION = "/submitCrTransaction";
String PENDING_CR_TRANSACTION = "/fetchPendingCredittransaction"; String PENDING_CR_TRANSACTION = "/fetchPendingCredittransaction";
String ACCOUNT_STATEMENT = "/fetchDepositAccountStatement";
String BANKING_CASH_IN = "/deposit/transactions/uco/cash-in"; String BANKING_CASH_IN = "/deposit/transactions/uco/cash-in";
String BANKING_CASH_OUT = "/deposit/transactions/uco/cash-out"; String BANKING_CASH_OUT = "/deposit/transactions/uco/cash-out";
} }

@ -43,5 +43,12 @@ public class TransactionController {
@RequestParam String mbmBkmsnumber) { @RequestParam String mbmBkmsnumber) {
return transactionService.fetchPendingCrTransactions(porOrgacode, mbmBkmsnumber); return transactionService.fetchPendingCrTransactions(porOrgacode, mbmBkmsnumber);
} }
@GetMapping(UCOURI.ACCOUNT_STATEMENT)
public List<TransactionTrail> getAccountStatement(
@RequestParam String porOrgacode,
@RequestParam String mbmBkmsnumber) {
return transactionService.fetchDepositAccountStatement(porOrgacode, mbmBkmsnumber);
}
} }

@ -73,7 +73,7 @@ public class TransactionTrail {
@Column(name = "BAT_ACNTTRANRECEIVED", nullable = true, columnDefinition = FieldNameLength.BOOLEAN_BIT) @Column(name = "BAT_ACNTTRANRECEIVED", nullable = true, columnDefinition = FieldNameLength.BOOLEAN_BIT)
protected boolean batAcnttranReceived; protected boolean batAcnttranReceived;
@Column(name = "SGT_RECEIVEGNTRNUMBER", nullable = true, updatable = false, columnDefinition = FieldNameLength.CODE_500) @Column(name = "SGT_RECEIVEGNTRNUMBER", nullable = true, updatable = true, columnDefinition = FieldNameLength.CODE_500)
protected String sgtReceiveGntrnumber; protected String sgtReceiveGntrnumber;
} }

@ -13,4 +13,13 @@ public interface TransactionTrailRepository extends JpaRepository<TransactionTra
@Query("SELECT t FROM BN_MS_UA_UCOACCOUNTTRAIL t WHERE t.porOrgacode =:porOrgacode and t.crMbmBkmsnumber = :crMbmBkmsnumber and t.batAcnttranReceived = false") @Query("SELECT t FROM BN_MS_UA_UCOACCOUNTTRAIL t WHERE t.porOrgacode =:porOrgacode and t.crMbmBkmsnumber = :crMbmBkmsnumber and t.batAcnttranReceived = false")
Optional<List<TransactionTrail>> findByPorOrgacodeAndCrMbmBkmsnumberAndBatAcnttranReceivedFalse(String porOrgacode, String crMbmBkmsnumber); Optional<List<TransactionTrail>> findByPorOrgacodeAndCrMbmBkmsnumberAndBatAcnttranReceivedFalse(String porOrgacode, String crMbmBkmsnumber);
// @Query("SELECT t FROM BN_MS_UA_UCOACCOUNTTRAIL t WHERE t.porOrgacode =:porOrgacode and t.drMbmBkmsnumber = :mbmBkmsnumber or(t.crMbmBkmsnumber = :mbmBkmsnumber and t.batAcnttranReceived = false)")
@Query(value = "SELECT * " +
"FROM bn_ms_ua_ucoaccounttrail " +
"WHERE (dr_mbm_bkmsnumber = :mbmBkmsnumber AND (bat_acnttransent = TRUE OR bat_acnttranreceived = TRUE)) " +
" OR (cr_mbm_bkmsnumber = :mbmBkmsnumber AND (bat_acnttransent = TRUE AND bat_acnttranreceived = TRUE))",nativeQuery = true)
Optional<List<TransactionTrail>> fetchDepositAccountStatement(String mbmBkmsnumber);
} }

@ -57,7 +57,7 @@ public class TransactionPinService {
} }
public void validateOldPin(CustomerProfile profile, String oldPin) { public void validateOldPin(CustomerProfile profile, String oldPin) {
if (!profile.getCmpTranpin().equals(oldPin)) { if (Objects.nonNull(profile.getCmpTranpin()) && !profile.getCmpTranpin().equals(oldPin)) {
throw new OldPinIncorrectException(); throw new OldPinIncorrectException();
} }
} }

@ -58,7 +58,6 @@ public class TransactionService {
.sgtReceiveGntrnumber(null) .sgtReceiveGntrnumber(null)
.build(); .build();
CoreCashInTransaction coreCashInTransaction = CoreCashInTransaction.builder() CoreCashInTransaction coreCashInTransaction = CoreCashInTransaction.builder()
.drMbmBkmsnumber(transactionRequest.getDrMbmBkmsnumber()) .drMbmBkmsnumber(transactionRequest.getDrMbmBkmsnumber())
.drPcrCurrcode("123") .drPcrCurrcode("123")
@ -67,15 +66,12 @@ public class TransactionService {
.porOrgacode(transactionRequest.getPorOrgacode()) .porOrgacode(transactionRequest.getPorOrgacode())
.build(); .build();
Map<String,Object> response = (Map<String,Object>)webClientDepositService.postTransaction(coreCashInTransaction, UCOURI.BANKING_CASH_IN,transactionRequest.getPorOrgacode()); Map<String,Object> response = (Map<String,Object>)webClientDepositService.postTransaction(coreCashInTransaction, UCOURI.BANKING_CASH_IN,transactionRequest.getPorOrgacode());
if(response.containsKey("mbmBkmsBalance")){
Map<String,Object> transactionId = (Map<String,Object>) response.get("FuncReturnDetail"); Map<String,Object> transactionId = (Map<String,Object>) response.get("FuncReturnDetail");
transactionTrail.setSgtSentGntrnumber(extractTranNumber(List.of(transactionId.get("arguments")))); transactionTrail.setSgtSentGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))));
transactionTrail.setBatAcnttranSend(true); transactionTrail.setBatAcnttranSend(true);
transactionTrailRepository.save(transactionTrail); transactionTrailRepository.save(transactionTrail);
return response; return response;
} }
return response;
}
private void validation(CashInTransactionRequest transactionRequest) { private void validation(CashInTransactionRequest transactionRequest) {
if(transactionRequest.getCrMbmBkmsnumber().equals(transactionRequest.getDrMbmBkmsnumber())){ if(transactionRequest.getCrMbmBkmsnumber().equals(transactionRequest.getDrMbmBkmsnumber())){
@ -89,6 +85,11 @@ public class TransactionService {
return optionalTransactions.orElseGet(Collections::emptyList); return optionalTransactions.orElseGet(Collections::emptyList);
} }
public List<TransactionTrail> fetchDepositAccountStatement(String porOrgacode, String mbmBkmsnumber) {
Optional<List<TransactionTrail>> optionalTransactions = transactionTrailRepository.fetchDepositAccountStatement( mbmBkmsnumber);
return optionalTransactions.orElseGet(Collections::emptyList);
}
public Map<String,Object> cashOutTransaction(CashOutTransactionRequest cashOutTransactionRequest) { public Map<String,Object> cashOutTransaction(CashOutTransactionRequest cashOutTransactionRequest) {
verifyOldPinAndGetCmpProfile(cashOutTransactionRequest.getPorOrgacode(), verifyOldPinAndGetCmpProfile(cashOutTransactionRequest.getPorOrgacode(),
cashOutTransactionRequest.getCmpTranpin(),cashOutTransactionRequest.getCmpCustcode()); cashOutTransactionRequest.getCmpTranpin(),cashOutTransactionRequest.getCmpCustcode());
@ -104,13 +105,11 @@ public class TransactionService {
.build(); .build();
response = (Map<String,Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, transactionTrail.get().getPorOrgacode()); response = (Map<String,Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, transactionTrail.get().getPorOrgacode());
if(response.containsKey("mbmBkmsBalance")) {
Map<String,Object> transactionId = (Map<String,Object>) response.get("FuncReturnDetail"); Map<String,Object> transactionId = (Map<String,Object>) response.get("FuncReturnDetail");
transactionTrail.get().setSgtReceiveGntrnumber(extractTranNumber(List.of(transactionId.get("arguments")))); transactionTrail.get().setSgtReceiveGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))));
transactionTrail.get().setBatAcnttranReceived(true); transactionTrail.get().setBatAcnttranReceived(true);
transactionTrailRepository.save(transactionTrail.get()); transactionTrailRepository.save(transactionTrail.get());
} }
}
return response; return response;
} }

@ -98,6 +98,7 @@ public class UcoAccountService {
String url= UCOURI.GET_CMP_UCOACCOUNTS+"?porOrgacode="+porOrgacode+"&cmpCustcode="+cmpCustcode; String url= UCOURI.GET_CMP_UCOACCOUNTS+"?porOrgacode="+porOrgacode+"&cmpCustcode="+cmpCustcode;
List<Object> map = (List<Object>) webClientDeposit.getCmpUcoAccounts(url,porOrgacode); List<Object> map = (List<Object>) webClientDeposit.getCmpUcoAccounts(url,porOrgacode);
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.convertValue(map.get(0), AccountDetail.class); return objectMapper.convertValue(map.get(0), AccountDetail.class);
} }

Loading…
Cancel
Save