Quellcode durchsuchen

fix: 股东动态中字符串json异常

许家凯 vor 4 Jahren
Ursprung
Commit
ba9f40c3b3

+ 1 - 1
src/main/scala/com/winhc/bigdata/spark/implicits/CaseClass2JsonHelper.scala

@@ -12,7 +12,7 @@ object CaseClass2JsonHelper {
   implicit class CaseClass2JsonEnhancer[A <: AnyRef](that: A) {
     def toJson(): String ={
       if(that==null){
-        null
+       return null
       }
       write(that)
     }

+ 4 - 3
src/main/scala/com/winhc/bigdata/spark/implicits/MapHelper.scala

@@ -1,5 +1,6 @@
 package com.winhc.bigdata.spark.implicits
 
+import com.winhc.bigdata.spark.implicits.CaseClass2JsonHelper._
 import org.apache.commons.lang3.StringUtils
 
 /**
@@ -11,7 +12,7 @@ object MapHelper {
 
   implicit class MapEnhancer(map: Map[String, String]) extends Serializable {
     def toJson(fields: Seq[String]): String = {
-      val content =  fields.map(item => {
+      val content = fields.map(item => {
         if (item.contains("->")) {
           val Array(key, keyAlias) = item.split("->")
           s"${getValueOrNull(keyAlias)}:${getValueOrNull(map(key))}"
@@ -25,9 +26,9 @@ object MapHelper {
 
   private def getValueOrNull(value: String): String = {
     if (StringUtils.isNotBlank(value)) {
-      "\"" + value + "\""
+      value.toJson()
     } else {
-      "\"\""
+      "".toJson()
     }
   }
 

+ 2 - 3
src/main/scala/com/winhc/bigdata/spark/implicits/PhoenixHelper.scala

@@ -36,10 +36,9 @@ object PhoenixHelper {
         .jdbc(PhoenixConfig.getPhoenixJDBCUrl, tableName, PhoenixConfig.getPhoenixProperties)
     }
 
-    def save2PhoenixByJDBC(tableName: String, cols: Seq[String]): Unit = {
+    def save2PhoenixByJDBCPro(tableName: String, cols: Seq[String]): Unit = {
       import org.apache.spark.sql.functions.col
-      val stringDf = df.select(cols.map(column => col(column).cast("string")): _*)
-      stringDf.save2PhoenixByJDBC(tableName)
+      df.select(cols.map(column => col(column).cast("string")): _*).save2PhoenixByJDBC(tableName)
     }
   }