updated code

This commit is contained in:
rajesh
2025-02-25 13:42:38 +05:30
parent cca4c46976
commit 46e603af3e
19 changed files with 104 additions and 111 deletions

View File

@@ -11,7 +11,7 @@ import net.gepafin.tendermanagement.entities.*;
import net.gepafin.tendermanagement.enums.*;
import net.gepafin.tendermanagement.model.request.CompanyDocumentRequest;
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
import net.gepafin.tendermanagement.model.response.CompanyDocumentResponseBean;
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
import net.gepafin.tendermanagement.model.response.UploadFileOnAmazonS3Response;
@@ -19,7 +19,6 @@ import net.gepafin.tendermanagement.repositories.CompanyDocumentRepository;
import net.gepafin.tendermanagement.repositories.DocumentRepository;
import net.gepafin.tendermanagement.service.AmazonS3Service;
import net.gepafin.tendermanagement.service.ApplicationService;
import net.gepafin.tendermanagement.service.CategoryService;
import net.gepafin.tendermanagement.service.CompanyService;
import net.gepafin.tendermanagement.service.impl.AmazonS3ServiceImpl;
import net.gepafin.tendermanagement.util.LoggingUtil;
@@ -34,8 +33,6 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -63,7 +60,7 @@ public class CompanyDocumentDao {
private HttpServletRequest request;
@Autowired
private CategoryDao categoryDao;
private DocumentCategoryDao categoryDao;
@Autowired
private CompanyService companyService;
@@ -89,8 +86,8 @@ public class CompanyDocumentDao {
@Autowired
private Validator validator;
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, Long userId, List<MultipartFile> files, Long companyId, Long categoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate){
CategoryEntity categoryEntity = categoryDao.validateCategory(categoryId);
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, Long userId, List<MultipartFile> files, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate){
DocumentCategoryEntity categoryEntity = categoryDao.validateCategory(documentCategoryId);
validator.validateUserWithCompany(request,companyId);
UserWithCompanyEntity userWithCompanyEntity=companyService.getUserWithCompany(userId,companyId);
@@ -159,8 +156,8 @@ public class CompanyDocumentDao {
public CompanyDocumentResponseBean convertToCompanyDocumentResponseBean(CompanyDocumentEntity entity) {
CompanyDocumentResponseBean responseBean = new CompanyDocumentResponseBean();
CategoryEntity categoryEntity = entity.getCategoryEntity();
CategoryResponse responseCategory = categoryDao.convertToResponseBean(categoryEntity);
DocumentCategoryEntity categoryEntity = entity.getCategoryEntity();
DocumentCategoryResponse responseCategory = categoryDao.convertToResponseBean(categoryEntity);
responseBean.setId(entity.getId());
responseBean.setName(entity.getFileName());
responseBean.setType(CompanyDocumentTypeEnum.valueOf(entity.getType()));
@@ -194,7 +191,7 @@ public class CompanyDocumentDao {
}
}
if (companyDocumentRequest.getCategoryId() != null && companyDocumentRequest.getCategoryId() >0) {
CategoryEntity categoryEntity = categoryDao.validateCategory(companyDocumentRequest.getCategoryId());
DocumentCategoryEntity categoryEntity = categoryDao.validateCategory(companyDocumentRequest.getCategoryId());
setIfUpdated(companyDocumentEntity::getCategoryEntity, companyDocumentEntity::setCategoryEntity, categoryEntity);
}
companyDocumentRepository.save(companyDocumentEntity);

View File

@@ -3,15 +3,13 @@ package net.gepafin.tendermanagement.dao;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.CategoryEntity;
import net.gepafin.tendermanagement.entities.DocumentCategoryEntity;
import net.gepafin.tendermanagement.entities.CompanyDocumentEntity;
import net.gepafin.tendermanagement.entities.FaqEntity;
import net.gepafin.tendermanagement.entities.HubEntity;
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
import net.gepafin.tendermanagement.model.request.CategoryRequest;
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
import net.gepafin.tendermanagement.repositories.CategoryRepository;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
import net.gepafin.tendermanagement.repositories.DocumentCategoryRepository;
import net.gepafin.tendermanagement.repositories.CompanyDocumentRepository;
import net.gepafin.tendermanagement.util.LoggingUtil;
import net.gepafin.tendermanagement.util.Utils;
@@ -26,10 +24,10 @@ import java.util.List;
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
@Component
public class CategoryDao {
public class DocumentCategoryDao {
@Autowired
private CategoryRepository categoryRepository;
private DocumentCategoryRepository categoryRepository;
@Autowired
private LoggingUtil loggingUtil;
@@ -40,9 +38,9 @@ public class CategoryDao {
@Autowired
private CompanyDocumentRepository companyDocumentRepository;
public CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest){
public DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest){
CategoryEntity entity = createCategoryEntity(new CategoryEntity(),categoryRequest);
DocumentCategoryEntity entity = createCategoryEntity(new DocumentCategoryEntity(),categoryRequest);
categoryRepository.save(entity);
/** This code is responsible for adding a version history log for the "Create Company Document Category" operation. **/
@@ -51,15 +49,15 @@ public class CategoryDao {
return convertToResponseBean(entity);
}
public CategoryEntity createCategoryEntity(CategoryEntity entity,CategoryRequest companyDocumentCategoryRequest){
public DocumentCategoryEntity createCategoryEntity(DocumentCategoryEntity entity, DocumentCategoryRequest companyDocumentCategoryRequest){
entity.setCategoryName(companyDocumentCategoryRequest.getCategoryName());
entity.setDescription(companyDocumentCategoryRequest.getDescription());
entity.setIsDeleted(false);
return entity;
}
public CategoryResponse convertToResponseBean(CategoryEntity entity){
CategoryResponse response = new CategoryResponse();
public DocumentCategoryResponse convertToResponseBean(DocumentCategoryEntity entity){
DocumentCategoryResponse response = new DocumentCategoryResponse();
response.setId(entity.getId());
response.setCategoryName(entity.getCategoryName());
response.setDescription(entity.getDescription());
@@ -68,24 +66,24 @@ public class CategoryDao {
return response;
}
public CategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id){
public DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id){
return convertToResponseBean(validateCategory(id));
}
public CategoryEntity validateCategory(Long id) {
public DocumentCategoryEntity validateCategory(Long id) {
return categoryRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_NOT_FOUND)));
}
public void deleteCategory(HttpServletRequest request,Long id) {
CategoryEntity entity = validateCategory(id);
public void deleteDocumentCategory(HttpServletRequest request,Long id) {
DocumentCategoryEntity entity = validateCategory(id);
List<CompanyDocumentEntity> companyDocumentEntities = companyDocumentRepository.findByCategoryEntityId(id);
if (!companyDocumentEntities.isEmpty()){
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.CATEGORY_CANNOT_BE_DELETED));
}
CategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
DocumentCategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
entity.setIsDeleted(true);
categoryRepository.save(entity);
@@ -94,17 +92,17 @@ public class CategoryDao {
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldCategoryEntity).newData(entity).build());
}
public CategoryResponse updateCategory(HttpServletRequest request,Long id , CategoryRequest categoryRequest){
CategoryEntity entity = validateCategory(id);
CategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
CategoryEntity newCategoryEntity = updateCategoryEntity(entity, categoryRequest);
public DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id , DocumentCategoryRequest categoryRequest){
DocumentCategoryEntity entity = validateCategory(id);
DocumentCategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
DocumentCategoryEntity newCategoryEntity = updateCategoryEntity(entity, categoryRequest);
/** This code is responsible for adding a version history log for the "Update Category" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCategoryEntity).newData(newCategoryEntity).build());
return convertToResponseBean(entity);
}
public CategoryEntity updateCategoryEntity(CategoryEntity entity , CategoryRequest categoryRequest){
public DocumentCategoryEntity updateCategoryEntity(DocumentCategoryEntity entity , DocumentCategoryRequest categoryRequest){
setIfUpdated(entity::getCategoryName, entity::setCategoryName, categoryRequest.getCategoryName());
setIfUpdated(entity::getDescription, entity::setDescription, categoryRequest.getDescription());

View File

@@ -39,8 +39,8 @@ public class CompanyDocumentEntity extends BaseEntity {
private UserWithCompanyEntity userWithCompany;
@ManyToOne
@JoinColumn(name = "CATEGORY_ID")
private CategoryEntity categoryEntity;
@JoinColumn(name = "DOCUMENT_CATEGORY_ID")
private DocumentCategoryEntity categoryEntity;
}

View File

@@ -6,9 +6,9 @@ import jakarta.persistence.Table;
import lombok.Data;
@Entity
@Table(name = "category")
@Table(name = "document_category")
@Data
public class CategoryEntity extends BaseEntity {
public class DocumentCategoryEntity extends BaseEntity {
@Column(name = "CATEGORY_NAME")
private String categoryName;

View File

@@ -206,7 +206,8 @@ public enum UserActionContextEnum {
GET_DOCUMENT_CATEGORY("GET_DOCUMENT_CATEGORY"),
DELETE_DOCUMENT_CATEGORY("DELETE_DOCUMENT_CATEGORY"),
UPDATE_DOCUMENT_CATEGORY("UPDATE_DOCUMENT_CATEGORY"),
COMPANY_DOCUMENT_EXPIRATION_SCHEDULER("COMPANY_DOCUMENT_EXPIRATION_SCHEDULER");
COMPANY_DOCUMENT_EXPIRATION_SCHEDULER("COMPANY_DOCUMENT_EXPIRATION_SCHEDULER"),
GET_ALL_ASSIGNED_APPLICATION_BY_PAGINATION("GET_ALL_ASSIGNED_APPLICATION_BY_PAGINATION"),
GET_ALL_APPLICATION_AMENDMENT_BY_PAGINATION("GET_ALL_APPLICATION_AMENDMENT_BY_PAGINATION"),
GET_ALL_USER_ACTION_BY_PAGINATION("GET_ALL_USER_ACTION_BY_PAGINATION"),

View File

@@ -3,7 +3,7 @@ package net.gepafin.tendermanagement.model.request;
import lombok.Data;
@Data
public class CategoryRequest {
public class DocumentCategoryRequest {
private String categoryName;
private String description;
}

View File

@@ -24,6 +24,6 @@ public class CompanyDocumentResponseBean extends BaseBean {
private Long userWithCompanyId;
private CategoryResponse category;
private DocumentCategoryResponse category;
}

View File

@@ -4,7 +4,7 @@ import lombok.Data;
import net.gepafin.tendermanagement.model.BaseBean;
@Data
public class CategoryResponse extends BaseBean {
public class DocumentCategoryResponse extends BaseBean {
private String categoryName;
private String description;

View File

@@ -1,9 +1,9 @@
package net.gepafin.tendermanagement.repositories;
import net.gepafin.tendermanagement.entities.CategoryEntity;
import net.gepafin.tendermanagement.entities.DocumentCategoryEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CategoryRepository extends JpaRepository<CategoryEntity,Long> {
public interface DocumentCategoryRepository extends JpaRepository<DocumentCategoryEntity,Long> {
}

View File

@@ -1,13 +0,0 @@
package net.gepafin.tendermanagement.service;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.model.request.CategoryRequest;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
public interface CategoryService {
CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest);
CategoryResponse getDocumentCategoryById(HttpServletRequest request,Long id);
void deleteCategory(HttpServletRequest request,Long id);
CategoryResponse updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest);
}

View File

@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
import java.util.List;
public interface CompanyDocumentService {
List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long categoryId, CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate);
List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate);
CompanyDocumentResponseBean updateCompanyDocument(HttpServletRequest httpServletRequest, Long companyDocumentId, CompanyDocumentRequest companyDocumentRequest);

View File

@@ -0,0 +1,13 @@
package net.gepafin.tendermanagement.service;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
public interface DocumentCategoryService {
DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest);
DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id);
void deleteDocumentCategory(HttpServletRequest request,Long id);
DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest);
}

View File

@@ -28,10 +28,10 @@ public class CompanyDocumentServiceImpl implements CompanyDocumentService {
private CompanyDocumentDao companyDocumentDao;
@Override
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long categoryId , CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate) {
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long documentCategoryId , CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate) {
Map<String, Object> userInfo = validator.getUserInfoFromToken(request);
Long userId = validator.getUserId(userInfo);
return companyDocumentDao.uploadFileForCompany(request,userId,files,companyId,categoryId,documentSourceTypeEnum,expirationDate);
return companyDocumentDao.uploadFileForCompany(request,userId,files,companyId,documentCategoryId,documentSourceTypeEnum,expirationDate);
}
@Override

View File

@@ -1,50 +1,50 @@
package net.gepafin.tendermanagement.service.impl;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.dao.CategoryDao;
import net.gepafin.tendermanagement.model.request.CategoryRequest;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
import net.gepafin.tendermanagement.service.CategoryService;
import net.gepafin.tendermanagement.dao.DocumentCategoryDao;
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
import net.gepafin.tendermanagement.service.DocumentCategoryService;
import net.gepafin.tendermanagement.util.Validator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class CategoryServiceImpl implements CategoryService {
public class DocumentCategoryServiceImpl implements DocumentCategoryService {
@Autowired
CategoryDao categoryDao;
DocumentCategoryDao categoryDao;
@Autowired
private Validator validator;
@Override
@Transactional(rollbackFor = Exception.class)
public CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest) {
public DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest) {
validator.validateUser(request);
return categoryDao.createDocumentCategory(request,categoryRequest);
}
@Override
@Transactional(readOnly = true)
public CategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id) {
public DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id) {
validator.validateUser(request);
return categoryDao.getDocumentCategoryById(request,id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteCategory(HttpServletRequest request, Long id) {
public void deleteDocumentCategory(HttpServletRequest request, Long id) {
validator.validateUser(request);
categoryDao.deleteCategory(request,id);
categoryDao.deleteDocumentCategory(request,id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public CategoryResponse updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest) {
public DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest) {
validator.validateUser(request);
return categoryDao.updateCategory(request,id,categoryRequest);
return categoryDao.updateDocumentCategory(request,id,categoryRequest);
}

View File

@@ -40,7 +40,7 @@ public interface CompanyDocumentApi {
@PostMapping(value = "/company/{companyId}/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
default ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest httpServletRequest,
@Parameter(description = "Company Id", required = true) @PathVariable("companyId") Long companyId,
@Parameter(description = "The Category id", required = true) @RequestParam(value = "categoryId", required = false) Long categoryId,
@Parameter(description = "The Document Category id", required = true) @RequestParam(value = "documentCategoryId", required = false) Long documentCategoryId,
@RequestParam("documentType") CompanyDocumentTypeEnum documentTypeEnum,
@RequestParam("expirationDate") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime expirationDate,
@RequestParam("file") List<MultipartFile> files) {

View File

@@ -7,20 +7,17 @@ import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import net.gepafin.tendermanagement.model.request.CategoryRequest;
import net.gepafin.tendermanagement.model.request.HubReq;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
import net.gepafin.tendermanagement.model.response.HubResponseBean;
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Validated
public interface CategoryApi {
public interface DocumentCategoryApi {
@Operation(summary = "Api to create document category", responses = {
@ApiResponse(responseCode = "200", description = "OK"),
@@ -32,9 +29,9 @@ public interface CategoryApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
})
@PostMapping(value = "", produces = "application/json")
ResponseEntity<Response<CategoryResponse>> createDocumentCategory(HttpServletRequest request,
@Parameter(description = "Company Document Category request object", required = true)
@Valid @RequestBody CategoryRequest categoryRequest);
ResponseEntity<Response<DocumentCategoryResponse>> createDocumentCategory(HttpServletRequest request,
@Parameter(description = "Company Document Category request object", required = true)
@Valid @RequestBody DocumentCategoryRequest categoryRequest);
@Operation(summary = "Api to get document category by id", responses = {
@@ -47,8 +44,8 @@ public interface CategoryApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
})
@GetMapping(value = "/{id}", produces = "application/json")
ResponseEntity<Response<CategoryResponse>> getDocumentCategoryById(HttpServletRequest request,
@Parameter(description = "The category id", required = true)
ResponseEntity<Response<DocumentCategoryResponse>> getDocumentCategoryById(HttpServletRequest request,
@Parameter(description = "The document category id", required = true)
@PathVariable("id") Long id);
@@ -62,8 +59,8 @@ public interface CategoryApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
})
@DeleteMapping(value = "/{id}")
ResponseEntity<Response<Void>> deleteCategory(HttpServletRequest request,
@Parameter(description = "The category id", required = true)
ResponseEntity<Response<Void>> deleteDocumentCategory(HttpServletRequest request,
@Parameter(description = "The document category id", required = true)
@PathVariable("id") Long id);
@@ -77,9 +74,9 @@ public interface CategoryApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
})
@PutMapping(value = "/{id}", produces = "application/json")
ResponseEntity<Response<CategoryResponse>> updateCategory(HttpServletRequest request,
@Parameter(description = "The category id", required = true)
ResponseEntity<Response<DocumentCategoryResponse>> updateDocumentCategory(HttpServletRequest request,
@Parameter(description = "The document category id", required = true)
@PathVariable("id") Long id,
@Parameter(description = "Category request object", required = true)
@Valid @RequestBody CategoryRequest categoryRequest);
@Parameter(description = "Category request object", required = true)
@Valid @RequestBody DocumentCategoryRequest categoryRequest);
}

View File

@@ -41,7 +41,7 @@ public class CompanyDocumentApiControlller implements CompanyDocumentApi {
private CompanyDocumentDao companyDocumentDao;
@Override
public ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest request, Long companyId, Long categoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate,
public ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest request, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate,
List<MultipartFile> files) {
try {
UserActionContextEnum userActionContext = companyDocumentDao.getUserActionContextEnum(companyDocumentSourceTypeEnum);
@@ -49,7 +49,7 @@ public class CompanyDocumentApiControlller implements CompanyDocumentApi {
/** This code is responsible for creating user action logs for the "upload document for company" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPLOAD).actionContext(userActionContext).build());
List<CompanyDocumentResponseBean> responseBeans = companyDocumentService.uploadFileForCompany(request,files, companyId, categoryId ,companyDocumentSourceTypeEnum,expirationDate);
List<CompanyDocumentResponseBean> responseBeans = companyDocumentService.uploadFileForCompany(request,files, companyId, documentCategoryId ,companyDocumentSourceTypeEnum,expirationDate);
return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<List<CompanyDocumentResponseBean>>(responseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FILES_UPLOADED_MSG)));
} catch (CustomValidationException ex) {

View File

@@ -6,14 +6,13 @@ import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
import net.gepafin.tendermanagement.model.request.CategoryRequest;
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
import net.gepafin.tendermanagement.model.request.UserActionRequest;
import net.gepafin.tendermanagement.model.response.CategoryResponse;
import net.gepafin.tendermanagement.model.response.HubResponseBean;
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.service.CategoryService;
import net.gepafin.tendermanagement.service.DocumentCategoryService;
import net.gepafin.tendermanagement.util.LoggingUtil;
import net.gepafin.tendermanagement.web.rest.api.CategoryApi;
import net.gepafin.tendermanagement.web.rest.api.DocumentCategoryApi;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -22,22 +21,22 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/category}")
public class CategoryApiController implements CategoryApi {
@RequestMapping("${openapi.gepafin.base-path:/v1/documentCategory}")
public class DocumentCategoryApiController implements DocumentCategoryApi {
@Autowired
LoggingUtil loggingUtil;
@Autowired
CategoryService categoryService;
DocumentCategoryService categoryService;
public ResponseEntity<Response<CategoryResponse>> createDocumentCategory(HttpServletRequest request, @Valid CategoryRequest categoryRequest){
public ResponseEntity<Response<DocumentCategoryResponse>> createDocumentCategory(HttpServletRequest request, @Valid DocumentCategoryRequest categoryRequest){
/** This code is responsible for creating user action logs for the "Create Document category" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT)
.actionContext(UserActionContextEnum.CREATE_DOCUMENT_CATEGORY).build());
CategoryResponse categoryResponse = categoryService.createDocumentCategory(request,categoryRequest);
DocumentCategoryResponse categoryResponse = categoryService.createDocumentCategory(request,categoryRequest);
return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_CREATE_SUCCESS)));
@@ -45,37 +44,37 @@ public class CategoryApiController implements CategoryApi {
}
@Override
public ResponseEntity<Response<CategoryResponse>> getDocumentCategoryById(HttpServletRequest request, Long id) {
public ResponseEntity<Response<DocumentCategoryResponse>> getDocumentCategoryById(HttpServletRequest request, Long id) {
/** This code is responsible for creating user action logs for the "get document category by id" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
.actionContext(UserActionContextEnum.GET_DOCUMENT_CATEGORY).build());
CategoryResponse categoryResponse = categoryService.getDocumentCategoryById(request,id);
DocumentCategoryResponse categoryResponse = categoryService.getDocumentCategoryById(request,id);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_GET_SUCCESS)));
}
@Override
public ResponseEntity<Response<Void>> deleteCategory(HttpServletRequest request, Long id) {
public ResponseEntity<Response<Void>> deleteDocumentCategory(HttpServletRequest request, Long id) {
/** This code is responsible for creating user action logs for the "Delete category" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DELETE).actionContext(UserActionContextEnum.DELETE_DOCUMENT_CATEGORY).build());
categoryService.deleteCategory(request,id);
categoryService.deleteDocumentCategory(request,id);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_DELETE_SUCCESS)));
}
@Override
public ResponseEntity<Response<CategoryResponse>> updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest) {
public ResponseEntity<Response<DocumentCategoryResponse>> updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest) {
/** This code is responsible for "Updating Category details" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
.actionContext(UserActionContextEnum.UPDATE_DOCUMENT_CATEGORY).build());
CategoryResponse categoryResponse = categoryService.updateCategory(request,id, categoryRequest);
DocumentCategoryResponse categoryResponse = categoryService.updateDocumentCategory(request,id, categoryRequest);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_UPDATE_SUCCESS)));