From 9632c38e94de3e6e59c1096afd90e015d6e18691 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Wed, 18 Dec 2024 10:25:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E6=B5=8B=E8=AF=95=E6=A1=88?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/test/AssertUnitTest.java | 59 ++++---- .../java/org/dromara/test/DemoUnitTest.java | 100 ++++++------ .../java/org/dromara/test/ParamUnitTest.java | 90 +++++------ .../java/org/dromara/test/TagUnitTest.java | 142 +++++++++--------- .../controller/Qwen72bController.java | 5 +- 5 files changed, 199 insertions(+), 197 deletions(-) diff --git a/ruoyi-admin/src/test/java/org/dromara/test/AssertUnitTest.java b/ruoyi-admin/src/test/java/org/dromara/test/AssertUnitTest.java index dba2323..19b3d68 100644 --- a/ruoyi-admin/src/test/java/org/dromara/test/AssertUnitTest.java +++ b/ruoyi-admin/src/test/java/org/dromara/test/AssertUnitTest.java @@ -1,5 +1,7 @@ package org.dromara.test; +import cn.hutool.crypto.SmUtil; +import cn.hutool.crypto.asymmetric.SM2; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -12,34 +14,33 @@ import org.junit.jupiter.api.Test; @DisplayName("断言单元测试案例") public class AssertUnitTest { - @DisplayName("测试 assertEquals 方法") - @Test - public void testAssertEquals() { - Assertions.assertEquals("666", new String("666")); - Assertions.assertNotEquals("666", new String("666")); - } - - @DisplayName("测试 assertSame 方法") - @Test - public void testAssertSame() { - Object obj = new Object(); - Object obj1 = obj; - Assertions.assertSame(obj, obj1); - Assertions.assertNotSame(obj, obj1); - } - - @DisplayName("测试 assertTrue 方法") - @Test - public void testAssertTrue() { - Assertions.assertTrue(true); - Assertions.assertFalse(true); - } - - @DisplayName("测试 assertNull 方法") - @Test - public void testAssertNull() { - Assertions.assertNull(null); - Assertions.assertNotNull(null); - } +// @DisplayName("测试 assertEquals 方法") +// @Test +// public void testAssertEquals() { +// Assertions.assertEquals("666", new String("666")); +// Assertions.assertNotEquals("666", new String("666")); +// } +// +// @DisplayName("测试 assertSame 方法") +// @Test +// public void testAssertSame() { +// SM2 sm2 = SmUtil.sm2(); +// System.out.println("私密钥:"+sm2.getPrivateKeyBase64()); +// System.out.println("公钥:"+sm2.getPublicKeyBase64()); +// } +// +// @DisplayName("测试 assertTrue 方法") +// @Test +// public void testAssertTrue() { +// Assertions.assertTrue(true); +// Assertions.assertFalse(true); +// } +// +// @DisplayName("测试 assertNull 方法") +// @Test +// public void testAssertNull() { +// Assertions.assertNull(null); +// Assertions.assertNotNull(null); +// } } diff --git a/ruoyi-admin/src/test/java/org/dromara/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/org/dromara/test/DemoUnitTest.java index 5b3dfdc..b65a9ae 100644 --- a/ruoyi-admin/src/test/java/org/dromara/test/DemoUnitTest.java +++ b/ruoyi-admin/src/test/java/org/dromara/test/DemoUnitTest.java @@ -16,55 +16,55 @@ import java.util.concurrent.TimeUnit; @DisplayName("单元测试案例") public class DemoUnitTest { - @Autowired - private RuoYiConfig ruoYiConfig; - - @DisplayName("测试 @SpringBootTest @Test @DisplayName 注解") - @Test - public void testTest() { - System.out.println(ruoYiConfig); - } - - @Disabled - @DisplayName("测试 @Disabled 注解") - @Test - public void testDisabled() { - System.out.println(ruoYiConfig); - } - - @Timeout(value = 2L, unit = TimeUnit.SECONDS) - @DisplayName("测试 @Timeout 注解") - @Test - public void testTimeout() throws InterruptedException { - Thread.sleep(3000); - System.out.println(ruoYiConfig); - } - - - @DisplayName("测试 @RepeatedTest 注解") - @RepeatedTest(3) - public void testRepeatedTest() { - System.out.println(666); - } - - @BeforeAll - public static void testBeforeAll() { - System.out.println("@BeforeAll =================="); - } - - @BeforeEach - public void testBeforeEach() { - System.out.println("@BeforeEach =================="); - } - - @AfterEach - public void testAfterEach() { - System.out.println("@AfterEach =================="); - } - - @AfterAll - public static void testAfterAll() { - System.out.println("@AfterAll =================="); - } +// @Autowired +// private RuoYiConfig ruoYiConfig; +// +// @DisplayName("测试 @SpringBootTest @Test @DisplayName 注解") +// @Test +// public void testTest() { +// System.out.println(ruoYiConfig); +// } +// +// @Disabled +// @DisplayName("测试 @Disabled 注解") +// @Test +// public void testDisabled() { +// System.out.println(ruoYiConfig); +// } +// +// @Timeout(value = 2L, unit = TimeUnit.SECONDS) +// @DisplayName("测试 @Timeout 注解") +// @Test +// public void testTimeout() throws InterruptedException { +// Thread.sleep(3000); +// System.out.println(ruoYiConfig); +// } +// +// +// @DisplayName("测试 @RepeatedTest 注解") +// @RepeatedTest(3) +// public void testRepeatedTest() { +// System.out.println(666); +// } +// +// @BeforeAll +// public static void testBeforeAll() { +// System.out.println("@BeforeAll =================="); +// } +// +// @BeforeEach +// public void testBeforeEach() { +// System.out.println("@BeforeEach =================="); +// } +// +// @AfterEach +// public void testAfterEach() { +// System.out.println("@AfterEach =================="); +// } +// +// @AfterAll +// public static void testAfterAll() { +// System.out.println("@AfterAll =================="); +// } } diff --git a/ruoyi-admin/src/test/java/org/dromara/test/ParamUnitTest.java b/ruoyi-admin/src/test/java/org/dromara/test/ParamUnitTest.java index 1db51df..bc2b194 100644 --- a/ruoyi-admin/src/test/java/org/dromara/test/ParamUnitTest.java +++ b/ruoyi-admin/src/test/java/org/dromara/test/ParamUnitTest.java @@ -22,51 +22,51 @@ import java.util.stream.Stream; @DisplayName("带参数单元测试案例") public class ParamUnitTest { - @DisplayName("测试 @ValueSource 注解") - @ParameterizedTest - @ValueSource(strings = {"t1", "t2", "t3"}) - public void testValueSource(String str) { - System.out.println(str); - } - - @DisplayName("测试 @NullSource 注解") - @ParameterizedTest - @NullSource - public void testNullSource(String str) { - System.out.println(str); - } - - @DisplayName("测试 @EnumSource 注解") - @ParameterizedTest - @EnumSource(UserType.class) - public void testEnumSource(UserType type) { - System.out.println(type.getUserType()); - } - - @DisplayName("测试 @MethodSource 注解") - @ParameterizedTest - @MethodSource("getParam") - public void testMethodSource(String str) { - System.out.println(str); - } - - public static Stream getParam() { - List list = new ArrayList<>(); - list.add("t1"); - list.add("t2"); - list.add("t3"); - return list.stream(); - } - - @BeforeEach - public void testBeforeEach() { - System.out.println("@BeforeEach =================="); - } - - @AfterEach - public void testAfterEach() { - System.out.println("@AfterEach =================="); - } +// @DisplayName("测试 @ValueSource 注解") +// @ParameterizedTest +// @ValueSource(strings = {"t1", "t2", "t3"}) +// public void testValueSource(String str) { +// System.out.println(str); +// } +// +// @DisplayName("测试 @NullSource 注解") +// @ParameterizedTest +// @NullSource +// public void testNullSource(String str) { +// System.out.println(str); +// } +// +// @DisplayName("测试 @EnumSource 注解") +// @ParameterizedTest +// @EnumSource(UserType.class) +// public void testEnumSource(UserType type) { +// System.out.println(type.getUserType()); +// } +// +// @DisplayName("测试 @MethodSource 注解") +// @ParameterizedTest +// @MethodSource("getParam") +// public void testMethodSource(String str) { +// System.out.println(str); +// } +// +// public static Stream getParam() { +// List list = new ArrayList<>(); +// list.add("t1"); +// list.add("t2"); +// list.add("t3"); +// return list.stream(); +// } +// +// @BeforeEach +// public void testBeforeEach() { +// System.out.println("@BeforeEach =================="); +// } +// +// @AfterEach +// public void testAfterEach() { +// System.out.println("@AfterEach =================="); +// } } diff --git a/ruoyi-admin/src/test/java/org/dromara/test/TagUnitTest.java b/ruoyi-admin/src/test/java/org/dromara/test/TagUnitTest.java index 70bb5cf..99a6da7 100644 --- a/ruoyi-admin/src/test/java/org/dromara/test/TagUnitTest.java +++ b/ruoyi-admin/src/test/java/org/dromara/test/TagUnitTest.java @@ -34,80 +34,80 @@ import java.io.FileInputStream; @DisplayName("标签单元测试案例") public class TagUnitTest { - @Tag("dev") - @DisplayName("测试 @Tag dev") - @Test - public void testTagDev() throws Exception { - String inputFilePath="C:\\Users\\gy051\\Desktop\\1223.doc"; - String outputFilePath="D:\\JPG\\test.html"; - InputStream is = new FileInputStream(inputFilePath); -// InputStream is = FileHelper.convertWordToUTF8Stream(inputFilePath); - System.out.println("outputFilePath:"+outputFilePath); - HWPFDocument wordDocument = new HWPFDocument(is); - WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); - String rootPath = "D:\\JPG\\"; - final int[] fileIndex = {0}; - wordToHtmlConverter.setPicturesManager(new PicturesManager() { - - @Override - public String savePicture(byte[] bytes, PictureType pictureType, String s, float v, float v1) { - fileIndex[0]++; - File file = new File(rootPath + fileIndex[0]+".png"); - try { - FileOutputStream out = new FileOutputStream(file); - out.write(bytes); - out.close(); - } catch (Exception e) { - e.printStackTrace(); - } - return fileIndex[0]+".png"; // 返回图片的相对路径或者URL - } - - - }); - wordToHtmlConverter.processDocument(wordDocument); - Document htmlDocument = wordToHtmlConverter.getDocument(); - - // 将Document转换为XHTML - StringWriter writer = new StringWriter(); - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty(OutputKeys.METHOD, "html"); - transformer.transform(new DOMSource(htmlDocument), new StreamResult(writer)); -// 自定义处理标题 -// W3CDocument w3cDocument = converter.getDocument(); -// Range range = hwpfDocument.getRange(); +// @Tag("dev") +// @DisplayName("测试 @Tag dev") +// @Test +// public void testTagDev() throws Exception { +// String inputFilePath="C:\\Users\\gy051\\Desktop\\1223.doc"; +// String outputFilePath="D:\\JPG\\test.html"; +// InputStream is = new FileInputStream(inputFilePath); +//// InputStream is = FileHelper.convertWordToUTF8Stream(inputFilePath); +// System.out.println("outputFilePath:"+outputFilePath); +// HWPFDocument wordDocument = new HWPFDocument(is); +// WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); +// String rootPath = "D:\\JPG\\"; +// final int[] fileIndex = {0}; +// wordToHtmlConverter.setPicturesManager(new PicturesManager() { // -// for (int i = 0; i < range.numParagraphs(); i++) { -// ParagraphProperties pp = range.getParagraph(i).getParagraphProperties(); -// if (pp != null && pp.getParaStyleIndex() >= 0) { -// String styleName = hwpfDocument.getStyleSheet().getParagraphStyle(pp.getParaStyleIndex()).getName(); -// // 判断标题样式并转换为对应的 HTML 标签 -// if (styleName.startsWith("Heading")) { -// int headingLevel = Character.getNumericValue(styleName.charAt(7)); -// // 这里只处理 H1 到 H6 -// if (headingLevel >= 1 && headingLevel <= 6) { -// // 你可以将段落内容直接插入到 HTML 中,适当修改格式 -// String headingTag = "h" + headingLevel; -// writer.append("<").append(headingTag).append(">") -// .append(range.getParagraph(i).text().trim()) -// .append(""); -// } -// } else { -// writer.append("

").append(range.getParagraph(i).text().trim()).append("

"); +// @Override +// public String savePicture(byte[] bytes, PictureType pictureType, String s, float v, float v1) { +// fileIndex[0]++; +// File file = new File(rootPath + fileIndex[0]+".png"); +// try { +// FileOutputStream out = new FileOutputStream(file); +// out.write(bytes); +// out.close(); +// } catch (Exception e) { +// e.printStackTrace(); // } +// return fileIndex[0]+".png"; // 返回图片的相对路径或者URL // } -// } - // 输出 HTML 字符串 - String htmlString = writer.getBuffer().toString(); - // 将 HTML 字符串写入文件 - FileOutputStream out = new FileOutputStream(outputFilePath); - byte[] bytes = htmlString.getBytes("UTF-8"); - out.write(bytes); - out.close(); - - } +// +// +// }); +// wordToHtmlConverter.processDocument(wordDocument); +// Document htmlDocument = wordToHtmlConverter.getDocument(); +// +// // 将Document转换为XHTML +// StringWriter writer = new StringWriter(); +// TransformerFactory transformerFactory = TransformerFactory.newInstance(); +// Transformer transformer = transformerFactory.newTransformer(); +// transformer.setOutputProperty(OutputKeys.INDENT, "yes"); +// transformer.setOutputProperty(OutputKeys.METHOD, "html"); +// transformer.transform(new DOMSource(htmlDocument), new StreamResult(writer)); +//// 自定义处理标题 +//// W3CDocument w3cDocument = converter.getDocument(); +//// Range range = hwpfDocument.getRange(); +//// +//// for (int i = 0; i < range.numParagraphs(); i++) { +//// ParagraphProperties pp = range.getParagraph(i).getParagraphProperties(); +//// if (pp != null && pp.getParaStyleIndex() >= 0) { +//// String styleName = hwpfDocument.getStyleSheet().getParagraphStyle(pp.getParaStyleIndex()).getName(); +//// // 判断标题样式并转换为对应的 HTML 标签 +//// if (styleName.startsWith("Heading")) { +//// int headingLevel = Character.getNumericValue(styleName.charAt(7)); +//// // 这里只处理 H1 到 H6 +//// if (headingLevel >= 1 && headingLevel <= 6) { +//// // 你可以将段落内容直接插入到 HTML 中,适当修改格式 +//// String headingTag = "h" + headingLevel; +//// writer.append("<").append(headingTag).append(">") +//// .append(range.getParagraph(i).text().trim()) +//// .append(""); +//// } +//// } else { +//// writer.append("

").append(range.getParagraph(i).text().trim()).append("

"); +//// } +//// } +//// } +// // 输出 HTML 字符串 +// String htmlString = writer.getBuffer().toString(); +// // 将 HTML 字符串写入文件 +// FileOutputStream out = new FileOutputStream(outputFilePath); +// byte[] bytes = htmlString.getBytes("UTF-8"); +// out.write(bytes); +// out.close(); +// +// } // // @Tag("prod") diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/Qwen72bController.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/Qwen72bController.java index c3f79bb..00651fe 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/Qwen72bController.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/Qwen72bController.java @@ -35,7 +35,7 @@ import org.springframework.web.multipart.MultipartFile; @Validated @RequiredArgsConstructor @RestController -@RequestMapping("/productManagement/docAi") +@RequestMapping("/productManagement/docAi1") public class Qwen72bController extends BaseController { @Value("${chat.filePath}") private String chatFilePath; @@ -156,7 +156,8 @@ public class Qwen72bController extends BaseController { FileUtil.writeFromStream(file.getInputStream(), destFile); //不是docx文件需要转换 if (!originalFilename.endsWith(".docx")) { - ProcessBuilder builder = new ProcessBuilder("unoconv","-o" ,destDir,"-f", "docx", destFile.getAbsolutePath()); +// ProcessBuilder builder = new ProcessBuilder("unoconv","-o" ,destDir,"-f", "docx", ); + ProcessBuilder builder = new ProcessBuilder("libreoffice", "--headless", "--convert-to", "docx",destFile.getAbsolutePath(), "--outdir", destDir); Process process = builder.start();