|
@@ -1,25 +1,56 @@
|
|
|
package cn.cslg.pas.service.dify;
|
|
|
|
|
|
+import cn.cslg.pas.common.model.dify.DifyChatMessageDTO;
|
|
|
+import cn.cslg.pas.common.model.dify.GenerateClaimDTO;
|
|
|
+import cn.cslg.pas.common.model.dify.confessionSession.AddConfessionSessionDTO;
|
|
|
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.vo.PatentRightParams;
|
|
|
+import cn.cslg.pas.common.vo.RePatentClaim;
|
|
|
+import cn.cslg.pas.domain.business.ReportProject;
|
|
|
+import cn.cslg.pas.domain.business.ReportTemple;
|
|
|
+import cn.cslg.pas.exception.ExceptionEnum;
|
|
|
+import cn.cslg.pas.exception.XiaoShiException;
|
|
|
+import cn.cslg.pas.service.business.ReportTempleService;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.deepoove.poi.XWPFTemplate;
|
|
|
+import com.deepoove.poi.config.Configure;
|
|
|
+import com.google.gson.Gson;
|
|
|
+import okhttp3.MediaType;
|
|
|
+import okhttp3.OkHttpClient;
|
|
|
+import okhttp3.Request;
|
|
|
+import okhttp3.RequestBody;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
@Service
|
|
|
public class GenerateInstructionService {
|
|
|
- public void generateContent(String claim){
|
|
|
- PatentRightParams params =new PatentRightParams();
|
|
|
+ @Autowired
|
|
|
+ private ReportTempleService templeService;
|
|
|
+ @Autowired
|
|
|
+ private FileUtils fileUtils;
|
|
|
+
|
|
|
+ public void generateContent(String claim) {
|
|
|
+ PatentRightParams params = new PatentRightParams();
|
|
|
params.setCountry("CN");
|
|
|
params.setContent(claim);
|
|
|
params.setPatentNo("CN");
|
|
|
- ClaimSplitUtils.formatPatentRight(params);
|
|
|
+ List<RePatentClaim> rePatentClaims = ClaimSplitUtils.formatPatentRight(params);
|
|
|
+ rePatentClaims.forEach(item -> {
|
|
|
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- public String getClaimContent(String claim){
|
|
|
+ public String getClaimContent(String claim) {
|
|
|
// 正则表达式模式(注意 Java 中需要双反斜杠转义)
|
|
|
String regex = "其特征在于[,。;!?、]+(.+)";
|
|
|
Pattern pattern = Pattern.compile(regex);
|
|
@@ -28,17 +59,39 @@ public class GenerateInstructionService {
|
|
|
// 提取第一个捕获组的内容(即括号内的部分)
|
|
|
return matcher.group(1).trim();
|
|
|
}
|
|
|
- return "其中,"+claim; // 未找到匹配时返回空字符串
|
|
|
+ return "其中," + claim; // 未找到匹配时返回空字符串
|
|
|
|
|
|
}
|
|
|
- public String getMainClaimContent(String claim){
|
|
|
+
|
|
|
+ public String getMainClaimContent(String claim) {
|
|
|
// 正则表达式模式(注意 Java 中需要双反斜杠转义)
|
|
|
String regex1 = "^[0-9]+\\.[^0-9]+?";
|
|
|
- String regex2="^\\[[0-9]+]";
|
|
|
- String outPut1=claim.replaceAll(regex1,"");
|
|
|
- String outPut2=outPut1.replaceAll(regex2,"");
|
|
|
- return "为解决上述问题,本申请提出"+outPut2; // 未找到匹配时返回空字符串
|
|
|
+ String regex2 = "^\\[[0-9]+]";
|
|
|
+ String outPut1 = claim.replaceAll(regex1, "");
|
|
|
+ String outPut2 = outPut1.replaceAll(regex2, "");
|
|
|
+ return "为解决上述问题,本申请提出" + outPut2; // 未找到匹配时返回空字符串
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ private String a() {
|
|
|
+ Integer templeId = 1;
|
|
|
+ ReportTemple reportTemplate = templeService.getById(templeId);
|
|
|
+ String templateFilePath = fileUtils.getPath(reportTemplate.getTemplatePath());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private XWPFTemplate getTemplate(Integer projectId, String filePath) throws IOException {
|
|
|
+ //装载标的专利信息
|
|
|
+ XWPFTemplate template = null;
|
|
|
+ Map<String,Object> map =new HashMap<>();
|
|
|
+ try {
|
|
|
+ Configure configure = Configure.builder()
|
|
|
+ .build();
|
|
|
+ template = XWPFTemplate.compile(filePath, configure).render(map);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "未匹配到模版文件");
|
|
|
+ }
|
|
|
+ return template;
|
|
|
}
|
|
|
|
|
|
}
|