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;