Kaynağa Gözat

20250910-理解技术交底书生成结果

lrj 2 hafta önce
ebeveyn
işleme
9a2127e5a0

+ 34 - 0
src/main/java/cn/cslg/pas/common/utils/DataUtils.java

@@ -292,4 +292,38 @@ public class DataUtils {
 
         return input.substring(0, lastDotIndex);
     }
+
+    private static final String[] units = {"", "十", "百", "千", "万", "十", "百", "千", "亿"};
+    private static final String[] digits = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
+    public static String numberToChinese(int num) {
+        if (num == 0) {
+            return "零";
+        }
+        StringBuilder chinese = new StringBuilder();
+        String numStr = String.valueOf(num);
+        int length = numStr.length();
+        boolean isZero = false; // 记录上一个数字是否为零
+
+        for (int i = 0; i < length; i++) {
+            int digit = numStr.charAt(i) - '0'; // 取得每一位的数字
+            int position = length - i - 1; // 位置从高到低
+
+            if (digit == 0) {
+                isZero = true;
+            } else {
+                if (isZero) {
+                    chinese.append(digits[0]);
+                    isZero = false;
+                }
+                chinese.append(digits[digit]).append(units[position]);
+            }
+        }
+
+// 特殊情况处理:去掉以“一十”开头的“零”
+        String result = chinese.toString();
+        if (result.startsWith("一十")) {
+            result = result.substring(1);
+        }
+        return result;
+    }
 }

+ 3 - 6
src/main/java/cn/cslg/pas/service/dify/GenerateInstructionService.java

@@ -2,11 +2,8 @@ package cn.cslg.pas.service.dify;
 
 import cn.cslg.pas.common.model.dify.*;
 import cn.cslg.pas.common.model.dify.confessionSession.AddConfessionSessionDTO;
+import cn.cslg.pas.common.utils.*;
 import cn.cslg.pas.common.utils.ClaimUtils.ClaimSplitUtils;
-import cn.cslg.pas.common.utils.DateUtils;
-import cn.cslg.pas.common.utils.FileUtils;
-import cn.cslg.pas.common.utils.LoginUtils;
-import cn.cslg.pas.common.utils.StringUtils;
 import cn.cslg.pas.common.vo.PatentRightParams;
 import cn.cslg.pas.common.vo.RePatentClaim;
 import cn.cslg.pas.domain.business.ReportProject;
@@ -97,7 +94,7 @@ public class GenerateInstructionService {
 
     public String getMainClaimContent(Integer mainFlag, String claim) {
         if (mainFlag <= num_lower.length) {
-            claim = "第" + num_lower[mainFlag] + "方面,本申请提供" + claim;
+            claim = "第" + DataUtils.numberToChinese(mainFlag) + "方面,本申请提供" + claim;
         }
         // 正则表达式模式(注意 Java 中需要双反斜杠转义)
         return claim; // 未找到匹配时返回空字符串
@@ -601,7 +598,7 @@ public class GenerateInstructionService {
         GenerateInstructAnswerVO generateInstructAnswerVO = null;
         Integer a = 0;
         Boolean flag = true;
-        while (flag && a < 5) {
+        while (flag && a < 1) {
             generateInstructAnswerVO = this.getAnswerFromAI(getInstructAnswerDTO);
             String answer = generateInstructAnswerVO.getAnswer();
             if ((answer == null) || answer != null && (answer.contains("所述") || answer.contains("权利要求") || answer.contains("其特征在于"))) {

+ 3 - 12
src/test/java/cn/cslg/pas/getSimilarTest.java

@@ -7,6 +7,7 @@ import cn.cslg.pas.common.model.pythonModel.GetPatentSimilarScoreDTO;
 import cn.cslg.pas.common.model.pythonModel.GetPatentSimilarScoreVO;
 import cn.cslg.pas.common.model.pythonModel.PatentScoreDTO;
 import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.common.utils.DataUtils;
 import cn.cslg.pas.common.utils.MD5Util;
 import cn.cslg.pas.common.utils.ReadExcelUtils;
 import cn.cslg.pas.common.utils.StringUtils;
@@ -137,17 +138,7 @@ public class getSimilarTest {
     }
     @Test
     public void test2() throws Exception{
-        OkHttpClient okHttpClient = new OkHttpClient();
-        Request request = new Request.Builder()
-                .url("http://47.116.194.135:8079/api/permission/qiaoBi/vipType/queryPersonVipType")
-                .get()
-                .header("Cookie","token=Jv_zyfSUYwxf2Z1L1_JQaddNZ5Cvi9LSf4__")
-                .build();
-        Response response= okHttpClient.newCall(request).execute();
-        String cookie=response.request().header("Cookie");
-        System.out.println(cookie);
-        System.out.println(response);
-        String a= Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
-    System.out.println(a);
+        String a= DataUtils.numberToChinese(11);
+        System.out.println(a);
     }
 }