diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/controller/OnlyOfficeCallbackController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/controller/OnlyOfficeCallbackController.java index f33e0f2..3735ad1 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/controller/OnlyOfficeCallbackController.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/controller/OnlyOfficeCallbackController.java @@ -31,9 +31,9 @@ public class OnlyOfficeCallbackController { @PostMapping("/callback/{id}") @PermitAll @TenantIgnore - public ResponseEntity> handleCallback(@RequestBody OnlyOfficeCallback callback, @PathVariable String id) { + public ResponseEntity> handleCallback(@RequestBody OnlyOfficeCallback callback, @PathVariable String id,@RequestParam("fileName") String fileName) { // 处理回调逻辑 - callbackService.processCallback(callback,id); + callbackService.processCallback(callback,id,fileName); // 返回必须的响应,否则OnlyOffice会显示错误 Map response = new HashMap<>(); response.put("error", 0); diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackService.java index 41e7afa..7ba5e38 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackService.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackService.java @@ -8,5 +8,5 @@ public interface OnlyOfficeCallbackService { * 处理OnlyOffice回调 * @param callback 回调数据 */ - void processCallback(OnlyOfficeCallback callback,String id); + void processCallback(OnlyOfficeCallback callback,String id,String fileName); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackServiceImpl.java index a774c75..017c24a 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/onlyoffice/service/OnlyOfficeCallbackServiceImpl.java @@ -31,29 +31,29 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService private final TemplateInstanceService templateInstanceService; @Override - public void processCallback(OnlyOfficeCallback callback, String id) { + public void processCallback(OnlyOfficeCallback callback, String id,String fileName) { log.info("收到OnlyOffice文档回调: {}", callback.getKey()); log.info("回调状态: {}", callback.getStatus()); // 根据不同的状态处理回调 switch (callback.getStatus()) { case 1: - handleEditingStatus(callback, id); + handleEditingStatus(callback, id,fileName); break; case 2: - handleDocumentSaved(callback, id); + handleDocumentSaved(callback, id,fileName); break; case 3: - handleSaveError(callback, id); + handleSaveError(callback, id,fileName); break; case 4: - handleDocumentClosedWithoutChanges(callback, id); + handleDocumentClosedWithoutChanges(callback, id,fileName); break; case 6: - handleForcedSave(callback, id); + handleForcedSave(callback, id,fileName); break; case 7: - handleForcedSaveError(callback, id); + handleForcedSaveError(callback, id,fileName); break; default: log.warn("收到未知的回调状态: {}", callback.getStatus()); @@ -63,7 +63,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理文档正在编辑的状态 */ - private void handleEditingStatus(OnlyOfficeCallback callback, String id) { + private void handleEditingStatus(OnlyOfficeCallback callback, String id,String fileName) { log.info("文档 {} 正在被以下用户编辑: {}", callback.getKey(), callback.getUsers()); @@ -84,9 +84,9 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理文档已保存的状态 */ - private void handleDocumentSaved(OnlyOfficeCallback callback, String id) { + private void handleDocumentSaved(OnlyOfficeCallback callback, String id,String fileName) { log.info("文档 {} 已准备好保存", callback.getKey()); - saveDocument(callback, id); + saveDocument(callback, id,fileName); // 处理历史记录 // handleHistoryChanges(callback,id); @@ -95,7 +95,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理保存错误的状态 */ - private void handleSaveError(OnlyOfficeCallback callback, String id) { + private void handleSaveError(OnlyOfficeCallback callback, String id,String fileName) { log.error("保存文档 {} 时出错", callback.getKey()); // 可以在这里添加错误处理逻辑,如发送通知等 } @@ -103,7 +103,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理文档关闭且无更改的状态 */ - private void handleDocumentClosedWithoutChanges(OnlyOfficeCallback callback, String id) { + private void handleDocumentClosedWithoutChanges(OnlyOfficeCallback callback, String id,String fileName) { log.info("文档 {} 已关闭,未做任何更改", callback.getKey()); // 可以在这里添加清理资源等逻辑 } @@ -111,10 +111,10 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理强制保存的状态 */ - private void handleForcedSave(OnlyOfficeCallback callback, String id) { + private void handleForcedSave(OnlyOfficeCallback callback, String id,String fileName) { log.info("文档 {} 执行强制保存。类型: {}", callback.getKey(), callback.getForceSaveType()); - saveDocument(callback, id); + saveDocument(callback, id,fileName); // 处理历史记录 handleHistoryChanges(callback, id); @@ -128,7 +128,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 处理强制保存错误的状态 */ - private void handleForcedSaveError(OnlyOfficeCallback callback, String id) { + private void handleForcedSaveError(OnlyOfficeCallback callback, String id,String fileName) { log.error("文档 {} 强制保存时出错", callback.getKey()); // 可以在这里添加错误处理逻辑 } @@ -136,7 +136,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService /** * 保存文档到存储 */ - private void saveDocument(OnlyOfficeCallback callback, String id) { + private void saveDocument(OnlyOfficeCallback callback, String id,String fileName) { if (callback.getUrl() == null) { log.error("文件路径为空"); return; @@ -147,8 +147,6 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService // 1. 验证文件是否为空 - // 2. 获取并验证文件名 - String fileName = file.getOriginalFilename(); String directory = "模版实例"; FileCreateReqDTO fileCreateReqDTO = new FileCreateReqDTO(); @@ -161,6 +159,7 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService CommonResult result = fileApi.createFileWithReturn(fileCreateReqDTO); if (result.isSuccess()) { // 创建文件成功,处理结果 + result.getData().setContent(null); log.info("文件创建成功,文件ID:{}", result.getData()); // 创建文件成功,处理结果 FileRespDTO fileRespDTO = result.getData();