修改JSON解析类库为Fastjson2.(GAL-350)

This commit is contained in:
qidaijie
2023-06-05 17:01:52 +08:00
parent 461e6ad19c
commit 686a07bbb1
2 changed files with 27 additions and 26 deletions

17
pom.xml
View File

@@ -16,7 +16,7 @@
<repository> <repository>
<id>nexus</id> <id>nexus</id>
<name>Team Nexus Repository</name> <name>Team Nexus Repository</name>
<url>http://192.168.40.125:8099/content/groups/public</url> <url>http://192.168.40.153:8099/content/groups/public</url>
</repository> </repository>
<repository> <repository>
@@ -40,6 +40,7 @@
<hbase.version>2.2.3</hbase.version> <hbase.version>2.2.3</hbase.version>
<hutool.version>5.7.17</hutool.version> <hutool.version>5.7.17</hutool.version>
<jsonpath.version>2.4.0</jsonpath.version> <jsonpath.version>2.4.0</jsonpath.version>
<fastjson.version>2.0.32</fastjson.version>
<scope.type>provided</scope.type> <scope.type>provided</scope.type>
<!--<scope.type>compile</scope.type>--> <!--<scope.type>compile</scope.type>-->
</properties> </properties>
@@ -118,7 +119,7 @@
<dependency> <dependency>
<groupId>com.zdjizhi</groupId> <groupId>com.zdjizhi</groupId>
<artifactId>galaxy</artifactId> <artifactId>galaxy</artifactId>
<version>1.0.8</version> <version>1.1.3</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<artifactId>slf4j-log4j12</artifactId> <artifactId>slf4j-log4j12</artifactId>
@@ -185,12 +186,6 @@
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>${jsonpath.version}</version>
</dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
@@ -211,6 +206,12 @@
<version>1.9.3</version> <version>1.9.3</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -1,8 +1,8 @@
package com.zdjizhi.utils.functions; package com.zdjizhi.utils.functions;
import cn.hutool.json.JSONObject;
import cn.hutool.log.Log; import cn.hutool.log.Log;
import cn.hutool.log.LogFactory; import cn.hutool.log.LogFactory;
import com.alibaba.fastjson2.JSONObject;
import com.zdjizhi.common.RadiusKnowledgeConfig; import com.zdjizhi.common.RadiusKnowledgeConfig;
import com.zdjizhi.utils.StringUtil; import com.zdjizhi.utils.StringUtil;
import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common.functions.MapFunction;
@@ -21,11 +21,11 @@ public class MapCompletedFunction implements MapFunction<String, String> {
String result = null; String result = null;
try { try {
if (StringUtil.isNotBlank(logs)) { if (StringUtil.isNotBlank(logs)) {
JSONObject json = new JSONObject(logs, false, true); JSONObject radiusLog = JSONObject.parse(logs);
if (json.containsKey(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE)) { if (radiusLog.containsKey(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE)) {
int packetType = json.getInt(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE); int packetType = radiusLog.getIntValue(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE);
if (RadiusKnowledgeConfig.ACCOUNTING_REQUEST == packetType) { if (RadiusKnowledgeConfig.ACCOUNTING_REQUEST == packetType) {
result = GetKnowledgeLogs(json); result = GetKnowledgeLogs(radiusLog);
} }
} }
@@ -39,42 +39,42 @@ public class MapCompletedFunction implements MapFunction<String, String> {
/** /**
* 获取RadiusOnOff日志 * 获取RadiusOnOff日志
* *
* @param jsonMap 原始日志 * @param radiusLog 原始日志
* @return OnOff日志 * @return OnOff日志
*/ */
private static String GetKnowledgeLogs(JSONObject jsonMap) { private static String GetKnowledgeLogs(JSONObject radiusLog) {
JSONObject knowledge = new JSONObject(); JSONObject knowledge = new JSONObject();
String framedIp = jsonMap.getStr("radius_framed_ip"); String framedIp = radiusLog.getString("radius_framed_ip");
String account = jsonMap.getStr("radius_account"); String account = radiusLog.getString("radius_account");
if (StringUtil.isNotBlank(framedIp) && StringUtil.isNotBlank(account)) { if (StringUtil.isNotBlank(framedIp) && StringUtil.isNotBlank(account)) {
knowledge.set("framed_ip", framedIp); knowledge.put("framed_ip", framedIp);
knowledge.set("account", account); knowledge.put("account", account);
//所属vsys,若不填写默认为1 //所属vsys,若不填写默认为1
knowledge.set("vsys_id", jsonMap.getInt("common_vsys_id", 1)); knowledge.put("vsys_id", radiusLog.getIntValue("common_vsys_id", 1));
//计费请求报文类型 //计费请求报文类型
knowledge.set("acct_status_type", jsonMap.getStr("radius_acct_status_type")); knowledge.put("acct_status_type", radiusLog.getString("radius_acct_status_type"));
//如果存在时间戳则选择此时间戳没有获取当前时间 //如果存在时间戳则选择此时间戳没有获取当前时间
knowledge.set("event_timestamp", jsonMap.getLong("radius_event_timestamp", System.currentTimeMillis() / 1000)); knowledge.put("event_timestamp", radiusLog.getLongValue("radius_event_timestamp", System.currentTimeMillis() / 1000));
/* /*
* 标识同一个连接: * 标识同一个连接:
* 1.数据若存在acct_multi_session_id属性取该属性 * 1.数据若存在acct_multi_session_id属性取该属性
* 2.不存在取 acct_session_id * 2.不存在取 acct_session_id
*/ */
if (jsonMap.containsKey("radius_acct_multi_session_id")) { if (radiusLog.containsKey("radius_acct_multi_session_id")) {
knowledge.set("acct_session_id", jsonMap.getStr("radius_acct_multi_session_id")); knowledge.put("acct_session_id", radiusLog.getString("radius_acct_multi_session_id"));
} else { } else {
knowledge.set("acct_session_id", jsonMap.getStr("radius_acct_session_id")); knowledge.put("acct_session_id", radiusLog.getString("radius_acct_session_id"));
} }
//用户的在线时长,以秒为单位,下线用户无此属性默认为0 //用户的在线时长,以秒为单位,下线用户无此属性默认为0
knowledge.set("acct_session_time", jsonMap.getLong("radius_acct_session_time", 0L)); knowledge.put("acct_session_time", radiusLog.getLongValue("radius_acct_session_time", 0L));
return knowledge.toString(); return knowledge.toString();
} }