修改JSON解析类库为Fastjson2.(GAL-350)
This commit is contained in:
17
pom.xml
17
pom.xml
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user