Prechádzať zdrojové kódy

fix: case_no_party_title_parse函数

许家凯 1 rok pred
rodič
commit
37c7724570

+ 16 - 4
src/main/java/com/winhc/bigdata/udf/justice/CaseNoPartyTitleParseUtil.java

@@ -50,7 +50,7 @@ public class CaseNoPartyTitleParseUtil extends UDF {
                            String defendant_info) {
 
         if (StringUtils.isEmpty(case_no)) {
-            return null;
+            return getPartyTitleDefault(plaintiff_info, defendant_info);
         }
         String caseNoKeyword = getCaseNoKeyword(case_no);
         if (caseNoKeyword == null || DEFAULT_CASE_NO_KEYWORD.contains(caseNoKeyword)) {
@@ -95,15 +95,27 @@ public class CaseNoPartyTitleParseUtil extends UDF {
 
     private static String getPartyTitleDefault(String plaintiff_info,
                                                String defendant_info) {
+        Set<String> tmpSet = new HashSet<>();
+
         ArrayList<LitigantInfo> list = new ArrayList<>();
         List<LitigantInfo> litigantInfos = parseLitigant(plaintiff_info);
         if (litigantInfos != null) {
-            list.addAll(litigantInfos);
+            for (LitigantInfo litigantInfo : litigantInfos) {
+                if(!tmpSet.contains(litigantInfo.getName())){
+                    list.add(litigantInfo);
+                    tmpSet.add(litigantInfo.getName());
+                }
+            }
         }
 
         List<LitigantInfo> litigantInfos2 = parseLitigant(defendant_info);
         if (litigantInfos2 != null) {
-            list.addAll(litigantInfos2);
+            for (LitigantInfo litigantInfo : litigantInfos2) {
+                if(!tmpSet.contains(litigantInfo.getName())){
+                    list.add(litigantInfo);
+                    tmpSet.add(litigantInfo.getName());
+                }
+            }
         }
 
 
@@ -144,7 +156,7 @@ public class CaseNoPartyTitleParseUtil extends UDF {
     public static void main(String[] args) throws UDFException, IOException {
         CaseNoPartyTitleParseUtil caseNoPartyTitleParseUtil = new CaseNoPartyTitleParseUtil();
         caseNoPartyTitleParseUtil.setup(null);
-        String evaluate = caseNoPartyTitleParseUtil.evaluate("{2021)渝0103民16256号", "[{\"name\": \"冯忠袁\", \"litigant_id\": \"\"}]", "[]");
+        String evaluate = caseNoPartyTitleParseUtil.evaluate("{2021)渝0103民16256号", "[{\"name\": \"冯忠袁\", \"litigant_id\": \"\"}]", "[{\"name\": \"冯忠袁\", \"litigant_id\": \"\"}]");
         System.out.println(evaluate);
     }