package jnpf.controller; import jnpf.base.ActionResult; import jnpf.dmsEntity.storage.vo.DmsFileUploadVO; import jnpf.fileStorage.dms.DmsFileStorageService; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.time.LocalDate; import java.util.UUID; @RestController @RequestMapping("/Dms") @RequiredArgsConstructor public class DmsFileUploadController { private final DmsFileStorageService fileStorageService; @PostMapping(value = "/Uploader", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ActionResult upload(@RequestParam("folderId") UUID folderId, @RequestParam("sourceId") String sourceId, @RequestParam("documentNo") String documentNo, @RequestParam("documentName") String documentName, @RequestParam("documentType") String documentType, @RequestParam("responsibleDeptId") String responsibleDeptId, @RequestParam("versionLabel") String versionLabel, @RequestParam("preparedBy") String preparedBy, @RequestParam("preparedOn") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate preparedOn, @RequestPart("file") MultipartFile file) { return ActionResult.success(fileStorageService.upload(folderId, sourceId, documentNo, documentName, documentType, responsibleDeptId, versionLabel, preparedBy, preparedOn, file)); } @PostMapping(value = "/Revisions", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ActionResult revise( @RequestParam("documentId") UUID documentId, @RequestParam("baseFileVersionId") UUID baseFileVersionId, @RequestParam("sourceId") String sourceId, @RequestParam("versionLabel") String versionLabel, @RequestParam("preparedBy") String preparedBy, @RequestParam("preparedOn") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate preparedOn, @RequestParam("revisionReason") String revisionReason, @RequestPart("file") MultipartFile file) { return ActionResult.success(fileStorageService.revise(documentId, baseFileVersionId, sourceId, versionLabel, preparedBy, preparedOn, revisionReason, file)); } }