Done ticket GEPAFINBE-6143

This commit is contained in:
rajesh
2025-11-04 16:46:25 +05:30
parent fcee98a228
commit 5171c69df4
30 changed files with 837 additions and 44 deletions

View File

@@ -0,0 +1,21 @@
package net.gepafin.tendermanagement.service;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.model.request.ApplicationContractRequest;
import net.gepafin.tendermanagement.model.response.ApplicationContractResponse;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
public interface ApplicationContractService {
public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest);
public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId,List<MultipartFile> beneficiaryContractDocuments);
public ApplicationContractResponse getContractById(Long contractId);
public ApplicationContractResponse getContractByApplicationId(Long applicationContractId);
List<ApplicationContractResponse> getContractByBeneficiaryUserId(Long beneficiaryUserId);
}

View File

@@ -0,0 +1,68 @@
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.ApplicationContractDao;
import net.gepafin.tendermanagement.dao.UserDao;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.model.request.ApplicationContractRequest;
import net.gepafin.tendermanagement.model.response.ApplicationContractResponse;
import net.gepafin.tendermanagement.service.ApplicationContractService;
import net.gepafin.tendermanagement.util.Utils;
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 org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@Service
public class ApplicationContractServiceImpl implements ApplicationContractService {
@Autowired
private ApplicationContractDao applicationContractDao;
@Autowired
private Validator validator;
@Autowired
private UserDao userDao;
@Override
public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest) {
UserEntity user= validator.validateUser(httpServletRequest);
if(contractDocuments==null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT));
}
contractDocuments.forEach(Utils::validateFileType);
return applicationContractDao.createApplicationContract(applicationId,contractDocuments,applicationContractRequest,user);
}
@Override
public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId, List<MultipartFile> beneficiaryContractDocuments) {
UserEntity user= validator.validateUser(httpServletRequest);
if(beneficiaryContractDocuments==null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT));
}
return applicationContractDao.updateApplicationContract(applicationContractId,beneficiaryContractDocuments,user);
}
@Override
public ApplicationContractResponse getContractById(Long contractId) {
return applicationContractDao.getContractById(contractId);
}
@Override
public ApplicationContractResponse getContractByApplicationId(Long applicationId) {
return applicationContractDao.getContractByApplicationId(applicationId);
}
@Override
public List<ApplicationContractResponse> getContractByBeneficiaryUserId(Long beneficiaryUserId) {
UserEntity user=userDao.validateUser(beneficiaryUserId);
return applicationContractDao.getContractByBeneficiaryUserId(user);
}
}

View File

@@ -9,6 +9,7 @@ import com.amazonaws.services.s3.model.ObjectMetadata;
import lombok.extern.slf4j.Slf4j;
import net.gepafin.tendermanagement.dao.DocumentDao;
import net.gepafin.tendermanagement.dao.S3PathConfig;
import net.gepafin.tendermanagement.entities.ApplicationContractEntity;
import net.gepafin.tendermanagement.entities.ApplicationEntity;
import net.gepafin.tendermanagement.entities.CommunicationEntity;
import net.gepafin.tendermanagement.entities.DocumentEntity;
@@ -81,6 +82,9 @@ public class S3ReUploadMigrationService {
@Autowired
private DocumentDao documentDao;
@Autowired
private ApplicationContractRepository applicationContractRepository;
private boolean migrationCompleted = false;
@@ -114,6 +118,7 @@ public class S3ReUploadMigrationService {
Long amendmentId = null;
Long evaluationId = null;
Long communicationId=null;
Long contractId=null;
if (DocumentSourceTypeEnum.CALL.getValue().equalsIgnoreCase(document.getSource())) {
callId = document.getSourceId();
} else if (DocumentSourceTypeEnum.APPLICATION.getValue().equalsIgnoreCase(document.getSource())) {
@@ -138,9 +143,15 @@ public class S3ReUploadMigrationService {
applicationId = applicationEntity.getId();
callId = applicationEntity.getCall().getId();
}
else if(DocumentSourceTypeEnum.CONTRACT.getValue().equalsIgnoreCase(document.getSource())){
contractId = document.getSourceId();
ApplicationContractEntity applicationContractEntity=applicationContractRepository.findByIdAndIsDeletedFalse(contractId);
ApplicationEntity applicationEntity=applicationService.validateApplication(applicationContractEntity.getApplicationId());
applicationId = applicationEntity.getId();
callId = applicationEntity.getCall().getId();
}
documentDao.deleteFileFromS3(document,callId,applicationId,amendmentId,communicationId);
documentDao.deleteFileFromS3(document,callId,applicationId,amendmentId,communicationId,contractId);
processDocuments++;
} catch (Exception e) {
@@ -231,10 +242,10 @@ public class S3ReUploadMigrationService {
Long callId;
if (sourceType.equals(DocumentSourceTypeEnum.CALL)) {
return s3ConfigBean.generateDocumentPath(sourceType, document.getSourceId(), 0L,0L,0L);
return s3ConfigBean.generateDocumentPath(sourceType, document.getSourceId(), 0L,0L,0L,0L);
} else {
callId = applicationRepository.findCallIdById(document.getSourceId());
return s3ConfigBean.generateDocumentPath(sourceType, callId, document.getSourceId(),0L,0L);
return s3ConfigBean.generateDocumentPath(sourceType, callId, document.getSourceId(),0L,0L,0L);
}
}

View File

@@ -139,7 +139,7 @@ public class UserSignedAndDelegationServiceImpl {
private String generateNewS3PathForDelegationDoc() {
return s3ConfigBean.generateDocumentPathForOther(DocOtherSourceTypeEnum.USER_DELEGATION, 0L, 0L,0L,0L);
return s3ConfigBean.generateDocumentPathForOther(DocOtherSourceTypeEnum.USER_DELEGATION, 0L, 0L,0L,0L,0L);
}
private String generateNewS3PathForUserSignedDoc(ApplicationSignedDocumentEntity document) {