diff options
| -rw-r--r-- | pom.xml | 17 | ||||
| -rw-r--r-- | src/main/java/com/zdjizhi/utils/functions/MapCompletedFunction.java | 36 |
2 files changed, 27 insertions, 26 deletions
@@ -16,7 +16,7 @@ <repository> <id>nexus</id> <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> @@ -40,6 +40,7 @@ <hbase.version>2.2.3</hbase.version> <hutool.version>5.7.17</hutool.version> <jsonpath.version>2.4.0</jsonpath.version> + <fastjson.version>2.0.32</fastjson.version> <scope.type>provided</scope.type> <!--<scope.type>compile</scope.type>--> </properties> @@ -118,7 +119,7 @@ <dependency> <groupId>com.zdjizhi</groupId> <artifactId>galaxy</artifactId> - <version>1.0.8</version> + <version>1.1.3</version> <exclusions> <exclusion> <artifactId>slf4j-log4j12</artifactId> @@ -186,12 +187,6 @@ </dependency> <dependency> - <groupId>com.jayway.jsonpath</groupId> - <artifactId>json-path</artifactId> - <version>${jsonpath.version}</version> - </dependency> - - <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> @@ -211,6 +206,12 @@ <version>1.9.3</version> </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>${fastjson.version}</version> + </dependency> + </dependencies> </project> diff --git a/src/main/java/com/zdjizhi/utils/functions/MapCompletedFunction.java b/src/main/java/com/zdjizhi/utils/functions/MapCompletedFunction.java index ce3cc42..40eef71 100644 --- a/src/main/java/com/zdjizhi/utils/functions/MapCompletedFunction.java +++ b/src/main/java/com/zdjizhi/utils/functions/MapCompletedFunction.java @@ -1,8 +1,8 @@ package com.zdjizhi.utils.functions; -import cn.hutool.json.JSONObject; import cn.hutool.log.Log; import cn.hutool.log.LogFactory; +import com.alibaba.fastjson2.JSONObject; import com.zdjizhi.common.RadiusKnowledgeConfig; import com.zdjizhi.utils.StringUtil; import org.apache.flink.api.common.functions.MapFunction; @@ -21,11 +21,11 @@ public class MapCompletedFunction implements MapFunction<String, String> { String result = null; try { if (StringUtil.isNotBlank(logs)) { - JSONObject json = new JSONObject(logs, false, true); - if (json.containsKey(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE)) { - int packetType = json.getInt(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE); + JSONObject radiusLog = JSONObject.parse(logs); + if (radiusLog.containsKey(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE)) { + int packetType = radiusLog.getIntValue(RadiusKnowledgeConfig.RADIUS_PACKET_TYPE); if (RadiusKnowledgeConfig.ACCOUNTING_REQUEST == packetType) { - result = GetKnowledgeLogs(json); + result = GetKnowledgeLogs(radiusLog); } } @@ -39,42 +39,42 @@ public class MapCompletedFunction implements MapFunction<String, String> { /** * 获取RadiusOnOff日志 * - * @param jsonMap 原始日志 + * @param radiusLog 原始日志 * @return OnOff日志 */ - private static String GetKnowledgeLogs(JSONObject jsonMap) { + private static String GetKnowledgeLogs(JSONObject radiusLog) { JSONObject knowledge = new JSONObject(); - String framedIp = jsonMap.getStr("radius_framed_ip"); - String account = jsonMap.getStr("radius_account"); + String framedIp = radiusLog.getString("radius_framed_ip"); + String account = radiusLog.getString("radius_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 - 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属性,取该属性 * 2.不存在取 acct_session_id */ - if (jsonMap.containsKey("radius_acct_multi_session_id")) { - knowledge.set("acct_session_id", jsonMap.getStr("radius_acct_multi_session_id")); + if (radiusLog.containsKey("radius_acct_multi_session_id")) { + knowledge.put("acct_session_id", radiusLog.getString("radius_acct_multi_session_id")); } else { - knowledge.set("acct_session_id", jsonMap.getStr("radius_acct_session_id")); + knowledge.put("acct_session_id", radiusLog.getString("radius_acct_session_id")); } //用户的在线时长,以秒为单位,下线用户无此属性,默认为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(); } |
