From ecd0dd978d695dd03da13605a9f4bfd5b6214839 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期四, 16 五月 2024 14:53:31 +0800 Subject: [PATCH] 2024-5-16 word在线编辑完成 --- inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java | 38 +++++++++++++++++++++++++++++++++++++- inspect-server/src/main/resources/static/report-template.docx | 0 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java index 8d05746..b3eba5f 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java @@ -1,5 +1,8 @@ package com.yuanchu.mom.controller; +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; @@ -10,16 +13,20 @@ import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.PrintWriter; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Map; +import java.util.Objects; +import java.util.Scanner; @RestController @RequestMapping("/insReport") @@ -93,4 +100,33 @@ return Result.success(insReportService.ratifyReport(id, isRatify, ratifyTell)); } + @RequestMapping("/onlyOffice/save") + public void saveFile(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) { + PrintWriter writer = null; + try { + writer = response.getWriter(); + // 鑾峰彇浼犺緭鐨刯son鏁版嵁 + Scanner scanner = new Scanner(request.getInputStream()).useDelimiter("\\A"); + String body = scanner.hasNext() ? scanner.next() : ""; + JSONObject jsonObject = JSONObject.parseObject(body); + + System.out.println(jsonObject); + if (jsonObject.containsKey("url")) { + String jsonArray = jsonObject.get("lastsave").toString(); // 鏇存柊鏃堕棿 + String fileUrl = jsonObject.get("url").toString(); // 鏇存柊鏂囦欢url + HttpUtil.downloadFile(fileUrl, FileUtil.file(wordUrl + "/" + fileName)); + } + } catch (Exception e) { + e.printStackTrace(); + writer.write("{\"error\":-1}"); + return; + } + /* + * status = 1锛屾垜浠粰onlyOffice鐨勬湇鍔¤繑鍥瀧"error":"0"}鐨勪俊鎭�� + * 杩欐牱onlyOffice浼氳涓哄洖璋冩帴鍙f槸娌¢棶棰樼殑锛岃繖鏍峰氨鍙互鍦ㄧ嚎缂栬緫鏂囨。浜嗭紝鍚﹀垯鐨勮瘽浼氬脊鍑虹獥鍙h鏄� + */ + if (Objects.nonNull(writer)) { + writer.write("{\"error\":0}"); + } + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java index d3d9f56..8723b42 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java @@ -1,9 +1,9 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.dto.ReportPageDto; import com.yuanchu.mom.pojo.InsReport; -import com.baomidou.mybatisplus.extension.service.IService; import java.util.Map; diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx index 4550e8e..5cfbf5d 100644 --- a/inspect-server/src/main/resources/static/report-template.docx +++ b/inspect-server/src/main/resources/static/report-template.docx Binary files differ -- Gitblit v1.9.3