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_CR_TRANSACTION = "/submitCrTransaction";
String PENDING_CR_TRANSACTION = "/fetchPendingCredittransaction";
String ACCOUNT_STATEMENT = "/fetchDepositAccountStatement";
String BANKING_CASH_IN = "/deposit/transactions/uco/cash-in";
String BANKING_CASH_OUT = "/deposit/transactions/uco/cash-out";
}

@ -43,5 +43,12 @@ public class TransactionController {
@RequestParam String 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)
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;
}

@ -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")
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) {
if (!profile.getCmpTranpin().equals(oldPin)) {
if (Objects.nonNull(profile.getCmpTranpin()) && !profile.getCmpTranpin().equals(oldPin)) {
throw new OldPinIncorrectException();
}
}

@ -58,7 +58,6 @@ public class TransactionService {
.sgtReceiveGntrnumber(null)
.build();
CoreCashInTransaction coreCashInTransaction = CoreCashInTransaction.builder()
.drMbmBkmsnumber(transactionRequest.getDrMbmBkmsnumber())
.drPcrCurrcode("123")
@ -67,15 +66,12 @@ public class TransactionService {
.porOrgacode(transactionRequest.getPorOrgacode())
.build();
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");
transactionTrail.setSgtSentGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))));
transactionTrail.setBatAcnttranSend(true);
transactionTrailRepository.save(transactionTrail);
return response;
}
return response;
}
private void validation(CashInTransactionRequest transactionRequest) {
if(transactionRequest.getCrMbmBkmsnumber().equals(transactionRequest.getDrMbmBkmsnumber())){
@ -89,6 +85,11 @@ public class TransactionService {
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) {
verifyOldPinAndGetCmpProfile(cashOutTransactionRequest.getPorOrgacode(),
cashOutTransactionRequest.getCmpTranpin(),cashOutTransactionRequest.getCmpCustcode());
@ -104,13 +105,11 @@ public class TransactionService {
.build();
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");
transactionTrail.get().setSgtReceiveGntrnumber(extractTranNumber(List.of(transactionId.get("arguments"))));
transactionTrail.get().setBatAcnttranReceived(true);
transactionTrailRepository.save(transactionTrail.get());
}
}
return response;
}

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

Loading…
Cancel
Save