From 6e877435d5b1ea8ef5bb1132bd844af5ef9dd42d Mon Sep 17 00:00:00 2001 From: Omar Shahbaz Date: Wed, 21 Jan 2026 17:36:25 +0500 Subject: [PATCH] Commit[1]:Revamping User Controller --- pom.xml | 8 +- .../UcoApplication.java} | 6 +- .../java/com/mfsys/uco/constants/UCOURI.java | 6 ++ .../mfsys/uco/controller/UserController.java | 30 +++++++ .../com/mfsys/uco/model/CustomerProfile.java | 67 +++++++++++++++ .../repository/CustomerProfileRepository.java | 13 +++ .../mfsys/uco/request/AddAccountRequest.java | 23 +++++ .../mfsys/uco/request/BeneficiaryRequest.java | 33 +++++++ .../request/ChangeTransactionPinRequest.java | 30 +++++++ .../request/CreateTransactionPinRequest.java | 28 ++++++ .../com/mfsys/uco/request/OTPRequest.java | 30 +++++++ .../mfsys/uco/request/SignupStep3Request.java | 43 ++++++++++ .../request/TransactionHistoryRequest.java | 23 +++++ .../uco/request/UpdateProfileRequest.java | 20 +++++ .../mfsys/uco/request/VerifyPinRequest.java | 27 ++++++ .../mfsys/uco/request/ViewBalanceRequest.java | 19 ++++ .../uco/response/AccountDetailResponse.java | 86 +++++++++++++++++++ .../uco/response/AccountInquiryResponse.java | 24 ++++++ .../uco/response/BeneficiaryResponse.java | 33 +++++++ .../CustomerAccountActivityResponse.java | 42 +++++++++ .../uco/response/CustomerProfileResponse.java | 47 ++++++++++ .../DepositAccountTransactionResponse.java | 30 +++++++ .../uco/response/ViewBalanceResponse.java | 15 ++++ .../uco/service/CustomerProfileService.java | 17 ++++ .../mfsys/uco/service/UcoAccountService.java | 17 ++++ src/main/resources/application.properties | 2 +- .../UcoBsPocApplicationTests.java | 2 +- 27 files changed, 714 insertions(+), 7 deletions(-) rename src/main/java/com/mfsys/{uco_bs_poc/UcoBsPocApplication.java => uco/UcoApplication.java} (61%) create mode 100644 src/main/java/com/mfsys/uco/constants/UCOURI.java create mode 100644 src/main/java/com/mfsys/uco/controller/UserController.java create mode 100644 src/main/java/com/mfsys/uco/model/CustomerProfile.java create mode 100644 src/main/java/com/mfsys/uco/repository/CustomerProfileRepository.java create mode 100644 src/main/java/com/mfsys/uco/request/AddAccountRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/BeneficiaryRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/ChangeTransactionPinRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/CreateTransactionPinRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/OTPRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/SignupStep3Request.java create mode 100644 src/main/java/com/mfsys/uco/request/TransactionHistoryRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/UpdateProfileRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/VerifyPinRequest.java create mode 100644 src/main/java/com/mfsys/uco/request/ViewBalanceRequest.java create mode 100644 src/main/java/com/mfsys/uco/response/AccountDetailResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/AccountInquiryResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/BeneficiaryResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/CustomerAccountActivityResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/CustomerProfileResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/DepositAccountTransactionResponse.java create mode 100644 src/main/java/com/mfsys/uco/response/ViewBalanceResponse.java create mode 100644 src/main/java/com/mfsys/uco/service/CustomerProfileService.java create mode 100644 src/main/java/com/mfsys/uco/service/UcoAccountService.java rename src/test/java/com/mfsys/{uco_bs_poc => uco}/UcoBsPocApplicationTests.java (85%) diff --git a/pom.xml b/pom.xml index 7cbde9a..f31c941 100644 --- a/pom.xml +++ b/pom.xml @@ -9,9 +9,9 @@ com.mfsys - uco-bs-poc + uco 0.0.1-SNAPSHOT - uco-bs-poc + uco UCO-BS-POC Spring Boot Project @@ -82,6 +82,10 @@ org.hibernate.validator hibernate-validator + + org.springframework.boot + spring-boot-starter-webflux + diff --git a/src/main/java/com/mfsys/uco_bs_poc/UcoBsPocApplication.java b/src/main/java/com/mfsys/uco/UcoApplication.java similarity index 61% rename from src/main/java/com/mfsys/uco_bs_poc/UcoBsPocApplication.java rename to src/main/java/com/mfsys/uco/UcoApplication.java index d1fe591..8fde4d6 100644 --- a/src/main/java/com/mfsys/uco_bs_poc/UcoBsPocApplication.java +++ b/src/main/java/com/mfsys/uco/UcoApplication.java @@ -1,13 +1,13 @@ -package com.mfsys.uco_bs_poc; +package com.mfsys.uco; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class UcoBsPocApplication { +public class UcoApplication { public static void main(String[] args) { - SpringApplication.run(UcoBsPocApplication.class, args); + SpringApplication.run(UcoApplication.class, args); } } diff --git a/src/main/java/com/mfsys/uco/constants/UCOURI.java b/src/main/java/com/mfsys/uco/constants/UCOURI.java new file mode 100644 index 0000000..cb68ca8 --- /dev/null +++ b/src/main/java/com/mfsys/uco/constants/UCOURI.java @@ -0,0 +1,6 @@ +package com.mfsys.uco.constants; + +public interface UCOURI { + + String ONBOARD_CUSTOMER = "/auth/user/authenticate/onboardCutomer"; +} diff --git a/src/main/java/com/mfsys/uco/controller/UserController.java b/src/main/java/com/mfsys/uco/controller/UserController.java new file mode 100644 index 0000000..946a06c --- /dev/null +++ b/src/main/java/com/mfsys/uco/controller/UserController.java @@ -0,0 +1,30 @@ +package com.mfsys.uco.controller; + +import com.mfsys.uco.constants.UCOURI; +import com.mfsys.uco.request.SignupStep3Request; +import com.mfsys.uco.service.UcoAccountService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping +public class UserController { + + private final UcoAccountService ucoAccountService; + + public UserController(UcoAccountService ucoAccountService) { + this.ucoAccountService = ucoAccountService; + } + + @PostMapping(UCOURI.ONBOARD_CUSTOMER) + public ResponseEntity customerOnBoarding(@RequestBody SignupStep3Request signupStep3Request) { + ucoAccountService.onBoardCustomer(signupStep3Request); + return ResponseEntity.ok(HttpStatus.OK); + } + + +} diff --git a/src/main/java/com/mfsys/uco/model/CustomerProfile.java b/src/main/java/com/mfsys/uco/model/CustomerProfile.java new file mode 100644 index 0000000..b58ea59 --- /dev/null +++ b/src/main/java/com/mfsys/uco/model/CustomerProfile.java @@ -0,0 +1,67 @@ +package com.mfsys.uco.model; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; + +@Entity +@Table(name = "BN_CS_MP_CUSTOMERPROFILE") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CustomerProfile { + + @Id + @Column(name = "POR_ORGACODE") + protected String porOrgacode; + + @Column(name = "CMP_CUSTCODE") + protected String cmpCustcode; + + @Column(name = "PIT_IDENVALUE") + protected String pitIdenvalue; + + + @Column(name = "PIT_IDENCODE") + protected String pitIdencode; + + @Column(name = "PAD_ADRSMOBPHONE") + protected String padAdrsmobphone; + + @Column(name = "KYC_RENEWAL_DATE") + protected LocalDate kycRenewalDate; + + @Column(name = "CMP_ISKYC_VERIFIED") + protected boolean cmpIsKycVerified = false; + + @Column(name = "CMP_TRAN_PIN") + protected String cmpTranpin; + + @Column(name = "CMP_UNVERIFIED_TRAN_PIN") + protected String cmpUnverifiedTranpin; + + @Column(name = "CMP_TRAN_PIN_VERIFIED") + protected boolean cmpTranpinVerfied = false; + + @Column(name = "CMP_EMAIL") + private String cmpEmail; + + @Column(name = "CMP_NAME") + private String cmpName; + + @Column(name = "CMP_USERNAME") + private String cmpUserName; + + @Column(name = "CMP_ADDRESS") + private String cmpAddress; + + @Column(name = "CMP_CUSTIMG") + @Lob + private String cmpCustImage; + +} diff --git a/src/main/java/com/mfsys/uco/repository/CustomerProfileRepository.java b/src/main/java/com/mfsys/uco/repository/CustomerProfileRepository.java new file mode 100644 index 0000000..8a16123 --- /dev/null +++ b/src/main/java/com/mfsys/uco/repository/CustomerProfileRepository.java @@ -0,0 +1,13 @@ +package com.mfsys.uco.repository; + +import com.mfsys.uco.model.CustomerProfile; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +@Repository +public interface CustomerProfileRepository extends JpaRepository { + + @Query("SELECT c FROM CustomerProfile c WHERE c.porOrgacode =:porOrgacode and c.cmpEmail = :email") + CustomerProfile findbyEmail(String porOrgacode, String email); +} diff --git a/src/main/java/com/mfsys/uco/request/AddAccountRequest.java b/src/main/java/com/mfsys/uco/request/AddAccountRequest.java new file mode 100644 index 0000000..53037ff --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/AddAccountRequest.java @@ -0,0 +1,23 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AddAccountRequest { + + private String porOrgacode; + + private String email; + + private String title; + + private String dmpProdcode; + + private String channelCode; +} diff --git a/src/main/java/com/mfsys/uco/request/BeneficiaryRequest.java b/src/main/java/com/mfsys/uco/request/BeneficiaryRequest.java new file mode 100644 index 0000000..09b420f --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/BeneficiaryRequest.java @@ -0,0 +1,33 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BeneficiaryRequest { + + private String porOrgacode; + + private String email; + + private String pcrCurrcode; + + private String pcrCurrdesc; + + private String pcrCurrshort; + + private String mbmBkmstitleRef; + + private String mbmBkmsnumberRef; + + private String refPhoneNumber; + + private String refEmail; + + private String refNickName; +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/request/ChangeTransactionPinRequest.java b/src/main/java/com/mfsys/uco/request/ChangeTransactionPinRequest.java new file mode 100644 index 0000000..c6a429c --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/ChangeTransactionPinRequest.java @@ -0,0 +1,30 @@ +package com.mfsys.uco.request; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ChangeTransactionPinRequest { + + private String oldTransPincode; + + private String newTransPincode; + + private String channelCode; + + private String pctCstycode; + + private String porOrgacode; + + private String cmpCustcode; + + private boolean isOtpRequired; + + private String pinType; +} diff --git a/src/main/java/com/mfsys/uco/request/CreateTransactionPinRequest.java b/src/main/java/com/mfsys/uco/request/CreateTransactionPinRequest.java new file mode 100644 index 0000000..59a4d1d --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/CreateTransactionPinRequest.java @@ -0,0 +1,28 @@ +package com.mfsys.uco.request; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CreateTransactionPinRequest { + + private String newTransPincode; + + private String channelCode; + + private String pctCstycode; + + private String porOrgacode; + + private String cmpCustcode; + + private boolean isOtpRequired; + + private String pinType; +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/request/OTPRequest.java b/src/main/java/com/mfsys/uco/request/OTPRequest.java new file mode 100644 index 0000000..682cdf0 --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/OTPRequest.java @@ -0,0 +1,30 @@ +package com.mfsys.uco.request; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class OTPRequest { + + private boolean isOtpRequired; + + private String email; + + private String phone; + + private String channelCode; + + private String porOrgacode; + + private String username; + + private String pinType; + + private String subject; +} diff --git a/src/main/java/com/mfsys/uco/request/SignupStep3Request.java b/src/main/java/com/mfsys/uco/request/SignupStep3Request.java new file mode 100644 index 0000000..f55d035 --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/SignupStep3Request.java @@ -0,0 +1,43 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SignupStep3Request { + + private String username; + + private String email; + + private String phone; + + private String name; + + private String address; + + private String identificationType; + + private String identificationNumber; + + private boolean isKycAdded; + + private String dmpProdcode; + + private String kycType; + + private String kycDocumentId1; // base64 encoded + + private String kycDocumentId2; // base64 encoded + + private String userRole; + + private String channelCode; + + private String porOrgacode; +} diff --git a/src/main/java/com/mfsys/uco/request/TransactionHistoryRequest.java b/src/main/java/com/mfsys/uco/request/TransactionHistoryRequest.java new file mode 100644 index 0000000..47a075d --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/TransactionHistoryRequest.java @@ -0,0 +1,23 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TransactionHistoryRequest { + + private String porOrgacode; + + private String mbmBkmsnumber; + + private String sgtGntrvaluedatefrom; + + private String sgtGntrvaluedateto; + + private String type; // Expected to be "pdf" +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/request/UpdateProfileRequest.java b/src/main/java/com/mfsys/uco/request/UpdateProfileRequest.java new file mode 100644 index 0000000..9cf1787 --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/UpdateProfileRequest.java @@ -0,0 +1,20 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UpdateProfileRequest { + + private String porOrgacode; + + private String cmpCustcode; + + private String cmpCustImage; + +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/request/VerifyPinRequest.java b/src/main/java/com/mfsys/uco/request/VerifyPinRequest.java new file mode 100644 index 0000000..c8799e4 --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/VerifyPinRequest.java @@ -0,0 +1,27 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class VerifyPinRequest { + + String channelCode; + + String pctCstycode; + + String porOrgacode; + + String cmpCustcode; + + String email; + + String obpPincode; + + String pinType; +} diff --git a/src/main/java/com/mfsys/uco/request/ViewBalanceRequest.java b/src/main/java/com/mfsys/uco/request/ViewBalanceRequest.java new file mode 100644 index 0000000..23d1b32 --- /dev/null +++ b/src/main/java/com/mfsys/uco/request/ViewBalanceRequest.java @@ -0,0 +1,19 @@ +package com.mfsys.uco.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ViewBalanceRequest { + + String cmpCustcode; + + String porOrgacode; + + String mbmBkmsNumber; +} diff --git a/src/main/java/com/mfsys/uco/response/AccountDetailResponse.java b/src/main/java/com/mfsys/uco/response/AccountDetailResponse.java new file mode 100644 index 0000000..a98903f --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/AccountDetailResponse.java @@ -0,0 +1,86 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.RequiredArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.Map; + +@Data +@RequiredArgsConstructor +@AllArgsConstructor +@Builder +public class AccountDetailResponse { + + protected String porOrgacode; + + protected String mbmBkmsnumber; + + protected String mbmBkmstitle; + + protected String dmpProddesc; + + protected String plcLocadesc; + + protected String pcrCurrcode; + + protected String pcrCurrshort; + + protected String mbmBkmsopendate; + + protected String pcrCurrdesc; + + protected String cmpCustcode; + + protected boolean mbmBkmsclosed; + + protected String pctCstycode; + + protected BigDecimal mbmBkmsbalance; + + protected Map charges = Map.of(); + + protected String dmpProdcode; + + protected boolean cmpBlacklisted; + + protected String plcLocacode; + + protected boolean mbmNotificationService; + + protected String dmpCredittype; + + protected BigDecimal perEratrateact; + + protected LocalDate kycRenewalDate; + + protected String padAdrsmobphone; + + protected boolean btaRolloverSpecialRate; + + private String pasAcstcode; + + private BigDecimal btaBookingamount; + + private BigDecimal bdaDpacblockamt; + + private boolean bdaDpacblocked; + + private String pbdBankname; + + private String pbbBranchname; + + private String pbbBranchcountry; + + private String pbbBranchcity; + + private String pcaGlaccode; + + private String accJointStatus; + + private String accAttortype; + +} diff --git a/src/main/java/com/mfsys/uco/response/AccountInquiryResponse.java b/src/main/java/com/mfsys/uco/response/AccountInquiryResponse.java new file mode 100644 index 0000000..3fc4c94 --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/AccountInquiryResponse.java @@ -0,0 +1,24 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AccountInquiryResponse { + + private String mbmBkmstitle; + + private String mbmBkmsnumber; + + private String pcrCurrcode; + + private String pcrCurrdesc; + + private String pcrCurrshort; + +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/response/BeneficiaryResponse.java b/src/main/java/com/mfsys/uco/response/BeneficiaryResponse.java new file mode 100644 index 0000000..8d862e6 --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/BeneficiaryResponse.java @@ -0,0 +1,33 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BeneficiaryResponse { + + private String porOrgacode; + + private String email; + + private String pcrCurrcode; + + private String pcrCurrdesc; + + private String pcrCurrshort; + + private String mbmBkmstitleRef; + + private String mbmBkmsnumberRef; + + private String refPhoneNumber; + + private String refEmail; + + private String refNickName; +} diff --git a/src/main/java/com/mfsys/uco/response/CustomerAccountActivityResponse.java b/src/main/java/com/mfsys/uco/response/CustomerAccountActivityResponse.java new file mode 100644 index 0000000..b86bb8e --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/CustomerAccountActivityResponse.java @@ -0,0 +1,42 @@ +package com.mfsys.uco.response; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.mfsys.uco.model.CustomerProfile; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CustomerAccountActivityResponse { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + private String porOrgacode; + + private String cmpCustcode; + + private LocalDateTime date; + + private String channal; + + private String deviceName; + + private String activity; + + @JsonIgnore + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumns({ + @JoinColumn(name = "POR_ORGACODE", referencedColumnName = "POR_ORGACODE", insertable = false, updatable = false), + @JoinColumn(name = "CMP_CUSTCODE", referencedColumnName = "CMP_CUSTCODE", insertable = false, updatable = false)}) + private CustomerProfile customer; + +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/response/CustomerProfileResponse.java b/src/main/java/com/mfsys/uco/response/CustomerProfileResponse.java new file mode 100644 index 0000000..926f575 --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/CustomerProfileResponse.java @@ -0,0 +1,47 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; + + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CustomerProfileResponse { + + protected String porOrgacode; + + protected String cmpCustcode; + + protected String pitIdenvalue; + + protected String pitIdencode; + + protected String padAdrsmobphone; + + protected LocalDate kycRenewalDate; + + protected boolean cmpIsKycVerified = false; + + protected String cmpTranpin; + + protected String cmpUnverifiedTranpin; + + protected boolean cmpTranpinVerfied = false; + + private String cmpEmail; + + private String cmpName; + + private String cmpUserName; + + private String cmpAddress; + + private String cmpCustImage; + +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/response/DepositAccountTransactionResponse.java b/src/main/java/com/mfsys/uco/response/DepositAccountTransactionResponse.java new file mode 100644 index 0000000..8a73b5c --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/DepositAccountTransactionResponse.java @@ -0,0 +1,30 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DepositAccountTransactionResponse { + + private String tranID; + + private String sgtGntrCreatedAt; + + private String sgtGntrNarration; + + private String sgtGntrvaluedate; + + private String deposit; + + private String withdrawal; + + private String status; + + private String sgtGntramt; + +} diff --git a/src/main/java/com/mfsys/uco/response/ViewBalanceResponse.java b/src/main/java/com/mfsys/uco/response/ViewBalanceResponse.java new file mode 100644 index 0000000..f7ac3fb --- /dev/null +++ b/src/main/java/com/mfsys/uco/response/ViewBalanceResponse.java @@ -0,0 +1,15 @@ +package com.mfsys.uco.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ViewBalanceResponse { + + private Double mbmBkmsbalance; +} diff --git a/src/main/java/com/mfsys/uco/service/CustomerProfileService.java b/src/main/java/com/mfsys/uco/service/CustomerProfileService.java new file mode 100644 index 0000000..453887f --- /dev/null +++ b/src/main/java/com/mfsys/uco/service/CustomerProfileService.java @@ -0,0 +1,17 @@ +package com.mfsys.uco.service; + +import com.mfsys.uco.model.CustomerProfile; +import com.mfsys.uco.repository.CustomerProfileRepository; + +public class CustomerProfileService { + + private final CustomerProfileRepository customerProfileRepository; + + public CustomerProfileService(CustomerProfileRepository customerProfileRepository) { + this.customerProfileRepository = customerProfileRepository; + } + + public CustomerProfile fetchCustcodeBasedOnEmail(String porOrgacode, String email) { + return customerProfileRepository.findbyEmail(porOrgacode, email); + } +} \ No newline at end of file diff --git a/src/main/java/com/mfsys/uco/service/UcoAccountService.java b/src/main/java/com/mfsys/uco/service/UcoAccountService.java new file mode 100644 index 0000000..f5a08c5 --- /dev/null +++ b/src/main/java/com/mfsys/uco/service/UcoAccountService.java @@ -0,0 +1,17 @@ +package com.mfsys.uco.service; + +import com.mfsys.uco.request.SignupStep3Request; +import org.springframework.stereotype.Service; + +@Service +public class UcoAccountService { + public void onBoardCustomer(SignupStep3Request signupStep3Request) { + //check if user already present in db + //interservice call to crmService + //fetch AccountDetail + //create customer profile and save in CustomerProfile Table + //build UcoAccount and save in UcoAccount Table + //call updateCustomerApplication using arguments of map email and porOrgacode + + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7fba661..25db89a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ #application configuration -spring.application.name=uco-bs-poc +spring.application.name=uco server.port=9090 server.servlet.context-path=/uco diff --git a/src/test/java/com/mfsys/uco_bs_poc/UcoBsPocApplicationTests.java b/src/test/java/com/mfsys/uco/UcoBsPocApplicationTests.java similarity index 85% rename from src/test/java/com/mfsys/uco_bs_poc/UcoBsPocApplicationTests.java rename to src/test/java/com/mfsys/uco/UcoBsPocApplicationTests.java index 2c097e2..ff0d17b 100644 --- a/src/test/java/com/mfsys/uco_bs_poc/UcoBsPocApplicationTests.java +++ b/src/test/java/com/mfsys/uco/UcoBsPocApplicationTests.java @@ -1,4 +1,4 @@ -package com.mfsys.uco_bs_poc; +package com.mfsys.uco; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;