package net.gepafin.tendermanagement.service.impl; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.dao.BeneficiaryPreferredCallDao; import net.gepafin.tendermanagement.entities.UserEntity; import net.gepafin.tendermanagement.enums.BeneficiaryCallStatus; import net.gepafin.tendermanagement.model.request.BeneficiaryPreferredCallReq; import net.gepafin.tendermanagement.model.response.BeneficiaryPreferredCallResponseBean; import net.gepafin.tendermanagement.service.BeneficiaryPreferredCallService; import net.gepafin.tendermanagement.service.UserService; import net.gepafin.tendermanagement.util.Validator; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.Status; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BeneficiaryPreferredCallServiceImpl implements BeneficiaryPreferredCallService { @Autowired private BeneficiaryPreferredCallDao beneficiaryPreferredCallDao; @Autowired private Validator validator; @Autowired private UserService userService; @Override public BeneficiaryPreferredCallResponseBean createBeneficiaryPreferredCall(HttpServletRequest request, BeneficiaryPreferredCallReq beneficiaryPreferredCallRequest) { UserEntity userEntity = validator.validateUser(request); return beneficiaryPreferredCallDao.createBeneficiaryPreferredCall(request, beneficiaryPreferredCallRequest,userEntity); } @Override public BeneficiaryPreferredCallResponseBean getBeneficiaryPreferredCallById(HttpServletRequest request, Long id) { return beneficiaryPreferredCallDao.getBeneficiaryPreferredCallById(request, id); } @Override public void deleteBeneficiaryPreferredCall(HttpServletRequest request, Long id) { beneficiaryPreferredCallDao.deleteBeneficiaryPreferredCallById(request, id); } @Override public List getAllBeneficiaryPreferredCalls(HttpServletRequest request) { return beneficiaryPreferredCallDao.getAllBeneficiaryPreferredCalls(request); } // @Override // public BeneficiaryPreferredCallResponseBean updateBeneficiaryPreferredCall(HttpServletRequest request, Long id, // BeneficiaryPreferredCallReq beneficiaryPreferredCallRequest) { // UserEntity userEntity = validator.validateUser(request); // return beneficiaryPreferredCallDao.updateBeneficiaryPreferredCall(id, beneficiaryPreferredCallRequest,userEntity); // } @Override public void updateBeneficiaryPreferredCallStatus(HttpServletRequest request, Long id, BeneficiaryCallStatus status) { beneficiaryPreferredCallDao.updateBeneficiaryPreferredCallStatus(id, status); } @Override public List getBeneficiaryPreferredCallByUserId(HttpServletRequest request,Long userId,Long beneficiaryId,Long companyId) { UserEntity userEntity =validateGetBeneficiaryPreferredCallrequest(request,userId,beneficiaryId); validator.validateUserId(request, userEntity.getId()); return beneficiaryPreferredCallDao.getBeneficiaryPreferredCallByUserId(userEntity,companyId); } private UserEntity validateGetBeneficiaryPreferredCallrequest(HttpServletRequest request, Long userId, Long beneficiaryId) { if (userId == null && beneficiaryId == null) { throw new CustomValidationException(Status.VALIDATION_ERROR,Translator.toLocale(GepafinConstant.EITHER_USER_OR_BENEFICIARY_ID_REQUIRED)); } if(userId!=null&&beneficiaryId!=null){ throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.USER_ID_AND_BENEFICIARY_ID_ERROR)); } if(beneficiaryId!=null){ UserEntity user = userService.getUserByBeneficiaryId(beneficiaryId); return validator.validateUserId(request, user.getId()); } else{ return validator.validateUserId(request, userId); } } }