Sfoglia il codice sorgente

fix:简易注消公告变更

许家凯 3 anni fa
parent
commit
7a26758bc4

+ 18 - 4
src/main/scala/com/winhc/bigdata/spark/ng/change/table/company_brief_cancel_announcement.scala

@@ -2,13 +2,27 @@
 
 package com.winhc.bigdata.spark.ng.change.table
 
+import com.winhc.bigdata.spark.implicits.Bool._
 import com.winhc.bigdata.spark.ng.change.NgCompanyChangeHandle
 import com.winhc.bigdata.spark.utils.DateUtils
-import com.winhc.bigdata.spark.implicits.Bool._
+import org.apache.commons.lang3.StringUtils
+
+import scala.util.matching.Regex
 
 case class company_brief_cancel_announcement(equCols: Seq[String], is_inc: Boolean) extends NgCompanyChangeHandle {
 
-  //todo
-  override protected def getBizDate(newMap: Map[String, String]): String = is_inc ? DateUtils.getBizDate(newMap("update_time")) | DateUtils.getBizDate(newMap("publish_date"))
-}
+  override protected def getBizDate(newMap: Map[String, String]): String = is_inc ? DateUtils.getBizDate(newMap("update_time")) | DateUtils.getBizDate(get_announcement_start_date(newMap("publish_date")).orNull, newMap("update_time"))
+
+  private val p = "(?<start>[1-2]\\d{3}年[0-1][1-9]月[0-3]\\d日) - (?<end>[1-2]\\d{3}年[0-1][1-9]月[0-3]\\d日)".r
+
+  private def get_announcement_start_date(announcement_term: String): Option[String] = {
+    if (StringUtils.isEmpty(announcement_term))
+      return Option.empty
 
+    val f: Option[Regex.Match] = p.findFirstMatchIn(announcement_term)
+    if (f.isEmpty)
+      Option.empty
+    else
+      Option(f.get.group(1))
+  }
+}