From 4e228dd7d2a0f9dd2e3c1c6896f78f9908e3e20d Mon Sep 17 00:00:00 2001 From: rnabeel Date: Thu, 13 Jun 2024 21:51:30 +0500 Subject: [PATCH] commit beneficiary add delete get --- src/main/java/com/mfsys/uco/UCOURI.java | 2 ++ .../com/mfsys/uco/controller/UserController.java | 14 ++++++++++++++ .../uco/repository/BeneficiaryRepository.java | 7 ++++++- .../mfsys/uco/service/CustomerProfileService.java | 9 +++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/mfsys/uco/UCOURI.java b/src/main/java/com/mfsys/uco/UCOURI.java index c1e6196..c8f809d 100644 --- a/src/main/java/com/mfsys/uco/UCOURI.java +++ b/src/main/java/com/mfsys/uco/UCOURI.java @@ -35,5 +35,7 @@ public interface UCOURI { String REVERSE_TRANSACTION = "/reverseTransaction"; String CORE_REVERSE_TRANSACTION = "/deposit/transactions/uco/reverse-transaction"; String ADD_BENEFICIARY = "/addBeneficary"; + String GET_BENEFICIARY = "/getBeneficary"; + String DELETE_BENEFICIARY = "/deleteBeneficary"; } diff --git a/src/main/java/com/mfsys/uco/controller/UserController.java b/src/main/java/com/mfsys/uco/controller/UserController.java index e20fe53..fe7d558 100644 --- a/src/main/java/com/mfsys/uco/controller/UserController.java +++ b/src/main/java/com/mfsys/uco/controller/UserController.java @@ -172,4 +172,18 @@ public class UserController { customerProfileService.addBeneficiary(beneficiary); return ResponseEntity.ok(HttpStatus.OK); } + + @GetMapping(UCOURI.GET_BENEFICIARY) + public List updateCustomerProfile(@PathVariable String porOrgacode, @PathVariable String email) { + return customerProfileService.fetchBeneficiaryBasedOnEmail(porOrgacode,email); + } + + @DeleteMapping(UCOURI.DELETE_BENEFICIARY) + public ResponseEntity deleteBeneficiary( + @RequestParam String mbmBkmsnumberRef, + @RequestParam String porOrgacode, + @RequestParam String email) { + customerProfileService.deleteBeneficiary(porOrgacode,email,mbmBkmsnumberRef); + return ResponseEntity.noContent().build(); + } } diff --git a/src/main/java/com/mfsys/uco/repository/BeneficiaryRepository.java b/src/main/java/com/mfsys/uco/repository/BeneficiaryRepository.java index 90d55d5..f94d6a2 100644 --- a/src/main/java/com/mfsys/uco/repository/BeneficiaryRepository.java +++ b/src/main/java/com/mfsys/uco/repository/BeneficiaryRepository.java @@ -1,14 +1,19 @@ package com.mfsys.uco.repository; import com.mfsys.uco.model.Beneficiary; -import com.mfsys.uco.model.BeneficiaryId; +import jakarta.transaction.Transactional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.List; import java.util.Optional; @Repository public interface BeneficiaryRepository extends JpaRepository { Optional findBeneficiaryByEmailAndPorOrgacodeAndMbmBkmsnumberRef(String email, String porOrgacode, String mbmBkmsnumberRef); + + List findBeneficiariesByEmailandPorOrgacode(String email, String porOrgacode); + @Transactional + void deleteByMbmBkmsnumberRefAndPorOrgacodeAndEmail(String mbmBkmsnumberRef, String porOrgacode, String email); } diff --git a/src/main/java/com/mfsys/uco/service/CustomerProfileService.java b/src/main/java/com/mfsys/uco/service/CustomerProfileService.java index 8f59857..8bbf71b 100644 --- a/src/main/java/com/mfsys/uco/service/CustomerProfileService.java +++ b/src/main/java/com/mfsys/uco/service/CustomerProfileService.java @@ -10,6 +10,7 @@ import com.mfsys.uco.repository.CustomerProfileRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Optional; @Service @@ -18,6 +19,10 @@ public class CustomerProfileService { private final CustomerProfileRepository customerProfileRepository; private final BeneficiaryRepository beneficiaryRepository; + public void deleteBeneficiary(String porOrgacode, String email, String mbmBkmsnumberRef) { + beneficiaryRepository.deleteByMbmBkmsnumberRefAndPorOrgacodeAndEmail(mbmBkmsnumberRef, porOrgacode, email); + } + public CustomerProfile fetchCustcodeBasedOnEmail(String porOrgacode, String email) { return customerProfileRepository.findbyEmail(porOrgacode, email); } @@ -37,4 +42,8 @@ public class CustomerProfileService { } beneficiaryRepository.save(beneficiary); } + + public List fetchBeneficiaryBasedOnEmail(String porOrgacode, String email) { + return beneficiaryRepository.findBeneficiariesByEmailandPorOrgacode(porOrgacode, email); + } }