|
@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.aliyun.odps.udf.UDF;
|
|
|
+import com.winhc.bigdata.bean.Entity;
|
|
|
+import com.winhc.bigdata.bean.case_no.CaseNoTitleEntity;
|
|
|
import com.winhc.bigdata.utils.BaseUtils;
|
|
|
+import com.winhc.bigdata.utils.CaseNoPropertiesUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Author: XuJiakai
|
|
@@ -17,7 +19,55 @@ import java.util.List;
|
|
|
* function name: party_summary
|
|
|
*/
|
|
|
public class PartySummaryUDF extends UDF {
|
|
|
+
|
|
|
+
|
|
|
+ private static final Map<String, String> TITLE_SUMMARY_MAP = new HashMap<String, String>() {
|
|
|
+ {
|
|
|
+ put("再审申请人", "申请人");
|
|
|
+ put("原告", "原告");
|
|
|
+ put("被强制医疗人", "其他");
|
|
|
+ put("被上诉人", "被上诉人");
|
|
|
+ put("原审原告", "其他");
|
|
|
+ put("赔偿义务机关", "其他");
|
|
|
+ put("原公诉机关", "其他");
|
|
|
+ put("救助申请人", "申请人");
|
|
|
+ put("罪犯", "其他");
|
|
|
+ put("原审被告", "其他");
|
|
|
+ put("引渡请求国", "其他");
|
|
|
+ put("申诉人", "其他");
|
|
|
+ put("当事人", "其他");
|
|
|
+ put("被告人", "其他");
|
|
|
+ put("被申诉人", "其他");
|
|
|
+ put("原申请人", "其他");
|
|
|
+ put("被请求引渡人", "其他");
|
|
|
+ put("申请人", "申请人");
|
|
|
+ put("复议申请人", "申请人");
|
|
|
+ put("申请执行人", "申请执行人");
|
|
|
+ put("赔偿请求人", "其他");
|
|
|
+ put("抗诉机关", "其他");
|
|
|
+ put("被申请人", "被申请人");
|
|
|
+ put("原被申请人", "其他");
|
|
|
+ put("原审被告人", "其他");
|
|
|
+ put("被执行人", "被执行人");
|
|
|
+ put("上诉人", "上诉人");
|
|
|
+ put("被告", "被告");
|
|
|
+ put("复议被申请人", "被申请人");
|
|
|
+ put("申请复议人", "其他");
|
|
|
+ put("异议人", "其他");
|
|
|
+ put("申请机关", "其他");
|
|
|
+ put("公诉人", "其他");
|
|
|
+
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ private static String getTitleClassesByMap(String title) {
|
|
|
+ return TITLE_SUMMARY_MAP.getOrDefault(title, "其他");
|
|
|
+ }
|
|
|
+
|
|
|
private static String getTitleClasses(String title) {
|
|
|
+ if (StringUtils.isEmpty(title)) {
|
|
|
+ return "其他";
|
|
|
+ }
|
|
|
if (title.contains("被申请人")) {
|
|
|
return "被申请人";
|
|
|
}
|
|
@@ -36,15 +86,18 @@ public class PartySummaryUDF extends UDF {
|
|
|
if (title.contains("上诉人")) {
|
|
|
return "上诉人";
|
|
|
}
|
|
|
+ if (title.contains("第三人")) {
|
|
|
+ return "第三人";
|
|
|
+ }
|
|
|
+ if (title.contains("原审")) {
|
|
|
+ return "其他";
|
|
|
+ }
|
|
|
if (title.contains("原告")) {
|
|
|
return "原告";
|
|
|
}
|
|
|
if (title.contains("被告")) {
|
|
|
return "被告";
|
|
|
}
|
|
|
- if (title.contains("第三人")) {
|
|
|
- return "第三人";
|
|
|
- }
|
|
|
return "其他";
|
|
|
}
|
|
|
|
|
@@ -73,8 +126,8 @@ public class PartySummaryUDF extends UDF {
|
|
|
JSONArray jsonArray = JSONObject.parseArray(party_info_new);
|
|
|
for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
JSONObject item = jsonArray.getJSONObject(i);
|
|
|
- String title_original = item.getString("title_original");
|
|
|
- String titleClasses = getTitleClasses(title_original);
|
|
|
+// String titleClasses = getTitleClasses(item.getString("title_original"));
|
|
|
+ String titleClasses = getTitleClassesByMap(item.getString("title_std"));
|
|
|
JSONArray party_info = item.getJSONArray("party_info");
|
|
|
List<String> strings = partyList(titleClasses, party_info);
|
|
|
if (strings != null && !strings.isEmpty()) {
|
|
@@ -103,7 +156,23 @@ public class PartySummaryUDF extends UDF {
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
- String res = new PartySummaryUDF().evaluate("[{\"party_info\":[{\"litigant_id\":\"c342f2593121441b04f8e7e40c6025a9\",\"name\":\"江西星森国际贸易有限公司\"}],\"show_level\":0,\"title_original\":\"原告\",\"title_std\":\"原告\"},{\"party_info\":[{\"litigant_id\":\"51cc7fece6c443b7ab6934eadd376405\",\"name\":\"深圳市颢赫科技有限公司\"},{\"litigant_id\":\"\",\"name\":\"蔡湘池\"}],\"show_level\":1,\"title_original\":\"被告\",\"title_std\":\"被告\"}]");
|
|
|
+ String res = new PartySummaryUDF().evaluate("[{\"party_info\":[{\"litigant_id\":\"\",\"name\":\"平安保险东莞分公司\"}],\"show_level\":0,\"title_original\":\"原告\",\"title_std\":\"原告\"},{\"party_info\":[{\"litigant_id\":\"\",\"name\":\"沧州顺驰汽车公司\"},{\"litigant_id\":\"\",\"name\":\"崔建伟\"}],\"show_level\":1,\"title_original\":\"被告\",\"title_std\":\"被告\"}]");
|
|
|
System.out.println(res);
|
|
|
+ /* Entity<List<String>, Map<String, Set<CaseNoTitleEntity>>> caseNoKeyword =
|
|
|
+ CaseNoPropertiesUtils.getCaseNoKeyword();
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
+
|
|
|
+ Collection<Set<CaseNoTitleEntity>> values = caseNoKeyword._2.values();
|
|
|
+ for (Set<CaseNoTitleEntity> value : values) {
|
|
|
+ for (CaseNoTitleEntity caseNoTitleEntity : value) {
|
|
|
+ set.addAll(caseNoTitleEntity.getCore());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Set<String> ss = new HashSet<>();
|
|
|
+ for (String s : set) {
|
|
|
+ ss.add(getTitleClassesByMap(s));
|
|
|
+ System.out.println(s + " " + getTitleClassesByMap(s));
|
|
|
+ }
|
|
|
+ System.out.println(ss);*/
|
|
|
}
|
|
|
}
|