diff options
| author | zhanghongqing <[email protected]> | 2023-12-26 11:00:35 +0800 |
|---|---|---|
| committer | zhanghongqing <[email protected]> | 2023-12-26 11:00:35 +0800 |
| commit | cf19393569264b5cbfe3ad4eff54816e4c95b1a6 (patch) | |
| tree | 27c1291dab84d6c6adb39904d60465f62f8123de | |
| parent | 595006ab005257abd1684dc1fb965e7047aa1fad (diff) | |
[修改][IP定位库] 修改IP定位库适配查询网关接口
4 files changed, 37 insertions, 25 deletions
diff --git a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/IpLocateLibraryJob.java b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/IpLocateLibraryJob.java index 541db75..df2e992 100644 --- a/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/IpLocateLibraryJob.java +++ b/galaxy-job-executor/src/main/java/com/mesalab/executor/jobhandler/IpLocateLibraryJob.java @@ -12,8 +12,8 @@ import com.geedgenetworks.utils.StringUtil; import com.mesalab.executor.core.utils.HttpClientUtils; import com.mesalab.executor.core.utils.JobUtil; import com.mesalab.executor.pojo.IpLocateLibraryParam; -import com.mesalab.executor.pojo.KnowledgeBase; import com.mesalab.executor.pojo.MMDBStatus; +import com.mesalab.executor.pojo.TsgKnowledgeBase; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.annotation.XxlJob; @@ -54,14 +54,14 @@ public class IpLocateLibraryJob { } try { int successCount = 0; - List<KnowledgeBase> knowledgeBaseList = parserParams.getKnowledgeBaseList(); + List<TsgKnowledgeBase> knowledgeBaseList = parserParams.getKnowledgeBaseList(); Map<String, String> historyFileInfo = historyFileInfo(parserParams); - for (KnowledgeBase knowledgeBase : knowledgeBaseList) { + for (TsgKnowledgeBase knowledgeBase : knowledgeBaseList) { String cmdStr = StrUtil.removeSuffix(StrUtil.trim(parserParams.getCommand()), "'") + " " + ObjectUtils.defaultIfNull(knowledgeBase.getBuiltin(), "") + "' "; int executeResult = JobUtil.executeCommand(cmdStr); - File newFile = new File(StringUtils.join(parserParams.getPath(), File.separator, knowledgeBase.getName(), ".", knowledgeBase.getFormat())); + File newFile = new File(StringUtils.join(parserParams.getPath(), File.separator, knowledgeBase.getName(), ".", StringUtils.lowerCase(knowledgeBase.getFormat()))); if (!checkExecuteResult(executeResult, newFile, knowledgeBase)) { continue; } @@ -80,7 +80,7 @@ public class IpLocateLibraryJob { return ReturnT.FAIL; } - private boolean checkExecuteResult(int executeResult, File newFile, KnowledgeBase knowledgeBase) throws Exception { + private boolean checkExecuteResult(int executeResult, File newFile, TsgKnowledgeBase knowledgeBase) throws Exception { if (executeResult != 0) { JobUtil.errorLog("{} built failed, perl execute result {}.", newFile.getName(), executeResult); return false; @@ -97,7 +97,7 @@ public class IpLocateLibraryJob { } - private boolean pushKnowledge(KnowledgeBase knowledgeBase, File newFile, String knowledgeBasServer, Map<String, String> historyFileInfo) { + private boolean pushKnowledge(TsgKnowledgeBase knowledgeBase, File newFile, String knowledgeBasServer, Map<String, String> historyFileInfo) { String newFileSha256 = DigestUtil.sha256Hex(newFile); if (newFileSha256.equals(historyFileInfo.get(knowledgeBase.getName()))) { @@ -126,10 +126,10 @@ public class IpLocateLibraryJob { String result = HttpClientUtils.httpGet(ipLocateLibraryParam.getKnowledgeBaseServer()); Object extract = JSONPath.extract(result, "$.data[version=='latest']"); JSONArray objects = JSONUtil.parseArray(extract); - List<KnowledgeBase> infos = JSONUtil.toList(objects, KnowledgeBase.class); + List<TsgKnowledgeBase> infos = JSONUtil.toList(objects, TsgKnowledgeBase.class); Map<String, String> historyInfo = new HashMap<>(); - for (KnowledgeBase info : infos) { + for (TsgKnowledgeBase info : infos) { historyInfo.put(info.getName(), info.getSha256()); } @@ -139,7 +139,7 @@ public class IpLocateLibraryJob { /** * 检查脚本运行结果和抽样ip是否打到包里 */ - private boolean checkIpSample(KnowledgeBase knowledgeBase, File newFile) throws Exception { + private boolean checkIpSample(TsgKnowledgeBase knowledgeBase, File newFile) throws Exception { String workPath = newFile.getParent().concat(File.separator); MMDBStatus mmdbStatus = JobUtil.readJsonFile(workPath + knowledgeBase.getName() + "_status.json", MMDBStatus.class); @@ -147,7 +147,7 @@ public class IpLocateLibraryJob { JobUtil.errorLog("perl query failed result: status {}, message {}.", mmdbStatus.getStatus(), mmdbStatus.getMessage()); return false; } - if (mmdbStatus.getTotal() == 0 ) { + if (mmdbStatus.getTotal() == 0) { JobUtil.errorLog("perl query failed result: total {}.", mmdbStatus.getTotal()); return false; } @@ -188,16 +188,7 @@ public class IpLocateLibraryJob { logger.info("path is null ! "); return null; } - if (ObjectUtil.isNull(param.getRetry())) { - XxlJobLogger.log("retry is null ! "); - logger.info("retry is null ! "); - return null; - } - if (ObjectUtil.isNull(param.getPushKnowledge())) { - XxlJobLogger.log("pushKnowledge is null ! "); - logger.info("pushKnowledge is null ! "); - return null; - } + if (ObjectUtil.isNull(param.getKnowledgeBaseServer())) { XxlJobLogger.log("knowledgeServer is null ! "); logger.info("knowledgeServer is null ! "); diff --git a/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/IpLocateLibraryParam.java b/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/IpLocateLibraryParam.java index 67a867a..4052632 100644 --- a/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/IpLocateLibraryParam.java +++ b/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/IpLocateLibraryParam.java @@ -17,10 +17,8 @@ public class IpLocateLibraryParam implements Serializable { private String command; private String path; - private Integer retry = 0; - private Boolean pushKnowledge = false; private String knowledgeBaseServer; - private List<KnowledgeBase> knowledgeBaseList; + private List<TsgKnowledgeBase> knowledgeBaseList; diff --git a/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/TsgKnowledgeBase.java b/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/TsgKnowledgeBase.java new file mode 100644 index 0000000..2db2068 --- /dev/null +++ b/galaxy-job-executor/src/main/java/com/mesalab/executor/pojo/TsgKnowledgeBase.java @@ -0,0 +1,23 @@ +package com.mesalab.executor.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@ToString +public class TsgKnowledgeBase implements Serializable { + + private String kb_id; + private String name; + private String format = "MMDB"; + private String category = "IP"; + private String sha256; + private Integer is_valid = 1; + private Integer builtin; +}
\ No newline at end of file diff --git a/galaxy-job-executor/src/main/resources/plugins/mmdb/tsg/mmdb-perl.pl b/galaxy-job-executor/src/main/resources/plugins/mmdb/tsg/mmdb-perl.pl index 01fcb4d..023664a 100644 --- a/galaxy-job-executor/src/main/resources/plugins/mmdb/tsg/mmdb-perl.pl +++ b/galaxy-job-executor/src/main/resources/plugins/mmdb/tsg/mmdb-perl.pl @@ -17,7 +17,7 @@ my $token="{{ cm_server_token }}"; #自定义:0. 内置:1 my @args = @ARGV; my $isBuiltin= @args?$args[0]:1; -my $url="http://$serverHost:8080/v1/global/geolocation/dict/detail?is_builtin=$isBuiltin&vsys_vim id=0"; +my $url="http://$serverHost:8080/v1/policy/library/geoip?is_builtin=$isBuiltin&vsys_id=0"; my $fileName=$isBuiltin==0?'ip_user_defined':'ip_builtin'; my $outfile="$fileName.mmdb"; my $mmdbLog="$fileName.log"; @@ -73,7 +73,7 @@ my $dbTotal=$obj->{"data"}->{"total"}; open(MMDBLOG, "+>>$mmdbLog"); my $gmtDatestring = strftime "%Y-%m-%d %H:%M:%S", gmtime; -my $list=$obj->{"data"}->{"list"}; +my $list=$obj->{"data"}->{"geoip_list"}; my $JSON =JSON->new->allow_nonref; my $data = $JSON->encode($list); my $arraydata=decode_json($data); |
