69 lines
3.2 KiB
Java
69 lines
3.2 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.dao.CompanyDocumentDao;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.enums.CompanyDocumentTypeEnum;
|
|
import net.gepafin.tendermanagement.enums.DocumentTypeEnum;
|
|
import net.gepafin.tendermanagement.model.request.CompanyDocumentRequest;
|
|
import net.gepafin.tendermanagement.model.response.CompanyDocumentResponseBean;
|
|
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
|
import net.gepafin.tendermanagement.service.CompanyDocumentService;
|
|
import net.gepafin.tendermanagement.util.Utils;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
@Service
|
|
public class CompanyDocumentServiceImpl implements CompanyDocumentService {
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Autowired
|
|
private CompanyDocumentDao companyDocumentDao;
|
|
|
|
@Override
|
|
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long documentCategoryId , CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate,String name) {
|
|
Map<String, Object> userInfo = validator.getUserInfoFromToken(request);
|
|
Long userId = validator.getUserId(userInfo);
|
|
files.forEach(Utils::validateFileType);
|
|
return companyDocumentDao.uploadFileForCompany(request,userId,files,companyId,documentCategoryId,documentSourceTypeEnum,expirationDate,name);
|
|
}
|
|
|
|
@Override
|
|
public CompanyDocumentResponseBean updateCompanyDocument(HttpServletRequest request, Long companyDocumentId, CompanyDocumentRequest companyDocumentRequest) {
|
|
validator.validateUser(request);
|
|
return companyDocumentDao.updateCompanyDocument(request,companyDocumentId, companyDocumentRequest);
|
|
}
|
|
|
|
@Override
|
|
public CompanyDocumentResponseBean getCompanyDocument(HttpServletRequest request, Long companyDocumentId) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return companyDocumentDao.getCompanyDocument(user , companyDocumentId);
|
|
}
|
|
|
|
@Override
|
|
public void deleteCompanyFile(HttpServletRequest request,Long companyDocumentId) {
|
|
validator.validateUser(request);
|
|
companyDocumentDao.deleteCompanyFile(companyDocumentId);
|
|
}
|
|
|
|
@Override
|
|
public DocumentResponseBean createDuplicateCompanyDocument(HttpServletRequest request, Long companyDocumentId, Long applicationId, DocumentTypeEnum typeEnum) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return companyDocumentDao.createDuplicateCompanyDocument(request, user.getId(), companyDocumentId,applicationId,typeEnum);
|
|
}
|
|
|
|
@Override
|
|
public List<CompanyDocumentResponseBean> getAllCompanyDocument(HttpServletRequest request, Long companyId, CompanyDocumentTypeEnum typeEnum) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return companyDocumentDao.getAllCompanyDocument(user,companyId,typeEnum);
|
|
}
|
|
}
|