Quellcode durchsuchen

fix: case_no_party_title_parse函数

许家凯 vor 1 Jahr
Ursprung
Commit
af65e68067

+ 17 - 9
src/main/java/com/winhc/bigdata/udf/justice/CaseNoPartyTitleParseUtil.java

@@ -76,9 +76,12 @@ public class CaseNoPartyTitleParseUtil extends UDF {
             partyInfo.setTitle_std(core.get(0));
             partyInfo.setTitle_original(core.get(0));
             partyInfo.setShow_level(0);
-            partyInfo.setParty_info(parseLitigant(plaintiff_info));
+            List<LitigantInfo> litigantInfos = parseLitigant(plaintiff_info);
+            partyInfo.setParty_info(litigantInfos);
 
-            result.add(partyInfo);
+            if (litigantInfos != null && !litigantInfos.isEmpty()) {
+                result.add(partyInfo);
+            }
         }
 
         if (core.get(1) != null) {
@@ -86,22 +89,25 @@ public class CaseNoPartyTitleParseUtil extends UDF {
             partyInfo.setTitle_std(core.get(1));
             partyInfo.setTitle_original(core.get(1));
             partyInfo.setShow_level(1);
-            partyInfo.setParty_info(parseLitigant(defendant_info));
-
-            result.add(partyInfo);
+            List<LitigantInfo> litigantInfos = parseLitigant(defendant_info);
+            partyInfo.setParty_info(litigantInfos);
+            if (litigantInfos != null && !litigantInfos.isEmpty()) {
+                result.add(partyInfo);
+            }
         }
         return BaseUtils.toString(result);
     }
 
     private static String getPartyTitleDefault(String plaintiff_info,
                                                String defendant_info) {
+        List<PartyInfo> party_info_new = new ArrayList<>();
         Set<String> tmpSet = new HashSet<>();
 
         ArrayList<LitigantInfo> list = new ArrayList<>();
         List<LitigantInfo> litigantInfos = parseLitigant(plaintiff_info);
         if (litigantInfos != null) {
             for (LitigantInfo litigantInfo : litigantInfos) {
-                if(!tmpSet.contains(litigantInfo.getName())){
+                if (!tmpSet.contains(litigantInfo.getName())) {
                     list.add(litigantInfo);
                     tmpSet.add(litigantInfo.getName());
                 }
@@ -111,7 +117,7 @@ public class CaseNoPartyTitleParseUtil extends UDF {
         List<LitigantInfo> litigantInfos2 = parseLitigant(defendant_info);
         if (litigantInfos2 != null) {
             for (LitigantInfo litigantInfo : litigantInfos2) {
-                if(!tmpSet.contains(litigantInfo.getName())){
+                if (!tmpSet.contains(litigantInfo.getName())) {
                     list.add(litigantInfo);
                     tmpSet.add(litigantInfo.getName());
                 }
@@ -124,7 +130,9 @@ public class CaseNoPartyTitleParseUtil extends UDF {
         partyInfo.setTitle_std("当事人");
         partyInfo.setTitle_original("当事人");
         partyInfo.setParty_info(list);
-        return BaseUtils.toString(partyInfo);
+
+        party_info_new.add(partyInfo);
+        return BaseUtils.toString(party_info_new);
     }
 
 
@@ -156,7 +164,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\": \"\"}]", "[{\"name\": \"冯忠袁\", \"litigant_id\": \"\"}]");
+        String evaluate = caseNoPartyTitleParseUtil.evaluate("{2021)渝0103民16256号", "[{\"name\": \"冯忠袁\", \"litigant_id\": \"\"}]", "[]");
         System.out.println(evaluate);
     }