浏览代码

fix: 司法案件关联加入非文书不判断当事人

许家凯 4 年之前
父节点
当前提交
0c7633be72
共有 1 个文件被更改,包括 29 次插入13 次删除
  1. 29 13
      src/main/scala/com/winhc/bigdata/spark/utils/case_connect_utils.scala

+ 29 - 13
src/main/scala/com/winhc/bigdata/spark/utils/case_connect_utils.scala

@@ -8,11 +8,27 @@ import org.apache.commons.lang3.StringUtils
  * @Description:
  */
 object case_connect_utils {
+  private val lawsuit_tab = Seq("company_lawsuit")
 
-  def isConnect(current_case_party_list_org: Seq[String], connect_case_party_list_org: Seq[String], current_case_no: String = "", connect_case_no: String = "", current_court_name: String = "", connect_court_name: String = ""): Boolean = {
+  private def equ(current_case_no: String = "", connect_case_no: String = "", current_court_name: String = "", connect_court_name: String = ""): Boolean = {
+    if (StringUtils.isEmpty(current_case_no) || StringUtils.isEmpty(connect_case_no) || StringUtils.isEmpty(current_court_name) || StringUtils.isEmpty(connect_court_name))
+      false
+    else
+      current_case_no.equalsIgnoreCase(connect_case_no) && current_court_name.equalsIgnoreCase(connect_court_name)
+  }
+
+
+  def isConnect(current_case_party_list_org: Seq[String], connect_case_party_list_org: Seq[String], current_case_no: String = "", connect_case_no: String = "", current_court_name: String = "", connect_court_name: String = "", current_tn: String, connect_tn: String): Boolean = {
     val current_case_party_list = current_case_party_list_org.filter(StringUtils.isNotBlank)
     val connect_case_party_list = connect_case_party_list_org.filter(StringUtils.isNotBlank)
 
+    if (!lawsuit_tab.contains(current_tn) && !lawsuit_tab.contains(connect_tn)) {
+      val bool = equ(current_case_no, connect_case_no, current_court_name, connect_court_name)
+      if (bool)
+        return bool
+    }
+
+
     if (current_case_party_list.isEmpty || connect_case_party_list.isEmpty) {
       return false
     }
@@ -55,7 +71,7 @@ object case_connect_utils {
 
     for (char <- current_party.mkString("").toCharArray.map(_.toString).filter(vague_word.contains(_))) {
       for (userName <- current_party) {
-        for (splitUser <- userName.replace(char,"\001").split("\001")) {
+        for (splitUser <- userName.replace(char, "\001").split("\001")) {
           val all_str = connect_party.mkString("")
           if (StringUtils.isNotEmpty(splitUser) && (!all_str.contains(splitUser.substring(0, 1)))) {
             return false
@@ -78,6 +94,8 @@ object case_connect_utils {
       if (current_case_party_list.contains(userName))
         num = num + 1
     }
+    if (num == 0)
+      return false
     num >= connect_case_party_list.size / 2
   }
 
@@ -96,18 +114,16 @@ object case_connect_utils {
   }
 
   def main(args: Array[String]): Unit = {
-    val current_case_party_list: Seq[String] = Seq("乐视控股(北京)有限公司", "贾跃亭", "甘薇", "贾跃民", "武汉信用小额贷款股份有限公司")
-    val connect_case_party_list: Seq[String] = Seq("贾跃民")
+    val current_case_party_list: Seq[String] = Seq("李桂香")
+    val connect_case_party_list: Seq[String] = Seq("陈世赞")
 
-    val current_case_no = "(2017)鄂01民初3720号"
-    val connect_case_no = "(2017)鄂01民初3720号"
-    val current_court_name = "湖北省武汉市中级人民法院"
-    val connect_court_name = "湖北省武汉市中级人民法院"
+    val current_case_no = "(2018)桂0105执372号"
+    val connect_case_no = "(2018)桂0105执372号"
+    val current_court_name = "浙江省宁波市中级人民法院"
+    val connect_court_name = "浙江省宁波市中级人民法院"
+    val tn1 = "company_lawsuit"
+    val tn2 = "company_lawsuit"
     //
-    println(isConnect(current_case_party_list, connect_case_party_list, current_case_no, connect_case_no, current_court_name, connect_court_name))
-    var userName = "jasdfja*sldfjk"
-    var char = "*"
-
-    println(userName.replace(char,"\001").split("\001").mkString("\t"))
+    println(isConnect(current_case_party_list, connect_case_party_list, current_case_no, connect_case_no, current_court_name, connect_court_name, tn1, tn2))
   }
 }