FileVersionController.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.example.fms.controller;
  2. import com.example.fms.common.model.dto.ForceSaveDTO;
  3. import com.example.fms.common.model.dto.QueryFileVersionDTO;
  4. import com.example.fms.common.model.dto.RestoreFileVersionDTO;
  5. import com.example.fms.common.model.vo.FileVersionInfoVO;
  6. import com.example.fms.common.model.vo.ForceSaveVO;
  7. import com.example.fms.common.model.vo.QueryFileVersionHistoryVO;
  8. import com.example.fms.common.utils.Response;
  9. import com.example.fms.service.FileVersionService;
  10. import io.swagger.v3.oas.annotations.Operation;
  11. import io.swagger.v3.oas.annotations.tags.Tag;
  12. import lombok.RequiredArgsConstructor;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.io.IOException;
  17. import java.util.HashMap;
  18. import java.util.Map;
  19. @Tag(name = "文件版本模块")
  20. @Slf4j
  21. @RestController
  22. @RequiredArgsConstructor
  23. @RequestMapping("/onlyOffice")
  24. public class FileVersionController {
  25. @Autowired
  26. private FileVersionService fileVersionService;
  27. @PostMapping("/callback")
  28. @Operation(summary = "onlyoffice回调函数(文件保存)")
  29. public Map<String,Integer> callback(@RequestBody Map<String, Object> params, @RequestParam String guid,
  30. @RequestParam String fileName, @RequestParam String user,
  31. @RequestParam Integer previousVersion) throws IOException {
  32. Integer code = fileVersionService.callback(params, guid, fileName, user, previousVersion);
  33. Map<String, Integer> map = new HashMap<>();
  34. map.put("error", code);
  35. return map;
  36. }
  37. @PostMapping("/restoreVersion")
  38. @Operation(summary = "onlyoffice版本恢复")
  39. public String restoreFileVersion(@RequestBody RestoreFileVersionDTO vo) {
  40. fileVersionService.restoreFileVersion(vo);
  41. return Response.success();
  42. }
  43. @PostMapping("/forceSave")
  44. @Operation(summary = "onlyoffice强制保存")
  45. public String forceSave(@RequestBody ForceSaveDTO vo) throws IOException {
  46. ForceSaveVO saveVO = fileVersionService.forceSave(vo);
  47. if (saveVO.getNum() != null) {
  48. return Response.success(saveVO.getNum(), saveVO.getMessage());
  49. } else {
  50. return Response.success("", saveVO.getMessage());
  51. }
  52. }
  53. @PostMapping("/getCurrentVersionData")
  54. @Operation(summary = "获取当前显示版本数据")
  55. public String getCurrentVersionData(@RequestBody QueryFileVersionDTO vo) {
  56. FileVersionInfoVO versionData = fileVersionService.getCurrentVersionData(vo);
  57. return Response.success(versionData);
  58. }
  59. @PostMapping("/queryFileVersionHistory")
  60. @Operation(summary = "onlyoffice查询文件版本历史")
  61. public String queryFileVersionHistory(@RequestBody QueryFileVersionDTO vo) {
  62. QueryFileVersionHistoryVO historyVO = fileVersionService.queryFileVersionHistory(vo);
  63. return Response.success(historyVO);
  64. }
  65. }