summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlijinyang <[email protected]>2024-04-30 11:04:33 +0800
committerlijinyang <[email protected]>2024-04-30 11:04:33 +0800
commit88164939dd3bd5f945984d03998d59fd239b8e6c (patch)
treea60ae3c432e89c355b7a3d898e1eabf1705910c6
parent99dac5fe4c2fc3ce5ba2d444ff15ba993ec7396b (diff)
feat:数字地平线相关接口开发24.01
-rw-r--r--cn-admin/src/main/resources/db/R__AZ_magic_api_file.sql6
1 files changed, 6 insertions, 0 deletions
diff --git a/cn-admin/src/main/resources/db/R__AZ_magic_api_file.sql b/cn-admin/src/main/resources/db/R__AZ_magic_api_file.sql
index 10438bc..0f27093 100644
--- a/cn-admin/src/main/resources/db/R__AZ_magic_api_file.sql
+++ b/cn-admin/src/main/resources/db/R__AZ_magic_api_file.sql
@@ -373,6 +373,12 @@ INSERT INTO `magic_api_file` VALUES ('/api/v1/entity/graph/relation/summaryCount
INSERT INTO `magic_api_file` VALUES ('/api/v1/entity/graph/relation/summaryCount/关联实体数量.ms', '{\n \"properties\" : { },\n \"id\" : \"4118fc3a9cf2424b937665260c09b952\",\n \"script\" : null,\n \"groupId\" : \"9e0d68f5227d48b4b5f490196afdfcbc\",\n \"name\" : \"关联实体数量\",\n \"createTime\" : null,\n \"updateTime\" : 1703656975879,\n \"lock\" : null,\n \"createBy\" : null,\n \"updateBy\" : \"th\",\n \"path\" : \"/{entityType}\",\n \"method\" : \"GET\",\n \"parameters\" : [ {\n \"name\" : \"resource\",\n \"value\" : \"safebrowsing.googleapis.com\",\n \"description\" : null,\n \"required\" : true,\n \"dataType\" : \"String\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : null,\n \"error\" : null,\n \"expression\" : null,\n \"children\" : null\n }, {\n \"name\" : \"startTime\",\n \"value\" : \"\",\n \"description\" : null,\n \"required\" : false,\n \"dataType\" : \"Long\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : null,\n \"error\" : null,\n \"expression\" : null,\n \"children\" : null\n }, {\n \"name\" : \"endTime\",\n \"value\" : \"\",\n \"description\" : null,\n \"required\" : false,\n \"dataType\" : \"Long\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : null,\n \"error\" : null,\n \"expression\" : null,\n \"children\" : null\n } ],\n \"options\" : [ ],\n \"requestBody\" : \"\",\n \"headers\" : [ {\n \"name\" : \"cn-Authorization\",\n \"value\" : \"cntest\",\n \"description\" : null,\n \"required\" : false,\n \"dataType\" : \"String\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : null,\n \"error\" : null,\n \"expression\" : null,\n \"children\" : null\n } ],\n \"paths\" : [ {\n \"name\" : \"entityType\",\n \"value\" : \"domain\",\n \"description\" : null,\n \"required\" : true,\n \"dataType\" : \"String\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : null,\n \"error\" : null,\n \"expression\" : null,\n \"children\" : null\n } ],\n \"responseBody\" : \"{\\n \\\"code\\\": 200,\\n \\\"data\\\": {\\n \\\"appCount\\\": 1,\\n \\\"domainCount\\\": null\\n },\\n \\\"time\\\": \\\"2023-08-31 03:45:31\\\",\\n \\\"message\\\": \\\"success\\\",\\n \\\"status\\\": 200\\n}\",\n \"description\" : null,\n \"requestBodyDefinition\" : null,\n \"responseBodyDefinition\" : {\n \"name\" : \"\",\n \"value\" : \"\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Object\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ {\n \"name\" : \"code\",\n \"value\" : \"200\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Integer\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n }, {\n \"name\" : \"data\",\n \"value\" : \"\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Object\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ {\n \"name\" : \"appCount\",\n \"value\" : \"1\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Integer\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n }, {\n \"name\" : \"domainCount\",\n \"value\" : \"null\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Integer\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n } ]\n }, {\n \"name\" : \"time\",\n \"value\" : \"2023-08-31 03:45:31\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"String\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n }, {\n \"name\" : \"message\",\n \"value\" : \"success\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"String\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n }, {\n \"name\" : \"status\",\n \"value\" : \"200\",\n \"description\" : \"\",\n \"required\" : false,\n \"dataType\" : \"Integer\",\n \"type\" : null,\n \"defaultValue\" : null,\n \"validateType\" : \"\",\n \"error\" : \"\",\n \"expression\" : \"\",\n \"children\" : [ ]\n } ]\n }\n}\r\n================================\r\nimport net.geedge.common.utils.R as R;\r\nimport \'@/pre/timeHandleHalf\' as timeHandle;\r\nimport \'@get:/v1/entity/detail/ip/relate/apps\' as getIpApps;\r\nimport \'@get:/v1/entity/detail/ip/relate/domains\' as getIpDomains;\r\nimport \'@get:/v1/entity/detail/app/relate/ips\' as getAppIps;\r\nimport \'@get:/v1/entity/detail/app/relate/domains\' as getAppDomains;\r\nimport \'@get:/v1/entity/detail/domain/relate/fqdns\' as getDomainFqdns;\r\nimport \'@get:/v1/entity/detail/domain/relate/ips\' as getDomainIps;\r\nimport \'@get:/v1/entity/detail/domain/relate/apps\' as getDomainsApps;\r\n/**\r\n * 入参整理 包括调用公共函数\r\n */\r\nvar parameter={\r\n \"entityType\":entityType,\r\n \"resource\":resource,\r\n \"startTime\":startTime,\r\n \"endTime\":endTime\r\n}\r\ntimeHandle(parameter);\r\nstartTime = parameter.startTime;\r\nendTime = parameter.endTime;\r\n\r\nvar data = {};\r\nif(\"ip\".equals(parameter.entityType)) {\r\n data.appCount = getIpApps().data.total;\r\n data.domainCount = getIpDomains().data.total;\r\n} else if(\"app\".equals(parameter.entityType)) {\r\n data.ipCount = getAppIps().data.total;\r\n data.domainCount = getAppDomains().data.total;\r\n} else if(\"domain\".equals(parameter.entityType)) {\r\n data.subDomainCount = getDomainFqdns().data.total;\r\n data.ipCount = getDomainIps().data.total;\r\n data.appCount = getDomainsApps().data.total;\r\n}\r\n\r\n\r\nreturn R.ok(data).put(\"status\",200);');
INSERT INTO `magic_api_file` VALUES ('/api/v1/entity/group.json', '{\n \"properties\" : { },\n \"id\" : \"d12747533faa48698e64aec0aae936bd\",\n \"name\" : \"entity\",\n \"type\" : \"api\",\n \"parentId\" : \"67d55368d07840ca80c04d7ade154d76\",\n \"path\" : \"/entity\",\n \"createTime\" : null,\n \"updateTime\" : 1685675361731,\n \"createBy\" : null,\n \"updateBy\" : \"ljy\",\n \"paths\" : [ ],\n \"options\" : [ ]\n}');
INSERT INTO `magic_api_file` VALUES ('/api/v1/group.json', '{\n \"properties\" : { },\n \"id\" : \"67d55368d07840ca80c04d7ade154d76\",\n \"name\" : \"v1\",\n \"type\" : \"api\",\n \"parentId\" : \"0\",\n \"path\" : \"v1\",\n \"createTime\" : 1685675319858,\n \"updateTime\" : null,\n \"createBy\" : \"ljy\",\n \"updateBy\" : null,\n \"paths\" : [ ],\n \"options\" : [ ]\n}');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/link/', 'this is directory');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/link/group.json', '{\r\n \"properties\" : { },\r\n \"id\" : \"615f1c25c1f442ff86d3813517406c09\",\r\n \"name\" : \"link\",\r\n \"type\" : \"api\",\r\n \"parentId\" : \"67d55368d07840ca80c04d7ade154d76\",\r\n \"path\" : \"/link\",\r\n \"createTime\" : 1714441540917,\r\n \"updateTime\" : null,\r\n \"createBy\" : \"admin\",\r\n \"updateBy\" : null,\r\n \"paths\" : [ ],\r\n \"options\" : [ ]\r\n}');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/link/Link丢包排行.ms', '{\r\n \"properties\" : { },\r\n \"id\" : \"b3044142252148cdb9e510b736a718c9\",\r\n \"script\" : null,\r\n \"groupId\" : \"615f1c25c1f442ff86d3813517406c09\",\r\n \"name\" : \"Link丢包排行\",\r\n \"createTime\" : null,\r\n \"updateTime\" : 1714445870069,\r\n \"lock\" : null,\r\n \"createBy\" : null,\r\n \"updateBy\" : \"admin\",\r\n \"path\" : \"/tcpLostBytesRatio/rank\",\r\n \"method\" : \"GET\",\r\n \"parameters\" : [ {\r\n \"name\" : \"direction\",\r\n \"value\" : \"in\",\r\n \"description\" : null,\r\n \"required\" : true,\r\n \"dataType\" : \"String\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n }, {\r\n \"name\" : \"startTime\",\r\n \"value\" : \"1714332965\",\r\n \"description\" : null,\r\n \"required\" : true,\r\n \"dataType\" : \"Long\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n }, {\r\n \"name\" : \"endTime\",\r\n \"value\" : \"1714442965\",\r\n \"description\" : null,\r\n \"required\" : true,\r\n \"dataType\" : \"Long\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n }, {\r\n \"name\" : \"pageNo\",\r\n \"value\" : \"1\",\r\n \"description\" : null,\r\n \"required\" : false,\r\n \"dataType\" : \"Integer\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n }, {\r\n \"name\" : \"pageSize\",\r\n \"value\" : \"20\",\r\n \"description\" : null,\r\n \"required\" : false,\r\n \"dataType\" : \"Integer\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n } ],\r\n \"options\" : [ ],\r\n \"requestBody\" : \"\",\r\n \"headers\" : [ ],\r\n \"paths\" : [ ],\r\n \"responseBody\" : \"{\\n \\\"status\\\": 200,\\n \\\"message\\\": \\\"OK\\\",\\n \\\"request_id\\\": \\\"dba9bfa0-00c9-47b7-a423-772181254f59\\\",\\n \\\"success\\\": true,\\n \\\"code\\\": \\\"20000666\\\",\\n \\\"job\\\": null,\\n \\\"output_mode\\\": \\\"json\\\",\\n \\\"statistics\\\": {\\n \\\"elapsed\\\": 2,\\n \\\"rows_read\\\": 40542,\\n \\\"bytes_read\\\": 1013550,\\n \\\"result_bytes\\\": 0,\\n \\\"result_rows\\\": 0\\n },\\n \\\"meta\\\": null,\\n \\\"data\\\": [],\\n \\\"originalUrl\\\": \\\"SELECT in_link_id AS linkId, ROUND(AVG(tcp_lost_bytes_ratio),4) AS tcpLostBytesRatio FROM metric_link WHERE stat_time >= 1714332965 AND stat_time < 1714442965 GROUP BY linkId ORDER BY tcpLostBytesRatio DESC LIMIT 20,20\\\"\\n}\",\r\n \"description\" : null,\r\n \"requestBodyDefinition\" : null,\r\n \"responseBodyDefinition\" : null\r\n}\r\n================================\r\nimport net.geedge.common.utils.FreeMarkerUtil as freeMarkerUtil;\r\nimport net.geedge.common.utils.JSONUtil as jsonUtil;\r\nimport \'@/pre/timeHandleNone\' as preHandle;\r\nimport \'@/public/postGalaxyResult\' as postGalaxyResult;\r\nimport \'@/pre/pageFieldsHandle\' as pageFieldsHandle;\r\n\r\n\r\n/**\r\n * 入参整理 包括调用公共函数\r\n */\r\nvar parameter={\r\n \"direction\":direction,\r\n \"startTime\":startTime,\r\n \"endTime\":endTime,\r\n \"pageNo\":pageNo,\r\n \"pageSize\":pageSize\r\n}\r\npageFieldsHandle(parameter);\r\npreHandle(parameter);\r\n/**\r\n * 接口sql相关内容整理 通过freemarker模板生成最后执行语句\r\n */\r\nvar q = \"{\\\"query\\\": \\\"SELECT <#if direction==\\\"in\\\"> in_link_id <#elseif direction==\\\"out\\\"> out_link_id <#else> CAST(arrayJoin(splitByChar(\'_\',concat(in_link_id,\'_\',out_link_id))) AS INT) </#if> AS linkId, ROUND(AVG(tcp_lost_bytes_ratio),4) AS tcpLostBytesRatio FROM metric_link WHERE stat_time >= ${startTime} AND stat_time < ${endTime} GROUP BY linkId ORDER BY tcpLostBytesRatio DESC <#if pageSize?default(\\\'\\\')?trim? length gt 0&&pageNo?default(\\\'\\\')?trim? length gt 0> LIMIT ${pageNo},${pageSize}</#if>\\\",\\\"option\\\": \\\"real_time\\\",\\\"format\\\": \\\"json\\\"}\"\r\nvar result = freeMarkerUtil.processTemplateIntoString(\"v1LinkTcpLostBytesRatioRank\",q,parameter);\r\n\r\n/**\r\n * 调用galaxy接口获取结果信息\r\n */\r\nvar res = jsonUtil.toBean(result,HashMap.class);\r\nvar galaxyRes = postGalaxyResult(res);\r\n\r\nreturn galaxyRes;');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/network/', 'this is directory');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/network/group.json', '{\r\n \"properties\" : { },\r\n \"id\" : \"019d8c550b6145cc9af0935414c1a95c\",\r\n \"name\" : \"network\",\r\n \"type\" : \"api\",\r\n \"parentId\" : \"67d55368d07840ca80c04d7ade154d76\",\r\n \"path\" : \"/network\",\r\n \"createTime\" : 1714444658914,\r\n \"updateTime\" : null,\r\n \"createBy\" : \"admin\",\r\n \"updateBy\" : null,\r\n \"paths\" : [ ],\r\n \"options\" : [ ]\r\n}');
+INSERT INTO `magic_api_file` VALUES ('/api/v1/network/网络性能统计.ms', '{\r\n \"properties\" : { },\r\n \"id\" : \"f9843a9c9ca04cd28ebede18b55b5841\",\r\n \"script\" : null,\r\n \"groupId\" : \"019d8c550b6145cc9af0935414c1a95c\",\r\n \"name\" : \"网络性能统计\",\r\n \"createTime\" : null,\r\n \"updateTime\" : 1714445550991,\r\n \"lock\" : null,\r\n \"createBy\" : null,\r\n \"updateBy\" : \"admin\",\r\n \"path\" : \"/performance/overview\",\r\n \"method\" : \"GET\",\r\n \"parameters\" : [ {\r\n \"name\" : \"startTime\",\r\n \"value\" : \"1714432965\",\r\n \"description\" : null,\r\n \"required\" : true,\r\n \"dataType\" : \"Long\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n }, {\r\n \"name\" : \"endTime\",\r\n \"value\" : \"1714442965\",\r\n \"description\" : null,\r\n \"required\" : true,\r\n \"dataType\" : \"Long\",\r\n \"type\" : null,\r\n \"defaultValue\" : null,\r\n \"validateType\" : null,\r\n \"error\" : null,\r\n \"expression\" : null,\r\n \"children\" : null\r\n } ],\r\n \"options\" : [ ],\r\n \"requestBody\" : \"\",\r\n \"headers\" : [ ],\r\n \"paths\" : [ ],\r\n \"responseBody\" : \"{\\n \\\"status\\\": 200,\\n \\\"message\\\": \\\"OK\\\",\\n \\\"request_id\\\": \\\"b2066b24-9cca-469c-8174-74568162e60b\\\",\\n \\\"success\\\": true,\\n \\\"code\\\": \\\"20000666\\\",\\n \\\"job\\\": null,\\n \\\"output_mode\\\": \\\"json\\\",\\n \\\"statistics\\\": {\\n \\\"elapsed\\\": 1,\\n \\\"rows_read\\\": 1725,\\n \\\"bytes_read\\\": 44850,\\n \\\"result_bytes\\\": 4,\\n \\\"result_rows\\\": 1\\n },\\n \\\"meta\\\": null,\\n \\\"data\\\": {\\n \\\"tcpLostBytesRatioAvg\\\": null,\\n \\\"avgTcpRttMsAvg\\\": null,\\n \\\"avgTcpRttMsP50\\\": null,\\n \\\"avgTcpRttMsP95\\\": null,\\n \\\"avgTcpRttMsP99\\\": null\\n },\\n \\\"originalUrl\\\": \\\"SELECT ROUND(AVG(tcp_lost_bytes_ratio), 4) AS tcpLostBytesRatioAvg, ROUND(AVG(avg_tcp_rtt_ms)) AS avgTcpRttMsAvg, ROUND(QUANTILE(avg_tcp_rtt_ms,0.5)) AS avgTcpRttMsP50, ROUND(QUANTILE(avg_tcp_rtt_ms,0.95)) AS avgTcpRttMsP95, ROUND(QUANTILE(avg_tcp_rtt_ms,0.99)) AS avgTcpRttMsP99 FROM metric_link WHERE stat_time >= 1714442965 AND stat_time < 1714442965\\\"\\n}\",\r\n \"description\" : null,\r\n \"requestBodyDefinition\" : null,\r\n \"responseBodyDefinition\" : null\r\n}\r\n================================\r\nimport net.geedge.common.utils.FreeMarkerUtil as freeMarkerUtil;\r\nimport net.geedge.common.utils.JSONUtil as jsonUtil;\r\nimport \'@/pre/timeHandleNone\' as preHandle;\r\nimport \'@/public/postGalaxyResult\' as postGalaxyResult;\r\nimport \'@/pre/pageFieldsHandle\' as pageFieldsHandle;\r\n\r\n\r\n/**\r\n * 入参整理 包括调用公共函数\r\n */\r\nvar parameter={\r\n \"startTime\":startTime,\r\n \"endTime\":endTime\r\n}\r\npageFieldsHandle(parameter);\r\npreHandle(parameter);\r\n/**\r\n * 接口sql相关内容整理 通过freemarker模板生成最后执行语句\r\n */\r\nvar q = \"{\\\"query\\\": \\\"SELECT ROUND(AVG(tcp_lost_bytes_ratio), 4) AS tcpLostBytesRatioAvg, ROUND(AVG(avg_tcp_rtt_ms)) AS avgTcpRttMsAvg, ROUND(QUANTILE(avg_tcp_rtt_ms,0.5)) AS avgTcpRttMsP50, ROUND(QUANTILE(avg_tcp_rtt_ms,0.95)) AS avgTcpRttMsP95, ROUND(QUANTILE(avg_tcp_rtt_ms,0.99)) AS avgTcpRttMsP99 FROM metric_link WHERE stat_time >= ${startTime} AND stat_time < ${endTime}\\\",\\\"option\\\": \\\"real_time\\\",\\\"format\\\": \\\"json\\\"}\"\r\nvar result = freeMarkerUtil.processTemplateIntoString(\"v1NetworkPerformanceOverview\",q,parameter);\r\n\r\n/**\r\n * 调用galaxy接口获取结果信息\r\n */\r\nvar res = jsonUtil.toBean(result,HashMap.class);\r\nvar galaxyRes = postGalaxyResult(res);\r\nif(galaxyRes.success){\r\n if(galaxyRes.data.length > 0){\r\n galaxyRes.data = galaxyRes.data[0];\r\n }\r\n}\r\n\r\nreturn galaxyRes;');
INSERT INTO `magic_api_file` VALUES ('/datasource/', 'this is directory');
INSERT INTO `magic_api_file` VALUES ('/datasource/trino.json', '{\r\n \"properties\" : { },\r\n \"id\" : \"f15597ee0629495bbc991402a4509a6c\",\r\n \"script\" : null,\r\n \"groupId\" : \"datasource:0\",\r\n \"name\" : \"trino\",\r\n \"createTime\" : 1692324357512,\r\n \"updateTime\" : 1692774370322,\r\n \"lock\" : null,\r\n \"createBy\" : \"admin\",\r\n \"updateBy\" : \"admin\",\r\n \"url\" : \"jdbc:trino://192.168.40.153:8053\",\r\n \"username\" : \"root\",\r\n \"password\" : \"\",\r\n \"key\" : \"trino\",\r\n \"maxRows\" : -1,\r\n \"driverClassName\" : \"io.trino.jdbc.TrinoDriver\",\r\n \"type\" : \"com.alibaba.druid.pool.DruidDataSource\"\r\n}');
INSERT INTO `magic_api_file` VALUES ('/function/', 'this is directory');