You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
2.2 KiB
Java
50 lines
2.2 KiB
Java
package com.mfsys.uco.service;
|
|
|
|
import com.mfsys.uco.dto.UpdateProfileRequestPayload;
|
|
import com.mfsys.uco.exception.BenificiaryAlreadyExistsException;
|
|
import com.mfsys.uco.model.Beneficiary;
|
|
import com.mfsys.uco.model.CustomerProfile;
|
|
import com.mfsys.uco.model.CustomerProfileId;
|
|
import com.mfsys.uco.repository.BeneficiaryRepository;
|
|
import com.mfsys.uco.repository.CustomerProfileRepository;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
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);
|
|
}
|
|
|
|
public void updateCustomerProfile(UpdateProfileRequestPayload updateProfileRequestPayload) {
|
|
customerProfileRepository.findById(new CustomerProfileId(updateProfileRequestPayload.getPorOrgacode(), updateProfileRequestPayload.getCmpCustcode()))
|
|
.ifPresent(customerProfile -> {
|
|
customerProfile.setCmpCustImage(updateProfileRequestPayload.getCmpCustImage());
|
|
customerProfileRepository.save(customerProfile);
|
|
});
|
|
}
|
|
|
|
public void addBeneficiary(Beneficiary beneficiary) {
|
|
Optional<Beneficiary> existing = beneficiaryRepository.findBeneficiaryByEmailAndPorOrgacodeAndMbmBkmsnumberRef(beneficiary.getEmail(),beneficiary.getPorOrgacode(), beneficiary.getMbmBkmsnumberRef());
|
|
if(existing.isPresent()){
|
|
throw new BenificiaryAlreadyExistsException();
|
|
}
|
|
beneficiaryRepository.save(beneficiary);
|
|
}
|
|
|
|
public List<Beneficiary> fetchBeneficiaryBasedOnEmail(String porOrgacode, String email) {
|
|
return beneficiaryRepository.findBeneficiariesByEmailAndPorOrgacode(email,porOrgacode);
|
|
}
|
|
}
|