[UCOD][PRE-PROD][17]-submitGLAccontAddMoneyTranasction #4

Merged
naeem.ullah merged 1 commits from UCOD-17 into UCO-PRE-PRODUCTION-2026 3 days ago

@ -13,6 +13,8 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class CoreCashOutTransaction { public class CoreCashOutTransaction {
private String porOrgacode; private String porOrgacode;
private String plcLocacode;
private String dmpProdcode;
private String crMbmBkmsnumber; private String crMbmBkmsnumber;
private BigDecimal sgtGntramtfc; private BigDecimal sgtGntramtfc;
private String crPcrCurrcode; private String crPcrCurrcode;

@ -13,6 +13,7 @@ public class GLAccontTranasctionRequestModel {
private String porOrgacode; private String porOrgacode;
private String pctCstycode; private String pctCstycode;
private String channelCode; private String channelCode;
private String plcLocacode;
private String cmpCustcode; private String cmpCustcode;
private String drPcaGlaccode; private String drPcaGlaccode;
private String drPcaGlacdesc; private String drPcaGlacdesc;

@ -5,10 +5,16 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class TransactionPinResponseModel { public class TransactionPinResponseModel {
private Long notificationId; private Long notificationId;
private String obpPincode;
private LocalDateTime pinCreation;
private LocalDateTime pinExpiry;
} }

@ -6,15 +6,11 @@ import com.mfsys.comm.util.MapValueExtractorUtil;
import com.mfsys.uco.UCOURI; import com.mfsys.uco.UCOURI;
import com.mfsys.uco.dto.*; import com.mfsys.uco.dto.*;
import com.mfsys.uco.dto.Transaction.TransactionOtpRequestModel; import com.mfsys.uco.dto.Transaction.TransactionOtpRequestModel;
import com.mfsys.uco.exception.InvalidTransactionAmountException; import com.mfsys.uco.exception.*;
import com.mfsys.uco.exception.ReferenceNumberNotValidException; import com.mfsys.uco.model.*;
import com.mfsys.uco.exception.SameCrDrAccountExistsException;
import com.mfsys.uco.model.CustomerProfile;
import com.mfsys.uco.model.CustomerProfileId;
import com.mfsys.uco.model.GLAccountMasterTransaction;
import com.mfsys.uco.model.TransactionTrail;
import com.mfsys.uco.repository.CustomerProfileRepository; import com.mfsys.uco.repository.CustomerProfileRepository;
import com.mfsys.uco.repository.GLAccountMasterTransactionTrailRepository; import com.mfsys.uco.repository.GLAccountMasterTransactionTrailRepository;
import com.mfsys.uco.repository.PinRepository;
import com.mfsys.uco.repository.TransactionTrailRepository; import com.mfsys.uco.repository.TransactionTrailRepository;
import lombok.Data; import lombok.Data;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -36,15 +32,22 @@ public class TransactionService {
private final NotificationService notificationService; private final NotificationService notificationService;
private final TransactionPinService transactionPinService; private final TransactionPinService transactionPinService;
private final TransactionTrailRepository transactionTrailRepository; private final TransactionTrailRepository transactionTrailRepository;
private final PinRepository pinRepository;
private final UcoAccountService ucoAccountService; private final UcoAccountService ucoAccountService;
private final WebClientDepositService webClientDepositService; private final WebClientDepositService webClientDepositService;
private final GLAccountMasterTransactionTrailRepository glAccountMasterTransactionTrailRepository; private final GLAccountMasterTransactionTrailRepository glAccountMasterTransactionTrailRepository;
public TransactionPinResponseModel sendOtpAndValidateTranPin(TransactionOtpRequestModel transactionOtpRequestModel, boolean isResendOtp) { public TransactionPinResponseModel sendOtpAndValidateTranPin(TransactionOtpRequestModel transactionOtpRequestModel, boolean isResendOtp) {
CustomerProfile customerProfile = verifyOldPinAndGetCmpProfile(transactionOtpRequestModel.getPorOrgacode(), CustomerProfile customerProfile = verifyOldPinAndGetCmpProfile(transactionOtpRequestModel.getPorOrgacode(), transactionOtpRequestModel.getTransPincode(), transactionOtpRequestModel.getCmpCustcode(), isResendOtp);
transactionOtpRequestModel.getTransPincode(), transactionOtpRequestModel.getCmpCustcode(), isResendOtp); Long notificationId = transactionPinService.sendOtp(customerProfile, transactionOtpRequestModel.getChannelCode(), transactionOtpRequestModel.getPinType(), "Transaction Verification OTP", transactionOtpRequestModel.isOtpRequired());
return TransactionPinResponseModel.builder().notificationId(transactionPinService.sendOtp(customerProfile, transactionOtpRequestModel.getChannelCode(), Pin pin = pinRepository.findLatestActiveOtpByUserName(transactionOtpRequestModel.getEmail(), transactionOtpRequestModel.getPinType())
transactionOtpRequestModel.getPinType(), "Transaction Verification OTP", transactionOtpRequestModel.isOtpRequired())).build(); .orElseThrow(()->new TranVerificationPinException());
return TransactionPinResponseModel.builder()
.notificationId(notificationId)
.obpPincode(pin.getPincode())
.pinCreation(pin.getPinCreatedate())
.pinExpiry(pin.getPinExpirydate())
.build();
} }
public Map<String, Object> cashInTransaction(CashInTransactionRequest transactionRequest) { public Map<String, Object> cashInTransaction(CashInTransactionRequest transactionRequest) {
@ -374,6 +377,8 @@ public class TransactionService {
.accSgtGntramtfc(BigDecimal.valueOf(glAccontTranasctionRequestModel.getSgtGntramtfc())) .accSgtGntramtfc(BigDecimal.valueOf(glAccontTranasctionRequestModel.getSgtGntramtfc()))
.sgtGntramtfc(BigDecimal.valueOf(convertToPKR(glAccontTranasctionRequestModel.getCrPcrCurrcode(),glAccontTranasctionRequestModel.getSgtGntramtfc(),glAccontTranasctionRequestModel.getPorOrgacode()))) .sgtGntramtfc(BigDecimal.valueOf(convertToPKR(glAccontTranasctionRequestModel.getCrPcrCurrcode(),glAccontTranasctionRequestModel.getSgtGntramtfc(),glAccontTranasctionRequestModel.getPorOrgacode())))
.crPcrCurrcode(glAccontTranasctionRequestModel.getCrPcrCurrcode()) .crPcrCurrcode(glAccontTranasctionRequestModel.getCrPcrCurrcode())
.plcLocacode(glAccontTranasctionRequestModel.getPlcLocacode())
.dmpProdcode(glAccontTranasctionRequestModel.getDmpProdCode())
.build(); .build();
response = (Map<String, Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, glAccontTranasctionRequestModel.getPorOrgacode()); response = (Map<String, Object>) webClientDepositService.postTransaction(cashOutTransaction, UCOURI.BANKING_CASH_OUT, glAccontTranasctionRequestModel.getPorOrgacode());

Loading…
Cancel
Save