Merge branch 'main' into multi-tenant
This commit is contained in:
12
README.md
12
README.md
@@ -47,6 +47,12 @@ manager/admin123
|
|||||||
omcuser/a9tU53r
|
omcuser/a9tU53r
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# 系统工具依赖包
|
||||||
|
|
||||||
|
[ubuntu-iperf3](https://launchpad.net/ubuntu/+source/iperf3)
|
||||||
|
[ubuntu-libsctp1](https://launchpad.net/ubuntu/jammy/amd64/libsctp1/1.0.19+dfsg-1build1)
|
||||||
|
[ky10-aarch64](https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/aarch64/Packages/)
|
||||||
|
|
||||||
## 开发
|
## 开发
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -55,6 +61,10 @@ cd ./restagent
|
|||||||
# 下载依赖
|
# 下载依赖
|
||||||
go mod download
|
go mod download
|
||||||
|
|
||||||
|
# 信令跟踪需要安装 libpcap-dev > 1.10.1-4build1
|
||||||
|
apt install -y libpcap-dev
|
||||||
|
go env -w CGO_ENABLED='1'
|
||||||
|
|
||||||
# 调试启动
|
# 调试启动
|
||||||
go run restagent.go -c ./etc/restconf.yaml --env local
|
go run restagent.go -c ./etc/restconf.yaml --env local
|
||||||
|
|
||||||
@@ -75,7 +85,7 @@ go env -w GOOS=windows
|
|||||||
|
|
||||||
cd ./restagent
|
cd ./restagent
|
||||||
|
|
||||||
go build -o restagent -v -ldflags="-s -w -X 'be.ems/lib/global.Version=2.240620.1' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
|
go build -o restagent -v -ldflags="-s -w -X 'be.ems/lib/global.Version=24.09.20' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
|
||||||
|
|
||||||
go build -o crontask -v -ldflags="-s -w -X 'be.ems/lib/global.Version=2.240620.1' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
|
go build -o crontask -v -ldflags="-s -w -X 'be.ems/lib/global.Version=2.240620.1' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
|
||||||
|
|
||||||
|
|||||||
@@ -69,15 +69,11 @@ redis:
|
|||||||
# sleep: time delay for after write buffer (millisecond)
|
# sleep: time delay for after write buffer (millisecond)
|
||||||
# deadLine: timeout for io read and write (second)
|
# deadLine: timeout for io read and write (second)
|
||||||
mml:
|
mml:
|
||||||
port: 4100
|
|
||||||
port2: 5002
|
|
||||||
sleep: 200
|
sleep: 200
|
||||||
deadLine: 600
|
deadLine: 600
|
||||||
sizeRow: 600
|
sizeRow: 600
|
||||||
sizeCol: 128
|
sizeCol: 128
|
||||||
bufferSize: 65535
|
bufferSize: 65535
|
||||||
user: admin
|
|
||||||
password: admin
|
|
||||||
mmlHome: ./mmlhome
|
mmlHome: ./mmlhome
|
||||||
|
|
||||||
# Tracking configuration
|
# Tracking configuration
|
||||||
|
|||||||
@@ -890,7 +890,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
"param_config": {
|
"ne_config": {
|
||||||
"retFmt": "GetDB",
|
"retFmt": "GetDB",
|
||||||
"retMsg": "RetCode = %d operation succeeded\n\n",
|
"retMsg": "RetCode = %d operation succeeded\n\n",
|
||||||
"errMsg": "ErrorCode = %d operation failed: %s\n\n",
|
"errMsg": "ErrorCode = %d operation failed: %s\n\n",
|
||||||
@@ -903,27 +903,22 @@
|
|||||||
"cols": [
|
"cols": [
|
||||||
{
|
{
|
||||||
"name": "ne_type",
|
"name": "ne_type",
|
||||||
"display": "NE type",
|
"display": "NE Type",
|
||||||
"length": 10
|
"length": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ne_id",
|
"name": "param_display",
|
||||||
"display": "NE ID",
|
"display": "Parameter Display",
|
||||||
"length": 28
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "top_tag",
|
|
||||||
"display": "Parameters tag",
|
|
||||||
"length": 128
|
"length": 128
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "param_name",
|
"name": "param_name",
|
||||||
"display": "Parameter name list",
|
"display": "Parameter Name",
|
||||||
"length": 256
|
"length": 256
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "param_value",
|
"name": "param_value",
|
||||||
"display": "Parameter value list",
|
"display": "Parameter Value",
|
||||||
"length": 256
|
"length": 256
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -327,3 +327,148 @@ amf:
|
|||||||
filter: "^[A-Fa-f0-9]{6}"
|
filter: "^[A-Fa-f0-9]{6}"
|
||||||
display: "SD"
|
display: "SD"
|
||||||
comment: ""
|
comment: ""
|
||||||
|
systemFeatOpt:
|
||||||
|
display: "System FeatOpt"
|
||||||
|
sort: 11
|
||||||
|
list:
|
||||||
|
- name: "dnnCorrectionEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "dnnCorrectionEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "gutiReallocationInPRUEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "gutiReallocationInPRUEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "ueRadioCapabilityMatchEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "ueRadioCapabilityMatchEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "supportFollowOnRequestIndication"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "supportFollowOnRequestIndication"
|
||||||
|
comment: ""
|
||||||
|
- name: "triggerInitCtxSetupForAllNASProc"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "triggerInitCtxSetupForAllNASProc"
|
||||||
|
comment: ""
|
||||||
|
- name: "supportAllAllowedNssai"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "supportAllAllowedNssai"
|
||||||
|
comment: ""
|
||||||
|
- name: "implicitUnsubscribeEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "implicitUnsubscribeEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "supportRRCInactiveReport"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "supportRRCInactiveReport"
|
||||||
|
comment: ""
|
||||||
|
- name: "supportMappedSecurityContext"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "supportMappedSecurityContext"
|
||||||
|
comment: ""
|
||||||
|
- name: "optimizeSignalingProcedure"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "optimizeSignalingProcedure"
|
||||||
|
comment: ""
|
||||||
|
- name: "reAuthInServiceRequestProc"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "reAuthInServiceRequestProc"
|
||||||
|
comment: ""
|
||||||
|
- name: "skipGetSubscribedNssai"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "skipGetSubscribedNssai"
|
||||||
|
comment: ""
|
||||||
|
- name: "forceIdentityRequest"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "forceIdentityRequest"
|
||||||
|
comment: ""
|
||||||
|
- name: "cagEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "cagEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "imeiRestrictionEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "imeiRestrictionEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "checkSliceInTaEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "checkSliceInTaEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "uePolicyEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "uePolicyEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "smsOverNasEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "smsOverNasEnabled"
|
||||||
|
comment: ""
|
||||||
|
- name: "statusReportToOmc"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "statusReportToOmc"
|
||||||
|
comment: ""
|
||||||
|
- name: "statusReportEnabled"
|
||||||
|
type: "bool"
|
||||||
|
value: "0"
|
||||||
|
access: "read-write"
|
||||||
|
filter: '{"0":"false","1":"true"}'
|
||||||
|
display: "statusReportEnabled"
|
||||||
|
comment: ""
|
||||||
|
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ smsc:
|
|||||||
smpplink:
|
smpplink:
|
||||||
display: "SMPP Link List"
|
display: "SMPP Link List"
|
||||||
sort: 5
|
sort: 5
|
||||||
perms: "post,delete"
|
perms: "post,put,delete"
|
||||||
array:
|
array:
|
||||||
- name: "index"
|
- name: "index"
|
||||||
type: "int"
|
type: "int"
|
||||||
@@ -254,7 +254,7 @@ smsc:
|
|||||||
convprefix:
|
convprefix:
|
||||||
display: "Conv Prefix List"
|
display: "Conv Prefix List"
|
||||||
sort: 7
|
sort: 7
|
||||||
perms: "post,delete"
|
perms: "post,put,delete"
|
||||||
array:
|
array:
|
||||||
- name: "index"
|
- name: "index"
|
||||||
type: "int"
|
type: "int"
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
-- MariaDB dump 10.19 Distrib 10.6.16-MariaDB, for debian-linux-gnu (x86_64)
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `chart_graph`
|
-- Table structure for table `chart_graph`
|
||||||
--
|
--
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `chart_graph`;
|
DROP TABLE IF EXISTS `chart_graph`;
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
|
||||||
CREATE TABLE `chart_graph` (
|
CREATE TABLE `chart_graph` (
|
||||||
`row_id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
`row_id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
||||||
`row_type` enum('node','edge','combo') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '记录类型',
|
`row_type` enum('node','edge','combo') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '记录类型',
|
||||||
@@ -31,8 +28,7 @@ CREATE TABLE `chart_graph` (
|
|||||||
`label_cfg` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '标签文本-JSON配置',
|
`label_cfg` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '标签文本-JSON配置',
|
||||||
PRIMARY KEY (`row_id`) USING BTREE,
|
PRIMARY KEY (`row_id`) USING BTREE,
|
||||||
KEY `idx_group` (`row_group`) USING BTREE COMMENT '组'
|
KEY `idx_group` (`row_group`) USING BTREE COMMENT '组'
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=4321 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='图表-G6关系图数据';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='图表-G6关系图数据';
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Dumping data for table `chart_graph`
|
-- Dumping data for table `chart_graph`
|
||||||
@@ -135,49 +131,51 @@ INSERT INTO `chart_graph` VALUES (2338, 'edge', '5GC System Architecture3', 'N3I
|
|||||||
INSERT INTO `chart_graph` VALUES (2339, 'edge', '5GC System Architecture3', 'LMF~1706173845506~lan', 'line', 0, 0, 0, '', '', '', '', '', 'LMF', 'lan', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (2339, 'edge', '5GC System Architecture3', 'LMF~1706173845506~lan', 'line', 0, 0, 0, '', '', '', '', '', 'LMF', 'lan', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (2340, 'edge', '5GC System Architecture3', 'Base~1706176128676~MME', 'cubic-animate-circle-move', 0, 0, 0, '', '', '', '', '', 'Base', 'MME', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'S1-MME', '{\"autoRotate\":false,\"position\":\"end\",\"refX\":-15,\"refY\":-35,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (2340, 'edge', '5GC System Architecture3', 'Base~1706176128676~MME', 'cubic-animate-circle-move', 0, 0, 0, '', '', '', '', '', 'Base', 'MME', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'S1-MME', '{\"autoRotate\":false,\"position\":\"end\",\"refX\":-15,\"refY\":-35,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (2341, 'combo', '5GC System Architecture3', '5GC', 'rect', 10, 4.47597, -155.893, '[40,40]', '', '', '', '', '', '', '', '[40,40,40,40]', '', '[{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"IMS\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NSSF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"UPF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"PCF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"SMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"AMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"UDM\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"AUSF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NRF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"LMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NEF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"MME\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"N3IWF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"lan\",\"itemType\":\"node\"}]', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"grab\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"fill\":\"#318c7d\",\"fillOpacity\":0.1,\"height\":325.169599,\"highlight\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"lineWidth\":1,\"r\":203.94142,\"radius\":2,\"selected\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\",\"width\":407.88284}', 'Core Network', '{\"position\":\"top\",\"refX\":10,\"refY\":10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (2341, 'combo', '5GC System Architecture3', '5GC', 'rect', 10, 4.47597, -155.893, '[40,40]', '', '', '', '', '', '', '', '[40,40,40,40]', '', '[{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"IMS\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NSSF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"UPF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"PCF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"SMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"AMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"UDM\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"AUSF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NRF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"LMF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"NEF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"MME\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"N3IWF\",\"itemType\":\"node\"},{\"comboId\":\"5GC\",\"depth\":12,\"id\":\"lan\",\"itemType\":\"node\"}]', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"grab\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"fill\":\"#318c7d\",\"fillOpacity\":0.1,\"height\":325.169599,\"highlight\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"lineWidth\":1,\"r\":203.94142,\"radius\":2,\"selected\":{\"fill\":\"rgb(253, 253, 253)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\",\"width\":407.88284}', 'Core Network', '{\"position\":\"top\",\"refX\":10,\"refY\":10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4278, 'node', '5GC System Architecture', 'Base', 'image-animate-state', 0, -110, -30, '[60,50]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/base.svg', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', '(R)AN', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4366, 'node', '5GC System Architecture', 'Base', 'image-animate-state', 0, -110, -30, '[60,50]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/base.svg', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', '(R)AN', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4279, 'node', '5GC System Architecture', 'DN', 'image-animate-state', 0, 240, -30, '[60,60]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/earth3d-1.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'DN', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4367, 'node', '5GC System Architecture', 'DN', 'image-animate-state', 0, 240, -30, '[60,60]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/earth3d-1.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'DN', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4280, 'node', '5GC System Architecture', 'OMC', 'image-animate-state', 0, 240, -330, '[60,60]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/omc62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#783636\"}', 'OMC', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4368, 'node', '5GC System Architecture', 'OMC', 'image-animate-state', 0, 238.846, -329.519, '[60,60]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/omc62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#783636\"}', 'OMC', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4281, 'node', '5GC System Architecture', 'NR', 'image', 0, -153, -27, '[30,30]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lightning1.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', '', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#000000\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4369, 'node', '5GC System Architecture', 'NR', 'image', 0, -153, -27, '[30,30]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lightning1.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', '', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#000000\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4282, 'node', '5GC System Architecture', 'IMS', 'image-animate-state', 11, 170, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/ims62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f1212c\"}', 'IMS', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4370, 'node', '5GC System Architecture', 'IMS', 'image-animate-state', 11, 170, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/ims62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f1212c\"}', 'IMS', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4283, 'node', '5GC System Architecture', 'NSSF', 'image-animate-state', 12, -110, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nssf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NSSF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4371, 'node', '5GC System Architecture', 'SMSC', 'image-animate-state', 11, 238.918, -139.149, '[50,40]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/smsc.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'SMSC', '{\"offset\":0,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4284, 'node', '5GC System Architecture', 'UPF', 'image-animate-state', 13, 30, -30, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/upf6.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'UPF', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4372, 'node', '5GC System Architecture', 'NSSF', 'image-animate-state', 12, -110, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nssf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NSSF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4285, 'node', '5GC System Architecture', 'PCF', 'image-animate-state', 14, 100, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/pcf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'PCF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4373, 'node', '5GC System Architecture', 'UPF', 'image-animate-state', 13, 30, -30, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/upf6.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'UPF', '{\"offset\":-5,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4286, 'node', '5GC System Architecture', 'UE', 'image', 14, -201.589, -29.622, '[64,64]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/mobile.svg', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'UE', '{\"offset\":-10,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4374, 'node', '5GC System Architecture', 'PCF', 'image-animate-state', 14, 100, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/pcf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'PCF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4287, 'node', '5GC System Architecture', 'SMF', 'image-animate-state', 15, 30, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/smf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f0212c\"}', 'SMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4375, 'node', '5GC System Architecture', 'UE', 'image', 14, -201.589, -29.622, '[64,64]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/mobile.svg', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'UE', '{\"offset\":-10,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4288, 'node', '5GC System Architecture', 'AMF', 'image-animate-state', 16, -110, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/amf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'AMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4376, 'node', '5GC System Architecture', 'SMF', 'image-animate-state', 15, 30, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/smf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f0212c\"}', 'SMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4289, 'node', '5GC System Architecture', 'AUSF', 'image-animate-state', 16, -180, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/ausf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'AUSF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4377, 'node', '5GC System Architecture', 'AMF', 'image-animate-state', 16, -110, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/amf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'AMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4290, 'node', '5GC System Architecture', 'UDM', 'image-animate-state', 17, -40, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/udm62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'UDM', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4378, 'node', '5GC System Architecture', 'AUSF', 'image-animate-state', 16, -180, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/ausf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'AUSF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4291, 'node', '5GC System Architecture', 'NRF', 'image-animate-state', 19, 100, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nrf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NRF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4379, 'node', '5GC System Architecture', 'UDM', 'image-animate-state', 17, -40, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/udm62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'UDM', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4292, 'node', '5GC System Architecture', 'LMF', 'image-animate-state', 20, 170, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lmf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'LMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4380, 'node', '5GC System Architecture', 'NRF', 'image-animate-state', 19, 100, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nrf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NRF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4293, 'node', '5GC System Architecture', 'NEF', 'image-animate-state', 21, 30, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nef62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NEF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4381, 'node', '5GC System Architecture', 'LMF', 'image-animate-state', 20, 170, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lmf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'LMF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4294, 'node', '5GC System Architecture', 'MME', 'image-animate-state', 22, -180, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/mme62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'MME', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4382, 'node', '5GC System Architecture', 'NEF', 'image-animate-state', 21, 30, -260, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/nef62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'NEF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4295, 'node', '5GC System Architecture', 'N3IWF', 'image-animate-state', 23, -40, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/n3iwf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'N3IWF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4383, 'node', '5GC System Architecture', 'MME', 'image-animate-state', 22, -180, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/mme62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'MME', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4296, 'node', '5GC System Architecture', 'lan1', 'image', 24, -180, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#f6f4f4\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4384, 'node', '5GC System Architecture', 'N3IWF', 'image-animate-state', 23, -40, -130, '[60,50]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/n3iwf62.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#f5222d\"}', 'N3IWF', '{\"offset\":-15,\"position\":\"bottom\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":14,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4297, 'node', '5GC System Architecture', 'lan2', 'image', 24, -110, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#f8f7f7\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4385, 'node', '5GC System Architecture', 'lan7', 'image', 24, 238.892, -195.039, '[70,10]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN7', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4298, 'node', '5GC System Architecture', 'lan3', 'image', 24, -40, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4386, 'node', '5GC System Architecture', 'lan1', 'image', 24, -180, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN1', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#f6f4f4\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4299, 'node', '5GC System Architecture', 'lan4', 'image', 24, 30, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4387, 'node', '5GC System Architecture', 'lan2', 'image', 24, -110, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"transparent\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'LAN2', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#f8f7f7\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4300, 'node', '5GC System Architecture', 'lan5', 'image', 24, 100, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4388, 'node', '5GC System Architecture', 'lan3', 'image', 24, -40, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN3', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4301, 'node', '5GC System Architecture', 'lan6', 'image', 24, 170, -195, '[70,10]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4389, 'node', '5GC System Architecture', 'lan4', 'image', 24, 30, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN4', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4302, 'node', '5GC System Architecture', 'lan7', 'image', 24, 240, -195, '[70,10]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4390, 'node', '5GC System Architecture', 'lan5', 'image', 24, 100, -195, '[70,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN5', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4303, 'node', '5GC System Architecture', 'LAN', 'rect', 30, 30, -195, '[500,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '', '', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"#87cefa\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#87cefa\"}', '', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#000000\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4391, 'node', '5GC System Architecture', 'lan6', 'image', 24, 170, -195, '[70,10]', '{\"height\":25,\"img\":\"\",\"offset\":20,\"show\":false,\"width\":25}', '/svg/lan2.png', '{\"height\":0,\"show\":false,\"type\":\"circle\",\"width\":0}', '', '', '', '', '', '', '', '{\"cursor\":\"pointer\",\"fill\":\"transparent\",\"lineWidth\":1,\"radius\":4,\"stroke\":\"#ffffff\"}', 'LAN6', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#ffffff\",\"fontSize\":10,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4304, 'edge', '5GC System Architecture', 'NEF~1706494552592~lan5', 'line', 0, 0, 0, '', '', '', '', '', 'NEF', 'lan4', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4392, 'node', '5GC System Architecture', 'LAN', 'rect', 30, 30.0301, -195.517, '[500,10]', '{\"height\":25,\"img\":\"/svg/service.svg\",\"offset\":20,\"show\":false,\"width\":25}', '', '', '', '', '', '', '', '', '', '{\"active\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"fill\":\"rgb(250, 250, 250)\",\"lineWidth\":1,\"stroke\":\"rgb(224, 224, 224)\"},\"fill\":\"#87cefa\",\"highlight\":{\"fill\":\"rgb(223, 234, 255)\",\"lineWidth\":2,\"stroke\":\"#4572d9\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"fill\":\"rgb(247, 250, 255)\",\"lineWidth\":1,\"stroke\":\"rgb(191, 213, 255)\"},\"lineWidth\":1,\"radius\":4,\"selected\":{\"fill\":\"rgb(255, 255, 255)\",\"lineWidth\":4,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#87cefa\"}', '', '{\"offset\":0,\"position\":\"center\",\"style\":{\"fill\":\"#000000\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4305, 'edge', '5GC System Architecture', 'LMF~1706495015507~lan6', 'polyline', 0, 0, 0, '', '', '', '', '', 'LMF', 'lan6', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4393, 'edge', '5GC System Architecture', 'RAN~1704534829539~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'Base', 'UPF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":5,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#7b68ee\"}', 'N3', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":-10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4306, 'edge', '5GC System Architecture', 'OMC~1706495150020~lan7', 'polyline', 0, 0, 0, '', '', '', '', '', 'OMC', 'lan7', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4394, 'edge', '5GC System Architecture', 'N3IWF~1706496082968~lan6', 'polyline', 0, 0, 0, '', '', '', '', '', 'N3IWF', 'lan3', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4307, 'edge', '5GC System Architecture', 'AUSF~1706495243932~lan1', 'polyline', 0, 0, 0, '', '', '', '', '', 'AUSF', 'lan1', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4395, 'edge', '5GC System Architecture', 'NEF~1706494552592~lan5', 'line', 0, 0, 0, '', '', '', '', '', 'NEF', 'lan4', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4308, 'edge', '5GC System Architecture', 'AMF~1706495271064~lan2', 'polyline', 0, 0, 0, '', '', '', '', '', 'AMF', 'lan2', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4396, 'edge', '5GC System Architecture', 'LMF~1706495015507~lan6', 'polyline', 0, 0, 0, '', '', '', '', '', 'LMF', 'lan6', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4309, 'edge', '5GC System Architecture', 'NRF~1706495715971~lan3', 'polyline', 0, 0, 0, '', '', '', '', '', 'NRF', 'lan5', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4397, 'edge', '5GC System Architecture', 'OMC~1706495150020~lan7', 'polyline', 0, 0, 0, '', '', '', '', '', 'OMC', 'lan7', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4310, 'edge', '5GC System Architecture', 'SMF~1706495739277~lan4', 'polyline', 0, 0, 0, '', '', '', '', '', 'SMF', 'lan4', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4398, 'edge', '5GC System Architecture', 'AUSF~1706495243932~lan1', 'polyline', 0, 0, 0, '', '', '', '', '', 'AUSF', 'lan1', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4311, 'edge', '5GC System Architecture', 'IMS~1706496047466~lan5', 'polyline', 0, 0, 0, '', '', '', '', '', 'IMS', 'lan6', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4399, 'edge', '5GC System Architecture', 'AMF~1706495271064~lan2', 'polyline', 0, 0, 0, '', '', '', '', '', 'AMF', 'lan2', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4312, 'edge', '5GC System Architecture', 'N3IWF~1706496082968~lan6', 'polyline', 0, 0, 0, '', '', '', '', '', 'N3IWF', 'lan3', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4400, 'edge', '5GC System Architecture', 'NRF~1706495715971~lan3', 'polyline', 0, 0, 0, '', '', '', '', '', 'NRF', 'lan5', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4313, 'edge', '5GC System Architecture', 'RAN~1704534829539~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'Base', 'UPF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":5,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#7b68ee\"}', 'N3', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":-10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4401, 'edge', '5GC System Architecture', 'SMF~1706495739277~lan4', 'polyline', 0, 0, 0, '', '', '', '', '', 'SMF', 'lan4', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4314, 'edge', '5GC System Architecture', 'DN~1704534869360~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'UPF', 'DN', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":5,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#7b68ee\"}', 'N6', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":-10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4402, 'edge', '5GC System Architecture', 'IMS~1706496047466~lan5', 'polyline', 0, 0, 0, '', '', '', '', '', 'IMS', 'lan6', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4315, 'edge', '5GC System Architecture', 'SMF~1704765447548~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'SMF', 'UPF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'N4', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":3,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4403, 'edge', '5GC System Architecture', 'DN~1704534869360~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'UPF', 'DN', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":5,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#7b68ee\"}', 'N6', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":-10,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4316, 'edge', '5GC System Architecture', '5GC~1704764825481~Base', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'Base', 'AMF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'N2', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":-5,\"refY\":-2,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4404, 'edge', '5GC System Architecture', 'SMF~1704765447548~UPF', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'SMF', 'UPF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'N4', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":3,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4317, 'edge', '5GC System Architecture', 'MME~1706492758830~lan1', 'polyline', 0, 0, 0, '', '', '', '', '', 'MME', 'lan1', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4405, 'edge', '5GC System Architecture', '5GC~1704764825481~Base', 'line-animate-state', 0, 0, 0, '', '', '', '', '', 'Base', 'AMF', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', 'N2', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":-5,\"refY\":-2,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4318, 'edge', '5GC System Architecture', 'UDM~1706493787944~lan2', 'line', 0, 0, 0, '', '', '', '', '', 'UDM', 'lan3', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4406, 'edge', '5GC System Architecture', 'MME~1706492758830~lan1', 'polyline', 0, 0, 0, '', '', '', '', '', 'MME', 'lan1', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4319, 'edge', '5GC System Architecture', 'PCF~1706494120334~lan3', 'line', 0, 0, 0, '', '', '', '', '', 'PCF', 'lan5', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4407, 'edge', '5GC System Architecture', 'UDM~1706493787944~lan2', 'line', 0, 0, 0, '', '', '', '', '', 'UDM', 'lan3', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
INSERT INTO `chart_graph` VALUES (4320, 'edge', '5GC System Architecture', 'NSSF~1706494145341~lan4', 'polyline', 0, 0, 0, '', '', '', '', '', 'NSSF', 'lan2', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
INSERT INTO `chart_graph` VALUES (4408, 'edge', '5GC System Architecture', 'PCF~1706494120334~lan3', 'line', 0, 0, 0, '', '', '', '', '', 'PCF', 'lan5', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
|
INSERT INTO `chart_graph` VALUES (4409, 'edge', '5GC System Architecture', 'NSSF~1706494145341~lan4', 'polyline', 0, 0, 0, '', '', '', '', '', 'NSSF', 'lan2', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
|
INSERT INTO `chart_graph` VALUES (4410, 'edge', '5GC System Architecture', 'SMSC~1728441658350~LAN', 'polyline', 0, 0, 0, '', '', '', '', '', 'SMSC', 'lan7', '', '', '', '', '{\"active\":{\"lineWidth\":1,\"stroke\":\"rgb(95, 149, 255)\"},\"cursor\":\"pointer\",\"disable\":{\"lineWidth\":1,\"stroke\":\"rgb(245, 245, 245)\"},\"highlight\":{\"lineWidth\":2,\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"inactive\":{\"lineWidth\":1,\"stroke\":\"rgb(234, 234, 234)\"},\"lineWidth\":2,\"offset\":20,\"radius\":2,\"selected\":{\"lineWidth\":2,\"shadowBlur\":10,\"shadowColor\":\"rgb(95, 149, 255)\",\"stroke\":\"rgb(95, 149, 255)\",\"text-shape\":{\"fontWeight\":500}},\"stroke\":\"#ffffff\"}', '', '{\"autoRotate\":false,\"position\":\"middle\",\"refX\":0,\"refY\":0,\"style\":{\"fill\":\"#ffffff\",\"fontSize\":12,\"fontWeight\":500}}');
|
||||||
|
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ INSERT INTO `mml_command` VALUES (1594, 'OMC', 'neManagement', 'Network Element
|
|||||||
INSERT INTO `mml_command` VALUES (1595, 'OMC', 'neManagement', 'Network Element Management', 'add', 'neinfo', 'Add Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"false\",\"type\":\"string\"}]', 'Active');
|
INSERT INTO `mml_command` VALUES (1595, 'OMC', 'neManagement', 'Network Element Management', 'add', 'neinfo', 'Add Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"false\",\"type\":\"string\"}]', 'Active');
|
||||||
INSERT INTO `mml_command` VALUES (1596, 'OMC', 'neManagement', 'Network Element Management', 'mod', 'neinfo', 'Modify Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"}]', 'Active');
|
INSERT INTO `mml_command` VALUES (1596, 'OMC', 'neManagement', 'Network Element Management', 'mod', 'neinfo', 'Modify Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"}]', 'Active');
|
||||||
INSERT INTO `mml_command` VALUES (1597, 'OMC', 'neManagement', 'Network Element Management', 'del', 'neinfo', 'Delete Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"}]', 'Active');
|
INSERT INTO `mml_command` VALUES (1597, 'OMC', 'neManagement', 'Network Element Management', 'del', 'neinfo', 'Delete Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"}]', 'Active');
|
||||||
INSERT INTO `mml_command` VALUES (1598, 'OMC', 'neConfigManagement', 'NE Config Parameter Management', 'dsp', 'neconfig', 'Display NE Config Parameter', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"top_tag\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Parameter tag\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"tag\",\"optional\":\"true\",\"type\":\"string\"}]', 'Inactive');
|
INSERT INTO `mml_command` VALUES (1598, 'OMC', 'neConfigManagement', 'NE Config Parameter Management', 'dsp', 'neconfig', 'Display NE Config Parameter', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE Type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"param_display\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Parameters Display\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"paramDisplay\",\"optional\":\"true\",\"type\":\"string\"}]', 'Active');
|
||||||
INSERT INTO `mml_command` VALUES (1599, 'OMC', 'faultManagement', 'Fault Management', 'dsp', 'alarm', 'Display Alarm Information', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE UID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"alarm_code\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm code\",\"filter\":\"\",\"name\":\"alarmcode\",\"optional\":\"true\",\"type\":\"int\"},{\"alias\":\"orig_severity\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Original severity\",\"filter\":\"{\\\"Critical\\\":\\\"Critical\\\",\\\"Major\\\":\\\"Major\\\",\\\"Minor\\\":\\\"Minor\\\",\\\"Warning\\\":\\\"Warning\\\",\\\"Event\\\":\\\"Event\\\"}\",\"name\":\"origseverity\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"pv_flag\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event start time\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event end time\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"alarm_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm type\",\"filter\":\"{\\\"CommunicationAlarm\\\":\\\"CommunicationAlarm\\\",\\\"EquipmentAlarm\\\":\\\"EquipmentAlarm\\\",\\\"ProcessingFailure\\\":\\\"ProcessingFailure\\\",\\\"EnvironmentalAlarm\\\":\\\"EnvironmentalAlarm\\\",\\\"QualityOfServiceAlarm\\\":\\\"QualityOfServiceAlarm\\\"}\",\"name\":\"alarmtype\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"alarm_status\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm status\",\"filter\":\"\",\"name\":\"alarmstatus\",\"optional\":\"true\",\"type\":\"int\"}]', 'Active');
|
INSERT INTO `mml_command` VALUES (1599, 'OMC', 'faultManagement', 'Fault Management', 'dsp', 'alarm', 'Display Alarm Information', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE UID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"alarm_code\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm code\",\"filter\":\"\",\"name\":\"alarmcode\",\"optional\":\"true\",\"type\":\"int\"},{\"alias\":\"orig_severity\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Original severity\",\"filter\":\"{\\\"Critical\\\":\\\"Critical\\\",\\\"Major\\\":\\\"Major\\\",\\\"Minor\\\":\\\"Minor\\\",\\\"Warning\\\":\\\"Warning\\\",\\\"Event\\\":\\\"Event\\\"}\",\"name\":\"origseverity\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"pv_flag\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event start time\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event end time\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"alarm_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm type\",\"filter\":\"{\\\"CommunicationAlarm\\\":\\\"CommunicationAlarm\\\",\\\"EquipmentAlarm\\\":\\\"EquipmentAlarm\\\",\\\"ProcessingFailure\\\":\\\"ProcessingFailure\\\",\\\"EnvironmentalAlarm\\\":\\\"EnvironmentalAlarm\\\",\\\"QualityOfServiceAlarm\\\":\\\"QualityOfServiceAlarm\\\"}\",\"name\":\"alarmtype\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"alarm_status\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm status\",\"filter\":\"\",\"name\":\"alarmstatus\",\"optional\":\"true\",\"type\":\"int\"}]', 'Active');
|
||||||
INSERT INTO `mml_command` VALUES (1600, 'OMC', 'systemCommand', 'Linux System Command', 'run', 'shell', 'Run Shell Command', '[{\"alias\":\"cmd\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Shell command\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]', 'Inactive');
|
INSERT INTO `mml_command` VALUES (1600, 'OMC', 'systemCommand', 'Linux System Command', 'run', 'shell', 'Run Shell Command', '[{\"alias\":\"cmd\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Shell command\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]', 'Inactive');
|
||||||
INSERT INTO `mml_command` VALUES (1601, 'OMC', 'licenseManagement', 'License Management', 'dsp', 'licenseinfo', 'Display NE License Information', '[{\"alias\":\"neType\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"neId\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"}]', 'Inactive');
|
INSERT INTO `mml_command` VALUES (1601, 'OMC', 'licenseManagement', 'License Management', 'dsp', 'licenseinfo', 'Display NE License Information', '[{\"alias\":\"neType\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"neId\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"}]', 'Inactive');
|
||||||
|
|||||||
@@ -56,23 +56,23 @@ INSERT INTO `mml_http_map` VALUES (13, 'OMC', 'lst', 'operationlog', 'Get', '/ap
|
|||||||
INSERT INTO `mml_http_map` VALUES (14, 'OMC', 'lst', 'securitylog', 'Get', '/api/rest/dataManagement/v1/omc_db/security_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Security Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"account_name\",\r\n \"display\": \"Account ID\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"op_ip\",\r\n \"display\": \"Source IP address\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_type\",\r\n \"display\": \"Opration type\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"op_content\",\r\n \"display\": \"Operation content\",\r\n \"length\": 50\r\n },\r\n {\r\n \"name\": \"op_result\",\r\n \"display\": \"Operation result\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_time\",\r\n \"display\": \"Operation log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (14, 'OMC', 'lst', 'securitylog', 'Get', '/api/rest/dataManagement/v1/omc_db/security_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Security Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"account_name\",\r\n \"display\": \"Account ID\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"op_ip\",\r\n \"display\": \"Source IP address\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_type\",\r\n \"display\": \"Opration type\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"op_content\",\r\n \"display\": \"Operation content\",\r\n \"length\": 50\r\n },\r\n {\r\n \"name\": \"op_result\",\r\n \"display\": \"Operation result\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_time\",\r\n \"display\": \"Operation log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (15, 'OMC', 'lst', 'alarmlog', 'Get', '/api/rest/dataManagement/v1/omc_db/alarm_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Alarm Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"alarm_seq\",\r\n \"display\": \"Alarm sequence\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"alarm_id\",\r\n \"display\": \"Alarm ID\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"event_time\",\r\n \"display\": \"Alarm event time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (15, 'OMC', 'lst', 'alarmlog', 'Get', '/api/rest/dataManagement/v1/omc_db/alarm_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Alarm Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"alarm_seq\",\r\n \"display\": \"Alarm sequence\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"alarm_id\",\r\n \"display\": \"Alarm ID\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"event_time\",\r\n \"display\": \"Alarm event time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (16, 'OMC', 'dsp', 'licenseinfo', 'Get', '/api/rest/systemManagement/v1/licenseInfo', '/%s', NULL, NULL, '{}', '{\r\n \"retFmt\": \"GetNF\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE License Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"neType\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"neId\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"serialNum\",\r\n \"display\": \"Serial No\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"capability\",\r\n \"display\": \"License capability\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"capUsed\",\r\n \"display\": \"License used\",\r\n \"length\": 11\r\n }, \r\n {\r\n \"name\": \"featureEnabled\",\r\n \"display\": \"Feature enabled\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"expiryDate\",\r\n \"display\": \"License expiry date\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (16, 'OMC', 'dsp', 'licenseinfo', 'Get', '/api/rest/systemManagement/v1/licenseInfo', '/%s', NULL, NULL, '{}', '{\r\n \"retFmt\": \"GetNF\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE License Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"neType\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"neId\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"serialNum\",\r\n \"display\": \"Serial No\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"capability\",\r\n \"display\": \"License capability\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"capUsed\",\r\n \"display\": \"License used\",\r\n \"length\": 11\r\n }, \r\n {\r\n \"name\": \"featureEnabled\",\r\n \"display\": \"Feature enabled\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"expiryDate\",\r\n \"display\": \"License expiry date\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (17, 'OMC', 'lst', 'systemlog', 'Get', '/api/rest/dataManagement/v1/tenants_db/system_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"System Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"process_type\",\r\n \"display\": \"Process type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"process_name\",\r\n \"display\": \"Process name\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"user_name\",\r\n \"display\": \"User name\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"process_id\",\r\n \"display\": \"Process ID\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"start_time\",\r\n \"display\": \"Start time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"end_time\",\r\n \"display\": \"End time\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (17, 'OMC', 'lst', 'systemlog', 'Get', '/api/rest/dataManagement/v1/omc_db/system_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"System Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"process_type\",\r\n \"display\": \"Process type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"process_name\",\r\n \"display\": \"Process name\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"user_name\",\r\n \"display\": \"User name\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"process_id\",\r\n \"display\": \"Process ID\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"start_time\",\r\n \"display\": \"Start time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"end_time\",\r\n \"display\": \"End time\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (18, 'OMC', 'lst', 'eventlog', 'Get', '/api/rest/dataManagement/v1/tenants_db/event_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Event Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event time\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (18, 'OMC', 'lst', 'eventlog', 'Get', '/api/rest/dataManagement/v1/omc_db/event_log', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Event Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event time\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (19, 'OMC', 'lst', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/tenants_db/mml_command', NULL, NULL, '?loc=`status`=\'Active\'', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"OMC MML Command List\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Object\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"mml_display\",\r\n \"display\": \"MML description\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (19, 'OMC', 'lst', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/omc_db/mml_command', NULL, NULL, '?loc=`status`=\'Active\'', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"OMC MML Command List\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Object\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"mml_display\",\r\n \"display\": \"MML description\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (20, 'OMC', 'help', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/tenants_db/mml_command', NULL, NULL, '?SQL=select+operation,object,mml_display,json_extract(param_json,\'$[*].name\')+as+params+from+mml_command', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"OMC MML Command Help List\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Object\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"params\",\r\n \"display\": \"Parameter list\",\r\n \"length\": 128\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (20, 'OMC', 'help', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/omc_db/mml_command', NULL, NULL, '?SQL=select+operation,object,mml_display,json_extract(param_json,\'$[*].name\')+as+params+from+mml_command', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"OMC MML Command Help List\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Object\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"params\",\r\n \"display\": \"Parameter list\",\r\n \"length\": 128\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (21, 'OMC', 'dsp', 'nelink', 'Get', '/api/rest/dataManagement/v1/tenants_db/ne_link', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Network Element Link\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"interface\",\r\n \"display\": \"Interface\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"status\",\r\n \"display\": \"Status\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"created_at\",\r\n \"display\": \"Timestamp\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (21, 'OMC', 'dsp', 'nelink', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_link', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Network Element Link\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"interface\",\r\n \"display\": \"Interface\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"status\",\r\n \"display\": \"Status\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"created_at\",\r\n \"display\": \"Timestamp\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (22, 'OMC', 'act', 'measuretask', 'Put', '/api/rest/dataManagement/v1/tenants_db/measure_task', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (22, 'OMC', 'act', 'measuretask', 'Put', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (23, 'OMC', 'dea', 'measuretask', 'Put', '/api/rest/dataManagement/v1/tenants_db/measure_task', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Inactive\"\r\n }\r\n ]\r\n}\r\n', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (23, 'OMC', 'dea', 'measuretask', 'Put', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Inactive\"\r\n }\r\n ]\r\n}\r\n', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (24, 'OMC', 'dsp', 'nbicm', 'Get', '/api/rest/dataManagement/v1/tenants_db/nbi_cm', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NBI Resources Management\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"RM UID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"user_label\",\r\n \"display\": \"User label\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"object_type\",\r\n \"display\": \"Object type\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"pv_flag\",\r\n \"display\": \"PV flag\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"value_json\",\r\n \"display\": \"NBI resource management\",\r\n \"length\": 200\r\n } \r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}\r\n');
|
INSERT INTO `mml_http_map` VALUES (24, 'OMC', 'dsp', 'nbicm', 'Get', '/api/rest/dataManagement/v1/omc_db/nbi_cm', NULL, NULL, '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NBI Resources Management\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"RM UID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"user_label\",\r\n \"display\": \"User label\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"object_type\",\r\n \"display\": \"Object type\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"pv_flag\",\r\n \"display\": \"PV flag\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"value_json\",\r\n \"display\": \"NBI resource management\",\r\n \"length\": 200\r\n } \r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}\r\n');
|
||||||
INSERT INTO `mml_http_map` VALUES (25, 'OMC', 'upg', 'neversion', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_version', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_version\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"string\",\r\n \"length\": 8,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (25, 'OMC', 'upg', 'neversion', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_version', NULL, NULL, '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_version\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"string\",\r\n \"length\": 8,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (26, 'OMC', 'dsp', 'neconfig', 'Get', '/api/rest/dataManagement/v1/tenants_db/param_config', NULL, 'SQL', '?SQL=select+ne_type,ne_id,top_tag,json_extract(param_json,\'$.*[*].name\')+AS+param_name,JSON_EXTRACT(param_json,\'$.*[*].value\')+as+param_value+from+param_config', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE Config Parameters\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"top_tag\",\r\n \"display\": \"Parameters tag\",\r\n \"length\": 128\r\n },\r\n {\r\n \"name\": \"param_name\",\r\n \"display\": \"Parameter name list\",\r\n \"length\": 256\r\n },\r\n {\r\n \"name\": \"param_value\",\r\n \"display\": \"Parameter value list\",\r\n \"length\": 256\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (26, 'OMC', 'dsp', 'neconfig', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_config', NULL, 'SQL', '?SQL=select+ne_type,param_display,JSON_UNQUOTE(json_extract(param_json,\'$[0].name\'))+as+param_name,JSON_UNQUOTE(json_extract(param_json,\'$[0].value\'))+as+param_value+from+ne_config', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE Config Parameters\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE Type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"param_display\",\r\n \"display\": \"Parameter Display\",\r\n \"length\": 128\r\n },\r\n {\r\n \"name\": \"param_name\",\r\n \"display\": \"Parameter Name\",\r\n \"length\": 256\r\n },\r\n {\r\n \"name\": \"param_value\",\r\n \"display\": \"Parameter Value\",\r\n \"length\": 256\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (27, 'OMC', 'lst', 'license', 'Get', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE License Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"serial_no\",\r\n \"display\": \"Serial no\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"capcity\",\r\n \"display\": \"License capcity\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"used\",\r\n \"display\": \"License used\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"feature_enabled\",\r\n \"display\": \"Feature enabled\",\r\n \"length\": 30\r\n },\r\n {\r\n \"name\": \"expiration_date\",\r\n \"display\": \"License expiration date\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
INSERT INTO `mml_http_map` VALUES (27, 'OMC', 'lst', 'license', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE License Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"serial_no\",\r\n \"display\": \"Serial no\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"capcity\",\r\n \"display\": \"License capcity\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"used\",\r\n \"display\": \"License used\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"feature_enabled\",\r\n \"display\": \"Feature enabled\",\r\n \"length\": 30\r\n },\r\n {\r\n \"name\": \"expiration_date\",\r\n \"display\": \"License expiration date\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (28, 'OMC', 'dep', 'license', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"DeploymentLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (28, 'OMC', 'dep', 'license', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"DeploymentLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (29, 'OMC', 'rel', 'license', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"InstallLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (29, 'OMC', 'rel', 'license', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"InstallLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (30, 'OMC', 'ins', 'license', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"InstallLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (30, 'OMC', 'ins', 'license', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"InstallLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (31, 'OMC', 'adj', 'license', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"AdjustmentLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (31, 'OMC', 'adj', 'license', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"callFunc\": \"AdjustmentLicense\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (32, 'OMC', 'exp', 'license', 'Put', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"cols\": [\r\n {\r\n \"name\": \"updated_at\",\r\n \"alias\": \"updated_at\",\r\n \"type\": \"string\",\r\n \"length\": 20,\r\n \"value\": \"2023-08-17 23:38:53\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (32, 'OMC', 'exp', 'license', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_license\",\r\n \"cols\": [\r\n {\r\n \"name\": \"updated_at\",\r\n \"alias\": \"updated_at\",\r\n \"type\": \"string\",\r\n \"length\": 20,\r\n \"value\": \"2023-08-17 23:38:53\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (33, 'OMC', 'uni', 'license', 'Delete', '/api/rest/dataManagement/v1/tenants_db/ne_license', NULL, 'loc', '?loc=', '{}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (33, 'OMC', 'uni', 'license', 'Delete', '/api/rest/dataManagement/v1/omc_db/ne_license', NULL, 'loc', '?loc=', '{}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
INSERT INTO `mml_http_map` VALUES (34, 'OMC', 'run', 'shell', 'Put', '/api/rest/systemCommand/v1/omc/shell', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"shell\",\r\n \"callFunc\": \"RunShellCommand\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
INSERT INTO `mml_http_map` VALUES (34, 'OMC', 'run', 'shell', 'Put', '/api/rest/systemCommand/v1/omc/shell', NULL, 'loc', '?loc=', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"shell\",\r\n \"callFunc\": \"RunShellCommand\"\r\n}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}');
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -7,57 +7,58 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `ne_host`;
|
DROP TABLE IF EXISTS `ne_host`;
|
||||||
|
CREATE TABLE `ne_host` (
|
||||||
CREATE TABLE `ne_host` (
|
|
||||||
`host_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主机主键',
|
`host_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主机主键',
|
||||||
`host_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机类型 ssh telnet',
|
`host_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '连接类型 ssh telnet redis',
|
||||||
`group_id` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '分组(0默认 1网元 2系统)',
|
`group_id` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '分组(0默认 1网元 2系统)',
|
||||||
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '标题名称',
|
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '标题名称',
|
||||||
`addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址',
|
`addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '主机地址',
|
||||||
`port` int NULL DEFAULT 22 COMMENT 'SSH端口',
|
`port` int DEFAULT '22' COMMENT '端口 22 4100 6379',
|
||||||
`user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机用户名',
|
`user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证用户名',
|
||||||
`auth_mode` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '认证模式(0密码 1主机私钥 2已免密)',
|
`auth_mode` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '认证模式(0密码 1主机私钥 2已免密)',
|
||||||
`password` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证密码',
|
`password` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证密码',
|
||||||
`private_key` varchar(6000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证私钥',
|
`private_key` varchar(6000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证私钥',
|
||||||
`pass_phrase` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证私钥密码',
|
`pass_phrase` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证私钥密码',
|
||||||
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`db_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '数据库名称',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`host_id`) USING BTREE,
|
PRIMARY KEY (`host_id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_group_title`(`host_type` ASC, `group_id` ASC, `title` ASC) USING BTREE COMMENT '同组内名称唯一'
|
UNIQUE KEY `uk_type_group_title` (`host_type`,`group_id`,`title`) USING BTREE COMMENT '同组内名称唯一'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元主机表' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元主机表';
|
||||||
|
|
||||||
-- 初始数据对应网元
|
-- 初始数据对应网元
|
||||||
INSERT INTO `ne_host` VALUES (1, 'ssh', '1', 'OMC_001_22', '127.0.0.1', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (1, 'ssh', '1', 'OMC_001_22', '127.0.0.1', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (2, 'telnet', '1', 'OMC_001_4100', '127.0.0.1', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (2, 'telnet', '1', 'OMC_001_4100', '127.0.0.1', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (3, 'ssh', '1', 'IMS_001_22', '172.16.5.110', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708314682742, NULL, 0);
|
INSERT INTO `ne_host` VALUES (3, 'ssh', '1', 'IMS_001_22', '172.16.5.110', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (4, 'telnet', '1', 'IMS_001_4100', '172.16.5.110', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (4, 'telnet', '1', 'IMS_001_4100', '172.16.5.110', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (5, 'ssh', '1', 'AMF_001_22', '172.16.5.120', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708314682742, NULL, 0);
|
INSERT INTO `ne_host` VALUES (5, 'ssh', '1', 'AMF_001_22', '172.16.5.120', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (6, 'telnet', '1', 'AMF_001_4100', '172.16.5.120', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (6, 'telnet', '1', 'AMF_001_4100', '172.16.5.120', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (7, 'ssh', '1', 'AUSF_001_22', '172.16.5.130', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (7, 'ssh', '1', 'AUSF_001_22', '172.16.5.130', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (8, 'telnet', '1', 'AUSF_001_4100', '172.16.5.130', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (8, 'telnet', '1', 'AUSF_001_4100', '172.16.5.130', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (9, 'ssh', '1', 'UDM_001_22', '172.16.5.140', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (9, 'ssh', '1', 'UDM_001_22', '172.16.5.140', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (10, 'telnet', '1', 'UDM_001_4100', '172.16.5.140', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (10, 'telnet', '1', 'UDM_001_4100', '172.16.5.140', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (11, 'ssh', '1', 'SMF_001_22', '172.16.5.150', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (11, 'redis', '1', 'UDM_001_6379', '172.16.5.140', 6379, 'udmdb', '0', 'nO3fEhtuKuBkQE5ozsUhNfzn02vhnyxYTEiPn2CIlr4=', '', '', '0', '', 'supervisor', 1728989383529, 'supervisor', 1729065073516);
|
||||||
INSERT INTO `ne_host` VALUES (12, 'telnet', '1', 'SMF_001_4100', '172.16.5.150', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (12, 'ssh', '1', 'SMF_001_22', '172.16.5.150', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (13, 'ssh', '1', 'PCF_001_22', '172.16.5.160', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (13, 'telnet', '1', 'SMF_001_4100', '172.16.5.150', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (14, 'telnet', '1', 'PCF_001_4100', '172.16.5.160', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (14, 'ssh', '1', 'PCF_001_22', '172.16.5.160', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (15, 'ssh', '1', 'NSSF_001_22', '172.16.5.170', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (15, 'telnet', '1', 'PCF_001_4100', '172.16.5.160', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (16, 'telnet', '1', 'NSSF_001_4100', '172.16.5.170', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (16, 'ssh', '1', 'NSSF_001_22', '172.16.5.170', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (17, 'ssh', '1', 'NRF_001_22', '172.16.5.180', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (17, 'telnet', '1', 'NSSF_001_4100', '172.16.5.170', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (18, 'telnet', '1', 'NRF_001_4100', '172.16.5.180', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (18, 'ssh', '1', 'NRF_001_22', '172.16.5.180', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (19, 'ssh', '1', 'UPF_001_22', '172.16.5.190', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (19, 'telnet', '1', 'NRF_001_4100', '172.16.5.180', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (20, 'telnet', '1', 'UPF_001_4100', '172.16.5.190', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (20, 'ssh', '1', 'UPF_001_22', '172.16.5.190', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (21, 'telnet', '1', 'UPF_001_5002', '172.16.5.190', 5002, 'admin', '0', '', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (21, 'telnet', '1', 'UPF_001_4100', '172.16.5.190', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (22, 'ssh', '1', 'LMF_001_22', '172.16.5.200', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (22, 'telnet', '1', 'UPF_001_5002', '172.16.5.190', 5002, 'admin', '0', '', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (23, 'telnet', '1', 'LMF_001_4100', '172.16.5.200', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (23, 'ssh', '1', 'LMF_001_22', '172.16.5.200', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (24, 'ssh', '1', 'NEF_001_22', '172.16.5.210', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (24, 'telnet', '1', 'LMF_001_4100', '172.16.5.200', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (25, 'telnet', '1', 'NEF_001_4100', '172.16.5.210', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (25, 'ssh', '1', 'NEF_001_22', '172.16.5.210', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (26, 'ssh', '1', 'MME_001_22', '172.16.5.220', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (26, 'telnet', '1', 'NEF_001_4100', '172.16.5.210', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (27, 'telnet', '1', 'MME_001_4100', '172.16.5.220', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (27, 'ssh', '1', 'MME_001_22', '172.16.5.220', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
INSERT INTO `ne_host` VALUES (28, 'ssh', '1', 'N3IWF_001_22', '172.16.5.230', 22, 'omcuser', '0', 'E4Tm7TQuydT1aOXXYvjAIUnSSwqSPaeZ59Ls4qRcxZU=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (28, 'telnet', '1', 'MME_001_4100', '172.16.5.220', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
INSERT INTO `ne_host` VALUES (29, 'telnet', '1', 'N3IWF_001_4100', '172.16.5.230', 4100, 'admin', '0', 'gsjnG8iYpON7T9ae21l955gZi8RRsBWr2WRP31x6ENg=', '', '', '', 'admin', 1708333292882, NULL, 0);
|
INSERT INTO `ne_host` VALUES (29, 'ssh', '1', 'N3IWF_001_22', '172.16.5.230', 22, 'omcuser', '2', '', '', '', '', '', 'supervisor', 1729063407329, 'supervisor', 1729063818372);
|
||||||
|
INSERT INTO `ne_host` VALUES (30, 'telnet', '1', 'N3IWF_001_4100', '172.16.5.230', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'supervisor', 1729063407333, 'supervisor', 1729063818375);
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS=1;
|
SET FOREIGN_KEY_CHECKS=1;
|
||||||
|
|||||||
@@ -7,47 +7,44 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `ne_info`;
|
DROP TABLE IF EXISTS `ne_info`;
|
||||||
|
|
||||||
CREATE TABLE `ne_info` (
|
CREATE TABLE `ne_info` (
|
||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
||||||
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`port` int NULL DEFAULT 0 COMMENT '端口',
|
`port` int DEFAULT '0' COMMENT '端口',
|
||||||
`pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'PNF' COMMENT '\'PNF\',\'VNF\'',
|
`pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'PNF' COMMENT '''PNF'',''VNF''',
|
||||||
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '省份地域',
|
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '省份地域',
|
||||||
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-',
|
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-',
|
||||||
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'MAC地址',
|
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'MAC地址',
|
||||||
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)',
|
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet)-来自ne_host表',
|
||||||
`status` int NULL DEFAULT 0 COMMENT '0离线 1在线 2配置待下发',
|
`status` int DEFAULT '0' COMMENT '0离线 1在线 2配置待下发',
|
||||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `ux_netype_neid`(`ne_type` ASC, `ne_id` ASC) USING BTREE
|
UNIQUE KEY `ux_netype_neid` (`ne_type`,`ne_id`) USING BTREE
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元信息表 对应一个网元版本、网元授权、网元主机' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元信息表 对应一个网元版本、网元授权、网元主机';
|
||||||
|
|
||||||
-- 初始网元数据
|
-- 初始网元数据
|
||||||
INSERT INTO `ne_info` VALUES (1, 'OMC', '001', '4400HXOMC001', 'OMC_001', '172.16.5.100', 33030, 'PNF', '-', '-', '-', '-', '1,2', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (1, 'OMC', '001', '4400HXOMC001', 'OMC_001', '172.16.5.100', 33030, 'PNF', '-', '-', '-', '-', '1,2', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (2, 'IMS', '001', '4400HXIMS001', 'IMS_001', '172.16.5.110', 33030, 'PNF', '-', '-', '-', '-', '3,4', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (2, 'IMS', '001', '4400HXIMS001', 'IMS_001', '172.16.5.110', 33030, 'PNF', '-', '-', '-', '-', '3,4', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (3, 'AMF', '001', '4400HXAMF001', 'AMF_001', '172.16.5.120', 33030, 'PNF', '-', '-', '-', '', '5,6', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (3, 'AMF', '001', '4400HXAMF001', 'AMF_001', '172.16.5.120', 33030, 'PNF', '-', '-', '-', '', '5,6', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (4, 'AUSF', '001', '4400HXAUSF001', 'AUSF_001', '172.16.5.130', 33030, 'PNF', '-', '-', '-', '', '7,8', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (4, 'AUSF', '001', '4400HXAUSF001', 'AUSF_001', '172.16.5.130', 33030, 'PNF', '-', '-', '-', '', '7,8', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (5, 'UDM', '001', '4400HXUDM001', 'UDM_001', '172.16.5.140', 33030, 'PNF', '-', '-', '-', '-', '9,10', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (5, 'UDM', '001', '4400HXUDM001', 'UDM_001', '172.16.5.140', 33030, 'PNF', '-', '-', '-', '-', '9,10,11', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (6, 'SMF', '001', '4400HXSMF001', 'SMF_001', '172.16.5.150', 33030, 'PNF', '-', '-', '-', '-', '11,12', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (6, 'SMF', '001', '4400HXSMF001', 'SMF_001', '172.16.5.150', 33030, 'PNF', '-', '-', '-', '-', '12,13', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (7, 'PCF', '001', '4400HXPCF001', 'PCF_001', '172.16.5.160', 33030, 'PNF', '-', '-', '-', '-', '13,14', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (7, 'PCF', '001', '4400HXPCF001', 'PCF_001', '172.16.5.160', 33030, 'PNF', '-', '-', '-', '-', '14,15', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (8, 'NSSF', '001', '4400HXNSF001', 'NSSF_001', '172.16.5.170', 33030, 'PNF', '-', '-', '-', '-', '15,16', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (8, 'NSSF', '001', '4400HXNSSF001', 'NSSF_001', '172.16.5.170', 33030, 'PNF', '-', '-', '-', '-', '16,17', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (9, 'NRF', '001', '4400HXNRF001', 'NRF_001', '172.16.5.180', 33030, 'PNF', '-', '-', '-', '-', '17,18', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (9, 'NRF', '001', '4400HXNRF001', 'NRF_001', '172.16.5.180', 33030, 'PNF', '-', '-', '-', '-', '18,19', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (10, 'UPF', '001', '4400HXUPF001', 'UPF_001', '172.16.5.190', 33030, 'PNF', '-', '-', '-', '', '19,20,21', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (10, 'UPF', '001', '4400HXUPF001', 'UPF_001', '172.16.5.190', 33030, 'PNF', '-', '-', '-', '', '20,21,22', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (11, 'LMF', '001', '4400HXLMF001', 'LMF_001', '172.16.5.200', 33030, 'PNF', '-', '-', '-', '-', '22,23', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (11, 'LMF', '001', '4400HXLMF001', 'LMF_001', '172.16.5.200', 33030, 'PNF', '-', '-', '-', '-', '23,24', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (12, 'NEF', '001', '4400HXNEF001', 'NEF_001', '172.16.5.210', 33030, 'PNF', '-', '-', '-', '-', '24,25', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (12, 'NEF', '001', '4400HXNEF001', 'NEF_001', '172.16.5.210', 33030, 'PNF', '-', '-', '-', '-', '25,26', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (13, 'MME', '001', '4400HXMME001', 'MME_001', '172.16.5.220', 33030, 'PNF', '-', '-', '-', '', '26,27', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (13, 'MME', '001', '4400HXMME001', 'MME_001', '172.16.5.220', 33030, 'PNF', '-', '-', '-', '', '27,28', 0, '', '', 0, '', 0);
|
||||||
INSERT INTO `ne_info` VALUES (14, 'N3IWF', '001', '4400HXN3IWF001', 'N3IWF_001', '172.16.5.230', 33030, 'PNF', '-', '-', '-', '', '28,29', 0, '', '', 0, '', 0);
|
INSERT INTO `ne_info` VALUES (14, 'N3IWF', '001', '4400HXN3IWF001', 'N3IWF_001', '172.16.5.230', 33030, 'PNF', '-', '-', '-', '', '29,30', 0, '', '', 0, '', 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS=1;
|
SET FOREIGN_KEY_CHECKS=1;
|
||||||
|
|||||||
@@ -7,24 +7,23 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `ne_license`;
|
DROP TABLE IF EXISTS `ne_license`;
|
||||||
|
CREATE TABLE `ne_license` (
|
||||||
CREATE TABLE `ne_license` (
|
|
||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||||
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
|
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
|
||||||
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '激活授权文件',
|
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '激活授权文件',
|
||||||
`serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '序列号',
|
`serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '序列号',
|
||||||
`expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '许可证到期日期',
|
`expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '许可证到期日期',
|
||||||
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态 0无效 1有效',
|
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 0无效 1有效',
|
||||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_id`(`ne_type` ASC, `ne_id` ASC) USING BTREE COMMENT '唯一网元类型和网元ID'
|
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元授权激活信息' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元授权激活信息';
|
||||||
|
|
||||||
-- 初始数据对应网元
|
-- 初始数据对应网元
|
||||||
INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0);
|
INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0);
|
||||||
|
|||||||
@@ -7,28 +7,27 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `ne_version`;
|
DROP TABLE IF EXISTS `ne_version`;
|
||||||
|
CREATE TABLE `ne_version` (
|
||||||
CREATE TABLE `ne_version` (
|
|
||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '当前包名',
|
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前包名',
|
||||||
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '当前版本',
|
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前版本',
|
||||||
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '当前软件包',
|
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前软件包',
|
||||||
`pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '上一版本包名',
|
`pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '上一版本包名',
|
||||||
`pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '上一版本',
|
`pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '上一版本',
|
||||||
`pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '上一版本软件包',
|
`pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本软件包',
|
||||||
`new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '新版本报名',
|
`new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '新版本报名',
|
||||||
`new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '新版本',
|
`new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '新版本',
|
||||||
`new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '新版软件包',
|
`new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版软件包',
|
||||||
`status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '当前状态 0无 1当前版本 2上一版本 3有新版本',
|
`status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '当前状态 0无 1当前版本 2上一版本 3有新版本',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_id`(`ne_type` ASC, `ne_id` ASC) USING BTREE COMMENT '唯一网元类型和ID'
|
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和ID'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元版本信息' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元版本信息';
|
||||||
|
|
||||||
-- 初始数据对应网元
|
-- 初始数据对应网元
|
||||||
INSERT INTO `ne_version` VALUES (1, 'OMC', '001', '', '', '', '', '', '', '', '', '', '0', 'supervisor', 1713928436957, '', 0);
|
INSERT INTO `ne_version` VALUES (1, 'OMC', '001', '', '', '', '', '', '', '', '', '', '0', 'supervisor', 1713928436957, '', 0);
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ INSERT INTO `sys_config` VALUES (107, 'config.sys.copyright', 'sys.copyright', '
|
|||||||
INSERT INTO `sys_config` VALUES (108, 'config.sys.i18nOpen', 'sys.i18n.open', 'true', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nOpenRemark');
|
INSERT INTO `sys_config` VALUES (108, 'config.sys.i18nOpen', 'sys.i18n.open', 'true', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nOpenRemark');
|
||||||
INSERT INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.default', 'en_US', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nDefaultRemark');
|
INSERT INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.default', 'en_US', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nDefaultRemark');
|
||||||
INSERT INTO `sys_config` VALUES (110, 'config.sys.lockTime', 'sys.lockTime', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.lockTimeRemark');
|
INSERT INTO `sys_config` VALUES (110, 'config.sys.lockTime', 'sys.lockTime', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.lockTimeRemark');
|
||||||
INSERT INTO `sys_config` VALUES (111, 'config.sys.homePage', 'sys.homePage', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.homePageRemark');
|
INSERT INTO `sys_config` VALUES (111, 'config.sys.homePage', 'sys.homePage', 'configManage/neOverview/index', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.homePageRemark');
|
||||||
|
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|||||||
@@ -118,11 +118,11 @@ INSERT INTO `sys_dict_data` VALUES (1110, 1110, 'menu.fault.setRemark', '故障
|
|||||||
INSERT INTO `sys_dict_data` VALUES (1111, 1111, 'menu.perfRemark', '性能目录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1111, 1111, 'menu.perfRemark', '性能目录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1112, 1112, 'menu.perf.task', '任务管理', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1112, 1112, 'menu.perf.task', '任务管理', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1113, 1113, 'menu.perf.data', '性能数据', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1113, 1113, 'menu.perf.data', '性能数据', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1114, 1114, 'menu.perf.report', '性能报表', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1114, 1114, 'menu.perf.kpiOverView', '关键指标概览', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (1115, 1115, 'menu.perf.threshold', '性能门限', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1115, 1115, 'menu.perf.threshold', '性能门限', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1116, 1116, 'menu.perf.kpi', '黄金指标', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1116, 1116, 'menu.perf.kpi', '关键指标', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1117, 1117, 'menu.perf.customTarget', '自定义指标', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1117, 1117, 'menu.perf.customTarget', '自定义指标', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1118, 1118, 'menu.perf.set', '性能通用设置', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1118, 1118, 'menu.perf.kpiKeyTarget', '关键指标报表', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (1119, 1119, 'menu.mml', 'MML', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1119, 1119, 'menu.mml', 'MML', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1120, 1120, 'menu.mml.ne', '网元操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1120, 1120, 'menu.mml.ne', '网元操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1121, 1121, 'menu.mml.udm', 'UDM操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1121, 1121, 'menu.mml.udm', 'UDM操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -130,11 +130,11 @@ INSERT INTO `sys_dict_data` VALUES (1122, 1122, 'menu.mml.set', 'MML设置', 'i1
|
|||||||
INSERT INTO `sys_dict_data` VALUES (1123, 1123, 'menu.mml.omc', 'OMC操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1123, 1123, 'menu.mml.omc', 'OMC操作', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1124, 1124, 'menu.perf.taskRemark', '任务管理菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1124, 1124, 'menu.perf.taskRemark', '任务管理菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1125, 1125, 'menu.perf.dataRemark', '性能数据菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1125, 1125, 'menu.perf.dataRemark', '性能数据菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1126, 1126, 'menu.perf.reportRemark', '性能报表菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (1126, 1126, 'menu.perf.kpiOverViewRemark', '性能报表菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1127, 1127, 'menu.perf.thresholdRemark', '性能门限菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1127, 1127, 'menu.perf.thresholdRemark', '性能门限菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1128, 1128, 'menu.perf.kpiRemark', '黄金指标菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1128, 1128, 'menu.perf.kpiRemark', '黄金指标菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1129, 1129, 'menu.perf.customTargetRemark', '自定义指标菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1129, 1129, 'menu.perf.customTargetRemark', '自定义指标菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1130, 1130, 'menu.perf.setRemark', '性能通用设置菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (1130, 1130, 'menu.perf.setRemark', '性能通用设置菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1131, 1131, 'menu.mmlRemark', 'MML管理目录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1131, 1131, 'menu.mmlRemark', 'MML管理目录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1132, 1132, 'menu.mml.neRemark', '网元操作菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1132, 1132, 'menu.mml.neRemark', '网元操作菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1133, 1133, 'menu.mml.udmRemark', '网元UDM用户数据菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1133, 1133, 'menu.mml.udmRemark', '网元UDM用户数据菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -208,8 +208,8 @@ INSERT INTO `sys_dict_data` VALUES (1426, 1426, 'dictData.trace.user', '用户
|
|||||||
-- INSERT INTO `sys_dict_data` VALUES (1444, 1444, 'dictData.securityLogType.delete', '删除', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (1444, 1444, 'dictData.securityLogType.delete', '删除', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1445, 1445, 'dictData.securityLogType.lock', '锁定', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (1445, 1445, 'dictData.securityLogType.lock', '锁定', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1446, 1446, 'dictData.securityLogType.unlock', '解锁', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (1446, 1446, 'dictData.securityLogType.unlock', '解锁', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1447, 1447, 'dictData.securityLogType.reset', '重置', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1447, 1447, 'menu.tools.ping', '网络探测测试', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1448, 1448, 'dictData.securityLogType.deactivate', '停用', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1448, 1448, 'menu.tools.iperf', '网络性能测试', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (1449, 1449, 'dictData.jobSaveLog.no', '不记录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1449, 1449, 'dictData.jobSaveLog.no', '不记录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1450, 1450, 'dictData.jobSaveLog.yes', '记录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1450, 1450, 'dictData.jobSaveLog.yes', '记录', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1451, 1451, 'dictData.neVersionStatus.upload', '已上传', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1451, 1451, 'dictData.neVersionStatus.upload', '已上传', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -239,9 +239,9 @@ INSERT INTO `sys_dict_data` VALUES (1505, 1505, 'dictType.sys_yes_no', '系统
|
|||||||
INSERT INTO `sys_dict_data` VALUES (1506, 1506, 'dictType.sys_oper_type', '操作类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1506, 1506, 'dictType.sys_oper_type', '操作类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1507, 1507, 'dictType.sys_common_status', '系统状态', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1507, 1507, 'dictType.sys_common_status', '系统状态', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1508, 1508, 'dictType.trace_type', '跟踪类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1508, 1508, 'dictType.trace_type', '跟踪类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1509, 1509, 'dictType.operation_log_type', '操作日志类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1509, 1509, 'menu.tools.ps', '进程运行程序', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (1510, 1510, 'dictType.alarm_status', '告警日志类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1510, 1510, 'dictType.alarm_status', '告警日志类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (1511, 1511, 'dictType.security_log_type', '安全日志类型', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1511, 1511, 'menu.tools.net', '进程网络连接', 'i18n_zh', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (1512, 1512, 'dictType.ne_version_status', '网元软件版本状态', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1512, 1512, 'dictType.ne_version_status', '网元软件版本状态', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1513, 1513, 'dictType.i18n_en', '多语言-英文', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1513, 1513, 'dictType.i18n_en', '多语言-英文', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (1514, 1514, 'dictType.i18n_zh', '多语言-中文', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (1514, 1514, 'dictType.i18n_zh', '多语言-中文', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -591,7 +591,7 @@ INSERT INTO `sys_dict_data` VALUES (2080, 2080, 'log.operate.title.ws', 'WS会
|
|||||||
INSERT INTO `sys_dict_data` VALUES (2081, 2081, 'log.operate.title.neHost', '网元主机', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2081, 2081, 'log.operate.title.neHost', '网元主机', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2082, 2082, 'neHost.noData', '没有可访问主机信息数据!', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2082, 2082, 'neHost.noData', '没有可访问主机信息数据!', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2083, 2083, 'neHost.errKeyExists', '主机信息操作【{name}】失败,同组内名称已存在', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2083, 2083, 'neHost.errKeyExists', '主机信息操作【{name}】失败,同组内名称已存在', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2084, 2084, 'neHost.errByHostInfo', '连接主机失败,请检查连接参数后重试', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2084, 2084, 'neHost.errByHostInfo', '连接失败,请检查连接参数后重试', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2085, 2085, 'dictType.ne_host_type', '网元主机连接类型', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2085, 2085, 'dictType.ne_host_type', '网元主机连接类型', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2086, 2086, 'dictType.ne_host_groupId', '网元主机分组', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2086, 2086, 'dictType.ne_host_groupId', '网元主机分组', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2087, 2087, 'dictType.ne_host_authMode', '网元主机认证模式', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2087, 2087, 'dictType.ne_host_authMode', '网元主机认证模式', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
@@ -696,49 +696,4 @@ INSERT INTO `sys_dict_data` VALUES (2185, 2185, 'config.sys.homePageRemark', '
|
|||||||
INSERT INTO `sys_dict_data` VALUES (2186, 2186, 'menu.config.neOverview', '网元概览', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2186, 2186, 'menu.config.neOverview', '网元概览', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2187, 2187, 'menu.config.neOverviewRemark', '显示所有网元状态配置和license等概览信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2187, 2187, 'menu.config.neOverviewRemark', '显示所有网元状态配置和license等概览信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
||||||
|
|
||||||
-- 多租户
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11000, 11000, 'menu.security.tenant', '租户管理', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11001, 11000, 'menu.security.tenantRemark', '租户管理菜单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11002, 11000, 'menu.common.batchadd', '批量增加', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11003, 11000, 'menu.common.checkdel', '勾选删除', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11004, 11000, 'menu.common.loaddata', '加载数据', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11005, 11000, 'menu.common.export', '导出', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11006, 11000, 'menu.common.checkexport', '勾选导出', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11007, 11000, 'menu.common.batchdel', '批量删除', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11008, 11000, 'menu.common.overview', '概览', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11009, 11000, 'dictData.tenancy.imsi', 'SIM卡', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11010, 11000, 'dictData.tenancy.apn', '接入点', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11011, 11000, 'dictData.tenancy.slice', '网络切片', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11012, 11000, 'dictData.tenancy.ne', 'UPF', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11013, 11000, 'dictData.tenancy.radio', '无线基站', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11014, 11000, 'role.tenant', '租户', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11015, 11000, 'log.operate.title.sysTenant', '租户管理', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11016, 11000, 'menu.tenant.overview', '概览', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11017, 11000, 'menu.tenant.subscriber', '签约用户', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11018, 11000, 'menu.tenant.onlineUE', '在线数据会话', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11019, 11000, 'menu.tenant.radio', '基站信息', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11020, 11000, 'menu.tenant.imsCDR', '语音话单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11021, 11000, 'menu.tenant.smfCDR', '数据话单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11022, 11000, 'menu.tenant.ueEvent', '终端事件', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11023, 11000, 'menu.tenant.amfUE', '5G终端事件', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11024, 11000, 'menu.tenant.mmeUE', '4G终端事件', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11025, 11000, 'menu.tenant.log', '操作日志', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11026, 11000, 'dictData.match.exact', '精确匹配', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11027, 11000, 'dictData.match.fuzzy', '模糊匹配', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11028, 11000, 'dictData.match.prefix', '前缀匹配', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11029, 11000, 'dictData.match.suffix', '后缀匹配', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11030, 11000, 'menu.tenant.cdr', '话单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11031, 11000, 'menu.tenant.onlineIMS', '在线语音会话', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11032, 11000, 'tenant.noData', '没有可访问的租户数据!', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11033, 11000, 'tenant.errParentDelFlag', '上级租户【{name}】已删除,不允许新增', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11034, 11000, 'tenant.errParentStatus', '上级租户【{name}】停用,不允许新增', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11035, 11000, 'tenant.errNameExists', '操作租户【{name}】失败,租户名称已存在', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11036, 11000, 'tenant.errParentID', '操作租户【{name}】失败,上级租户不能是自己', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11037, 11000, 'tenant.errHasChildUse', '操作失败,该租户包含未停用的租赁资产数量:{num}', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11038, 11000, 'tenant.errHasUserUse', '不允许删除,租户已分配用户数:{num}', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11039, 11000, 'tenant.errAssetExists', '租赁资产[{type}:{key}]与现有的资产有冲突', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11040, 11000, 'menu.tenant.smscCDR', '短信话单', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11041, 11000, 'log.operate.export.tenantName', '租户名称', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (11042, 11000, 'menu.tenant.session', '会话', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
|||||||
@@ -118,11 +118,11 @@ INSERT INTO `sys_dict_data` VALUES (3110, 3110, 'menu.fault.setRemark', 'Fault G
|
|||||||
INSERT INTO `sys_dict_data` VALUES (3111, 3111, 'menu.perfRemark', 'Performance Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3111, 3111, 'menu.perfRemark', 'Performance Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3112, 3112, 'menu.perf.task', 'Performance Tasks', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
INSERT INTO `sys_dict_data` VALUES (3112, 3112, 'menu.perf.task', 'Performance Tasks', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3113, 3113, 'menu.perf.data', 'Performance Data', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
INSERT INTO `sys_dict_data` VALUES (3113, 3113, 'menu.perf.data', 'Performance Data', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3114, 3114, 'menu.perf.report', 'Performance Reports', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3114, 3114, 'menu.perf.kpiOverView', 'Key Performance Overview', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3115, 3115, 'menu.perf.threshold', 'Performance Thresholds', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3115, 3115, 'menu.perf.threshold', 'Performance Thresholds', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3116, 3116, 'menu.perf.kpi', 'Key Performance Indicators', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3116, 3116, 'menu.perf.kpi', 'Key Performance Indicators', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3117, 3117, 'menu.perf.customTarget', 'Custom Indicator Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3117, 3117, 'menu.perf.customTarget', 'Custom Indicator Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3118, 3118, 'menu.perf.set', 'Performance General Settings', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3118, 3118, 'menu.perf.kpiKeyTarget', 'Key Performance Reports', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3119, 3119, 'menu.mml', 'MML', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3119, 3119, 'menu.mml', 'MML', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3120, 3120, 'menu.mml.ne', 'NE Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3120, 3120, 'menu.mml.ne', 'NE Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3121, 3121, 'menu.mml.udm', 'UDM Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3121, 3121, 'menu.mml.udm', 'UDM Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -130,11 +130,11 @@ INSERT INTO `sys_dict_data` VALUES (3122, 3122, 'menu.mml.set', 'MML Settings',
|
|||||||
INSERT INTO `sys_dict_data` VALUES (3123, 3123, 'menu.mml.omc', 'OMC Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3123, 3123, 'menu.mml.omc', 'OMC Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3124, 3124, 'menu.perf.taskRemark', 'Task Management Menu', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
INSERT INTO `sys_dict_data` VALUES (3124, 3124, 'menu.perf.taskRemark', 'Task Management Menu', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3125, 3125, 'menu.perf.dataRemark', 'Performance Data Menu', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
INSERT INTO `sys_dict_data` VALUES (3125, 3125, 'menu.perf.dataRemark', 'Performance Data Menu', 'i18n_en', '', '', '1', 'supervisor', 1700000000000, NULL, 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3126, 3126, 'menu.perf.reportRemark', 'Performance Report Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (3126, 3126, 'menu.perf.kpiOverViewRemark', 'Performance Report Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3127, 3127, 'menu.perf.thresholdRemark', 'Performance Threshold Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3127, 3127, 'menu.perf.thresholdRemark', 'Performance Threshold Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3128, 3128, 'menu.perf.kpiRemark', 'Key Performance Indicator Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3128, 3128, 'menu.perf.kpiRemark', 'Key Performance Indicator Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3129, 3129, 'menu.perf.customTargetRemark', 'Custom Indicator Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3129, 3129, 'menu.perf.customTargetRemark', 'Custom Indicator Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3130, 3130, 'menu.perf.setRemark', 'Performance General Settings Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (3130, 3130, 'menu.perf.setRemark', 'Performance General Settings Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3131, 3131, 'menu.mmlRemark', 'MML Management Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3131, 3131, 'menu.mmlRemark', 'MML Management Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3132, 3132, 'menu.mml.neRemark', 'Network Element Operations Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3132, 3132, 'menu.mml.neRemark', 'Network Element Operations Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3133, 3133, 'menu.mml.udmRemark', 'Network Element UDM User Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3133, 3133, 'menu.mml.udmRemark', 'Network Element UDM User Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -208,8 +208,8 @@ INSERT INTO `sys_dict_data` VALUES (3426, 3426, 'dictData.trace.user', 'User Tra
|
|||||||
-- INSERT INTO `sys_dict_data` VALUES (3444, 3444, 'dictData.securityLogType.delete', 'Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (3444, 3444, 'dictData.securityLogType.delete', 'Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3445, 3445, 'dictData.securityLogType.lock', 'Locked', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (3445, 3445, 'dictData.securityLogType.lock', 'Locked', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3446, 3446, 'dictData.securityLogType.unlock', 'Unlock', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- INSERT INTO `sys_dict_data` VALUES (3446, 3446, 'dictData.securityLogType.unlock', 'Unlock', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3447, 3447, 'dictData.securityLogType.reset', 'Reset', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3447, 3447, 'menu.tools.ping', 'Net Probing Test', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3448, 3448, 'dictData.securityLogType.deactivate', 'Deactivate', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3448, 3448, 'menu.tools.iperf', 'Net Performance Test', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3449, 3449, 'dictData.jobSaveLog.no', 'No Record', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3449, 3449, 'dictData.jobSaveLog.no', 'No Record', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3450, 3450, 'dictData.jobSaveLog.yes', 'Recorded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3450, 3450, 'dictData.jobSaveLog.yes', 'Recorded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3451, 3451, 'dictData.neVersionStatus.upload', 'Uploaded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3451, 3451, 'dictData.neVersionStatus.upload', 'Uploaded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -239,9 +239,9 @@ INSERT INTO `sys_dict_data` VALUES (3505, 3505, 'dictType.sys_yes_no', 'System o
|
|||||||
INSERT INTO `sys_dict_data` VALUES (3506, 3506, 'dictType.sys_oper_type', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3506, 3506, 'dictType.sys_oper_type', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3507, 3507, 'dictType.sys_common_status', 'System Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3507, 3507, 'dictType.sys_common_status', 'System Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3508, 3508, 'dictType.trace_type', 'Trace Types', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3508, 3508, 'dictType.trace_type', 'Trace Types', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3509, 3509, 'dictType.operation_log_type', 'Operation Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3509, 3509, 'menu.tools.ps', 'Process Running Program', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3510, 3510, 'dictType.alarm_status', 'Alarm Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3510, 3510, 'dictType.alarm_status', 'Alarm Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (3511, 3511, 'dictType.security_log_type', 'Security Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3511, 3511, 'menu.tools.net', 'Process Net Connection', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (3512, 3512, 'dictType.ne_version_status', 'Network element software version status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3512, 3512, 'dictType.ne_version_status', 'Network element software version status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3513, 3513, 'dictType.i18n_en', 'Multi-language - English', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3513, 3513, 'dictType.i18n_en', 'Multi-language - English', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
INSERT INTO `sys_dict_data` VALUES (3514, 3514, 'dictType.i18n_en', 'Multi-language - Chinese', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
INSERT INTO `sys_dict_data` VALUES (3514, 3514, 'dictType.i18n_en', 'Multi-language - Chinese', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -591,7 +591,7 @@ INSERT INTO `sys_dict_data` VALUES (4080, 4080, 'log.operate.title.ws', 'WS Sess
|
|||||||
INSERT INTO `sys_dict_data` VALUES (4081, 4081, 'log.operate.title.neHost', 'NE Host', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4081, 4081, 'log.operate.title.neHost', 'NE Host', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4082, 4082, 'neHost.noData', 'There is no accessible host information data!', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4082, 4082, 'neHost.noData', 'There is no accessible host information data!', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4083, 4083, 'neHost.errKeyExists', 'Host information operation [{name}] failed, name already exists in the same group', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4083, 4083, 'neHost.errKeyExists', 'Host information operation [{name}] failed, name already exists in the same group', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4084, 4084, 'neHost.errByHostInfo', 'Failed to connect to the host, please check the connection parameters and try again', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4084, 4084, 'neHost.errByHostInfo', 'Connection Failed, Please check connection parameters and retry', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4085, 4085, 'dictType.ne_host_type', 'Network element host connection type', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4085, 4085, 'dictType.ne_host_type', 'Network element host connection type', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4086, 4086, 'dictType.ne_host_groupId', 'Network element host grouping', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4086, 4086, 'dictType.ne_host_groupId', 'Network element host grouping', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4087, 4087, 'dictType.ne_host_authMode', 'Network element host authentication mode', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4087, 4087, 'dictType.ne_host_authMode', 'Network element host authentication mode', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
@@ -696,49 +696,4 @@ INSERT INTO `sys_dict_data` VALUES (4185, 4185, 'config.sys.homePageRemark', 'Se
|
|||||||
INSERT INTO `sys_dict_data` VALUES (4186, 4186, 'menu.config.neOverview', 'NE Overview', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4186, 4186, 'menu.config.neOverview', 'NE Overview', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4187, 4187, 'menu.config.neOverviewRemark', 'Displays overview information such as status, configuration and license of all network elements', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4187, 4187, 'menu.config.neOverviewRemark', 'Displays overview information such as status, configuration and license of all network elements', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
|
||||||
|
|
||||||
-- 多租户
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14000, 14000, 'menu.security.tenant', 'Tenant Management', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14001, 14000, 'menu.security.tenantRemark', 'Tenant Management Menu', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14002, 14000, 'menu.common.batchadd', 'Batch Add', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14003, 14000, 'menu.common.checkdel', 'Check Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14004, 14000, 'menu.common.loaddata', 'Load Data', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14005, 14000, 'menu.common.export', 'Export', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14006, 14000, 'menu.common.checkexport', 'Check Export', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14007, 14000, 'menu.common.batchdel', 'Batch Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14008, 14000, 'menu.common.overview', 'Overview', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14009, 14000, 'dictData.tenancy.imsi', 'SIM Card', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14010, 14000, 'dictData.tenancy.apn', 'Access Point Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14011, 14000, 'dictData.tenancy.slice', 'Network Slice', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14012, 14000, 'dictData.tenancy.ne', 'UPF', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14013, 14000, 'dictData.tenancy.radio', 'Radio', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14014, 14000, 'role.tenant', 'Tenants', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14015, 14000, 'log.operate.title.sysTenant', 'Tenant Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14016, 14000, 'menu.tenant.overview', 'Overview', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14017, 14000, 'menu.tenant.subscriber', 'Subscribers', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14018, 14000, 'menu.tenant.onlineUE', 'Online Data Sessions', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14019, 14000, 'menu.tenant.radio', 'Radio Information', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14020, 14000, 'menu.tenant.imsCDR', 'Voice CDR', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14021, 14000, 'menu.tenant.smfCDR', 'Data CDR', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14022, 14000, 'menu.tenant.ueEvent', 'UE Event', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14023, 14000, 'menu.tenant.amfUE', '5G UE Event', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14024, 14000, 'menu.tenant.mmeUE', '4G UE Event', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14025, 14000, 'menu.tenant.log', 'Operation Logs', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14026, 14000, 'dictData.match.exact', 'Exact Match', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14027, 14000, 'dictData.match.fuzzy', 'Fuzzy Match', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14028, 14000, 'dictData.match.prefix', 'Prefix Match', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14029, 14000, 'dictData.match.suffix', 'Suffix Match', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14030, 14000, 'menu.tenant.cdr', 'CDR', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14031, 14000, 'menu.tenant.onlineIMS', 'Online Voice Sessions', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14032, 14000, 'tenant.noData', 'There is no accessible tenant data', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14033, 14000, 'tenant.errParentDelFlag', 'The parent tenant [{name}] has been deleted and is not allowed to be added', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14034, 14000, 'tenant.errParentStatus', 'Parent tenant [{name}] is deactivated, additions are not allowed', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14035, 14000, 'tenant.errNameExists', 'Manipulate tenant [{name}] failed, tenant name already exists', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14036, 14000, 'tenant.errParentID', 'Failed to operate tenant [{name}], the parent tenant cannot be itself', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14037, 14000, 'tenant.errHasChildUse', 'Operation failed, the tenant contains active asset number: {num}', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14038, 14000, 'tenant.errHasUserUse', 'Deletion is not allowed, number of users the tenant has been assigned to: {num}', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14039, 14000, 'tenant.errAssetExists', 'There is a conflict between tenancy asset[{type}:{key}] and a existing asset', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14040, 14000, 'menu.tenant.smscCDR', 'SMS CDR', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14041, 14000, 'log.operate.export.tenantName', 'Tenant Name', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
INSERT INTO `sys_dict_data` VALUES (14042, 14000, 'menu.tenant.session', 'Session', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ CREATE TABLE `sys_menu` (
|
|||||||
INSERT INTO `sys_menu` VALUES (1, 'menu.system', 0, 16, 'system', NULL, '1', '1', 'D', '1', '1', NULL, 'icon-xiangmu', 'supervisor', 1700000000000, NULL, 0, 'menu.systemRemark');
|
INSERT INTO `sys_menu` VALUES (1, 'menu.system', 0, 16, 'system', NULL, '1', '1', 'D', '1', '1', NULL, 'icon-xiangmu', 'supervisor', 1700000000000, NULL, 0, 'menu.systemRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (4, 'menu.config', 0, 3, 'configManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.configRemark');
|
INSERT INTO `sys_menu` VALUES (4, 'menu.config', 0, 3, 'configManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.configRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (5, 'menu.ueUser', 0, 7, 'neUser', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUserRemark');
|
INSERT INTO `sys_menu` VALUES (5, 'menu.ueUser', 0, 7, 'neUser', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUserRemark');
|
||||||
|
INSERT INTO `sys_menu` VALUES (60, 'menu.tools', 0, 60, 'tool', '', '1', '1', 'D', '1', '1', '', 'icon-wenjian', 'supervisor', 1700000000000, 'supervisor', 1715413568692, 'menu.toolsRemark');
|
||||||
|
INSERT INTO `sys_menu` VALUES (61, 'menu.tools.terminal', 60, 20, 'terminal', 'tool/terminal/index', '1', '1', 'M', '1', '1', 'tool:terminal:index', 'icon-suofang', 'supervisor', 1708481172778, 'supervisor', 1728641403588, '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (62, 'menu.tools.help', 60, 62, 'help', 'tool/help/index', '1', '1', 'M', '0', '1', 'tool:help:list', 'icon-shuoming', 'supervisor', 1700000000000, 'supervisor', 1728641453429, 'menu.tools.helpRemark');
|
||||||
|
INSERT INTO `sys_menu` VALUES (63, 'menu.tools.ps', 60, 8, 'ps', 'tool/ps/index', '1', '0', 'M', '1', '1', 'tool:ps:list', 'icon-zhizuoliucheng', 'supervisor', 1724144595914, 'supervisor', 1728641316028, '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (64, 'menu.tools.net', 60, 9, 'net', 'tool/net/index', '1', '0', 'M', '1', '1', 'tool:net:list', 'icon-zhizuoliucheng', 'supervisor', 1724144595914, 'supervisor', 1728641333734, '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (65, 'menu.tools.ping', 60, 4, 'ping', 'tool/ping/index', '1', '0', 'M', '1', '1', 'tool:ping:index', 'icon-paixu', 'supervisor', 1728613881914, 'supervisor', 1728641367855, '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (66, 'menu.tools.iperf', 60, 6, 'iperf', 'tool/iperf/index', '1', '0', 'M', '1', '1', 'tool:iperf:index', 'icon-paixu', 'supervisor', 1728613881914, 'supervisor', 1728641382403, '');
|
||||||
INSERT INTO `sys_menu` VALUES (100, 'menu.security.user', 2113, 1, 'user', 'system/user/index', '1', '1', 'M', '1', '1', 'system:user:list', 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.security.userRemark');
|
INSERT INTO `sys_menu` VALUES (100, 'menu.security.user', 2113, 1, 'user', 'system/user/index', '1', '1', 'M', '1', '1', 'system:user:list', 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.security.userRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (101, 'menu.security.role', 2113, 3, 'role', 'system/role/index', '1', '1', 'M', '1', '1', 'system:role:list', 'icon-anzhuo', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleRemark');
|
INSERT INTO `sys_menu` VALUES (101, 'menu.security.role', 2113, 3, 'role', 'system/role/index', '1', '1', 'M', '1', '1', 'system:role:list', 'icon-anzhuo', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (102, 'menu.security.roleUser', 2113, 3, 'role/inline/auth-user/:roleId', 'system/role/auth-user', '1', '1', 'M', '0', '1', 'system:role:auth', '#', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleUserRemark');
|
INSERT INTO `sys_menu` VALUES (102, 'menu.security.roleUser', 2113, 3, 'role/inline/auth-user/:roleId', 'system/role/auth-user', '1', '1', 'M', '0', '1', 'system:role:auth', '#', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleUserRemark');
|
||||||
@@ -144,11 +151,11 @@ INSERT INTO `sys_menu` VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-setting
|
|||||||
INSERT INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perfRemark');
|
INSERT INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perfRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '1', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', 'supervisor', 1700000000000, 'admin', 1713177036412, 'menu.perf.taskRemark');
|
INSERT INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '1', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', 'supervisor', 1700000000000, 'admin', 1713177036412, 'menu.perf.taskRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2101, 'menu.perf.data', 2099, 2, 'perfData', 'perfManage/perfData/index', '1', '1', 'M', '0', '1', 'perfManage:perfData:index', 'icon-soutubiao', 'supervisor', 1700000000000, 'admin', 1713177042915, 'menu.perf.dataRemark');
|
INSERT INTO `sys_menu` VALUES (2101, 'menu.perf.data', 2099, 2, 'perfData', 'perfManage/perfData/index', '1', '1', 'M', '0', '1', 'perfManage:perfData:index', 'icon-soutubiao', 'supervisor', 1700000000000, 'admin', 1713177042915, 'menu.perf.dataRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2102, 'menu.perf.report', 2099, 3, 'perfReport', 'perfManage/perfReport/index', '1', '0', 'M', '0', '0', 'perfManage:perfReport:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.reportRemark');
|
INSERT INTO `sys_menu` VALUES (2102, 'menu.perf.kpiOverView', 2099, 10, 'kpiOverView', 'perfManage/kpiOverView/index', '1', '0', 'M', '0', '1', 'perfManage:perfReport:index', 'icon-gonggaodayi', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2103, 'menu.perf.threshold', 2099, 4, 'perfThreshold', 'perfManage/perfThreshold/index', '1', '0', 'M', '0', '0', 'perfManage:perfThreshold:index', 'icon-zhuanrang', 'supervisor', 1700000000000, 'supervisor', 1715417264697, 'menu.perf.thresholdRemark');
|
INSERT INTO `sys_menu` VALUES (2103, 'menu.perf.threshold', 2099, 4, 'perfThreshold', 'perfManage/perfThreshold/index', '1', '0', 'M', '0', '0', 'perfManage:perfThreshold:index', 'icon-zhuanrang', 'supervisor', 1700000000000, 'supervisor', 1715417264697, 'menu.perf.thresholdRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2104, 'menu.perf.kpi', 2099, 5, 'goldTarget', 'perfManage/goldTarget/index', '1', '1', 'M', '1', '1', 'perfManage:goldTarget:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.kpiRemark');
|
INSERT INTO `sys_menu` VALUES (2104, 'menu.perf.kpi', 2099, 20, 'goldTarget', 'perfManage/goldTarget/index', '1', '1', 'M', '1', '1', 'perfManage:goldTarget:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.kpiRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2105, 'menu.perf.customTarget', 2099, 6, 'customTarget', 'perfManage/customTarget/index', '1', '1', 'M', '0', '0', 'perfManage:customTarget:index', 'icon-fanhui1', 'supervisor', 1700000000000, 'admin', 1712807948673, 'menu.perf.customTargetRemark');
|
INSERT INTO `sys_menu` VALUES (2105, 'menu.perf.customTarget', 2099, 99, 'customTarget', 'perfManage/customTarget/index', '1', '1', 'M', '1', '1', 'perfManage:customTarget:index', 'icon-fanhui1', 'supervisor', 1700000000000, 'admin', 1712807948673, 'menu.perf.customTargetRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2106, 'menu.perf.set', 2099, 7, 'perfSet', 'perfManage/perfSet/index', '1', '0', 'M', '0', '0', 'perfManage:perfSet:index', 'icon-gonggao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.setRemark');
|
INSERT INTO `sys_menu` VALUES (2106, 'menu.perf.kpiKeyTarget', 2099, 12, 'kpiKeyTarget', 'perfManage/kpiKeyTarget/index', '1', '0', 'M', '0', '1', 'perfManage:kpiKeyTarget:index', 'icon-fuzhichenggong', 'supervisor', 1728642924734, 'supervisor', 1728642924734, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2107, 'menu.mml', 0, 8, 'mmlManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-zhizuoliucheng', 'supervisor', 1700000000000, NULL, 0, 'menu.mmlRemark');
|
INSERT INTO `sys_menu` VALUES (2107, 'menu.mml', 0, 8, 'mmlManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-zhizuoliucheng', 'supervisor', 1700000000000, NULL, 0, 'menu.mmlRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2108, 'menu.mml.ne', 2107, 1, 'neOperate', 'mmlManage/neOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:neOperate:index', 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.neRemark');
|
INSERT INTO `sys_menu` VALUES (2108, 'menu.mml.ne', 2107, 1, 'neOperate', 'mmlManage/neOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:neOperate:index', 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.neRemark');
|
||||||
INSERT INTO `sys_menu` VALUES (2109, 'menu.mml.udm', 2107, 2, 'udmOperate', 'mmlManage/udmOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:udmOperate:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.udmRemark');
|
INSERT INTO `sys_menu` VALUES (2109, 'menu.mml.udm', 2107, 2, 'udmOperate', 'mmlManage/udmOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:udmOperate:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.udmRemark');
|
||||||
@@ -198,8 +205,8 @@ INSERT INTO `sys_menu` VALUES (2156, 'menu.common.edit', 2154, 2, '#', '', '1',
|
|||||||
INSERT INTO `sys_menu` VALUES (2157, 'menu.dashboard.smscCDR', 2140, 9, 'smscCDR', 'dashboard/smscCDR/index', '1', '0', 'M', '1', '1', 'dashboard:cdr:index', 'icon-paixu', 'supervisor', 1723107637982, 'supervisor', 1723107637982, '');
|
INSERT INTO `sys_menu` VALUES (2157, 'menu.dashboard.smscCDR', 2140, 9, 'smscCDR', 'dashboard/smscCDR/index', '1', '0', 'M', '1', '1', 'dashboard:cdr:index', 'icon-paixu', 'supervisor', 1723107637982, 'supervisor', 1723107637982, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2158, 'menu.trace.pcapFile', 2083, 12, 'pcap/inline/file', 'traceManage/pcap/file', '1', '1', 'M', '0', '1', 'traceManage:pcap:index', '#', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2158, 'menu.trace.pcapFile', 2083, 12, 'pcap/inline/file', 'traceManage/pcap/file', '1', '1', 'M', '0', '1', 'traceManage:pcap:index', '#', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2159, 'menu.log.exportFile', 2089, 100, 'exportFile', 'logManage/exportFile/index', '1', '1', 'M', '1', '1', 'logManage:exportFile:index', 'icon-wenjian', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2159, 'menu.log.exportFile', 2089, 100, 'exportFile', 'logManage/exportFile/index', '1', '1', 'M', '1', '1', 'logManage:exportFile:index', 'icon-wenjian', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2160, 'menu.perf.kpiCReport', 2099, 100, 'kpiCReport', 'perfManage/kpiCReport/index', '1', '1', 'M', '0', '0', 'perfManage:kpiCReport:index', 'icon-tubiaoku', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2160, 'menu.perf.kpiCReport', 2099, 100, 'kpiCReport', 'perfManage/kpiCReport/index', '1', '1', 'M', '1', '1', 'perfManage:kpiCReport:index', 'icon-tubiaoku', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2161, 'menu.trace.taskHLR', 2083, 6, 'taskHLR', 'traceManage/task-hlr/index', '1', '0', 'M', '1', '1', 'traceManage:taskHLR:index', 'icon-chexiao', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2161, 'menu.trace.taskHLR', 2083, 6, 'taskHLR', 'traceManage/task-hlr/index', '1', '0', 'M', '0', '1', 'traceManage:taskHLR:index', 'icon-chexiao', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2162, 'menu.trace.taskAnalyze', 2083, 2, 'task/inline/analyze', 'traceManage/task/analyze', '1', '0', 'M', '0', '1', 'traceManage:taskAnalyze:index', '#', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2162, 'menu.trace.taskAnalyze', 2083, 2, 'task/inline/analyze', 'traceManage/task/analyze', '1', '0', 'M', '0', '1', 'traceManage:taskAnalyze:index', '#', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2163, 'menu.trace.tshark', 2083, 14, 'tshark', 'traceManage/tshark/index', '1', '0', 'M', '1', '1', 'traceManage:tshark:index', 'icon-gengduo', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2163, 'menu.trace.tshark', 2083, 14, 'tshark', 'traceManage/tshark/index', '1', '0', 'M', '1', '1', 'traceManage:tshark:index', 'icon-gengduo', 'supervisor', 1724144595914, '', 0, '');
|
||||||
INSERT INTO `sys_menu` VALUES (2164, 'menu.trace.wireshark', 2083, 16, 'wireshark', 'traceManage/wireshark/index', '1', '0', 'M', '1', '1', 'traceManage:wireshark:index', 'icon-gengduo', 'supervisor', 1724144595914, '', 0, '');
|
INSERT INTO `sys_menu` VALUES (2164, 'menu.trace.wireshark', 2083, 16, 'wireshark', 'traceManage/wireshark/index', '1', '0', 'M', '1', '1', 'traceManage:wireshark:index', 'icon-gengduo', 'supervisor', 1724144595914, '', 0, '');
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ CREATE TABLE `sys_role_menu` (
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 4);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 5);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 63);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 64);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 100);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 100);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 101);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 101);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 102);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 102);
|
||||||
@@ -120,7 +125,6 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2102);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2103);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2103);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2104);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2104);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2105);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2105);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2106);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2107);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2107);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2108);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2108);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2109);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2109);
|
||||||
@@ -128,6 +132,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2111);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2113);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2114);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2114);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2118);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2118);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2119);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2120);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2120);
|
||||||
@@ -164,6 +169,8 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2157);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2158);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2158);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2159);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2159);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2160);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2162);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2163);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10000);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10000);
|
||||||
@@ -179,6 +186,9 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10008);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 115);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 115);
|
||||||
@@ -224,6 +234,8 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2109);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2111);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2111);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2113);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2114);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2118);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2118);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2119);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2120);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2120);
|
||||||
@@ -252,11 +264,15 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2154);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2155);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2155);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2156);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2156);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2157);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2157);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2158);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2160);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2162);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 4);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 115);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 500);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 500);
|
||||||
@@ -266,12 +282,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1041);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2080);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2081);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2082);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2083);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2083);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2084);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2085);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2086);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2086);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088);
|
||||||
@@ -280,17 +291,9 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2091);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2092);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2092);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2094);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2094);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2097);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2097);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2098);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2099);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2101);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2104);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2113);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2114);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2120);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2124);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2125);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2126);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2126);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2127);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2128);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2128);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2129);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2129);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2130);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2130);
|
||||||
@@ -305,18 +308,19 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2148);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2149);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2149);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2152);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2152);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2153);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2153);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2157);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2160);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2163);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2080);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2081);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2082);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2087);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2087);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2131);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2131);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2132);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2132);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10007);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10007);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10008);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10008);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
--
|
--
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `trace_data`;
|
DROP TABLE IF EXISTS `trace_data`;
|
||||||
|
|
||||||
CREATE TABLE `trace_data` (
|
CREATE TABLE `trace_data` (
|
||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`task_id` int NOT NULL COMMENT '跟踪任务ID',
|
`task_id` int NOT NULL COMMENT '跟踪任务ID',
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `trace_task`
|
-- Table structure for table `trace_task`
|
||||||
--
|
--
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `trace_task`;
|
DROP TABLE IF EXISTS `trace_task`;
|
||||||
|
|
||||||
CREATE TABLE `trace_task` (
|
CREATE TABLE `trace_task` (
|
||||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '跟踪任务ID',
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||||||
`trace_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '1-Interface,2-Device,3-User',
|
`trace_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务编号',
|
||||||
|
`trace_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '1-Interface,2-Device,3-User',
|
||||||
`start_time` bigint DEFAULT '0' COMMENT '开始时间 毫秒',
|
`start_time` bigint DEFAULT '0' COMMENT '开始时间 毫秒',
|
||||||
`end_time` bigint DEFAULT '0' COMMENT '结束时间 毫秒',
|
`end_time` bigint DEFAULT '0' COMMENT '结束时间 毫秒',
|
||||||
`ue_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '设备跟踪必须 IP',
|
|
||||||
`interfaces` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '' COMMENT '接口跟踪必须 例如 N8,N10',
|
`interfaces` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '' COMMENT '接口跟踪必须 例如 N8,N10',
|
||||||
`imsi` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户跟踪必须',
|
`imsi` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户跟踪必须',
|
||||||
`msisdn` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户跟踪可选',
|
`msisdn` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户跟踪可选',
|
||||||
|
`ue_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '设备跟踪必须 IP',
|
||||||
`src_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '源地址IP',
|
`src_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '源地址IP',
|
||||||
`dst_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '目标地址IP',
|
`dst_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '目标地址IP',
|
||||||
`signal_port` int DEFAULT '0' COMMENT '地址IP端口',
|
`signal_port` int DEFAULT '0' COMMENT '地址IP端口',
|
||||||
@@ -25,6 +24,7 @@ CREATE TABLE `trace_task` (
|
|||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||||
`notify_url` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '信息数据通知回调地址UDP 例如udp:192.168.5.58:29500',
|
`notify_url` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '信息数据通知回调地址UDP 例如udp:192.168.5.58:29500',
|
||||||
|
`fetch_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '任务下发请求响应消息',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='跟踪_任务';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='跟踪_任务';
|
||||||
|
|
||||||
|
|||||||
@@ -14,23 +14,32 @@ CREATE TABLE `u_sub_user` (
|
|||||||
`imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID',
|
`imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID',
|
||||||
`msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户电话号码',
|
`msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户电话号码',
|
||||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||||
`ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'SubUeAMBRTemp',
|
`am_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData',
|
||||||
`nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'SubSNSSAITemp',
|
`ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubUeAMBRTemp',
|
||||||
`rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'rat VIRTUAL|WLAN|EUTRA|NR',
|
`nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubSNSSAITemp',
|
||||||
`arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'forbiddenAreasTemp',
|
`rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RAT 0x00:VIRTUAL 0x01:WLAN 0x02:EUTRA 0x03:NR',
|
||||||
`sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'serviceAreaRestrictTemp',
|
`arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData AreaForbidden',
|
||||||
`cn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'cnType EPC|5GC',
|
`sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData serviceAreaRestrictTemp',
|
||||||
|
`cn_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData CNType 0x00:EPC和5GC 0x01:5GC 0x02:EPC 0x03:EPC+5GC',
|
||||||
|
`rfsp_index` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RfspIndex',
|
||||||
|
`reg_timer` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RegTimer',
|
||||||
|
`ue_usage_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData UEUsageType',
|
||||||
|
`active_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData ActiveTime',
|
||||||
|
`mico` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData MICO',
|
||||||
|
`odb_ps` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData ODB_PS 0-all,1-hplmn,2-vplmn',
|
||||||
|
`group_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData GroupId',
|
||||||
|
`eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat',
|
||||||
|
`eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat epsFlag',
|
||||||
|
`eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat epsOdb',
|
||||||
|
`hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat hplmnOdb',
|
||||||
|
`ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat Ard',
|
||||||
|
`epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat Epstpl',
|
||||||
|
`context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat ContextId',
|
||||||
|
`apn_mum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat apnNum',
|
||||||
|
`apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat apnContext',
|
||||||
|
`static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat staticIp 指给4G UE分配的静态IP,没有可不带此字段名',
|
||||||
`sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData',
|
`sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData',
|
||||||
`smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel',
|
`smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel',
|
||||||
`eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Eps',
|
|
||||||
`eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'epsFlag',
|
|
||||||
`eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'epsOdb',
|
|
||||||
`hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'hplmnOdb',
|
|
||||||
`ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Ard',
|
|
||||||
`epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Epstpl',
|
|
||||||
`context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'ContextId',
|
|
||||||
`apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'apnContext',
|
|
||||||
`static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'staticIpstatic_ip指给4G UE分配的静态IP,没有可不带此字段名',
|
|
||||||
`cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG',
|
`cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG',
|
||||||
`tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id',
|
`tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
|
|||||||
@@ -1,24 +1,35 @@
|
|||||||
SET FOREIGN_KEY_CHECKS=0;
|
SET FOREIGN_KEY_CHECKS=0;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `ne_host` (
|
CREATE TABLE IF NOT EXISTS `ne_host` (
|
||||||
`host_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主机主键',
|
`host_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主机主键',
|
||||||
`host_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机类型 ssh telnet',
|
`host_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '连接类型 ssh telnet redis',
|
||||||
`group_id` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '分组(0默认 1网元 2系统)',
|
`group_id` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '分组(0默认 1网元 2系统)',
|
||||||
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '标题名称',
|
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '标题名称',
|
||||||
`addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址',
|
`addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '主机地址',
|
||||||
`port` int NULL DEFAULT 22 COMMENT 'SSH端口',
|
`port` int DEFAULT '22' COMMENT '端口 22 4100 6379',
|
||||||
`user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机用户名',
|
`user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证用户名',
|
||||||
`auth_mode` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '认证模式(0密码 1主机私钥 2已免密)',
|
`auth_mode` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '认证模式(0密码 1主机私钥 2已免密)',
|
||||||
`password` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证密码',
|
`password` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证密码',
|
||||||
`private_key` varchar(6000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证私钥',
|
`private_key` varchar(6000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证私钥',
|
||||||
`pass_phrase` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证私钥密码',
|
`pass_phrase` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '认证私钥密码',
|
||||||
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`db_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '数据库名称',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`host_id`) USING BTREE,
|
PRIMARY KEY (`host_id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_group_title`(`host_type` ASC, `group_id` ASC, `title` ASC) USING BTREE COMMENT '同组内名称唯一'
|
UNIQUE KEY `uk_type_group_title` (`host_type`,`group_id`,`title`) USING BTREE COMMENT '同组内名称唯一'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元主机表' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元主机表';
|
||||||
|
|
||||||
|
-- 20241016前旧表更新
|
||||||
|
ALTER TABLE `ne_host` ADD COLUMN IF NOT EXISTS `db_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '数据库名称' AFTER `pass_phrase`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `host_id` bigint NOT NULL COMMENT '主机主键' FIRST;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `host_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '连接类型 ssh telnet redis' AFTER `host_id`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `port` int NULL DEFAULT 22 COMMENT '端口 22 4100 6379' AFTER `addr`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '认证用户名' AFTER `port`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `create_time` bigint NULL DEFAULT 0 COMMENT '创建时间' AFTER `create_by`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `update_time` bigint NULL DEFAULT 0 COMMENT '更新时间' AFTER `update_by`;
|
||||||
|
ALTER TABLE `ne_host` MODIFY COLUMN IF EXISTS `host_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主机主键';
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS=1;
|
SET FOREIGN_KEY_CHECKS=1;
|
||||||
@@ -7,25 +7,25 @@ CREATE TABLE IF NOT EXISTS `ne_info` (
|
|||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
||||||
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`port` int NULL DEFAULT 0 COMMENT '端口',
|
`port` int DEFAULT '0' COMMENT '端口',
|
||||||
`pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'PNF' COMMENT '\'PNF\',\'VNF\'',
|
`pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'PNF' COMMENT '''PNF'',''VNF''',
|
||||||
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '省份地域',
|
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '省份地域',
|
||||||
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-',
|
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-',
|
||||||
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
|
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||||
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'MAC地址',
|
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'MAC地址',
|
||||||
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)',
|
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet)-来自ne_host表',
|
||||||
`status` int NULL DEFAULT 0 COMMENT '0离线 1在线 2配置待下发',
|
`status` int DEFAULT '0' COMMENT '0离线 1在线 2配置待下发',
|
||||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `ux_netype_neid`(`ne_type` ASC, `ne_id` ASC) USING BTREE
|
UNIQUE KEY `ux_netype_neid` (`ne_type`,`ne_id`) USING BTREE
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元信息表 对应一个网元版本、网元授权、网元主机' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元信息表 对应一个网元版本、网元授权、网元主机';
|
||||||
|
|
||||||
-- 20240511前旧表更新
|
-- 20240511前旧表更新
|
||||||
ALTER TABLE `ne_info` COMMENT = '网元信息表 对应一个网元版本、网元授权、网元主机';
|
ALTER TABLE `ne_info` COMMENT = '网元信息表 对应一个网元版本、网元授权、网元主机';
|
||||||
|
|||||||
@@ -8,18 +8,18 @@ CREATE TABLE IF NOT EXISTS `ne_license` (
|
|||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||||
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
|
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
|
||||||
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '激活授权文件',
|
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '激活授权文件',
|
||||||
`serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '序列号',
|
`serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '序列号',
|
||||||
`expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '许可证到期日期',
|
`expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '许可证到期日期',
|
||||||
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态 0无效 1有效',
|
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 0无效 1有效',
|
||||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_id`(`ne_type` ASC, `ne_id` ASC) USING BTREE COMMENT '唯一网元类型和网元ID'
|
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元授权激活信息' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元授权激活信息';
|
||||||
|
|
||||||
-- 20240511前旧表更新
|
-- 20240511前旧表更新
|
||||||
ALTER TABLE `ne_license` COMMENT = '网元授权激活信息';
|
ALTER TABLE `ne_license` COMMENT = '网元授权激活信息';
|
||||||
|
|||||||
@@ -7,23 +7,23 @@ CREATE TABLE IF NOT EXISTS `ne_version` (
|
|||||||
`id` int NOT NULL AUTO_INCREMENT,
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '当前包名',
|
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前包名',
|
||||||
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '当前版本',
|
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前版本',
|
||||||
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '当前软件包',
|
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前软件包',
|
||||||
`pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '上一版本包名',
|
`pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '上一版本包名',
|
||||||
`pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '上一版本',
|
`pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '上一版本',
|
||||||
`pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '上一版本软件包',
|
`pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本软件包',
|
||||||
`new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '新版本报名',
|
`new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '新版本报名',
|
||||||
`new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '新版本',
|
`new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '新版本',
|
||||||
`new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '新版软件包',
|
`new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版软件包',
|
||||||
`status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '当前状态 0无 1当前版本 2上一版本 3有新版本',
|
`status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '当前状态 0无 1当前版本 2上一版本 3有新版本',
|
||||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` bigint NULL DEFAULT 0 COMMENT '创建时间',
|
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` bigint NULL DEFAULT 0 COMMENT '更新时间',
|
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `uk_type_id`(`ne_type` ASC, `ne_id` ASC) USING BTREE COMMENT '唯一网元类型和ID'
|
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和ID'
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元版本信息' ROW_FORMAT = DYNAMIC;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元版本信息';
|
||||||
|
|
||||||
-- 20240511前旧表更新
|
-- 20240511前旧表更新
|
||||||
ALTER TABLE `ne_version` COMMENT = '网元版本信息';
|
ALTER TABLE `ne_version` COMMENT = '网元版本信息';
|
||||||
|
|||||||
@@ -36,6 +36,6 @@ INSERT IGNORE INTO `sys_config` VALUES (107, 'config.sys.copyright', 'sys.copyri
|
|||||||
INSERT IGNORE INTO `sys_config` VALUES (108, 'config.sys.i18nOpen', 'sys.i18n.open', 'true', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nOpenRemark');
|
INSERT IGNORE INTO `sys_config` VALUES (108, 'config.sys.i18nOpen', 'sys.i18n.open', 'true', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nOpenRemark');
|
||||||
INSERT IGNORE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.default', 'en_US', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nDefaultRemark');
|
INSERT IGNORE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.default', 'en_US', 'Y', 'supervisor', 1700000000000, NULL, 0, 'config.sys.i18nDefaultRemark');
|
||||||
INSERT IGNORE INTO `sys_config` VALUES (110, 'config.sys.lockTime', 'sys.lockTime', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.lockTimeRemark');
|
INSERT IGNORE INTO `sys_config` VALUES (110, 'config.sys.lockTime', 'sys.lockTime', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.lockTimeRemark');
|
||||||
INSERT IGNORE INTO `sys_config` VALUES (111, 'config.sys.homePage', 'sys.homePage', '0', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.homePageRemark');
|
INSERT IGNORE INTO `sys_config` VALUES (111, 'config.sys.homePage', 'sys.homePage', 'configManage/neOverview/index', 'Y', 'supervisor', 1704960008300, 'admin', 1706838764703, 'config.sys.homePageRemark');
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS=1;
|
SET FOREIGN_KEY_CHECKS=1;
|
||||||
@@ -123,11 +123,11 @@ REPLACE INTO `sys_dict_data` VALUES (3110, 3110, 'menu.fault.setRemark', 'Fault
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (3111, 3111, 'menu.perfRemark', 'Performance Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3111, 3111, 'menu.perfRemark', 'Performance Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3112, 3112, 'menu.perf.task', 'Performance Tasks', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3112, 3112, 'menu.perf.task', 'Performance Tasks', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3113, 3113, 'menu.perf.data', 'Performance Data', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3113, 3113, 'menu.perf.data', 'Performance Data', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3114, 3114, 'menu.perf.report', 'Performance Reports', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3114, 3114, 'menu.perf.kpiOverView', 'Key Performance Overview', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3115, 3115, 'menu.perf.threshold', 'Performance Thresholds', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3115, 3115, 'menu.perf.threshold', 'Performance Thresholds', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3116, 3116, 'menu.perf.kpi', 'Key Performance Indicators', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3116, 3116, 'menu.perf.kpi', 'Key Performance Indicators', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3117, 3117, 'menu.perf.customTarget', 'Custom Indicator Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3117, 3117, 'menu.perf.customTarget', 'Custom Indicator Management', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3118, 3118, 'menu.perf.set', 'Performance General Settings', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3118, 3118, 'menu.perf.kpiKeyTarget', 'Key Performance Reports', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3119, 3119, 'menu.mml', 'MML', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3119, 3119, 'menu.mml', 'MML', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3120, 3120, 'menu.mml.ne', 'NE Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3120, 3120, 'menu.mml.ne', 'NE Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3121, 3121, 'menu.mml.udm', 'UDM Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3121, 3121, 'menu.mml.udm', 'UDM Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -135,11 +135,11 @@ REPLACE INTO `sys_dict_data` VALUES (3122, 3122, 'menu.mml.set', 'MML Settings',
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (3123, 3123, 'menu.mml.omc', 'OMC Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3123, 3123, 'menu.mml.omc', 'OMC Operation', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3124, 3124, 'menu.perf.taskRemark', 'Task Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3124, 3124, 'menu.perf.taskRemark', 'Task Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3125, 3125, 'menu.perf.dataRemark', 'Performance Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3125, 3125, 'menu.perf.dataRemark', 'Performance Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3126, 3126, 'menu.perf.reportRemark', 'Performance Report Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- REPLACE INTO `sys_dict_data` VALUES (3126, 3126, 'menu.perf.kpiOverViewRemark', 'Performance Report Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3127, 3127, 'menu.perf.thresholdRemark', 'Performance Threshold Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3127, 3127, 'menu.perf.thresholdRemark', 'Performance Threshold Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3128, 3128, 'menu.perf.kpiRemark', 'Key Performance Indicator Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3128, 3128, 'menu.perf.kpiRemark', 'Key Performance Indicator Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3129, 3129, 'menu.perf.customTargetRemark', 'Custom Indicator Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3129, 3129, 'menu.perf.customTargetRemark', 'Custom Indicator Management Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3130, 3130, 'menu.perf.setRemark', 'Performance General Settings Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- REPLACE INTO `sys_dict_data` VALUES (3130, 3130, 'menu.perf.setRemark', 'Performance General Settings Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3131, 3131, 'menu.mmlRemark', 'MML Management Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3131, 3131, 'menu.mmlRemark', 'MML Management Catalog', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3132, 3132, 'menu.mml.neRemark', 'Network Element Operations Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3132, 3132, 'menu.mml.neRemark', 'Network Element Operations Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3133, 3133, 'menu.mml.udmRemark', 'Network Element UDM User Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3133, 3133, 'menu.mml.udmRemark', 'Network Element UDM User Data Menu', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -209,8 +209,8 @@ REPLACE INTO `sys_dict_data` VALUES (3426, 3426, 'dictData.trace.user', 'User Tr
|
|||||||
-- REPLACE INTO `sys_dict_data` VALUES (3444, 3444, 'dictData.securityLogType.delete', 'Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- REPLACE INTO `sys_dict_data` VALUES (3444, 3444, 'dictData.securityLogType.delete', 'Delete', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3445, 3445, 'dictData.securityLogType.lock', 'Locked', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- REPLACE INTO `sys_dict_data` VALUES (3445, 3445, 'dictData.securityLogType.lock', 'Locked', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3446, 3446, 'dictData.securityLogType.unlock', 'Unlock', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
-- REPLACE INTO `sys_dict_data` VALUES (3446, 3446, 'dictData.securityLogType.unlock', 'Unlock', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3447, 3447, 'dictData.securityLogType.reset', 'Reset', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3447, 3447, 'menu.tools.ping', 'Net Probing Test', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3448, 3448, 'dictData.securityLogType.deactivate', 'Deactivate', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3448, 3448, 'menu.tools.iperf', 'Net Performance Test', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3449, 3449, 'dictData.jobSaveLog.no', 'No Record', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3449, 3449, 'dictData.jobSaveLog.no', 'No Record', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3450, 3450, 'dictData.jobSaveLog.yes', 'Recorded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3450, 3450, 'dictData.jobSaveLog.yes', 'Recorded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3451, 3451, 'dictData.neVersionStatus.upload', 'Uploaded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3451, 3451, 'dictData.neVersionStatus.upload', 'Uploaded', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -240,9 +240,9 @@ REPLACE INTO `sys_dict_data` VALUES (3505, 3505, 'dictType.sys_yes_no', 'System
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (3506, 3506, 'dictType.sys_oper_type', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3506, 3506, 'dictType.sys_oper_type', 'Operation Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3507, 3507, 'dictType.sys_common_status', 'System Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3507, 3507, 'dictType.sys_common_status', 'System Status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3508, 3508, 'dictType.trace_type', 'Trace Types', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3508, 3508, 'dictType.trace_type', 'Trace Types', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3509, 3509, 'dictType.operation_log_type', 'Operation Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3509, 3509, 'menu.tools.ps', 'Process Running Program', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3510, 3510, 'dictType.alarm_status', 'Alarm Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3510, 3510, 'dictType.alarm_status', 'Alarm Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (3511, 3511, 'dictType.security_log_type', 'Security Log Type', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3511, 3511, 'menu.tools.net', 'Process Network Connection', 'i18n_en', '', '', '1', 'supervisor', 1728640045875, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3512, 3512, 'dictType.ne_version_status', 'Network element software version status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3512, 3512, 'dictType.ne_version_status', 'Network element software version status', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3513, 3513, 'dictType.i18n_en', 'Multi-language - English', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3513, 3513, 'dictType.i18n_en', 'Multi-language - English', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
REPLACE INTO `sys_dict_data` VALUES (3514, 3514, 'dictType.i18n_zh', 'Multi-language - Chinese', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
REPLACE INTO `sys_dict_data` VALUES (3514, 3514, 'dictType.i18n_zh', 'Multi-language - Chinese', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||||
@@ -593,7 +593,7 @@ REPLACE INTO `sys_dict_data` VALUES (4080, 4080, 'log.operate.title.ws', 'WS Ses
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (4081, 4081, 'log.operate.title.neHost', 'NE Host', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4081, 4081, 'log.operate.title.neHost', 'NE Host', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4082, 4082, 'neHost.noData', 'There is no accessible host information data!', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4082, 4082, 'neHost.noData', 'There is no accessible host information data!', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4083, 4083, 'neHost.errKeyExists', 'Host information operation [{name}] failed, name already exists in the same group', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4083, 4083, 'neHost.errKeyExists', 'Host information operation [{name}] failed, name already exists in the same group', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4084, 4084, 'neHost.errByHostInfo', 'Failed to connect to the host, please check the connection parameters and try again', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4084, 4084, 'neHost.errByHostInfo', 'Connection Failed, Please check connection parameters and retry', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4085, 4085, 'dictType.ne_host_type', 'Network element host connection type', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4085, 4085, 'dictType.ne_host_type', 'Network element host connection type', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4086, 4086, 'dictType.ne_host_groupId', 'Network element host grouping', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4086, 4086, 'dictType.ne_host_groupId', 'Network element host grouping', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4087, 4087, 'dictType.ne_host_authMode', 'Network element host authentication mode', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4087, 4087, 'dictType.ne_host_authMode', 'Network element host authentication mode', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
@@ -658,7 +658,7 @@ REPLACE INTO `sys_dict_data` VALUES (4145, 4145, 'menu.system.user.editPost', 'M
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (4146, 4146, 'menu.dashboard.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4146, 4146, 'menu.dashboard.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (4149, 4149, 'dictData.udm_sub_cn_type.2', '4G', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4149, 4149, 'menu.trace.taskAnalyze', 'Tracking Data Analysis', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
-- REPLACE INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
|
|||||||
@@ -32,6 +32,13 @@ CREATE TABLE IF NOT EXISTS `sys_menu` (
|
|||||||
REPLACE INTO `sys_menu` VALUES (1, 'menu.system', 0, 16, 'system', NULL, '1', '1', 'D', '1', '1', NULL, 'icon-xiangmu', 'supervisor', 1700000000000, NULL, 0, 'menu.systemRemark');
|
REPLACE INTO `sys_menu` VALUES (1, 'menu.system', 0, 16, 'system', NULL, '1', '1', 'D', '1', '1', NULL, 'icon-xiangmu', 'supervisor', 1700000000000, NULL, 0, 'menu.systemRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (4, 'menu.config', 0, 3, 'configManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.configRemark');
|
REPLACE INTO `sys_menu` VALUES (4, 'menu.config', 0, 3, 'configManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.configRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (5, 'menu.ueUser', 0, 7, 'neUser', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUserRemark');
|
REPLACE INTO `sys_menu` VALUES (5, 'menu.ueUser', 0, 7, 'neUser', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUserRemark');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (60, 'menu.tools', 0, 60, 'tool', '', '1', '1', 'D', '1', '1', '', 'icon-wenjian', 'supervisor', 1700000000000, 'supervisor', 1715413568692, 'menu.toolsRemark');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (61, 'menu.tools.terminal', 60, 20, 'terminal', 'tool/terminal/index', '1', '1', 'M', '1', '1', 'tool:terminal:index', 'icon-suofang', 'supervisor', 1708481172778, 'supervisor', 1728641403588, '');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (62, 'menu.tools.help', 60, 62, 'help', 'tool/help/index', '1', '1', 'M', '0', '1', 'tool:help:list', 'icon-shuoming', 'supervisor', 1700000000000, 'supervisor', 1728641453429, 'menu.tools.helpRemark');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (63, 'menu.tools.ps', 60, 8, 'ps', 'tool/ps/index', '1', '0', 'M', '1', '1', 'tool:ps:list', 'icon-zhizuoliucheng', 'supervisor', 1724144595914, 'supervisor', 1728641316028, '');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (64, 'menu.tools.net', 60, 9, 'net', 'tool/net/index', '1', '0', 'M', '1', '1', 'tool:net:list', 'icon-zhizuoliucheng', 'supervisor', 1724144595914, 'supervisor', 1728641333734, '');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (65, 'menu.tools.ping', 60, 4, 'ping', 'tool/ping/index', '1', '0', 'M', '1', '1', 'tool:ping:index', 'icon-paixu', 'supervisor', 1728613881914, 'supervisor', 1728641367855, '');
|
||||||
|
REPLACE INTO `sys_menu` VALUES (66, 'menu.tools.iperf', 60, 6, 'iperf', 'tool/iperf/index', '1', '0', 'M', '1', '1', 'tool:iperf:index', 'icon-paixu', 'supervisor', 1728613881914, 'supervisor', 1728641382403, '');
|
||||||
REPLACE INTO `sys_menu` VALUES (100, 'menu.security.user', 2113, 1, 'user', 'system/user/index', '1', '1', 'M', '1', '1', 'system:user:list', 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.security.userRemark');
|
REPLACE INTO `sys_menu` VALUES (100, 'menu.security.user', 2113, 1, 'user', 'system/user/index', '1', '1', 'M', '1', '1', 'system:user:list', 'icon-wocanyu', 'supervisor', 1700000000000, NULL, 0, 'menu.security.userRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (101, 'menu.security.role', 2113, 3, 'role', 'system/role/index', '1', '1', 'M', '1', '1', 'system:role:list', 'icon-anzhuo', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleRemark');
|
REPLACE INTO `sys_menu` VALUES (101, 'menu.security.role', 2113, 3, 'role', 'system/role/index', '1', '1', 'M', '1', '1', 'system:role:list', 'icon-anzhuo', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (102, 'menu.security.roleUser', 2113, 3, 'role/inline/auth-user/:roleId', 'system/role/auth-user', '1', '1', 'M', '0', '1', 'system:role:auth', '#', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleUserRemark');
|
REPLACE INTO `sys_menu` VALUES (102, 'menu.security.roleUser', 2113, 3, 'role/inline/auth-user/:roleId', 'system/role/auth-user', '1', '1', 'M', '0', '1', 'system:role:auth', '#', 'supervisor', 1700000000000, NULL, 0, 'menu.security.roleUserRemark');
|
||||||
@@ -106,7 +113,7 @@ REPLACE INTO `sys_menu` VALUES (1056, 'menu.common.export', 116, 6, '#', NULL, '
|
|||||||
REPLACE INTO `sys_menu` VALUES (2009, 'menu.ueUser.authUDM', 5, 1, 'auth', 'neUser/auth/index', '1', '1', 'M', '1', '1', 'neUser:auth:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.authUDMRemark');
|
REPLACE INTO `sys_menu` VALUES (2009, 'menu.ueUser.authUDM', 5, 1, 'auth', 'neUser/auth/index', '1', '1', 'M', '1', '1', 'neUser:auth:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.authUDMRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2010, 'menu.ueUser.subUDM', 5, 2, 'sub', 'neUser/sub/index', '1', '1', 'M', '1', '1', 'neUser:sub:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.subUDMRemark');
|
REPLACE INTO `sys_menu` VALUES (2010, 'menu.ueUser.subUDM', 5, 2, 'sub', 'neUser/sub/index', '1', '1', 'M', '1', '1', 'neUser:sub:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.subUDMRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2075, 'menu.config.neManage', 4, 1, 'neManage', 'configManage/neManage/index', '1', '0', 'M', '1', '0', 'configManage:neManage:index', 'icon-biaoqing', 'supervisor', 1700000000000, NULL, 0, 'menu.config.neManageRemark');
|
REPLACE INTO `sys_menu` VALUES (2075, 'menu.config.neManage', 4, 1, 'neManage', 'configManage/neManage/index', '1', '0', 'M', '1', '0', 'configManage:neManage:index', 'icon-biaoqing', 'supervisor', 1700000000000, NULL, 0, 'menu.config.neManageRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2078, 'menu.config.backupManage', 4, 100, 'backupManage', 'configManage/backupManage/index', '1', '0', 'M', '1', '1', 'configManage:backupManage:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.config.backupManageRemark');
|
REPLACE INTO `sys_menu` VALUES (2078, 'menu.config.backupManage', 4, 100, 'backupManage', 'configManage/backupManage/index', '1', '0', 'M', '1', '0', 'configManage:backupManage:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.config.backupManageRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2079, 'menu.config.softwareManage', 4, 4, 'softwareManage', 'configManage/softwareManage/index', '1', '0', 'M', '1', '0', 'configManage:softwareManage:index', 'icon-huidingbu', 'supervisor', 1700000000000, NULL, 0, 'menu.config.softwareManageRemark');
|
REPLACE INTO `sys_menu` VALUES (2079, 'menu.config.softwareManage', 4, 4, 'softwareManage', 'configManage/softwareManage/index', '1', '0', 'M', '1', '0', 'configManage:softwareManage:index', 'icon-huidingbu', 'supervisor', 1700000000000, NULL, 0, 'menu.config.softwareManageRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2080, 'menu.ueUser.onlineIMS', 5, 4, 'ims', 'neUser/ims/index', '1', '0', 'M', '1', '1', 'neUser:ims:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.onlineIMSRemark');
|
REPLACE INTO `sys_menu` VALUES (2080, 'menu.ueUser.onlineIMS', 5, 4, 'ims', 'neUser/ims/index', '1', '0', 'M', '1', '1', 'neUser:ims:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.onlineIMSRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2081, 'menu.ueUser.onlineUE', 5, 6, 'ue', 'neUser/ue/index', '1', '0', 'M', '1', '1', 'neUser:ue:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.onlineUERemark');
|
REPLACE INTO `sys_menu` VALUES (2081, 'menu.ueUser.onlineUE', 5, 6, 'ue', 'neUser/ue/index', '1', '0', 'M', '1', '1', 'neUser:ue:index', 'icon-xiangmuchengyuan', 'supervisor', 1700000000000, NULL, 0, 'menu.ueUser.onlineUERemark');
|
||||||
@@ -127,11 +134,11 @@ REPLACE INTO `sys_menu` VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-settin
|
|||||||
REPLACE INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perfRemark');
|
REPLACE INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perfRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '1', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', 'supervisor', 1700000000000, 'admin', 1713177036412, 'menu.perf.taskRemark');
|
REPLACE INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '1', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', 'supervisor', 1700000000000, 'admin', 1713177036412, 'menu.perf.taskRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2101, 'menu.perf.data', 2099, 2, 'perfData', 'perfManage/perfData/index', '1', '1', 'M', '0', '1', 'perfManage:perfData:index', 'icon-soutubiao', 'supervisor', 1700000000000, 'admin', 1713177042915, 'menu.perf.dataRemark');
|
REPLACE INTO `sys_menu` VALUES (2101, 'menu.perf.data', 2099, 2, 'perfData', 'perfManage/perfData/index', '1', '1', 'M', '0', '1', 'perfManage:perfData:index', 'icon-soutubiao', 'supervisor', 1700000000000, 'admin', 1713177042915, 'menu.perf.dataRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2102, 'menu.perf.report', 2099, 3, 'perfReport', 'perfManage/perfReport/index', '1', '0', 'M', '0', '0', 'perfManage:perfReport:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.reportRemark');
|
REPLACE INTO `sys_menu` VALUES (2102, 'menu.perf.kpiOverView', 2099, 10, 'kpiOverView', 'perfManage/kpiOverView/index', '1', '0', 'M', '0', '1', 'perfManage:perfReport:index', 'icon-gonggaodayi', 'supervisor', 1724144595914, '', 0, '');
|
||||||
REPLACE INTO `sys_menu` VALUES (2103, 'menu.perf.threshold', 2099, 4, 'perfThreshold', 'perfManage/perfThreshold/index', '1', '0', 'M', '0', '0', 'perfManage:perfThreshold:index', 'icon-zhuanrang', 'supervisor', 1700000000000, 'supervisor', 1715417264697, 'menu.perf.thresholdRemark');
|
REPLACE INTO `sys_menu` VALUES (2103, 'menu.perf.threshold', 2099, 4, 'perfThreshold', 'perfManage/perfThreshold/index', '1', '0', 'M', '0', '0', 'perfManage:perfThreshold:index', 'icon-zhuanrang', 'supervisor', 1700000000000, 'supervisor', 1715417264697, 'menu.perf.thresholdRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2104, 'menu.perf.kpi', 2099, 5, 'goldTarget', 'perfManage/goldTarget/index', '1', '1', 'M', '1', '1', 'perfManage:goldTarget:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.kpiRemark');
|
REPLACE INTO `sys_menu` VALUES (2104, 'menu.perf.kpi', 2099, 20, 'goldTarget', 'perfManage/goldTarget/index', '1', '1', 'M', '1', '1', 'perfManage:goldTarget:index', 'icon-soutubiao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.kpiRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2105, 'menu.perf.customTarget', 2099, 6, 'customTarget', 'perfManage/customTarget/index', '1', '1', 'M', '0', '0', 'perfManage:customTarget:index', 'icon-fanhui1', 'supervisor', 1700000000000, 'admin', 1712807948673, 'menu.perf.customTargetRemark');
|
REPLACE INTO `sys_menu` VALUES (2105, 'menu.perf.customTarget', 2099, 99, 'customTarget', 'perfManage/customTarget/index', '1', '1', 'M', '1', '1', 'perfManage:customTarget:index', 'icon-fanhui1', 'supervisor', 1700000000000, 'admin', 1712807948673, 'menu.perf.customTargetRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2106, 'menu.perf.set', 2099, 7, 'perfSet', 'perfManage/perfSet/index', '1', '0', 'M', '0', '0', 'perfManage:perfSet:index', 'icon-gonggao', 'supervisor', 1700000000000, NULL, 0, 'menu.perf.setRemark');
|
REPLACE INTO `sys_menu` VALUES (2106, 'menu.perf.kpiKeyTarget', 2099, 12, 'kpiKeyTarget', 'perfManage/kpiKeyTarget/index', '1', '0', 'M', '0', '1', 'perfManage:kpiKeyTarget:index', 'icon-fuzhichenggong', 'supervisor', 1728642924734, 'supervisor', 1728642924734, '');
|
||||||
REPLACE INTO `sys_menu` VALUES (2107, 'menu.mml', 0, 8, 'mmlManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-zhizuoliucheng', 'supervisor', 1700000000000, NULL, 0, 'menu.mmlRemark');
|
REPLACE INTO `sys_menu` VALUES (2107, 'menu.mml', 0, 8, 'mmlManage', NULL, '1', '0', 'D', '1', '1', NULL, 'icon-zhizuoliucheng', 'supervisor', 1700000000000, NULL, 0, 'menu.mmlRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2108, 'menu.mml.ne', 2107, 1, 'neOperate', 'mmlManage/neOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:neOperate:index', 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.neRemark');
|
REPLACE INTO `sys_menu` VALUES (2108, 'menu.mml.ne', 2107, 1, 'neOperate', 'mmlManage/neOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:neOperate:index', 'icon-huizhiguize', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.neRemark');
|
||||||
REPLACE INTO `sys_menu` VALUES (2109, 'menu.mml.udm', 2107, 2, 'udmOperate', 'mmlManage/udmOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:udmOperate:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.udmRemark');
|
REPLACE INTO `sys_menu` VALUES (2109, 'menu.mml.udm', 2107, 2, 'udmOperate', 'mmlManage/udmOperate/index', '1', '1', 'M', '1', '1', 'mmlManage:udmOperate:index', 'icon-gonggaodayi', 'supervisor', 1700000000000, NULL, 0, 'menu.mml.udmRemark');
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
Navicat Premium Data Transfer
|
|
||||||
|
|
||||||
Source Server : local_mariadb
|
|
||||||
Source Server Type : MariaDB
|
|
||||||
Source Server Version : 100338 (10.3.38-MariaDB)
|
|
||||||
Source Host : localhost:33066
|
|
||||||
Source Schema : tenants_db
|
|
||||||
|
|
||||||
Target Server Type : MariaDB
|
|
||||||
Target Server Version : 100338 (10.3.38-MariaDB)
|
|
||||||
File Encoding : 65001
|
|
||||||
|
|
||||||
Date: 19/06/2024 15:22:13
|
|
||||||
*/
|
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
SET FOREIGN_KEY_CHECKS = 0;
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
@@ -30,9 +14,15 @@ CREATE TABLE `sys_role_menu` (
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of sys_role_menu
|
-- Records of sys_role_menu
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 4);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 5);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 63);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 64);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 100);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 100);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 101);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 101);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 102);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 102);
|
||||||
@@ -120,7 +110,6 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2102);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2103);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2103);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2104);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2104);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2105);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2105);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2106);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2107);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2107);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2108);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2108);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2109);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2109);
|
||||||
@@ -128,6 +117,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2111);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2113);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2114);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2114);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2118);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2118);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2119);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2120);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2120);
|
||||||
@@ -164,6 +154,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2157);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2158);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2158);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2159);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2159);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2160);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2163);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10000);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10000);
|
||||||
@@ -179,6 +170,9 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 10008);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 115);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 115);
|
||||||
@@ -224,6 +218,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2109);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2111);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2111);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2113);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2118);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2118);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2119);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2120);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2120);
|
||||||
@@ -252,11 +247,15 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2154);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2155);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2155);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2156);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2156);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2157);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2157);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2158);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2160);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2162);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 4);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 60);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 65);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 66);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 115);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 500);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 500);
|
||||||
@@ -266,12 +265,7 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1041);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2080);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2081);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2082);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2083);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2083);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2084);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2085);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2086);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2086);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088);
|
||||||
@@ -280,17 +274,9 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2091);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2092);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2092);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2094);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2094);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2097);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2097);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2098);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2099);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2101);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2104);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2113);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2113);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2119);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2114);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2120);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2124);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2125);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2126);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2126);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2127);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2128);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2128);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2129);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2129);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2130);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2130);
|
||||||
@@ -305,18 +291,20 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2148);
|
|||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2149);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2149);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2152);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2152);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2153);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2153);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2157);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2163);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2160);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2160);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2165);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 1);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 1);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 5);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 4);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 112);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 112);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2080);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2081);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2082);
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2087);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2087);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2115);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2131);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2131);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2132);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2132);
|
||||||
|
INSERT IGNORE INTO `sys_role_menu` VALUES (5, 2165);
|
||||||
|
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10007);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10007);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10008);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10008);
|
||||||
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10009);
|
INSERT IGNORE INTO `sys_role_menu` VALUES (100, 10009);
|
||||||
|
|||||||
@@ -10,55 +10,68 @@ CREATE TABLE IF NOT EXISTS `u_sub_user` (
|
|||||||
`imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID',
|
`imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID',
|
||||||
`msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户电话号码',
|
`msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户电话号码',
|
||||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||||
`ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'SubUeAMBRTemp',
|
`am_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData',
|
||||||
`nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'SubSNSSAITemp',
|
`ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubUeAMBRTemp',
|
||||||
`rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'rat VIRTUAL|WLAN|EUTRA|NR',
|
`nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubSNSSAITemp',
|
||||||
`arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'forbiddenAreasTemp',
|
`rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RAT 0x00:VIRTUAL 0x01:WLAN 0x02:EUTRA 0x03:NR',
|
||||||
`sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'serviceAreaRestrictTemp',
|
`arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData AreaForbidden',
|
||||||
`cn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'cnType EPC|5GC',
|
`sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData serviceAreaRestrictTemp',
|
||||||
|
`cn_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData CNType 0x00:EPC和5GC 0x01:5GC 0x02:EPC 0x03:EPC+5GC',
|
||||||
|
`rfsp_index` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RfspIndex',
|
||||||
|
`reg_timer` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData RegTimer',
|
||||||
|
`ue_usage_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData UEUsageType',
|
||||||
|
`active_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData ActiveTime',
|
||||||
|
`mico` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData MICO',
|
||||||
|
`odb_ps` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData ODB_PS 0-all,1-hplmn,2-vplmn',
|
||||||
|
`group_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData GroupId',
|
||||||
|
`eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat',
|
||||||
|
`eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat epsFlag',
|
||||||
|
`eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat epsOdb',
|
||||||
|
`hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat hplmnOdb',
|
||||||
|
`ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat Ard',
|
||||||
|
`epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat Epstpl',
|
||||||
|
`context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat ContextId',
|
||||||
|
`apn_mum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat apnNum',
|
||||||
|
`apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat apnContext',
|
||||||
|
`static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'EpsDat staticIp 指给4G UE分配的静态IP,没有可不带此字段名',
|
||||||
`sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData',
|
`sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData',
|
||||||
`smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel',
|
`smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel',
|
||||||
`eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Eps',
|
|
||||||
`eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'epsFlag',
|
|
||||||
`eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'epsOdb',
|
|
||||||
`hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'hplmnOdb',
|
|
||||||
`ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Ard',
|
|
||||||
`epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Epstpl',
|
|
||||||
`context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'ContextId',
|
|
||||||
`apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'apnContext',
|
|
||||||
`static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'staticIpstatic_ip指给4G UE分配的静态IP,没有可不带此字段名',
|
|
||||||
`cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG',
|
`cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG',
|
||||||
`tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id',
|
`tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE KEY `imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_ne唯一索引'
|
UNIQUE KEY `imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_ne唯一索引'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM签约用户';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM签约用户';
|
||||||
|
|
||||||
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'CAG' AFTER `static_ip`;
|
-- Dump completed on 2024-10-12 15:26:59
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID' AFTER `id`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户电话号码' AFTER `imsi`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `am_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData' AFTER `ne_id`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'UDM网元标识' AFTER `msisdn`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `cn_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData CNType 0x00:EPC和5GC 0x01:5GC 0x02:EPC 0x03:EPC+5GC' AFTER `sar`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'SubUeAMBRTemp' AFTER `ne_id`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `rfsp_index` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData RfspIndex' AFTER `cn_type`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'SubSNSSAITemp' AFTER `ambr`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `reg_timer` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData RegTimer' AFTER `rfsp_index`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'rat VIRTUAL|WLAN|EUTRA|NR' AFTER `nssai`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `ue_usage_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData UEUsageType' AFTER `reg_timer`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'forbiddenAreasTemp' AFTER `rat`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `active_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData ActiveTime' AFTER `ue_usage_type`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'serviceAreaRestrictTemp' AFTER `arfb`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `mico` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData MICO' AFTER `active_time`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `cn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'cnType EPC|5GC' AFTER `sar`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `odb_ps` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData ODB_PS 0-all,1-hplmn,2-vplmn' AFTER `mico`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smData' AFTER `cn`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `group_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData GroupId' AFTER `odb_ps`;
|
||||||
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `apn_mum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat apnNum' AFTER `context_id`;
|
||||||
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'CAG' AFTER `smf_sel`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData SubUeAMBRTemp' AFTER `am_dat`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData SubSNSSAITemp' AFTER `ambr`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `rat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData RAT 0x00:VIRTUAL 0x01:WLAN 0x02:EUTRA 0x03:NR' AFTER `nssai`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `arfb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData AreaForbidden' AFTER `rat`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `sar` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'AmData serviceAreaRestrictTemp' AFTER `arfb`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat' AFTER `group_id`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat epsFlag' AFTER `eps_dat`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat epsOdb' AFTER `eps_flag`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat hplmnOdb' AFTER `eps_odb`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat Ard' AFTER `hplmn_odb`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat Epstpl' AFTER `ard`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat ContextId' AFTER `epstpl`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat apnContext' AFTER `apn_mum`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'EpsDat staticIp 指给4G UE分配的静态IP,没有可不带此字段名' AFTER `apn_context`;
|
||||||
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smData' AFTER `static_ip`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smfSel' AFTER `sm_data`;
|
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smfSel' AFTER `sm_data`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'Eps' AFTER `smf_sel`;
|
ALTER TABLE `u_sub_user` DROP COLUMN IF EXISTS `cn`;
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_flag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'epsFlag' AFTER `eps_dat`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `eps_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'epsOdb' AFTER `eps_flag`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `hplmn_odb` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'hplmnOdb' AFTER `eps_odb`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `ard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'Ard' AFTER `hplmn_odb`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `epstpl` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'Epstpl' AFTER `ard`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `context_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'ContextId' AFTER `epstpl`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `apn_context` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'apnContext' AFTER `context_id`;
|
|
||||||
ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `static_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'staticIpstatic_ip指给4G UE分配的静态IP,没有可不带此字段名' AFTER `apn_context`;
|
|
||||||
|
|
||||||
-- multi-tenancy
|
-- multi-tenancy
|
||||||
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'CAG' AFTER `static_ip`;
|
|
||||||
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id' AFTER `cag`;
|
ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id' AFTER `cag`;
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
|
||||||
-- Dump completed on 2024-03-06 17:26:59
|
|
||||||
|
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ func PostCDREventFrom(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 发送到匹配的网元
|
// 发送到匹配的网元
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(cdrEvent.RmUID)
|
neInfo := neService.NewNeInfo.SelectNeInfoByRmuid(cdrEvent.RmUID)
|
||||||
if neInfo.RmUID == cdrEvent.RmUID {
|
if neInfo.RmUID == cdrEvent.RmUID {
|
||||||
// 推送到ws订阅组
|
// 推送到ws订阅组
|
||||||
switch neInfo.NeType {
|
switch neInfo.NeType {
|
||||||
|
|||||||
@@ -1,558 +0,0 @@
|
|||||||
package cm
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"be.ems/lib/core/ctx"
|
|
||||||
"be.ems/lib/dborm"
|
|
||||||
"be.ems/lib/log"
|
|
||||||
"be.ems/lib/services"
|
|
||||||
"be.ems/restagent/config"
|
|
||||||
neModel "be.ems/src/modules/network_element/model"
|
|
||||||
neService "be.ems/src/modules/network_element/service"
|
|
||||||
"github.com/gorilla/mux"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// General License URI
|
|
||||||
UriLicense = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{elementTypeValue}/license"
|
|
||||||
UriLicenseExt = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/license"
|
|
||||||
|
|
||||||
CustomUriLicense = config.UriPrefix + "/systemManagement/{apiVersion}/{elementTypeValue}/license"
|
|
||||||
CustomUriLicenseExt = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/license"
|
|
||||||
)
|
|
||||||
|
|
||||||
func UploadLicenseFile(w http.ResponseWriter, r *http.Request) {
|
|
||||||
log.Debug("UploadLicenseFile processing... ")
|
|
||||||
|
|
||||||
// _, err := services.CheckFrontValidRequest(w, r)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Http request error:", err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
vars := mux.Vars(r)
|
|
||||||
neType := vars["neType"]
|
|
||||||
if neType == "" {
|
|
||||||
log.Error("neType is empty")
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// neTypeUpper := strings.ToUpper(neType)
|
|
||||||
// neTypeLower := strings.ToLower(neType)
|
|
||||||
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DownloadLicenseFile(w http.ResponseWriter, r *http.Request) {
|
|
||||||
log.Debug("DownloadLicenseFile processing... ")
|
|
||||||
|
|
||||||
// _, err := services.CheckFrontValidRequest(w, r)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Request error:", err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
vars := mux.Vars(r)
|
|
||||||
neType := vars["neType"]
|
|
||||||
if neType == "" {
|
|
||||||
log.Error("neType is empty")
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// // neTypeUpper := strings.ToUpper(neType)
|
|
||||||
// //neTypeLower := strings.ToLower(neType)
|
|
||||||
|
|
||||||
// version := vars["version"]
|
|
||||||
// if version == "" {
|
|
||||||
// log.Error("version is empty")
|
|
||||||
// services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
// sql := fmt.Sprintf("select * from ne_software where ne_type='%s' and version='%s'", neTypeUpper, version)
|
|
||||||
// neSoftware, err := dborm.XormGetDataBySQL(sql)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Faile to XormGetDataBySQL:", err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// } else if len(*neSoftware) == 0 {
|
|
||||||
// err := global.ErrCMNotFoundTargetSoftware
|
|
||||||
// log.Error(err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fileName := (*neSoftware)[0]["file_name"]
|
|
||||||
// path := (*neSoftware)[0]["path"]
|
|
||||||
// md5Sum := (*neSoftware)[0]["md5_sum"]
|
|
||||||
|
|
||||||
// services.ResponseFileWithNameAndMD5(w, http.StatusOK, fileName, path, md5Sum)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DeleteLcenseFile(w http.ResponseWriter, r *http.Request) {
|
|
||||||
log.Debug("DeleteLcenseFile processing... ")
|
|
||||||
|
|
||||||
// _, err := services.CheckFrontValidRequest(w, r)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Request error:", err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
vars := mux.Vars(r)
|
|
||||||
neType := vars["neType"]
|
|
||||||
if neType == "" {
|
|
||||||
log.Error("neType is empty")
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// neTypeUpper := strings.ToUpper(neType)
|
|
||||||
// //neTypeLower := strings.ToLower(neType)
|
|
||||||
|
|
||||||
// version := vars["version"]
|
|
||||||
// if version == "" {
|
|
||||||
// log.Error("version is empty")
|
|
||||||
// services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
// sql := fmt.Sprintf("select * from ne_software where ne_type='%s' and version='%s'", neTypeUpper, version)
|
|
||||||
// neSoftware, err := dborm.XormGetDataBySQL(sql)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Faile to XormGetDataBySQL:", err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// } else if len(*neSoftware) == 0 {
|
|
||||||
// err := global.ErrCMNotFoundTargetSoftware
|
|
||||||
// log.Error(err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
// where := fmt.Sprintf("ne_type='%s' and version='%s'", neTypeUpper, version)
|
|
||||||
// affected, err := dborm.XormDeleteDataByWhere(where, "ne_software")
|
|
||||||
// if err != nil || affected == 0 {
|
|
||||||
// log.Error("Faile to XormGetDataBySQL:", err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fileName := (*neSoftware)[0]["file_name"]
|
|
||||||
// path := (*neSoftware)[0]["path"]
|
|
||||||
// filePath := fmt.Sprintf("%s/%s", path, fileName)
|
|
||||||
// err = os.Remove(filePath)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Faile to Remove:", err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// type MMLRequest struct {
|
|
||||||
// MML []string `json:"mml"`
|
|
||||||
// }
|
|
||||||
|
|
||||||
// var TIME_DELAY_AFTER_WRITE time.Duration = 200
|
|
||||||
// var TIME_DEAD_LINE time.Duration = 10
|
|
||||||
|
|
||||||
// func init() {
|
|
||||||
// if config.GetYamlConfig().MML.Sleep != 0 {
|
|
||||||
// TIME_DELAY_AFTER_WRITE = time.Duration(config.GetYamlConfig().MML.Sleep)
|
|
||||||
// }
|
|
||||||
// if config.GetYamlConfig().MML.DeadLine != 0 {
|
|
||||||
// TIME_DEAD_LINE = time.Duration(config.GetYamlConfig().MML.DeadLine)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
func UploadLicenseFileData(w http.ResponseWriter, r *http.Request) {
|
|
||||||
log.Info("UploadLicenseFileData processing... ")
|
|
||||||
|
|
||||||
// _, err := services.CheckFrontValidRequest(w, r)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Http request error:", err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
vars := mux.Vars(r)
|
|
||||||
neType := vars["elementTypeValue"]
|
|
||||||
if neType == "" {
|
|
||||||
log.Error("elementTypeValue is empty")
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
neTypeUpper := strings.ToUpper(neType)
|
|
||||||
neTypeLower := strings.ToLower(neType)
|
|
||||||
|
|
||||||
//md5Param := services.GetUriParamString(r, "md5Sum", ",", false, false)
|
|
||||||
|
|
||||||
neId := services.GetUriParamString(r, "neId", ",", false, false)
|
|
||||||
|
|
||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("Failed to get ne_info:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Debug("neInfo:", neInfo)
|
|
||||||
|
|
||||||
licensePath := fmt.Sprintf("%s/%s", config.GetYamlConfig().OMC.License, neTypeLower)
|
|
||||||
err = os.MkdirAll(licensePath, os.ModePerm)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to Mkdir:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
//fileName, err := services.HandleUploadFile(r, softwarePath, "")
|
|
||||||
|
|
||||||
// 解析multipart/form-data请求
|
|
||||||
err = r.ParseMultipartForm(10 << 20) // 10MB
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to ParseMultipartForm:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取文件和数据
|
|
||||||
licFile := r.MultipartForm.File["file"]
|
|
||||||
data := r.MultipartForm.Value["comment"]
|
|
||||||
|
|
||||||
var licenseFileName, comment string
|
|
||||||
|
|
||||||
// 处理license文件
|
|
||||||
if len(licFile) > 0 {
|
|
||||||
file := licFile[0]
|
|
||||||
// 打开文件
|
|
||||||
f, err := file.Open()
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to Open:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
// 创建本地文件
|
|
||||||
dst, err := os.Create(licensePath + "/" + file.Filename)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to Create:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer dst.Close()
|
|
||||||
|
|
||||||
licenseFileName = file.Filename
|
|
||||||
// 将文件内容拷贝到本地文件
|
|
||||||
_, err = io.Copy(dst, f)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to Copy:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 处理数据
|
|
||||||
if len(data) > 0 {
|
|
||||||
comment = data[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
neLicensePath := strings.ReplaceAll(config.GetYamlConfig().NE.LicenseDir, "{neType}", neTypeLower)
|
|
||||||
|
|
||||||
srcFile := fmt.Sprintf("%s/%s", licensePath, licenseFileName)
|
|
||||||
scpDir := fmt.Sprintf("%s@%s:%s", config.GetYamlConfig().NE.User, neInfo.Ip, config.GetYamlConfig().NE.ScpDir)
|
|
||||||
cmd := exec.Command("scp", "-r", srcFile, scpDir)
|
|
||||||
out, err := cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("Faile to scp NF: neType=%s, neId=%s, ip=%s", neType, neId, neInfo.Ip)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// backup system.ini to system.ini.bak
|
|
||||||
sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip)
|
|
||||||
cpCmd := fmt.Sprintf("sudo test -f %s/system.ini && cp -f %s/system.ini %s/system.ini.bak||echo 0",
|
|
||||||
neLicensePath, neLicensePath, neLicensePath)
|
|
||||||
cmd = exec.Command("ssh", sshHost, cpCmd)
|
|
||||||
out, err = cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("Faile to execute cp command:%v, cmd:%s", err, cpCmd)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// replace system.ini
|
|
||||||
neFilePath := config.GetYamlConfig().NE.ScpDir + "/" + licenseFileName
|
|
||||||
cpCmd = fmt.Sprintf("sudo mv -f %s %s/system.ini", neFilePath, neLicensePath)
|
|
||||||
cmd = exec.Command("ssh", sshHost, cpCmd)
|
|
||||||
out, err = cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to execute cp command:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
// judge license if expired
|
|
||||||
isRestart := false
|
|
||||||
hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
|
||||||
requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
|
|
||||||
hostUri, neTypeLower)
|
|
||||||
log.Debug("requestURI2NF:", requestURI2NF)
|
|
||||||
|
|
||||||
resp, err := client.R().
|
|
||||||
EnableTrace().
|
|
||||||
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
|
||||||
//SetHeaders(map[string]string{"accessToken": token}).
|
|
||||||
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
|
||||||
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
|
||||||
Get(requestURI2NF)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to get system state:", err)
|
|
||||||
isRestart = true
|
|
||||||
} else {
|
|
||||||
systemState := make(map[string]interface{})
|
|
||||||
_ = json.Unmarshal(resp.Body(), &systemState)
|
|
||||||
expiryDate := fmt.Sprintf("%v", systemState["expiryDate"])
|
|
||||||
t1_expiry, _ := time.ParseInLocation(time.DateOnly, expiryDate, time.Local)
|
|
||||||
nowDate := time.Now().Local()
|
|
||||||
nowDate.Format(time.DateOnly)
|
|
||||||
isRestart = t1_expiry.Before(nowDate)
|
|
||||||
}
|
|
||||||
// case non-expired license: send NE reload license MML
|
|
||||||
if !isRestart {
|
|
||||||
// send reload license MML
|
|
||||||
var buf [20 * 1024]byte
|
|
||||||
//buf := make([]byte, 0)
|
|
||||||
var n int
|
|
||||||
if neInfo != nil {
|
|
||||||
switch strings.ToLower(neType) {
|
|
||||||
case "ims":
|
|
||||||
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
|
||||||
conn, err := net.Dial("tcp", hostMML)
|
|
||||||
if err != nil {
|
|
||||||
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
|
|
||||||
log.Error(errMsg)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
conn.SetDeadline(time.Now().Add(TIME_DEAD_LINE * time.Second))
|
|
||||||
|
|
||||||
_, err = conn.Write([]byte(config.GetYamlConfig().MML.User + "\r\n"))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0:n]))
|
|
||||||
|
|
||||||
_, err = conn.Write([]byte(config.GetYamlConfig().MML.Password + "\r\n"))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0 : n-len(neType)-2]))
|
|
||||||
|
|
||||||
mmlCommand := "check lic\r\n"
|
|
||||||
|
|
||||||
_, err = conn.Write([]byte(mmlCommand))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0 : n-len(neType)-2]))
|
|
||||||
|
|
||||||
re1 := regexp.MustCompile(`\x1B\[[0-9;]*[a-zA-Z]`) // 匹配包含␛的控制字符
|
|
||||||
//re2 := regexp.MustCompile(`\x00`) // 匹配空字符
|
|
||||||
re2 := regexp.MustCompile(`[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x1B]`) // 匹配空字符和包含␛的控制字符
|
|
||||||
//re := regexp.MustCompile(`[\x00-\x1F\x7F]`)
|
|
||||||
// upf telnet buffer只能读取一次,需要去掉前面的多余字符
|
|
||||||
result := re1.ReplaceAllString(string(buf[0:n-len(neType)-2]), "")
|
|
||||||
result = re2.ReplaceAllString(result, "")
|
|
||||||
if !strings.Contains(result, "COMMAND OK") {
|
|
||||||
err = fmt.Errorf("failed to check license, %s", result)
|
|
||||||
log.Error(err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
|
||||||
conn, err := net.Dial("tcp", hostMML)
|
|
||||||
if err != nil {
|
|
||||||
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
|
|
||||||
log.Error(errMsg)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
conn.SetDeadline(time.Now().Add(TIME_DEAD_LINE * time.Second))
|
|
||||||
loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
|
||||||
_, err = conn.Write([]byte(loginStr))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0:n]))
|
|
||||||
|
|
||||||
mmlCommand := "check lic\n"
|
|
||||||
_, err = conn.Write([]byte(mmlCommand))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0 : n-len(neType)-2]))
|
|
||||||
re1 := regexp.MustCompile(`\x1B\[[0-9;]*[a-zA-Z]`) // 匹配包含␛的控制字符
|
|
||||||
//re2 := regexp.MustCompile(`\x00`) // 匹配空字符
|
|
||||||
re2 := regexp.MustCompile(`[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x1B]`) // 匹配空字符和包含␛的控制字符
|
|
||||||
//re := regexp.MustCompile(`[\x00-\x1F\x7F]`)
|
|
||||||
result := re1.ReplaceAllString(string(buf[0:n-len(neType)-2]), "")
|
|
||||||
result = re2.ReplaceAllString(result, "")
|
|
||||||
if !strings.Contains(result, "COMMAND OK") {
|
|
||||||
err = fmt.Errorf("failed to check license, %s", result)
|
|
||||||
log.Error(err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// case expired license: restart NE service
|
|
||||||
switch neTypeLower {
|
|
||||||
case "omc":
|
|
||||||
restartCmd := fmt.Sprintf("sudo %s/bin/omcsvc.sh restart", config.GetYamlConfig().NE.OmcDir)
|
|
||||||
cmd := exec.Command("ssh", sshHost, restartCmd)
|
|
||||||
out, err := cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to execute ssh restart omc:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case "ims":
|
|
||||||
restartCmd := "sudo ims-stop && sudo ims-start"
|
|
||||||
cmd := exec.Command("ssh", sshHost, restartCmd)
|
|
||||||
out, err := cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to execute ssh sudo systemctl command:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
restartCmd := fmt.Sprintf("sudo systemctl restart %s.service", neTypeLower)
|
|
||||||
cmd := exec.Command("ssh", sshHost, restartCmd)
|
|
||||||
out, err := cmd.CombinedOutput()
|
|
||||||
log.Debugf("Exec output: %v", string(out))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to execute ssh sudo systemctl command:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// neLicense := dborm.NeLicense{
|
|
||||||
// NeType: neTypeUpper,
|
|
||||||
// NeID: neId,
|
|
||||||
// Status: "ACTIVE",
|
|
||||||
// Path: licensePath,
|
|
||||||
// FileName: licenseFileName,
|
|
||||||
// Comment: comment,
|
|
||||||
// }
|
|
||||||
|
|
||||||
// log.Debug("neLicense:", neLicense)
|
|
||||||
// _, err = dborm.XormInsertTableOne("ne_license", neLicense)
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Faile to XormInsertTableOne:", err)
|
|
||||||
// services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
// }
|
|
||||||
|
|
||||||
neLicense := neModel.NeLicense{
|
|
||||||
NeType: neTypeUpper,
|
|
||||||
NeId: neId,
|
|
||||||
Status: "0",
|
|
||||||
LicensePath: neFilePath,
|
|
||||||
Remark: comment,
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Debug("neLicense:", neLicense)
|
|
||||||
|
|
||||||
// 检查是否存在授权记录
|
|
||||||
neLicense2 := neService.NewNeLicenseImpl.SelectByNeTypeAndNeID(neTypeUpper, neId)
|
|
||||||
if neLicense2.NeId != neId {
|
|
||||||
// 读取授权码
|
|
||||||
code, _ := neService.NewNeLicenseImpl.ReadLicenseInfo(neLicense)
|
|
||||||
neLicense.ActivationRequestCode = code
|
|
||||||
|
|
||||||
neLicense.CreateBy = ctx.LoginUserToUserName(r)
|
|
||||||
insertId := neService.NewNeLicenseImpl.Insert(neLicense)
|
|
||||||
if insertId != "" {
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
neLicense2.UpdateBy = ctx.LoginUserToUserName(r)
|
|
||||||
upRows := neService.NewNeLicenseImpl.Update(neLicense2)
|
|
||||||
if upRows > 0 {
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
}
|
|
||||||
@@ -157,7 +157,7 @@ func PostNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 刷新缓存,不存在结构体网元Id空字符串
|
// 刷新缓存,不存在结构体网元Id空字符串
|
||||||
neService.NewNeInfoImpl.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
neService.NewNeInfo.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||||
|
|
||||||
mapRow := make(map[string]interface{})
|
mapRow := make(map[string]interface{})
|
||||||
row := map[string]interface{}{"affectedRows": affected}
|
row := map[string]interface{}{"affectedRows": affected}
|
||||||
@@ -208,7 +208,7 @@ func PostNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 刷新缓存,不存在结构体网元Id空字符串
|
// 刷新缓存,不存在结构体网元Id空字符串
|
||||||
neService.NewNeInfoImpl.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
neService.NewNeInfo.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||||
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
services.ResponseStatusOK204NoContent(w)
|
||||||
return
|
return
|
||||||
@@ -267,7 +267,7 @@ func PutNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 刷新缓存,不存在结构体网元Id空字符串
|
// 刷新缓存,不存在结构体网元Id空字符串
|
||||||
neService.NewNeInfoImpl.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
neService.NewNeInfo.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||||
|
|
||||||
mapRow := make(map[string]interface{})
|
mapRow := make(map[string]interface{})
|
||||||
row := map[string]interface{}{"affectedRows": affected}
|
row := map[string]interface{}{"affectedRows": affected}
|
||||||
@@ -319,7 +319,7 @@ func PutNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 刷新缓存,不存在结构体网元Id空字符串
|
// 刷新缓存,不存在结构体网元Id空字符串
|
||||||
neService.NewNeInfoImpl.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
neService.NewNeInfo.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||||
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
services.ResponseStatusOK204NoContent(w)
|
||||||
return
|
return
|
||||||
@@ -381,7 +381,7 @@ func DeleteNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 刷新缓存,不存在结构体网元Id空字符串
|
// 刷新缓存,不存在结构体网元Id空字符串
|
||||||
neService.NewNeInfoImpl.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
neService.NewNeInfo.RefreshByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||||
|
|
||||||
mapRow := make(map[string]interface{})
|
mapRow := make(map[string]interface{})
|
||||||
row := map[string]interface{}{"affectedRows": affected}
|
row := map[string]interface{}{"affectedRows": affected}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ func GetParamConfigFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
|
|
||||||
var response services.DataResponse
|
var response services.DataResponse
|
||||||
if neInfo.NeId == neId && neInfo.NeId != "" {
|
if neInfo.NeId == neId && neInfo.NeId != "" {
|
||||||
@@ -76,7 +76,7 @@ func PostParamConfigToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
|
|
||||||
if neInfo.NeId != neId || neInfo.NeId == "" {
|
if neInfo.NeId != neId || neInfo.NeId == "" {
|
||||||
log.Error("neId is empty")
|
log.Error("neId is empty")
|
||||||
@@ -128,7 +128,7 @@ func PutParamConfigToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
neId := ctx.GetQuery(r, "ne_id")
|
neId := ctx.GetQuery(r, "ne_id")
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
|
|
||||||
if neInfo.NeId != neId || neInfo.NeId == "" {
|
if neInfo.NeId != neId || neInfo.NeId == "" {
|
||||||
log.Error("neId is empty")
|
log.Error("neId is empty")
|
||||||
@@ -181,7 +181,7 @@ func DeleteParamConfigToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
neId := ctx.GetQuery(r, "ne_id")
|
neId := ctx.GetQuery(r, "ne_id")
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
|
|
||||||
if neInfo.NeId != neId || neInfo.NeId == "" {
|
if neInfo.NeId != neId || neInfo.NeId == "" {
|
||||||
log.Error("neId is empty")
|
log.Error("neId is empty")
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ func PostUEEvent(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 发送到匹配的网元
|
// 发送到匹配的网元
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(ueEvent.RmUID)
|
neInfo := neService.NewNeInfo.SelectNeInfoByRmuid(ueEvent.RmUID)
|
||||||
if neInfo.RmUID == ueEvent.RmUID {
|
if neInfo.RmUID == ueEvent.RmUID {
|
||||||
// 推送到ws订阅组
|
// 推送到ws订阅组
|
||||||
if ueEvent.NeType == "MME" {
|
if ueEvent.NeType == "MME" {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package features
|
|||||||
import (
|
import (
|
||||||
"be.ems/features/cm"
|
"be.ems/features/cm"
|
||||||
"be.ems/features/lm"
|
"be.ems/features/lm"
|
||||||
|
"be.ems/features/nbi"
|
||||||
"be.ems/features/pm"
|
"be.ems/features/pm"
|
||||||
"be.ems/lib/log"
|
"be.ems/lib/log"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -12,10 +13,10 @@ func InitServiceEngine(r *gin.Engine) {
|
|||||||
log.Info("======init feature group gin.Engine")
|
log.Info("======init feature group gin.Engine")
|
||||||
|
|
||||||
// featuresGroup := r.Group("/")
|
// featuresGroup := r.Group("/")
|
||||||
// 注册 各个features 模块的路由
|
// register features routers
|
||||||
pm.InitSubServiceRoute(r)
|
pm.InitSubServiceRoute(r)
|
||||||
lm.InitSubServiceRoute(r)
|
lm.InitSubServiceRoute(r)
|
||||||
cm.InitSubServiceRoute(r)
|
cm.InitSubServiceRoute(r)
|
||||||
|
nbi.InitSubServiceRoute(r)
|
||||||
// return featuresGroup
|
// return featuresGroup
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
257
features/nbi/file/controller.go
Normal file
257
features/nbi/file/controller.go
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
package nbi_file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"archive/zip"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"be.ems/lib/dborm"
|
||||||
|
"be.ems/lib/file"
|
||||||
|
"be.ems/lib/global"
|
||||||
|
"be.ems/lib/log"
|
||||||
|
"be.ems/lib/services"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SysJobResponse struct {
|
||||||
|
SysJob
|
||||||
|
TableName string `json:"tableName"`
|
||||||
|
TableDisplay string `json:"tableDisplay"`
|
||||||
|
FilePath string `json:"filePath"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type TargetParams struct {
|
||||||
|
Duration int `json:"duration"`
|
||||||
|
TableName string `json:"tableName"`
|
||||||
|
Columns string `json:"columns"` // exported column name of time string
|
||||||
|
TimeCol string `json:"timeCol"` // time stamp of column name
|
||||||
|
TimeUnit string `json:"timeUnit"` // timestamp unit: second/micro/milli
|
||||||
|
Extras string `json:"extras"` // extras condition for where
|
||||||
|
FilePath string `json:"filePath"` // file path
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *FileNBI) GetFileList(c *gin.Context) {
|
||||||
|
var querys FileNBIQuery
|
||||||
|
|
||||||
|
querys.Category = c.Param("category")
|
||||||
|
querys.Type = c.Param("type")
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if querys.Path == "" {
|
||||||
|
tableName := ""
|
||||||
|
ok := false
|
||||||
|
switch querys.Category {
|
||||||
|
case "cdr":
|
||||||
|
tableName, ok = CDRTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid CDR file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
case "log":
|
||||||
|
tableName, ok = LogTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file category: %s", querys.Category)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
s := SysJob{}
|
||||||
|
where := fmt.Sprintf("invoke_target='%s' and status=1 and JSON_UNQUOTE(JSON_EXTRACT(target_params,'$.tableName'))='%s'", INVOKE_FILE_EXPORT, tableName)
|
||||||
|
_, err := dborm.XEngDB().Table(s.TableName()).
|
||||||
|
Select("JSON_UNQUOTE(JSON_EXTRACT(target_params, '$.filePath')) as file_path").
|
||||||
|
Where(where).
|
||||||
|
Get(&querys.Path)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
files, err := file.GetFileInfo(querys.Path, querys.Suffix)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("failed to GetFileInfo:", err)
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// split files list
|
||||||
|
lenNum := int64(len(files))
|
||||||
|
start := (querys.PageNum - 1) * querys.PageSize
|
||||||
|
end := start + querys.PageSize
|
||||||
|
var splitList []file.FileInfo
|
||||||
|
if start >= lenNum {
|
||||||
|
splitList = []file.FileInfo{}
|
||||||
|
} else if end >= lenNum {
|
||||||
|
splitList = files[start:]
|
||||||
|
} else {
|
||||||
|
splitList = files[start:end]
|
||||||
|
}
|
||||||
|
total := len(files)
|
||||||
|
c.JSON(http.StatusOK, services.TotalDataResp(splitList, total))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *FileNBI) Total(c *gin.Context) {
|
||||||
|
dir := c.Query("path")
|
||||||
|
|
||||||
|
fileCount, dirCount, err := file.GetFileAndDirCount(dir)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("failed to GetFileAndDirCount:", err)
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
total := fileCount + dirCount
|
||||||
|
c.JSON(http.StatusOK, services.TotalResp(int64(total)))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *FileNBI) GetSingleFileHandler(c *gin.Context) {
|
||||||
|
var querys FileNBIQuery
|
||||||
|
|
||||||
|
querys.Category = c.Param("category")
|
||||||
|
querys.Type = c.Param("type")
|
||||||
|
querys.DateIndex = c.Param("dateIndex")
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
tableName := ""
|
||||||
|
if querys.Path == "" {
|
||||||
|
ok := false
|
||||||
|
switch querys.Category {
|
||||||
|
case "cdr":
|
||||||
|
tableName, ok = CDRTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid CDR file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
case "log":
|
||||||
|
tableName, ok = LogTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file category: %s", querys.Category)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
s := SysJob{}
|
||||||
|
where := fmt.Sprintf("invoke_target='%s' and status=1 and JSON_UNQUOTE(JSON_EXTRACT(target_params,'$.tableName'))='%s'", INVOKE_FILE_EXPORT, tableName)
|
||||||
|
_, err := dborm.XEngDB().Table(s.TableName()).
|
||||||
|
Select("JSON_UNQUOTE(JSON_EXTRACT(target_params, '$.filePath')) as file_path").
|
||||||
|
Where(where).
|
||||||
|
Get(&querys.Path)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fileName := tableName + "_export_" + querys.DateIndex + "0000" + ".csv"
|
||||||
|
filePath := filepath.Join(querys.Path, fileName)
|
||||||
|
|
||||||
|
file, err := os.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
if _, err := os.Stat(filePath); os.IsNotExist(err) {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Header("Content-Disposition", "attachment; filename="+fileName)
|
||||||
|
c.Header("Content-Type", "application/octet-stream")
|
||||||
|
c.File(filePath)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *FileNBI) GetMultiFileHandler(c *gin.Context) {
|
||||||
|
var querys FileNBIQuery
|
||||||
|
|
||||||
|
querys.Category = c.Param("category")
|
||||||
|
querys.Type = c.Param("type")
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
tableName := ""
|
||||||
|
if querys.Path == "" {
|
||||||
|
ok := false
|
||||||
|
switch querys.Category {
|
||||||
|
case "cdr":
|
||||||
|
tableName, ok = CDRTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid CDR file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
case "log":
|
||||||
|
tableName, ok = LogTableMapper[querys.Type]
|
||||||
|
if tableName == "" || !ok {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file type: %s", querys.Type)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(fmt.Sprintf("invalid log file category: %s", querys.Category)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
s := SysJob{}
|
||||||
|
where := fmt.Sprintf("invoke_target='%s' and status=1 and JSON_UNQUOTE(JSON_EXTRACT(target_params,'$.tableName'))='%s'", INVOKE_FILE_EXPORT, tableName)
|
||||||
|
_, err := dborm.XEngDB().Table(s.TableName()).
|
||||||
|
Select("JSON_UNQUOTE(JSON_EXTRACT(target_params, '$.filePath')) as file_path").
|
||||||
|
Where(where).
|
||||||
|
Get(&querys.Path)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
zipWriter := zip.NewWriter(c.Writer)
|
||||||
|
defer zipWriter.Close()
|
||||||
|
|
||||||
|
for _, fileName := range querys.FileNames {
|
||||||
|
filePath := filepath.Join(querys.Path, fileName)
|
||||||
|
|
||||||
|
file, err := os.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
if _, err := os.Stat(filePath); os.IsNotExist(err) {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
writer, err := zipWriter.Create(filepath.Base(fileName))
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := io.Copy(writer, file); err != nil {
|
||||||
|
c.JSON(http.StatusOK, services.ErrResp(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
zipFile := tableName + "_export_" + time.Now().Local().Format(global.DateData) + ".zip"
|
||||||
|
c.Header("Content-Disposition", "attachment; filename="+zipFile)
|
||||||
|
c.Header("Content-Type", "application/zip")
|
||||||
|
//c.File(filePath)
|
||||||
|
}
|
||||||
47
features/nbi/file/model.go
Normal file
47
features/nbi/file/model.go
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
package nbi_file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"be.ems/lib/file"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
INVOKE_FILE_EXPORT = "exportTable"
|
||||||
|
)
|
||||||
|
|
||||||
|
var CDRTableMapper map[string]string = map[string]string{
|
||||||
|
"ims": "cdr_event_ims",
|
||||||
|
"smf": "cdr_event_smf",
|
||||||
|
"smsc": "cdr_event_smsc",
|
||||||
|
"sms": "cdr_event_smsc",
|
||||||
|
}
|
||||||
|
|
||||||
|
var LogTableMapper map[string]string = map[string]string{
|
||||||
|
"operate": "sys_log_operate",
|
||||||
|
"security": "sys_log_login",
|
||||||
|
"alarm": "alarm_log",
|
||||||
|
}
|
||||||
|
|
||||||
|
type SysJob struct {
|
||||||
|
JobID int64 `gorm:"column:job_id;primary_key;auto_increment" json:"job_id"` //任务ID
|
||||||
|
InvokeTarget string `gorm:"column:invoke_target" json:"invoke_target"` //调用目标字符串
|
||||||
|
TargetParams string `gorm:"column:target_params;type:json" json:"target_params,omitempty"` //调用目标传入参数
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SysJob) TableName() string {
|
||||||
|
return "sys_job"
|
||||||
|
}
|
||||||
|
|
||||||
|
type FileNBI struct {
|
||||||
|
file.FileInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type FileNBIQuery struct {
|
||||||
|
Category string `form:"category" binding:"required"`
|
||||||
|
Type string `form:"type" binding:"required"`
|
||||||
|
DateIndex string `form:"dateIndex"`
|
||||||
|
Path string `json:"path" form:"path"`
|
||||||
|
FileNames []string `json:"fileName" form:"fileName"`
|
||||||
|
Suffix string `form:"suffix"`
|
||||||
|
PageNum int64 `form:"pageNum"`
|
||||||
|
PageSize int64 `form:"pageSize"`
|
||||||
|
}
|
||||||
26
features/nbi/file/route.go
Normal file
26
features/nbi/file/route.go
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package nbi_file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"be.ems/src/framework/middleware"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Register Routes for file_export
|
||||||
|
func Register(r *gin.RouterGroup) {
|
||||||
|
fileNBI := r.Group("/file")
|
||||||
|
{
|
||||||
|
var f *FileNBI
|
||||||
|
fileNBI.GET("/:category/:type/list",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
f.GetFileList,
|
||||||
|
)
|
||||||
|
fileNBI.GET("/:category/:type/:dateIndex",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
f.GetSingleFileHandler,
|
||||||
|
)
|
||||||
|
fileNBI.GET("/:category/:type",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
f.GetMultiFileHandler,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
16
features/nbi/service.go
Normal file
16
features/nbi/service.go
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
// log management package
|
||||||
|
|
||||||
|
package nbi
|
||||||
|
|
||||||
|
import (
|
||||||
|
nbi_file "be.ems/features/nbi/file"
|
||||||
|
"be.ems/lib/log"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
func InitSubServiceRoute(r *gin.Engine) {
|
||||||
|
log.Info("======init North-Bound Interface group gin.Engine")
|
||||||
|
|
||||||
|
nbiGroup := r.Group("/nbi")
|
||||||
|
nbi_file.Register(nbiGroup)
|
||||||
|
}
|
||||||
@@ -293,7 +293,7 @@ func PostKPIReportFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 发送到匹配的网元
|
// 发送到匹配的网元
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(kpiData.RmUid)
|
neInfo := neService.NewNeInfo.SelectNeInfoByRmuid(kpiData.RmUid)
|
||||||
// custom kpi report to FE
|
// custom kpi report to FE
|
||||||
kpiCEvent := map[string]any{
|
kpiCEvent := map[string]any{
|
||||||
// kip_id ...
|
// kip_id ...
|
||||||
@@ -343,135 +343,6 @@ func PostKPIReportFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
services.ResponseStatusOK204NoContent(w)
|
services.ResponseStatusOK204NoContent(w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PostGoldKPIFromNF 已废弃
|
|
||||||
// post kpi report from NEs, insert insto gold_kpi table, discard...
|
|
||||||
func PostGoldKPIFromNF(w http.ResponseWriter, r *http.Request) {
|
|
||||||
log.Debug("PostKPIReportFromNF processing... ")
|
|
||||||
|
|
||||||
vars := mux.Vars(r)
|
|
||||||
apiVer := vars["apiVersion"]
|
|
||||||
if apiVer != global.ApiVersionV1 {
|
|
||||||
log.Error("Uri api version is invalid. apiVersion:", apiVer)
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
|
||||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Faile to io.ReadAll: ", err)
|
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace("Request body:", string(body))
|
|
||||||
kpiReport := new(KpiReport)
|
|
||||||
_ = json.Unmarshal(body, &kpiReport)
|
|
||||||
log.Trace("kpiReport:", kpiReport)
|
|
||||||
|
|
||||||
session := xEngine.NewSession()
|
|
||||||
defer session.Close()
|
|
||||||
goldKpi := new(GoldKpi)
|
|
||||||
layout := time.RFC3339Nano
|
|
||||||
goldKpi.Date = GetDateFromTimeString(layout, kpiReport.Task.Period.StartTime)
|
|
||||||
goldKpi.Index, _ = strconv.Atoi(vars["index"])
|
|
||||||
goldKpi.StartTime = global.GetFmtTimeString(layout, kpiReport.Task.Period.StartTime, time.DateTime)
|
|
||||||
goldKpi.EndTime = global.GetFmtTimeString(layout, kpiReport.Task.Period.EndTime, time.DateTime)
|
|
||||||
// get time granularity from startTime and endTime
|
|
||||||
seconds, _ := global.GetSecondDuration(goldKpi.StartTime, goldKpi.EndTime)
|
|
||||||
goldKpi.Granularity = 60
|
|
||||||
if seconds != 0 && seconds <= math.MaxInt8 && seconds >= math.MinInt8 {
|
|
||||||
goldKpi.Granularity = int8(seconds)
|
|
||||||
}
|
|
||||||
goldKpi.NEName = kpiReport.Task.NE.NEName
|
|
||||||
goldKpi.RmUid = kpiReport.Task.NE.RmUID
|
|
||||||
goldKpi.NEType = kpiReport.Task.NE.NeType
|
|
||||||
goldKpi.Timestamp = global.GetFmtTimeString(layout, kpiReport.Timestamp, time.DateTime)
|
|
||||||
// 黄金指标事件对象
|
|
||||||
kpiEvent := map[string]any{
|
|
||||||
// kip_id ...
|
|
||||||
"neType": goldKpi.NEType,
|
|
||||||
"neName": goldKpi.NEName,
|
|
||||||
"rmUID": goldKpi.RmUid,
|
|
||||||
"startIndex": goldKpi.Index,
|
|
||||||
"timeGroup": goldKpi.StartTime,
|
|
||||||
}
|
|
||||||
// insert into new kpi_report_xxx table
|
|
||||||
kpiData := new(KpiData)
|
|
||||||
kpiData.Date = goldKpi.Date
|
|
||||||
kpiData.Index = goldKpi.Index
|
|
||||||
//st, _ := time.ParseInLocation(time.RFC3339Nano, kpiReport.Task.Period.StartTime, time.Local)
|
|
||||||
//et, _ := time.ParseInLocation(time.RFC3339Nano, kpiReport.Task.Period.EndTime, time.Local)
|
|
||||||
kpiData.StartTime = goldKpi.StartTime
|
|
||||||
kpiData.EndTime = goldKpi.EndTime
|
|
||||||
kpiData.Granularity = goldKpi.Granularity
|
|
||||||
kpiData.NEName = goldKpi.NEName
|
|
||||||
kpiData.NEType = goldKpi.NEType
|
|
||||||
kpiData.RmUid = goldKpi.RmUid
|
|
||||||
kpiVal := new(KPIVal)
|
|
||||||
kpiData.CreatedAt = time.Now().UnixMilli()
|
|
||||||
for _, k := range kpiReport.Task.NE.KPIs {
|
|
||||||
kpiEvent[k.KPIID] = k.Value // kip_id
|
|
||||||
goldKpi.KpiId = k.KPIID
|
|
||||||
goldKpi.Value = k.Value
|
|
||||||
goldKpi.Error = k.Err
|
|
||||||
|
|
||||||
kpiVal.KPIID = k.KPIID
|
|
||||||
kpiVal.Value = int64(k.Value)
|
|
||||||
kpiVal.Err = k.Err
|
|
||||||
kpiData.KPIValues = append(kpiData.KPIValues, *kpiVal)
|
|
||||||
|
|
||||||
//log.Trace("goldKpi:", goldKpi)
|
|
||||||
|
|
||||||
// 启动事务
|
|
||||||
err := session.Begin()
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to Begin gold_kpi:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
gkpi := &GoldKpi{}
|
|
||||||
_, err = session.Where("id = ?", 1).ForUpdate().Get(gkpi)
|
|
||||||
if err != nil {
|
|
||||||
// 回滚事务
|
|
||||||
session.Rollback()
|
|
||||||
log.Error("Failed to ForUpdate gold_kpi:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
affected, err := session.Insert(goldKpi)
|
|
||||||
if err != nil && affected <= 0 {
|
|
||||||
session.Rollback()
|
|
||||||
log.Error("Failed to insert gold_kpi:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 提交事务
|
|
||||||
err = session.Commit()
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to Commit gold_kpi:", err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// insert kpi_report table, no session
|
|
||||||
tableName := "kpi_report_" + strings.ToLower(kpiReport.Task.NE.NeType)
|
|
||||||
affected, err := xEngine.Table(tableName).Insert(kpiData)
|
|
||||||
if err != nil && affected <= 0 {
|
|
||||||
log.Errorf("Failed to insert %s:%v", tableName, err)
|
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// 推送到ws订阅组
|
|
||||||
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI, kpiEvent)
|
|
||||||
if goldKpi.NEType == "UPF" {
|
|
||||||
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI_UPF, kpiEvent)
|
|
||||||
}
|
|
||||||
|
|
||||||
services.ResponseStatusOK204NoContent(w)
|
|
||||||
}
|
|
||||||
|
|
||||||
type MeasureTask struct {
|
type MeasureTask struct {
|
||||||
Tasks []Task `json:"Tasks"`
|
Tasks []Task `json:"Tasks"`
|
||||||
NotifyUrl string `json:"NotifyUrl"` /* "http://xEngine.xEngine.xEngine.x:xxxx/api/rest/performanceManagement/v1/elementType/smf/objectType/measureReport */
|
NotifyUrl string `json:"NotifyUrl"` /* "http://xEngine.xEngine.xEngine.x:xxxx/api/rest/performanceManagement/v1/elementType/smf/objectType/measureReport */
|
||||||
|
|||||||
@@ -269,10 +269,10 @@ func GetSMFUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
var neInfos []model.NeInfo
|
var neInfos []model.NeInfo
|
||||||
if neId != "" {
|
if neId != "" {
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
neInfos = append(neInfos, neInfo)
|
neInfos = append(neInfos, neInfo)
|
||||||
} else {
|
} else {
|
||||||
neInfos = neService.NewNeInfoImpl.SelectNeInfoByNeType(neType)
|
neInfos = neService.NewNeInfo.SelectNeInfoByNeType(neType)
|
||||||
}
|
}
|
||||||
|
|
||||||
var response UEInfoResponse
|
var response UEInfoResponse
|
||||||
@@ -399,10 +399,10 @@ func GetIMSUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
var neInfos []model.NeInfo
|
var neInfos []model.NeInfo
|
||||||
if neId != "" {
|
if neId != "" {
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
neInfos = append(neInfos, neInfo)
|
neInfos = append(neInfos, neInfo)
|
||||||
} else {
|
} else {
|
||||||
neInfos = neService.NewNeInfoImpl.SelectNeInfoByNeType(neType)
|
neInfos = neService.NewNeInfo.SelectNeInfoByNeType(neType)
|
||||||
}
|
}
|
||||||
|
|
||||||
var response TenantImsUEInfoResponse
|
var response TenantImsUEInfoResponse
|
||||||
@@ -489,7 +489,7 @@ func GetPCFUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// return
|
// return
|
||||||
// }
|
// }
|
||||||
|
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
|
|
||||||
var response services.MapResponse
|
var response services.MapResponse
|
||||||
if neInfo.NeId == neId && neInfo.NeId != "" {
|
if neInfo.NeId == neId && neInfo.NeId != "" {
|
||||||
@@ -850,10 +850,10 @@ func NewGetUENumFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
var neInfos []model.NeInfo
|
var neInfos []model.NeInfo
|
||||||
if neId != "" {
|
if neId != "" {
|
||||||
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
||||||
neInfos = append(neInfos, neInfo)
|
neInfos = append(neInfos, neInfo)
|
||||||
} else {
|
} else {
|
||||||
neInfos = neService.NewNeInfoImpl.SelectNeInfoByNeType(neType)
|
neInfos = neService.NewNeInfo.SelectNeInfoByNeType(neType)
|
||||||
}
|
}
|
||||||
|
|
||||||
var response []UENumInfo
|
var response []UENumInfo
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -61,7 +61,7 @@ require (
|
|||||||
github.com/go-playground/locales v0.14.1 // indirect
|
github.com/go-playground/locales v0.14.1 // indirect
|
||||||
github.com/go-playground/universal-translator v0.18.1 // indirect
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
||||||
github.com/go-playground/validator/v10 v10.22.0 // indirect
|
github.com/go-playground/validator/v10 v10.22.0 // indirect
|
||||||
github.com/goccy/go-json v0.10.3
|
github.com/goccy/go-json v0.10.3 // indirect
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||||
github.com/golang/snappy v0.0.4 // indirect
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
|
|||||||
@@ -428,68 +428,6 @@ func XormParseResult(body []byte) ([]NeInfo, error) {
|
|||||||
return neInfo, nil
|
return neInfo, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type ParamConfig struct {
|
|
||||||
// Id int `json:"id" xorm:"pk 'id' autoincr"`
|
|
||||||
NeType string `json:"neType"`
|
|
||||||
NeId string `json:"neId"`
|
|
||||||
TopTag string `json:"topTag"`
|
|
||||||
TopDisplay string `json:"topDisplay"`
|
|
||||||
ParamJson string `json:"paramJson"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func XormInsertParamConfig(mapJson *map[string]interface{}) (int64, error) {
|
|
||||||
var affected, a int64
|
|
||||||
var err error
|
|
||||||
paramConfig := new(ParamConfig)
|
|
||||||
for n, d := range *mapJson {
|
|
||||||
if d == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
log.Debugf("n: %s", n)
|
|
||||||
|
|
||||||
for t, p := range d.(map[string]interface{}) {
|
|
||||||
if p == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
log.Debug("t:", t)
|
|
||||||
log.Debug("p:", p)
|
|
||||||
for k, v := range p.(map[string]interface{}) {
|
|
||||||
log.Debug("k, v: ", k, v)
|
|
||||||
if k == "display" {
|
|
||||||
paramConfig.TopDisplay = fmt.Sprintf("%v", v)
|
|
||||||
|
|
||||||
} else {
|
|
||||||
pc, _ := json.Marshal(v)
|
|
||||||
paramConfig.ParamJson = fmt.Sprintf("{\"%v\":%v}", k, string(pc))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
paramConfig.NeType = strings.ToUpper(n)
|
|
||||||
paramConfig.NeId = ""
|
|
||||||
paramConfig.TopTag = t
|
|
||||||
// paramConfig.TopDisplay = p["display"]
|
|
||||||
// paramConfig.ParamJson = p.(string)
|
|
||||||
|
|
||||||
log.Debug("paramConfig:", paramConfig)
|
|
||||||
|
|
||||||
xSession := xEngine.NewSession()
|
|
||||||
defer xSession.Close()
|
|
||||||
_, err = xSession.Table("param_config").Where("ne_type = ? and top_tag = ?", paramConfig.NeType, paramConfig.TopTag).Delete()
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to insert param_config:", err)
|
|
||||||
}
|
|
||||||
a, err = xSession.Insert(paramConfig)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to insert param_config:", err)
|
|
||||||
}
|
|
||||||
affected += a
|
|
||||||
xSession.Commit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return affected, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func ConstructUpdateSQLArray(tableName string, updateData interface{}, whereCondition string) (string, []string) {
|
func ConstructUpdateSQLArray(tableName string, updateData interface{}, whereCondition string) (string, []string) {
|
||||||
log.Debug("ConstructUpdateSQL processing... ")
|
log.Debug("ConstructUpdateSQL processing... ")
|
||||||
log.Debug("Request updateData:", updateData)
|
log.Debug("Request updateData:", updateData)
|
||||||
|
|||||||
@@ -9,14 +9,15 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type FileInfo struct {
|
type FileInfo struct {
|
||||||
FileType string `json:"fileType"` // 文件类型
|
FileType string `json:"fileType"` // file type: file/directory
|
||||||
FileMode string `json:"fileMode"` // 文件的权限
|
FileMode string `json:"fileMode"` // file mode
|
||||||
LinkCount int64 `json:"linkCount"` // 硬链接数目
|
LinkCount int64 `json:"linkCount"` // link count
|
||||||
Owner string `json:"owner"` // 所属用户
|
Owner string `json:"owner"` // owner
|
||||||
Group string `json:"group"` // 所属组
|
Group string `json:"group"` // group
|
||||||
Size int64 `json:"size"` // 文件的大小
|
Size int64 `json:"size"` // size: xx byte
|
||||||
ModifiedTime int64 `json:"modifiedTime"` // 最后修改时间,单位为秒
|
ModifiedTime int64 `json:"modifiedTime"` // last modified time:seconds
|
||||||
FileName string `json:"fileName"` // 文件的名称
|
FilePath string `json:"filePath"` // file path
|
||||||
|
FileName string `json:"fileName"` // file name
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetFileInfo(dir, suffix string) ([]FileInfo, error) {
|
func GetFileInfo(dir, suffix string) ([]FileInfo, error) {
|
||||||
@@ -48,6 +49,7 @@ func GetFileInfo(dir, suffix string) ([]FileInfo, error) {
|
|||||||
Group: "-",
|
Group: "-",
|
||||||
Size: info.Size(),
|
Size: info.Size(),
|
||||||
ModifiedTime: info.ModTime().Unix(),
|
ModifiedTime: info.ModTime().Unix(),
|
||||||
|
FilePath: dir,
|
||||||
FileName: info.Name(),
|
FileName: info.Name(),
|
||||||
}
|
}
|
||||||
files = append(files, fileInfo)
|
files = append(files, fileInfo)
|
||||||
|
|||||||
@@ -207,13 +207,6 @@ func init() {
|
|||||||
Register("PUT", cm.CustomUriSoftwareNE, cm.ActiveSoftwareToNF, nil)
|
Register("PUT", cm.CustomUriSoftwareNE, cm.ActiveSoftwareToNF, nil)
|
||||||
Register("PATCH", cm.CustomUriSoftwareNE, cm.RollBackSoftwareToNF, nil)
|
Register("PATCH", cm.CustomUriSoftwareNE, cm.RollBackSoftwareToNF, nil)
|
||||||
|
|
||||||
// License management
|
|
||||||
Register("POST", cm.UriLicense, cm.UploadLicenseFileData, midware.LogOperate(collectlogs.OptionNew("License", collectlogs.BUSINESS_TYPE_INSERT)))
|
|
||||||
Register("POST", cm.UriLicenseExt, cm.UploadLicenseFileData, midware.LogOperate(collectlogs.OptionNew("License", collectlogs.BUSINESS_TYPE_INSERT)))
|
|
||||||
|
|
||||||
Register("POST", cm.CustomUriLicense, cm.UploadLicenseFileData, nil)
|
|
||||||
Register("POST", cm.CustomUriLicenseExt, cm.UploadLicenseFileData, nil)
|
|
||||||
|
|
||||||
// Trace management 跟踪任务
|
// Trace management 跟踪任务
|
||||||
Register("POST", trace.UriTraceTask, trace.PostTraceTaskToNF, midware.LogOperate(collectlogs.OptionNew("Trace Task", collectlogs.BUSINESS_TYPE_INSERT)))
|
Register("POST", trace.UriTraceTask, trace.PostTraceTaskToNF, midware.LogOperate(collectlogs.OptionNew("Trace Task", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||||
Register("PUT", trace.UriTraceTask, trace.PutTraceTaskToNF, midware.LogOperate(collectlogs.OptionNew("Trace Task", collectlogs.BUSINESS_TYPE_UPDATE)))
|
Register("PUT", trace.UriTraceTask, trace.PutTraceTaskToNF, midware.LogOperate(collectlogs.OptionNew("Trace Task", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||||
|
|||||||
26
makefile
26
makefile
@@ -12,14 +12,17 @@ ARMPLATFORM = aarch64
|
|||||||
GitLocalRoot = $(HOME)/omc.git
|
GitLocalRoot = $(HOME)/omc.git
|
||||||
EmsBuildRoot=$(GitLocalRoot)/build.ems
|
EmsBuildRoot=$(GitLocalRoot)/build.ems
|
||||||
BuildDir = $(EmsBuildRoot)/build
|
BuildDir = $(EmsBuildRoot)/build
|
||||||
|
CustomizedDir = $(EmsBuildRoot)/customized
|
||||||
BuildOMCDir = $(BuildDir)/usr/local/omc
|
BuildOMCDir = $(BuildDir)/usr/local/omc
|
||||||
BuildOMCBinDir = $(BuildOMCDir)/bin
|
BuildOMCBinDir = $(BuildOMCDir)/bin
|
||||||
BuildOMCEtcDir = $(BuildOMCDir)/etc
|
BuildOMCEtcDir = $(BuildOMCDir)/etc
|
||||||
BuildLibDir = $(BuildDir)/lib
|
BuildLibDir = $(BuildDir)/lib
|
||||||
BuildLibSystemDir = $(BuildLibDir)/systemd/system
|
BuildLibSystemDir = $(BuildLibDir)/systemd/system
|
||||||
DebBuildDir = $(EmsBuildRoot)/debbuild
|
DebBuildDir = $(EmsBuildRoot)/debbuild
|
||||||
|
DebBuildOMCDir = $(EmsBuildRoot)/debbuild/usr/local/omc
|
||||||
DebFEBuildDir = $(EmsBuildRoot)/debbuild/usr/local/omc/htdocs
|
DebFEBuildDir = $(EmsBuildRoot)/debbuild/usr/local/omc/htdocs
|
||||||
DebBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04
|
DebBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04
|
||||||
|
DebBuild2204OMCDir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc
|
||||||
DebFEBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc/htdocs
|
DebFEBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc/htdocs
|
||||||
RpmBuildDir = $(EmsBuildRoot)/rpmbuild
|
RpmBuildDir = $(EmsBuildRoot)/rpmbuild
|
||||||
RpmFEBuildDir = $(RpmBuildDir)/BUILD/usr/local/omc/htdocs
|
RpmFEBuildDir = $(RpmBuildDir)/BUILD/usr/local/omc/htdocs
|
||||||
@@ -54,11 +57,14 @@ RestagentSize = 29525312
|
|||||||
BinWriterDir = $(HOME)/bin
|
BinWriterDir = $(HOME)/bin
|
||||||
ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="22.04")
|
ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="22.04")
|
||||||
DebBuildDir := $(DebBuild2204Dir)
|
DebBuildDir := $(DebBuild2204Dir)
|
||||||
|
DebBuildOMCDir := $(DebBuild2204OMCDir)
|
||||||
DebFEBuildDir := $(DebFEBuild2204Dir)
|
DebFEBuildDir := $(DebFEBuild2204Dir)
|
||||||
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
||||||
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.deb
|
||||||
|
DebPkgFileBA := $(PROJECT)-r$(VERSION)-$(Release)-ub22-ba.deb
|
||||||
else ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="18.04")
|
else ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="18.04")
|
||||||
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb
|
||||||
|
DebPkgFileBA := $(PROJECT)-r$(VERSION)-$(Release)-ub18-ba.deb
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
||||||
@@ -101,7 +107,7 @@ dist:
|
|||||||
--exclude=../crontask/crontask \
|
--exclude=../crontask/crontask \
|
||||||
--exclude=../initems/initems
|
--exclude=../initems/initems
|
||||||
|
|
||||||
deb: $(BINNAME)
|
pre_build: $(BINNAME)
|
||||||
# clear build cache
|
# clear build cache
|
||||||
rm -rf $(FrontBuildDir)/front/*
|
rm -rf $(FrontBuildDir)/front/*
|
||||||
rm -rf $(DebFEBuildDir)/front/*
|
rm -rf $(DebFEBuildDir)/front/*
|
||||||
@@ -123,6 +129,14 @@ deb: $(BINNAME)
|
|||||||
chmod 755 $(DebBuildDir)/DEBIAN/postinst
|
chmod 755 $(DebBuildDir)/DEBIAN/postinst
|
||||||
chmod 755 $(DebBuildDir)/DEBIAN/postrm
|
chmod 755 $(DebBuildDir)/DEBIAN/postrm
|
||||||
cp -rf $(BuildDir)/* $(DebBuildDir)/
|
cp -rf $(BuildDir)/* $(DebBuildDir)/
|
||||||
|
|
||||||
|
replace_chinese:
|
||||||
|
@find $(DebBuildOMCDir)/etc/db -type f -name '*.sql' -exec sed -i '' 's/[一-龥]//g' {} +
|
||||||
|
@echo "Replace all chinese charecter."
|
||||||
|
|
||||||
|
deb: pre_build
|
||||||
|
cp -rf $(CustomizedDir)/agt.d $(DebBuildOMCDir)/static
|
||||||
|
cp -rf $(CustomizedDir)/omc.d $(DebBuildOMCDir)/static
|
||||||
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
||||||
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
||||||
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
||||||
@@ -131,6 +145,16 @@ deb: $(BINNAME)
|
|||||||
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
||||||
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile)
|
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile)
|
||||||
|
|
||||||
|
badeb: pre_build replace_chinese
|
||||||
|
cp -rf $(CustomizedDir)/ba.d $(DebBuildOMCDir)/static
|
||||||
|
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
||||||
|
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
||||||
|
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
||||||
|
#sed -i.bak 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
|
||||||
|
sed -i 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
|
||||||
|
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
||||||
|
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFileBA)
|
||||||
|
|
||||||
rpm: $(BINNAME)
|
rpm: $(BINNAME)
|
||||||
# clear build cache
|
# clear build cache
|
||||||
rm -rf $(FrontBuildDir)/front/*
|
rm -rf $(FrontBuildDir)/front/*
|
||||||
|
|||||||
@@ -8,11 +8,15 @@ BinDir=/usr/local/omc/bin
|
|||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
for procName in $ProcListDesc;do
|
for procName in $ProcListDesc;do
|
||||||
|
echo -n "Starting $procName process ... "
|
||||||
echo -n "Starting $procName process ... "
|
echo -n "Starting $procName process ... "
|
||||||
systemctl start $procName
|
systemctl start $procName
|
||||||
if [ $? = 0 ]; then
|
if [ $? = 0 ]; then
|
||||||
echo "done"
|
echo "done"
|
||||||
fi
|
fi
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
echo "done"
|
||||||
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@@ -45,4 +49,3 @@ case "$1" in
|
|||||||
echo "Usage: $0 start|status|stop|restart|version"
|
echo "Usage: $0 start|status|stop|restart|version"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ check_args() {
|
|||||||
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
||||||
C_ARG_UPPER="OMC"
|
C_ARG_UPPER="OMC"
|
||||||
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
||||||
|
elif [ "${C_ARG_LOWER}" == "agt" ]; then
|
||||||
|
C_ARG_UPPER="AGT"
|
||||||
|
sed -i 's/VENDORS=.*/VENDORS=AGT/' /usr/local/omc/etc/omc.conf
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
m)
|
m)
|
||||||
|
|||||||
10
mkpkg.sh
10
mkpkg.sh
@@ -53,11 +53,17 @@ case "$1" in
|
|||||||
make deb
|
make deb
|
||||||
cd $ReleaseDir/"$1"s/$RelArch
|
cd $ReleaseDir/"$1"s/$RelArch
|
||||||
rm -f omc-md5sum.txt
|
rm -f omc-md5sum.txt
|
||||||
# rpm --addsign *.rpm
|
md5sum $DebPkgName >omc-md5sum.txt
|
||||||
|
;;
|
||||||
|
badeb)
|
||||||
|
cd $EmsBEDir
|
||||||
|
make badeb
|
||||||
|
cd $ReleaseDir/"$1"s/$RelArch
|
||||||
|
rm -f omc-md5sum.txt
|
||||||
md5sum $DebPkgName >omc-md5sum.txt
|
md5sum $DebPkgName >omc-md5sum.txt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "make omc package"
|
echo "make omc package"
|
||||||
echo "Usage: $0 rpm|deb <db>"
|
echo "Usage: $0 rpm|deb|badeb <db>"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -184,15 +184,11 @@ type AlarmConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type MMLParam struct {
|
type MMLParam struct {
|
||||||
Port int `yaml:"port"`
|
|
||||||
Port2 int `yaml:"port2"`
|
|
||||||
Sleep int64 `yaml:"sleep"`
|
Sleep int64 `yaml:"sleep"`
|
||||||
DeadLine int64 `yaml:"deadLine"`
|
DeadLine int64 `yaml:"deadLine"`
|
||||||
SizeRow int16 `yaml:"sizeRow"`
|
SizeRow int16 `yaml:"sizeRow"`
|
||||||
SizeCol int16 `yaml:"sizeCol"`
|
SizeCol int16 `yaml:"sizeCol"`
|
||||||
BufferSize int `yaml:"bufferSize"`
|
BufferSize int `yaml:"bufferSize"`
|
||||||
User string `yaml:"user"`
|
|
||||||
Password string `ymal:"password"`
|
|
||||||
MmlHome string `yaml:"mmlHome"`
|
MmlHome string `yaml:"mmlHome"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import (
|
|||||||
networkdata "be.ems/src/modules/network_data"
|
networkdata "be.ems/src/modules/network_data"
|
||||||
networkelement "be.ems/src/modules/network_element"
|
networkelement "be.ems/src/modules/network_element"
|
||||||
"be.ems/src/modules/system"
|
"be.ems/src/modules/system"
|
||||||
|
"be.ems/src/modules/tool"
|
||||||
"be.ems/src/modules/trace"
|
"be.ems/src/modules/trace"
|
||||||
"be.ems/src/modules/ws"
|
"be.ems/src/modules/ws"
|
||||||
|
|
||||||
@@ -143,6 +144,8 @@ func initModulesRoute(app *gin.Engine) {
|
|||||||
trace.Setup(app)
|
trace.Setup(app)
|
||||||
// 图表模块
|
// 图表模块
|
||||||
chart.Setup(app)
|
chart.Setup(app)
|
||||||
|
// 工具模块
|
||||||
|
tool.Setup(app)
|
||||||
// ws 模块
|
// ws 模块
|
||||||
ws.Setup(app)
|
ws.Setup(app)
|
||||||
// 调度任务模块--暂无接口
|
// 调度任务模块--暂无接口
|
||||||
|
|||||||
BIN
src/assets/dependency/iperf3/deb/iperf3_3.1.3-1_amd64.deb
Normal file
BIN
src/assets/dependency/iperf3/deb/iperf3_3.1.3-1_amd64.deb
Normal file
Binary file not shown.
BIN
src/assets/dependency/iperf3/deb/libiperf0_3.1.3-1_amd64.deb
Normal file
BIN
src/assets/dependency/iperf3/deb/libiperf0_3.1.3-1_amd64.deb
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/assets/dependency/iperf3/rpm/iperf3-3.6-6.ky10.aarch64.rpm
Normal file
BIN
src/assets/dependency/iperf3/rpm/iperf3-3.6-6.ky10.aarch64.rpm
Normal file
Binary file not shown.
Binary file not shown.
@@ -26,7 +26,7 @@ func ClearLocaleData() {
|
|||||||
// LoadLocaleData 加载国际化数据
|
// LoadLocaleData 加载国际化数据
|
||||||
func LoadLocaleData(language string) []localeItem {
|
func LoadLocaleData(language string) []localeItem {
|
||||||
dictType := fmt.Sprintf("i18n_%s", language)
|
dictType := fmt.Sprintf("i18n_%s", language)
|
||||||
dictTypeList := systemService.NewSysDictTypeImpl.DictDataCache(dictType)
|
dictTypeList := systemService.NewSysDictType.DictDataCache(dictType)
|
||||||
localeData := []localeItem{}
|
localeData := []localeItem{}
|
||||||
for _, v := range dictTypeList {
|
for _, v := range dictTypeList {
|
||||||
localeData = append(localeData, localeItem{
|
localeData = append(localeData, localeItem{
|
||||||
@@ -58,7 +58,7 @@ func UpdateKeyValue(language, key, value string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新字典数据
|
// 更新字典数据
|
||||||
sysDictDataService := systemService.NewSysDictDataImpl
|
sysDictDataService := systemService.NewSysDictData
|
||||||
item := sysDictDataService.SelectDictDataByCode(code)
|
item := sysDictDataService.SelectDictDataByCode(code)
|
||||||
if item.DictCode == code && item.DictLabel == key {
|
if item.DictCode == code && item.DictLabel == key {
|
||||||
item.DictValue = value
|
item.DictValue = value
|
||||||
|
|||||||
61
src/framework/redis/conn.go
Normal file
61
src/framework/redis/conn.go
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
package redis
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/redis/go-redis/v9"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ConnRedis 连接redis对象
|
||||||
|
type ConnRedis struct {
|
||||||
|
Addr string `json:"addr"` // 地址
|
||||||
|
Port int64 `json:"port"` // 端口
|
||||||
|
User string `json:"user"` // 用户名
|
||||||
|
Password string `json:"password"` // 认证密码
|
||||||
|
Database int `json:"database"` // 数据库名称
|
||||||
|
|
||||||
|
DialTimeOut time.Duration `json:"dialTimeOut"` // 连接超时断开
|
||||||
|
|
||||||
|
Client *redis.Client `json:"client"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewClient 创建Redis客户端
|
||||||
|
func (c *ConnRedis) NewClient() (*ConnRedis, error) {
|
||||||
|
// IPV6地址协议
|
||||||
|
if strings.Contains(c.Addr, ":") {
|
||||||
|
c.Addr = fmt.Sprintf("[%s]", c.Addr)
|
||||||
|
}
|
||||||
|
addr := fmt.Sprintf("%s:%d", c.Addr, c.Port)
|
||||||
|
|
||||||
|
// 默认等待5s
|
||||||
|
if c.DialTimeOut == 0 {
|
||||||
|
c.DialTimeOut = 5 * time.Second
|
||||||
|
}
|
||||||
|
|
||||||
|
// 连接
|
||||||
|
rdb := redis.NewClient(&redis.Options{
|
||||||
|
Addr: addr,
|
||||||
|
// Username: c.User,
|
||||||
|
Password: c.Password,
|
||||||
|
DB: c.Database,
|
||||||
|
DialTimeout: c.DialTimeOut,
|
||||||
|
})
|
||||||
|
|
||||||
|
// 测试数据库连接
|
||||||
|
if _, err := rdb.Ping(context.Background()).Result(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Client = rdb
|
||||||
|
return c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close 关闭当前Redis客户端
|
||||||
|
func (c *ConnRedis) Close() {
|
||||||
|
if c.Client != nil {
|
||||||
|
c.Client.Close()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,6 +30,15 @@ if tonumber(current) == 1 then
|
|||||||
end
|
end
|
||||||
return tonumber(current);`)
|
return tonumber(current);`)
|
||||||
|
|
||||||
|
// 连接Redis实例
|
||||||
|
func ConnectPush(source string, rdb *redis.Client) {
|
||||||
|
if rdb == nil {
|
||||||
|
delete(rdbMap, source)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rdbMap[source] = rdb
|
||||||
|
}
|
||||||
|
|
||||||
// 连接Redis实例
|
// 连接Redis实例
|
||||||
func Connect() {
|
func Connect() {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|||||||
@@ -52,16 +52,18 @@ func (s *SocketTCP) Close() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Resolve 处理消息
|
// Resolve 处理消息
|
||||||
func (s *SocketTCP) Resolve(callback func(conn *net.Conn)) error {
|
func (s *SocketTCP) Resolve(callback func(conn *net.Conn, err error)) {
|
||||||
if s.Listener == nil {
|
if s.Listener == nil {
|
||||||
return fmt.Errorf("tcp service not created")
|
callback(nil, fmt.Errorf("tcp service not created"))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
listener := *s.Listener
|
listener := *s.Listener
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-s.StopChan:
|
case <-s.StopChan:
|
||||||
return fmt.Errorf("udp service stop")
|
callback(nil, fmt.Errorf("udp service stop"))
|
||||||
|
return
|
||||||
default:
|
default:
|
||||||
conn, err := listener.Accept()
|
conn, err := listener.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -69,14 +71,7 @@ func (s *SocketTCP) Resolve(callback func(conn *net.Conn)) error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
callback(&conn, nil)
|
||||||
// 处理连接
|
|
||||||
callback(&conn)
|
|
||||||
|
|
||||||
// 发送响应
|
|
||||||
if _, err = conn.Write([]byte("tcp>")); err != nil {
|
|
||||||
fmt.Println("Error sending response:", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,22 +50,18 @@ func (s *SocketUDP) Close() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Resolve 处理消息
|
// Resolve 处理消息
|
||||||
func (s *SocketUDP) Resolve(callback func(*net.UDPConn)) error {
|
func (s *SocketUDP) Resolve(callback func(*net.UDPConn, error)) {
|
||||||
if s.Conn == nil {
|
if s.Conn == nil {
|
||||||
return fmt.Errorf("udp service not created")
|
callback(nil, fmt.Errorf("udp service not created"))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-s.StopChan:
|
case <-s.StopChan:
|
||||||
return fmt.Errorf("udp service stop")
|
callback(nil, fmt.Errorf("udp service not created"))
|
||||||
default:
|
default:
|
||||||
callback(s.Conn)
|
callback(s.Conn, nil)
|
||||||
|
|
||||||
// 发送响应
|
|
||||||
if _, err := s.Conn.WriteTo([]byte("udp>"), s.Conn.RemoteAddr()); err != nil {
|
|
||||||
fmt.Println("Error sending response:", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import (
|
|||||||
"golang.org/x/text/language"
|
"golang.org/x/text/language"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// QueryMap 查询参数转换Map
|
// QueryMap 查询参数转换Map
|
||||||
@@ -30,7 +29,7 @@ func QueryMap(c *gin.Context) map[string]any {
|
|||||||
// BodyJSONMap JSON参数转换Map
|
// BodyJSONMap JSON参数转换Map
|
||||||
func BodyJSONMap(c *gin.Context) map[string]any {
|
func BodyJSONMap(c *gin.Context) map[string]any {
|
||||||
params := make(map[string]any)
|
params := make(map[string]any)
|
||||||
c.ShouldBindBodyWith(¶ms, binding.JSON)
|
c.ShouldBindBodyWithJSON(¶ms)
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +38,7 @@ func RequestParamsMap(c *gin.Context) map[string]any {
|
|||||||
params := make(map[string]any)
|
params := make(map[string]any)
|
||||||
// json
|
// json
|
||||||
if strings.HasPrefix(c.ContentType(), "application/json") {
|
if strings.HasPrefix(c.ContentType(), "application/json") {
|
||||||
c.ShouldBindBodyWith(¶ms, binding.JSON)
|
c.ShouldBindBodyWithJSON(¶ms)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 表单
|
// 表单
|
||||||
|
|||||||
76
src/framework/utils/file/tar.go
Normal file
76
src/framework/utils/file/tar.go
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
package file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"archive/tar"
|
||||||
|
"compress/gzip"
|
||||||
|
"io"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
)
|
||||||
|
|
||||||
|
// CompressTarGZByDir 将目录下文件添加到 tar.gz 压缩文件
|
||||||
|
func CompressTarGZByDir(zipFilePath, dirPath string) error {
|
||||||
|
// 创建本地输出目录
|
||||||
|
if err := os.MkdirAll(filepath.Dir(zipFilePath), 0775); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建输出文件
|
||||||
|
tarFile, err := os.Create(zipFilePath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer tarFile.Close()
|
||||||
|
|
||||||
|
gw := gzip.NewWriter(tarFile)
|
||||||
|
defer gw.Close()
|
||||||
|
|
||||||
|
tw := tar.NewWriter(gw)
|
||||||
|
defer tw.Close()
|
||||||
|
|
||||||
|
// 遍历目录下的所有文件和子目录
|
||||||
|
err = filepath.Walk(dirPath, func(path string, info os.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 忽略目录
|
||||||
|
if info.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建文件条目
|
||||||
|
header, err := tar.FileInfoHeader(info, "")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
relPath, err := filepath.Rel(dirPath, path)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
header.Name = relPath
|
||||||
|
if err := tw.WriteHeader(header); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !info.Mode().IsRegular() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 打开文件
|
||||||
|
file, err := os.Open(path)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
// 写入文件内容
|
||||||
|
_, err = io.Copy(tw, file)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
@@ -24,9 +24,8 @@ type FileListRow struct {
|
|||||||
// 文件列表
|
// 文件列表
|
||||||
// search 文件名后模糊*
|
// search 文件名后模糊*
|
||||||
//
|
//
|
||||||
// return 目录大小,行记录,异常
|
// return 行记录,异常
|
||||||
func FileList(sshClient *ConnSSH, path, search string) (string, []FileListRow, error) {
|
func FileList(sshClient *ConnSSH, path, search string) ([]FileListRow, error) {
|
||||||
totalSize := ""
|
|
||||||
var rows []FileListRow
|
var rows []FileListRow
|
||||||
rowStr := ""
|
rowStr := ""
|
||||||
|
|
||||||
@@ -35,40 +34,37 @@ func FileList(sshClient *ConnSSH, path, search string) (string, []FileListRow, e
|
|||||||
if search != "" {
|
if search != "" {
|
||||||
searchStr = search + searchStr
|
searchStr = search + searchStr
|
||||||
}
|
}
|
||||||
cmdStr := fmt.Sprintf("cd %s && ls -lthd --time-style=+%%s %s", path, searchStr)
|
// cd /var/log && find. -maxdepth 1 -name'mme*' -exec ls -lthd --time-style=+%s {} +
|
||||||
|
cmdStr := fmt.Sprintf("cd %s && find . -maxdepth 1 -name '%s' -exec ls -lthd --time-style=+%%s {} +", path, searchStr)
|
||||||
|
// cd /var/log && ls -lthd --time-style=+%s mme*
|
||||||
|
// cmdStr := fmt.Sprintf("cd %s && ls -lthd --time-style=+%%s %s", path, searchStr)
|
||||||
|
|
||||||
// 是否远程客户端读取
|
// 是否远程客户端读取
|
||||||
if sshClient == nil {
|
if sshClient == nil {
|
||||||
resultStr, err := cmd.Execf(cmdStr)
|
resultStr, err := cmd.Execf(cmdStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("Ne FileList Path: %s, Search: %s, Error:%s", path, search, err.Error())
|
logger.Errorf("Ne FileList Path: %s, Search: %s, Error:%s", path, search, err.Error())
|
||||||
return totalSize, rows, err
|
return rows, err
|
||||||
}
|
}
|
||||||
rowStr = resultStr
|
rowStr = resultStr
|
||||||
} else {
|
} else {
|
||||||
resultStr, err := sshClient.RunCMD(cmdStr)
|
resultStr, err := sshClient.RunCMD(cmdStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("Ne FileList Path: %s, Search: %s, Error:%s", path, search, err.Error())
|
logger.Errorf("Ne FileList Path: %s, Search: %s, Error:%s", path, search, err.Error())
|
||||||
return totalSize, rows, err
|
return rows, err
|
||||||
}
|
}
|
||||||
rowStr = resultStr
|
rowStr = resultStr
|
||||||
}
|
}
|
||||||
|
|
||||||
// 遍历组装
|
// 遍历组装
|
||||||
rowStrList := strings.Split(rowStr, "\n")
|
rowStrList := strings.Split(rowStr, "\n")
|
||||||
for i, rowStr := range rowStrList {
|
for _, rowStr := range rowStrList {
|
||||||
if rowStr == "" {
|
if rowStr == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// 使用空格对字符串进行切割
|
// 使用空格对字符串进行切割
|
||||||
fields := strings.Fields(rowStr)
|
fields := strings.Fields(rowStr)
|
||||||
|
|
||||||
// 无查询过滤会有total总计
|
|
||||||
if i == 0 && searchStr == "" {
|
|
||||||
totalSize = fields[1]
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拆分不足7位跳过
|
// 拆分不足7位跳过
|
||||||
if len(fields) != 7 {
|
if len(fields) != 7 {
|
||||||
continue
|
continue
|
||||||
@@ -83,6 +79,14 @@ func FileList(sshClient *ConnSSH, path, search string) (string, []FileListRow, e
|
|||||||
fileType = "symlink"
|
fileType = "symlink"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 文件名
|
||||||
|
fileName := fields[6]
|
||||||
|
if fileName == "." {
|
||||||
|
continue
|
||||||
|
} else if strings.HasPrefix(fileName, "./") {
|
||||||
|
fileName = strings.TrimPrefix(fileName, "./")
|
||||||
|
}
|
||||||
|
|
||||||
// 提取各个字段的值
|
// 提取各个字段的值
|
||||||
rows = append(rows, FileListRow{
|
rows = append(rows, FileListRow{
|
||||||
FileMode: fileMode,
|
FileMode: fileMode,
|
||||||
@@ -92,8 +96,8 @@ func FileList(sshClient *ConnSSH, path, search string) (string, []FileListRow, e
|
|||||||
Group: fields[3],
|
Group: fields[3],
|
||||||
Size: fields[4],
|
Size: fields[4],
|
||||||
ModifiedTime: parse.Number(fields[5]),
|
ModifiedTime: parse.Number(fields[5]),
|
||||||
FileName: fields[6],
|
FileName: fileName,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return totalSize, rows, nil
|
return rows, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ func (s *SSHClientSFTP) CopyDirRemoteToLocal(remoteDir, localDir string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CopyDirRemoteToLocal 复制目录-本地到远程
|
// CopyDirLocalToRemote 复制目录-本地到远程
|
||||||
func (s *SSHClientSFTP) CopyDirLocalToRemote(localDir, remoteDir string) error {
|
func (s *SSHClientSFTP) CopyDirLocalToRemote(localDir, remoteDir string) error {
|
||||||
// 遍历本地目录中的文件和子目录并复制到远程
|
// 遍历本地目录中的文件和子目录并复制到远程
|
||||||
err := filepath.Walk(localDir, func(localPath string, info os.FileInfo, err error) error {
|
err := filepath.Walk(localDir, func(localPath string, info os.FileInfo, err error) error {
|
||||||
@@ -94,7 +94,7 @@ func (s *SSHClientSFTP) CopyDirLocalToRemote(localDir, remoteDir string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CopyDirRemoteToLocal 复制文件-远程到本地
|
// CopyFileRemoteToLocal 复制文件-远程到本地
|
||||||
func (s *SSHClientSFTP) CopyFileRemoteToLocal(remotePath, localPath string) error {
|
func (s *SSHClientSFTP) CopyFileRemoteToLocal(remotePath, localPath string) error {
|
||||||
if err := os.MkdirAll(filepath.Dir(localPath), 0775); err != nil {
|
if err := os.MkdirAll(filepath.Dir(localPath), 0775); err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -124,7 +124,7 @@ func (s *SSHClientSFTP) CopyFileRemoteToLocal(remotePath, localPath string) erro
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CopyDirRemoteToLocal 复制文件-本地到远程
|
// CopyFileLocalToRemote 复制文件-本地到远程
|
||||||
func (s *SSHClientSFTP) CopyFileLocalToRemote(localPath, remotePath string) error {
|
func (s *SSHClientSFTP) CopyFileLocalToRemote(localPath, remotePath string) error {
|
||||||
// 打开本地文件
|
// 打开本地文件
|
||||||
localFile, err := os.Open(localPath)
|
localFile, err := os.Open(localPath)
|
||||||
|
|||||||
@@ -212,11 +212,14 @@ func (c *ConnSSH) SendToAuthorizedKeys() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
// "sudo mkdir -p ~/.ssh && sudo chown omcuser:omcuser ~/.ssh && sudo chmod 700 ~/.ssh"
|
||||||
|
// "sudo touch ~/.ssh/authorized_keys && sudo chown omcuser:omcuser ~/.ssh/authorized_keys && sudo chmod 600 ~/.ssh/authorized_keys"
|
||||||
|
// "echo 'ssh-rsa AAAAB3= pc-host\n' | sudo tee -a ~/.ssh/authorized_keys"
|
||||||
authorizedKeysEntry := fmt.Sprintln(strings.TrimSpace(publicKey))
|
authorizedKeysEntry := fmt.Sprintln(strings.TrimSpace(publicKey))
|
||||||
cmdStrArr := []string{
|
cmdStrArr := []string{
|
||||||
fmt.Sprintf("sudo mkdir -p /home/%s/.ssh && sudo chown %s:%s /home/%s/.ssh && sudo chmod 700 /home/%s/.ssh", c.User, c.User, c.User, c.User, c.User),
|
fmt.Sprintf("sudo mkdir -p ~/.ssh && sudo chown %s:%s ~/.ssh && sudo chmod 700 ~/.ssh", c.User, c.User),
|
||||||
fmt.Sprintf("sudo touch /home/%s/.ssh/authorized_keys && sudo chown %s:%s /home/%s/.ssh/authorized_keys && sudo chmod 600 /home/%s/.ssh/authorized_keys", c.User, c.User, c.User, c.User, c.User),
|
fmt.Sprintf("sudo touch ~/.ssh/authorized_keys && sudo chown %s:%s ~/.ssh/authorized_keys && sudo chmod 600 ~/.ssh/authorized_keys", c.User, c.User),
|
||||||
fmt.Sprintf("echo '%s' | sudo tee -a /home/%s/.ssh/authorized_keys", authorizedKeysEntry, c.User),
|
fmt.Sprintf("echo '%s' | sudo tee -a ~/.ssh/authorized_keys", authorizedKeysEntry),
|
||||||
}
|
}
|
||||||
_, err = c.RunCMD(strings.Join(cmdStrArr, " && "))
|
_, err = c.RunCMD(strings.Join(cmdStrArr, " && "))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -13,10 +13,8 @@ import (
|
|||||||
func Setup(router *gin.Engine) {
|
func Setup(router *gin.Engine) {
|
||||||
logger.Infof("开始加载 ====> chart 模块路由")
|
logger.Infof("开始加载 ====> chart 模块路由")
|
||||||
|
|
||||||
chartGroup := router.Group("/chart")
|
// G6关系图
|
||||||
|
chartGraphGroup := router.Group("/chart/graph")
|
||||||
// 关系图
|
|
||||||
chartGraphGroup := chartGroup.Group("/graph")
|
|
||||||
{
|
{
|
||||||
chartGraphGroup.GET("",
|
chartGraphGroup.GET("",
|
||||||
middleware.PreAuthorize(nil),
|
middleware.PreAuthorize(nil),
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import (
|
|||||||
"be.ems/src/framework/i18n"
|
"be.ems/src/framework/i18n"
|
||||||
"be.ems/src/framework/utils/ctx"
|
"be.ems/src/framework/utils/ctx"
|
||||||
"be.ems/src/framework/vo/result"
|
"be.ems/src/framework/vo/result"
|
||||||
chartService "be.ems/src/modules/chart/service"
|
"be.ems/src/modules/chart/service"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 实例化控制层 ChartGraphController 结构体
|
// 实例化控制层 ChartGraphController 结构体
|
||||||
var NewChartGraph = &ChartGraphController{
|
var NewChartGraph = &ChartGraphController{
|
||||||
chartGraphService: chartService.NewChartGraphImpl,
|
chartGraphService: service.NewChartGraph,
|
||||||
}
|
}
|
||||||
|
|
||||||
// G6关系图
|
// G6关系图
|
||||||
@@ -19,7 +19,7 @@ var NewChartGraph = &ChartGraphController{
|
|||||||
// PATH /graph
|
// PATH /graph
|
||||||
type ChartGraphController struct {
|
type ChartGraphController struct {
|
||||||
// G6关系图数据表服务
|
// G6关系图数据表服务
|
||||||
chartGraphService chartService.IChartGraph
|
chartGraphService *service.ChartGraph
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取关系图组名
|
// 获取关系图组名
|
||||||
|
|||||||
@@ -1,31 +1,32 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
// ChartGraph G6关系图数据对象 chart_graph
|
// ChartGraph 图表-G6关系图数据对象 chart_graph
|
||||||
type ChartGraph struct {
|
type ChartGraph struct {
|
||||||
RowID int64 `json:"rowId,omitempty" gorm:"column:row_id;primaryKey;autoIncrement"` // 记录ID
|
RowID int64 `json:"rowId,omitempty" gorm:"column:row_id;primaryKey;autoIncrement"` // 记录ID
|
||||||
RowType string `json:"rowType,omitempty" gorm:"column:row_type"` // 记录类型(node/edge/combo)
|
RowType string `json:"rowType" gorm:"row_type"` // 记录类型
|
||||||
RowGroup string `json:"rowGroup,omitempty" gorm:"column:row_group"` // 记录组名
|
RowGroup string `json:"rowGroup" gorm:"row_group"` // 记录组名
|
||||||
ID string `json:"id,omitempty" gorm:"column:id"` // 元素ID
|
ID string `json:"id" gorm:"id"` // 元素ID
|
||||||
Type string `json:"type,omitempty" gorm:"column:type"` // node/combo 类型
|
Type string `json:"type" gorm:"type"` // node/combo 类型
|
||||||
Depth int `json:"depth,omitempty" gorm:"column:depth"` // node/combo 深度
|
Depth int64 `json:"depth" gorm:"depth"` // node/combo 深度
|
||||||
X float64 `json:"x,omitempty" gorm:"column:x"` // node/combo 横向坐标
|
X float64 `json:"x" gorm:"x"` // node/combo 横向坐标
|
||||||
Y float64 `json:"y,omitempty" gorm:"column:y"` // node/combo 纵向坐标
|
Y float64 `json:"y" gorm:"y"` // node/combo 纵向坐标
|
||||||
Size string `json:"size,omitempty" gorm:"column:size"` // node/combo 大小-JSON数组
|
Size string `json:"size" gorm:"size"` // node/combo 大小-JSON数组
|
||||||
Icon string `json:"icon,omitempty" gorm:"column:icon"` // node-部分类型支持图标JSON配置
|
Icon string `json:"icon" gorm:"icon"` // node-部分类型支持图标JSON配置
|
||||||
Img string `json:"img,omitempty" gorm:"column:img"` // node-img 图片
|
Img string `json:"img" gorm:"img"` // node-img 图片
|
||||||
ClipCfg string `json:"clipCfg,omitempty" gorm:"column:clip_cfg"` // node-img 图片裁剪JSON配置
|
ClipCfg string `json:"clipCfg" gorm:"clip_cfg"` // node-img 图片裁剪JSON配置
|
||||||
Direction string `json:"direction,omitempty" gorm:"column:direction"` // node-triangle 三角形的方向(up/down/left/right)
|
Direction string `json:"direction" gorm:"direction"` // node-triangle 三角形的方向
|
||||||
Source string `json:"source,omitempty" gorm:"column:source"` // edge-边起始
|
Source string `json:"source" gorm:"source"` // edge-边起始
|
||||||
Target string `json:"target,omitempty" gorm:"column:target"` // edge-边目标
|
Target string `json:"target" gorm:"target"` // edge-边目标
|
||||||
ComboID string `json:"combo_id,omitempty" gorm:"column:combo_id"` // combo-分组
|
ComboId string `json:"comboId" gorm:"combo_id"` // combo-分组
|
||||||
Padding string `json:"padding,omitempty" gorm:"column:padding"` // combo-JSON分组内边距
|
Padding string `json:"padding" gorm:"padding"` // combo-JSON分组内边距
|
||||||
ParentID string `json:"parentId,omitempty" gorm:"column:parent_id"` // combo-父级分组
|
ParentId string `json:"parentId" gorm:"parent_id"` // combo-父级分组
|
||||||
Children string `json:"children,omitempty" gorm:"column:children"` // combo-JSON分组内含元素
|
Children string `json:"children" gorm:"children"` // combo-JSON分组内含元素
|
||||||
Style string `json:"style,omitempty" gorm:"column:style"` // 元素样式-JONS配置
|
Style string `json:"style" gorm:"style"` // 元素样式-JONS配置
|
||||||
Label string `json:"label,omitempty" gorm:"column:label"` // 标签文本
|
Label string `json:"label" gorm:"label"` // 标签文本
|
||||||
LabelCfg string `json:"labelCfg,omitempty" gorm:"column:label_cfg"` // 标签文本-JSON配置
|
LabelCfg string `json:"labelCfg" gorm:"label_cfg"` // 标签文本-JSON配置
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ChartGraph) TableName() string {
|
// TableName 表名称
|
||||||
|
func (*ChartGraph) TableName() string {
|
||||||
return "chart_graph"
|
return "chart_graph"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,194 @@
|
|||||||
package repository
|
package repository
|
||||||
|
|
||||||
import "be.ems/src/modules/chart/model"
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
// G6关系图数据 数据层接口
|
"be.ems/src/framework/datasource"
|
||||||
type IChartGraph interface {
|
"be.ems/src/framework/logger"
|
||||||
// SelectPage 根据条件分页查询字典类型
|
"be.ems/src/framework/utils/parse"
|
||||||
SelectPage(query map[string]any) map[string]any
|
"be.ems/src/framework/utils/repo"
|
||||||
|
"be.ems/src/modules/chart/model"
|
||||||
|
)
|
||||||
|
|
||||||
// SelectList 根据实体查询
|
// 实例化数据层 ChartGraph 结构体
|
||||||
SelectList(graph model.ChartGraph) []model.ChartGraph
|
var NewChartGraph = &ChartGraph{
|
||||||
|
selectSql: `select
|
||||||
|
row_id, row_type, row_group,
|
||||||
|
id, type, depth, x, y, size, icon, img,
|
||||||
|
clip_cfg, direction,
|
||||||
|
source, target, combo_id,
|
||||||
|
padding, parent_id, children,
|
||||||
|
style, label, label_cfg
|
||||||
|
from chart_graph`,
|
||||||
|
|
||||||
// SelectGroup 查询组名
|
resultMap: map[string]string{
|
||||||
SelectGroup() []string
|
"row_id": "RowID",
|
||||||
|
"row_type": "RowType",
|
||||||
// Insert 批量添加
|
"row_group": "RowGroup",
|
||||||
Inserts(graphs []model.ChartGraph) int64
|
"id": "ID",
|
||||||
|
"type": "Type",
|
||||||
// Delete 删除组数据
|
"depth": "Depth",
|
||||||
DeleteGroup(rowGroup string) int64
|
"x": "X",
|
||||||
|
"y": "Y",
|
||||||
|
"size": "Size",
|
||||||
|
"icon": "Icon",
|
||||||
|
"img": "Img",
|
||||||
|
"clip_cfg": "ClipCfg",
|
||||||
|
"direction": "Direction",
|
||||||
|
"source": "Source",
|
||||||
|
"target": "Target",
|
||||||
|
"combo_id": "ComboID",
|
||||||
|
"padding": "Padding",
|
||||||
|
"parent_id": "ParentID",
|
||||||
|
"children": "Children",
|
||||||
|
"style": "Style",
|
||||||
|
"label": "Label",
|
||||||
|
"label_cfg": "LabelCfg",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// ChartGraph G6关系图数据表 数据层处理
|
||||||
|
type ChartGraph struct {
|
||||||
|
// 查询视图对象SQL
|
||||||
|
selectSql string
|
||||||
|
// 结果字段与实体映射
|
||||||
|
resultMap map[string]string
|
||||||
|
}
|
||||||
|
|
||||||
|
// convertResultRows 将结果记录转实体结果组
|
||||||
|
func (r *ChartGraph) convertResultRows(rows []map[string]any) []model.ChartGraph {
|
||||||
|
arr := make([]model.ChartGraph, 0)
|
||||||
|
for _, row := range rows {
|
||||||
|
item := model.ChartGraph{}
|
||||||
|
for key, value := range row {
|
||||||
|
if keyMapper, ok := r.resultMap[key]; ok {
|
||||||
|
repo.SetFieldValue(&item, keyMapper, value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
arr = append(arr, item)
|
||||||
|
}
|
||||||
|
return arr
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectPage 根据条件分页查询字典类型
|
||||||
|
func (r *ChartGraph) SelectPage(query map[string]any) map[string]any {
|
||||||
|
// 查询条件拼接
|
||||||
|
var conditions []string
|
||||||
|
var params []any
|
||||||
|
if v, ok := query["rowType"]; ok && v != "" {
|
||||||
|
conditions = append(conditions, "row_type = ?")
|
||||||
|
params = append(params, strings.Trim(v.(string), " "))
|
||||||
|
}
|
||||||
|
if v, ok := query["rowGroup"]; ok && v != "" {
|
||||||
|
conditions = append(conditions, "row_group = ?")
|
||||||
|
params = append(params, strings.Trim(v.(string), " "))
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建查询条件语句
|
||||||
|
whereSql := ""
|
||||||
|
if len(conditions) > 0 {
|
||||||
|
whereSql += " where " + strings.Join(conditions, " and ")
|
||||||
|
}
|
||||||
|
|
||||||
|
result := map[string]any{
|
||||||
|
"total": 0,
|
||||||
|
"rows": []model.ChartGraph{},
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数量 长度为0直接返回
|
||||||
|
totalSql := "select count(1) as 'total' from chart_graph"
|
||||||
|
totalRows, err := datasource.RawDB("", totalSql+whereSql, params)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("total err => %v", err)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
total := parse.Number(totalRows[0]["total"])
|
||||||
|
if total == 0 {
|
||||||
|
return result
|
||||||
|
} else {
|
||||||
|
result["total"] = total
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页
|
||||||
|
pageNum, pageSize := repo.PageNumSize(query["pageNum"], query["pageSize"])
|
||||||
|
pageSql := " limit ?,? "
|
||||||
|
params = append(params, pageNum*pageSize)
|
||||||
|
params = append(params, pageSize)
|
||||||
|
|
||||||
|
// 查询数据
|
||||||
|
querySql := r.selectSql + whereSql + pageSql
|
||||||
|
results, err := datasource.RawDB("", querySql, params)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("query err => %v", err)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转换实体
|
||||||
|
result["rows"] = r.convertResultRows(results)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectList 根据实体查询
|
||||||
|
func (r *ChartGraph) SelectList(graph model.ChartGraph) []model.ChartGraph {
|
||||||
|
// 查询条件拼接
|
||||||
|
var conditions []string
|
||||||
|
var params []any
|
||||||
|
if graph.RowType != "" {
|
||||||
|
conditions = append(conditions, "row_type = ?")
|
||||||
|
params = append(params, graph.RowType)
|
||||||
|
}
|
||||||
|
if graph.RowGroup != "" {
|
||||||
|
conditions = append(conditions, "row_group = ?")
|
||||||
|
params = append(params, graph.RowGroup)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建查询条件语句
|
||||||
|
whereSql := ""
|
||||||
|
if len(conditions) > 0 {
|
||||||
|
whereSql += " where " + strings.Join(conditions, " and ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数据
|
||||||
|
querySql := r.selectSql + whereSql + " order by depth asc "
|
||||||
|
results, err := datasource.RawDB("", querySql, params)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("query err => %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转换实体
|
||||||
|
return r.convertResultRows(results)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectGroup 查询组名
|
||||||
|
func (r *ChartGraph) SelectGroup() []string {
|
||||||
|
rows := []string{}
|
||||||
|
// 查询数量 长度为0直接返回
|
||||||
|
querySql := "select row_group as 'str' from chart_graph GROUP BY row_group"
|
||||||
|
strRows, err := datasource.RawDB("", querySql, nil)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("Query err => %v", err)
|
||||||
|
return rows
|
||||||
|
}
|
||||||
|
for _, v := range strRows {
|
||||||
|
rows = append(rows, v["str"].(string))
|
||||||
|
}
|
||||||
|
return rows
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert 批量添加
|
||||||
|
func (r *ChartGraph) Inserts(graphs []model.ChartGraph) int64 {
|
||||||
|
tx := datasource.DefaultDB().CreateInBatches(graphs, 2000)
|
||||||
|
if err := tx.Error; err != nil {
|
||||||
|
logger.Errorf("CreateInBatches err => %v", err)
|
||||||
|
}
|
||||||
|
return tx.RowsAffected
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete 删除组数据
|
||||||
|
func (r *ChartGraph) DeleteGroup(rowGroup string) int64 {
|
||||||
|
tx := datasource.DefaultDB().Where("row_group = ?", rowGroup).Delete(&model.ChartGraph{})
|
||||||
|
if err := tx.Error; err != nil {
|
||||||
|
logger.Errorf("Delete err => %v", err)
|
||||||
|
}
|
||||||
|
return tx.RowsAffected
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,194 +0,0 @@
|
|||||||
package repository
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"be.ems/src/framework/datasource"
|
|
||||||
"be.ems/src/framework/logger"
|
|
||||||
"be.ems/src/framework/utils/parse"
|
|
||||||
"be.ems/src/framework/utils/repo"
|
|
||||||
"be.ems/src/modules/chart/model"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化数据层 NewChartGraphImpl 结构体
|
|
||||||
var NewChartGraphImpl = &ChartGraphImpl{
|
|
||||||
selectSql: `select
|
|
||||||
row_id, row_type, row_group,
|
|
||||||
id, type, depth, x, y, size, icon, img,
|
|
||||||
clip_cfg, direction,
|
|
||||||
source, target, combo_id,
|
|
||||||
padding, parent_id, children,
|
|
||||||
style, label, label_cfg
|
|
||||||
from chart_graph`,
|
|
||||||
|
|
||||||
resultMap: map[string]string{
|
|
||||||
"row_id": "RowID",
|
|
||||||
"row_type": "RowType",
|
|
||||||
"row_group": "RowGroup",
|
|
||||||
"id": "ID",
|
|
||||||
"type": "Type",
|
|
||||||
"depth": "Depth",
|
|
||||||
"x": "X",
|
|
||||||
"y": "Y",
|
|
||||||
"size": "Size",
|
|
||||||
"icon": "Icon",
|
|
||||||
"img": "Img",
|
|
||||||
"clip_cfg": "ClipCfg",
|
|
||||||
"direction": "Direction",
|
|
||||||
"source": "Source",
|
|
||||||
"target": "Target",
|
|
||||||
"combo_id": "ComboID",
|
|
||||||
"padding": "Padding",
|
|
||||||
"parent_id": "ParentID",
|
|
||||||
"children": "Children",
|
|
||||||
"style": "Style",
|
|
||||||
"label": "Label",
|
|
||||||
"label_cfg": "LabelCfg",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
// ChartGraphImpl G6关系图数据表 数据层处理
|
|
||||||
type ChartGraphImpl struct {
|
|
||||||
// 查询视图对象SQL
|
|
||||||
selectSql string
|
|
||||||
// 结果字段与实体映射
|
|
||||||
resultMap map[string]string
|
|
||||||
}
|
|
||||||
|
|
||||||
// convertResultRows 将结果记录转实体结果组
|
|
||||||
func (r *ChartGraphImpl) convertResultRows(rows []map[string]any) []model.ChartGraph {
|
|
||||||
arr := make([]model.ChartGraph, 0)
|
|
||||||
for _, row := range rows {
|
|
||||||
item := model.ChartGraph{}
|
|
||||||
for key, value := range row {
|
|
||||||
if keyMapper, ok := r.resultMap[key]; ok {
|
|
||||||
repo.SetFieldValue(&item, keyMapper, value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
arr = append(arr, item)
|
|
||||||
}
|
|
||||||
return arr
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectPage 根据条件分页查询字典类型
|
|
||||||
func (r *ChartGraphImpl) SelectPage(query map[string]any) map[string]any {
|
|
||||||
// 查询条件拼接
|
|
||||||
var conditions []string
|
|
||||||
var params []any
|
|
||||||
if v, ok := query["rowType"]; ok && v != "" {
|
|
||||||
conditions = append(conditions, "row_type = ?")
|
|
||||||
params = append(params, strings.Trim(v.(string), " "))
|
|
||||||
}
|
|
||||||
if v, ok := query["rowGroup"]; ok && v != "" {
|
|
||||||
conditions = append(conditions, "row_group = ?")
|
|
||||||
params = append(params, strings.Trim(v.(string), " "))
|
|
||||||
}
|
|
||||||
|
|
||||||
// 构建查询条件语句
|
|
||||||
whereSql := ""
|
|
||||||
if len(conditions) > 0 {
|
|
||||||
whereSql += " where " + strings.Join(conditions, " and ")
|
|
||||||
}
|
|
||||||
|
|
||||||
result := map[string]any{
|
|
||||||
"total": 0,
|
|
||||||
"rows": []model.ChartGraph{},
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数量 长度为0直接返回
|
|
||||||
totalSql := "select count(1) as 'total' from chart_graph"
|
|
||||||
totalRows, err := datasource.RawDB("", totalSql+whereSql, params)
|
|
||||||
if err != nil {
|
|
||||||
logger.Errorf("total err => %v", err)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
total := parse.Number(totalRows[0]["total"])
|
|
||||||
if total == 0 {
|
|
||||||
return result
|
|
||||||
} else {
|
|
||||||
result["total"] = total
|
|
||||||
}
|
|
||||||
|
|
||||||
// 分页
|
|
||||||
pageNum, pageSize := repo.PageNumSize(query["pageNum"], query["pageSize"])
|
|
||||||
pageSql := " limit ?,? "
|
|
||||||
params = append(params, pageNum*pageSize)
|
|
||||||
params = append(params, pageSize)
|
|
||||||
|
|
||||||
// 查询数据
|
|
||||||
querySql := r.selectSql + whereSql + pageSql
|
|
||||||
results, err := datasource.RawDB("", querySql, params)
|
|
||||||
if err != nil {
|
|
||||||
logger.Errorf("query err => %v", err)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转换实体
|
|
||||||
result["rows"] = r.convertResultRows(results)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectList 根据实体查询
|
|
||||||
func (r *ChartGraphImpl) SelectList(graph model.ChartGraph) []model.ChartGraph {
|
|
||||||
// 查询条件拼接
|
|
||||||
var conditions []string
|
|
||||||
var params []any
|
|
||||||
if graph.RowType != "" {
|
|
||||||
conditions = append(conditions, "row_type = ?")
|
|
||||||
params = append(params, graph.RowType)
|
|
||||||
}
|
|
||||||
if graph.RowGroup != "" {
|
|
||||||
conditions = append(conditions, "row_group = ?")
|
|
||||||
params = append(params, graph.RowGroup)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 构建查询条件语句
|
|
||||||
whereSql := ""
|
|
||||||
if len(conditions) > 0 {
|
|
||||||
whereSql += " where " + strings.Join(conditions, " and ")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据
|
|
||||||
querySql := r.selectSql + whereSql + " order by depth asc "
|
|
||||||
results, err := datasource.RawDB("", querySql, params)
|
|
||||||
if err != nil {
|
|
||||||
logger.Errorf("query err => %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转换实体
|
|
||||||
return r.convertResultRows(results)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectGroup 查询组名
|
|
||||||
func (r *ChartGraphImpl) SelectGroup() []string {
|
|
||||||
rows := []string{}
|
|
||||||
// 查询数量 长度为0直接返回
|
|
||||||
querySql := "select row_group as 'str' from chart_graph GROUP BY row_group"
|
|
||||||
strRows, err := datasource.RawDB("", querySql, nil)
|
|
||||||
if err != nil {
|
|
||||||
logger.Errorf("Query err => %v", err)
|
|
||||||
return rows
|
|
||||||
}
|
|
||||||
for _, v := range strRows {
|
|
||||||
rows = append(rows, v["str"].(string))
|
|
||||||
}
|
|
||||||
return rows
|
|
||||||
}
|
|
||||||
|
|
||||||
// Insert 批量添加
|
|
||||||
func (r *ChartGraphImpl) Inserts(graphs []model.ChartGraph) int64 {
|
|
||||||
tx := datasource.DefaultDB().CreateInBatches(graphs, 2000)
|
|
||||||
if err := tx.Error; err != nil {
|
|
||||||
logger.Errorf("CreateInBatches err => %v", err)
|
|
||||||
}
|
|
||||||
return tx.RowsAffected
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete 删除组数据
|
|
||||||
func (r *ChartGraphImpl) DeleteGroup(rowGroup string) int64 {
|
|
||||||
tx := datasource.DefaultDB().Where("row_group = ?", rowGroup).Delete(&model.ChartGraph{})
|
|
||||||
if err := tx.Error; err != nil {
|
|
||||||
logger.Errorf("Delete err => %v", err)
|
|
||||||
}
|
|
||||||
return tx.RowsAffected
|
|
||||||
}
|
|
||||||
@@ -1,16 +1,359 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
// G6关系图数据 服务层接口
|
import (
|
||||||
type IChartGraph interface {
|
"encoding/json"
|
||||||
// SelectGroup 查询组名
|
"strings"
|
||||||
SelectGroup() []string
|
|
||||||
|
|
||||||
// LoadData 查询所组图数据
|
"be.ems/src/framework/utils/parse"
|
||||||
LoadData(rowGroup, rowType string) map[string]any
|
"be.ems/src/modules/chart/model"
|
||||||
|
"be.ems/src/modules/chart/repository"
|
||||||
|
)
|
||||||
|
|
||||||
// SaveData 添加组图数据
|
// 实例化服务层 ChartGraph 结构体
|
||||||
SaveData(rowGroup string, data map[string]any) int64
|
var NewChartGraph = &ChartGraph{
|
||||||
|
graphRepository: repository.NewChartGraph,
|
||||||
// DeleteGroup 删除所组图数据
|
}
|
||||||
DeleteGroup(rowGroup string) int64
|
|
||||||
|
// ChartGraph G6关系图数据表 服务层处理
|
||||||
|
type ChartGraph struct {
|
||||||
|
// G6关系图数据服务
|
||||||
|
graphRepository *repository.ChartGraph
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectGroup 查询组名
|
||||||
|
func (s *ChartGraph) SelectGroup() []string {
|
||||||
|
return s.graphRepository.SelectGroup()
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadData 查询所组图数据
|
||||||
|
func (s *ChartGraph) LoadData(rowGroup, rowType string) map[string]any {
|
||||||
|
// 查询数据
|
||||||
|
graph := model.ChartGraph{
|
||||||
|
RowGroup: rowGroup,
|
||||||
|
}
|
||||||
|
if rowType != "" {
|
||||||
|
graph.RowType = rowType
|
||||||
|
}
|
||||||
|
data := s.graphRepository.SelectList(graph)
|
||||||
|
|
||||||
|
// 数据项
|
||||||
|
nodes := []map[string]any{}
|
||||||
|
edges := []map[string]any{}
|
||||||
|
combos := []map[string]any{}
|
||||||
|
|
||||||
|
for _, v := range data {
|
||||||
|
if v.RowType == "node" {
|
||||||
|
nodes = append(nodes, s.loadNode(v))
|
||||||
|
}
|
||||||
|
if v.RowType == "edge" {
|
||||||
|
edges = append(edges, s.loadEdge(v))
|
||||||
|
}
|
||||||
|
if v.RowType == "combo" {
|
||||||
|
combos = append(combos, s.loadCombo(v))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return map[string]any{
|
||||||
|
"nodes": nodes,
|
||||||
|
"edges": edges,
|
||||||
|
"combos": combos,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// loadNode 图数据Node
|
||||||
|
func (s *ChartGraph) loadNode(v model.ChartGraph) map[string]any {
|
||||||
|
node := map[string]any{
|
||||||
|
"id": v.ID,
|
||||||
|
"comboId": v.ComboId,
|
||||||
|
"x": v.X,
|
||||||
|
"y": v.Y,
|
||||||
|
"type": v.Type,
|
||||||
|
"depth": v.Depth,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素样式
|
||||||
|
style := map[string]any{}
|
||||||
|
if len(v.Style) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.Style), &style)
|
||||||
|
}
|
||||||
|
node["style"] = style
|
||||||
|
|
||||||
|
// 元素大小
|
||||||
|
if strings.Contains(v.Size, "[") {
|
||||||
|
sizeArr := []int64{}
|
||||||
|
json.Unmarshal([]byte(v.Size), &sizeArr)
|
||||||
|
node["size"] = sizeArr
|
||||||
|
} else {
|
||||||
|
node["size"] = parse.Number(v.Size)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
node["label"] = v.Label
|
||||||
|
labelCfg := map[string]any{}
|
||||||
|
if len(v.LabelCfg) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
||||||
|
}
|
||||||
|
node["labelCfg"] = labelCfg
|
||||||
|
|
||||||
|
// 三角形属性
|
||||||
|
if v.Type == "triangle" {
|
||||||
|
node["direction"] = v.Direction
|
||||||
|
}
|
||||||
|
|
||||||
|
// 图片属性
|
||||||
|
if strings.Index(v.Type, "image") == 0 {
|
||||||
|
node["img"] = v.Img
|
||||||
|
clipCfg := map[string]any{}
|
||||||
|
if len(v.ClipCfg) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.ClipCfg), &clipCfg)
|
||||||
|
}
|
||||||
|
node["clipCfg"] = clipCfg
|
||||||
|
}
|
||||||
|
|
||||||
|
// 图标属性
|
||||||
|
if v.Icon != "" {
|
||||||
|
icon := map[string]any{}
|
||||||
|
if len(v.Icon) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.Icon), &icon)
|
||||||
|
}
|
||||||
|
node["icon"] = icon
|
||||||
|
}
|
||||||
|
|
||||||
|
return node
|
||||||
|
}
|
||||||
|
|
||||||
|
// loadEdge 图数据Edge
|
||||||
|
func (s *ChartGraph) loadEdge(v model.ChartGraph) map[string]any {
|
||||||
|
edge := map[string]any{
|
||||||
|
"id": v.ID,
|
||||||
|
"source": v.Source,
|
||||||
|
"target": v.Target,
|
||||||
|
"type": v.Type,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素样式
|
||||||
|
style := map[string]any{}
|
||||||
|
if len(v.Style) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.Style), &style)
|
||||||
|
}
|
||||||
|
edge["style"] = style
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
edge["label"] = v.Label
|
||||||
|
labelCfg := map[string]any{}
|
||||||
|
if len(v.LabelCfg) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
||||||
|
}
|
||||||
|
edge["labelCfg"] = labelCfg
|
||||||
|
|
||||||
|
return edge
|
||||||
|
}
|
||||||
|
|
||||||
|
// loadCombo 图数据Combo
|
||||||
|
func (s *ChartGraph) loadCombo(v model.ChartGraph) map[string]any {
|
||||||
|
combo := map[string]any{
|
||||||
|
"id": v.ID,
|
||||||
|
"x": v.X,
|
||||||
|
"y": v.Y,
|
||||||
|
"type": v.Type,
|
||||||
|
"depth": v.Depth,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素样式
|
||||||
|
style := map[string]any{}
|
||||||
|
if len(v.Style) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.Style), &style)
|
||||||
|
}
|
||||||
|
combo["style"] = style
|
||||||
|
|
||||||
|
// 元素大小
|
||||||
|
if strings.Contains(v.Size, "[") {
|
||||||
|
sizeArr := []int64{}
|
||||||
|
json.Unmarshal([]byte(v.Size), &sizeArr)
|
||||||
|
combo["size"] = sizeArr
|
||||||
|
} else {
|
||||||
|
combo["size"] = parse.Number(v.Size)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素内边距
|
||||||
|
if strings.Contains(v.Padding, "[") {
|
||||||
|
paddingArr := []int64{}
|
||||||
|
json.Unmarshal([]byte(v.Padding), &paddingArr)
|
||||||
|
combo["padding"] = paddingArr
|
||||||
|
} else {
|
||||||
|
combo["padding"] = parse.Number(v.Padding)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
combo["label"] = v.Label
|
||||||
|
labelCfg := map[string]any{}
|
||||||
|
if len(v.LabelCfg) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
||||||
|
}
|
||||||
|
combo["labelCfg"] = labelCfg
|
||||||
|
|
||||||
|
// 分组内元素
|
||||||
|
if v.Children != "" {
|
||||||
|
children := []map[string]any{}
|
||||||
|
if len(v.Children) > 7 {
|
||||||
|
json.Unmarshal([]byte(v.Children), &children)
|
||||||
|
}
|
||||||
|
combo["children"] = children
|
||||||
|
}
|
||||||
|
|
||||||
|
return combo
|
||||||
|
}
|
||||||
|
|
||||||
|
// SaveData 添加组图数据
|
||||||
|
func (s *ChartGraph) SaveData(rowGroup string, data map[string]any) int64 {
|
||||||
|
graphs := []model.ChartGraph{}
|
||||||
|
nodes := data["nodes"].([]map[string]any)
|
||||||
|
graphNodes := s.saveNode(rowGroup, nodes)
|
||||||
|
graphs = append(graphs, graphNodes...)
|
||||||
|
edges := data["edges"].([]map[string]any)
|
||||||
|
graphEdges := s.saveEdge(rowGroup, edges)
|
||||||
|
graphs = append(graphs, graphEdges...)
|
||||||
|
combos := data["combos"].([]map[string]any)
|
||||||
|
graphCombos := s.saveCombo(rowGroup, combos)
|
||||||
|
graphs = append(graphs, graphCombos...)
|
||||||
|
// 删除组数据后插入
|
||||||
|
if len(graphs) > 0 {
|
||||||
|
s.graphRepository.DeleteGroup(rowGroup)
|
||||||
|
}
|
||||||
|
return s.graphRepository.Inserts(graphs)
|
||||||
|
}
|
||||||
|
|
||||||
|
// saveNode 图数据Node
|
||||||
|
func (s *ChartGraph) saveNode(rowGroup string, nodes []map[string]any) []model.ChartGraph {
|
||||||
|
var graphs []model.ChartGraph
|
||||||
|
for _, v := range nodes {
|
||||||
|
node := model.ChartGraph{
|
||||||
|
RowType: "node",
|
||||||
|
RowGroup: rowGroup,
|
||||||
|
ID: v["id"].(string),
|
||||||
|
X: v["x"].(float64),
|
||||||
|
Y: v["y"].(float64),
|
||||||
|
Type: v["type"].(string),
|
||||||
|
}
|
||||||
|
if comboId, ok := v["comboId"]; ok && comboId != nil {
|
||||||
|
node.ComboId = comboId.(string)
|
||||||
|
}
|
||||||
|
if depth, ok := v["depth"]; ok && depth != nil {
|
||||||
|
node.Depth = int64(depth.(float64))
|
||||||
|
}
|
||||||
|
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
||||||
|
node.Style = string(styleByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素大小
|
||||||
|
if sizeByte, err := json.Marshal(v["size"]); err == nil {
|
||||||
|
node.Size = string(sizeByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
if label, ok := v["label"]; ok && label != nil {
|
||||||
|
node.Label = label.(string)
|
||||||
|
}
|
||||||
|
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
||||||
|
node.LabelCfg = string(labelCfgByte)
|
||||||
|
}
|
||||||
|
// 三角形属性
|
||||||
|
if direction, ok := v["direction"]; ok && direction != nil && node.Type == "triangle" {
|
||||||
|
node.Direction = direction.(string)
|
||||||
|
}
|
||||||
|
// 图片属性
|
||||||
|
if img, ok := v["img"]; ok && img != nil {
|
||||||
|
node.Img = img.(string)
|
||||||
|
if clipCfgByte, err := json.Marshal(v["clipCfg"]); err == nil {
|
||||||
|
node.ClipCfg = string(clipCfgByte)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 图标属性
|
||||||
|
if icon, ok := v["icon"]; ok && icon != nil {
|
||||||
|
if iconByte, err := json.Marshal(icon); err == nil {
|
||||||
|
node.Icon = string(iconByte)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
graphs = append(graphs, node)
|
||||||
|
}
|
||||||
|
return graphs
|
||||||
|
}
|
||||||
|
|
||||||
|
// saveEdge 图数据Edge
|
||||||
|
func (s *ChartGraph) saveEdge(rowGroup string, edges []map[string]any) []model.ChartGraph {
|
||||||
|
var graphs []model.ChartGraph
|
||||||
|
for _, v := range edges {
|
||||||
|
edge := model.ChartGraph{
|
||||||
|
RowType: "edge",
|
||||||
|
RowGroup: rowGroup,
|
||||||
|
ID: v["id"].(string),
|
||||||
|
Source: v["source"].(string),
|
||||||
|
Target: v["target"].(string),
|
||||||
|
Type: v["type"].(string),
|
||||||
|
}
|
||||||
|
|
||||||
|
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
||||||
|
edge.Style = string(styleByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
if label, ok := v["label"]; ok && label != nil {
|
||||||
|
edge.Label = label.(string)
|
||||||
|
}
|
||||||
|
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
||||||
|
edge.LabelCfg = string(labelCfgByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
graphs = append(graphs, edge)
|
||||||
|
}
|
||||||
|
return graphs
|
||||||
|
}
|
||||||
|
|
||||||
|
// saveCombo 图数据Combo
|
||||||
|
func (s *ChartGraph) saveCombo(rowGroup string, combos []map[string]any) []model.ChartGraph {
|
||||||
|
var graphs []model.ChartGraph
|
||||||
|
for _, v := range combos {
|
||||||
|
combo := model.ChartGraph{
|
||||||
|
RowType: "combo",
|
||||||
|
RowGroup: rowGroup,
|
||||||
|
ID: v["id"].(string),
|
||||||
|
X: v["x"].(float64),
|
||||||
|
Y: v["y"].(float64),
|
||||||
|
Type: v["type"].(string),
|
||||||
|
}
|
||||||
|
if depth, ok := v["depth"]; ok && depth != nil {
|
||||||
|
combo.Depth = int64(depth.(float64))
|
||||||
|
}
|
||||||
|
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
||||||
|
combo.Style = string(styleByte)
|
||||||
|
}
|
||||||
|
if paddingByte, err := json.Marshal(v["padding"]); err == nil {
|
||||||
|
combo.Padding = string(paddingByte)
|
||||||
|
}
|
||||||
|
if childrenByte, err := json.Marshal(v["children"]); err == nil {
|
||||||
|
combo.Children = string(childrenByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 元素大小
|
||||||
|
if sizeByte, err := json.Marshal(v["size"]); err == nil {
|
||||||
|
combo.Size = string(sizeByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标签文本
|
||||||
|
if label, ok := v["label"]; ok && label != nil {
|
||||||
|
combo.Label = label.(string)
|
||||||
|
}
|
||||||
|
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
||||||
|
combo.LabelCfg = string(labelCfgByte)
|
||||||
|
}
|
||||||
|
|
||||||
|
graphs = append(graphs, combo)
|
||||||
|
}
|
||||||
|
return graphs
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete 删除所组图数据
|
||||||
|
func (s *ChartGraph) DeleteGroup(rowGroup string) int64 {
|
||||||
|
return s.graphRepository.DeleteGroup(rowGroup)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,359 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"be.ems/src/framework/utils/parse"
|
|
||||||
"be.ems/src/modules/chart/model"
|
|
||||||
chartRepository "be.ems/src/modules/chart/repository"
|
|
||||||
"github.com/goccy/go-json"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 ChartGraphImpl 结构体
|
|
||||||
var NewChartGraphImpl = &ChartGraphImpl{
|
|
||||||
graphRepository: chartRepository.NewChartGraphImpl,
|
|
||||||
}
|
|
||||||
|
|
||||||
// ChartGraphImpl G6关系图数据表 服务层处理
|
|
||||||
type ChartGraphImpl struct {
|
|
||||||
// G6关系图数据服务
|
|
||||||
graphRepository chartRepository.IChartGraph
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectGroup 查询组名
|
|
||||||
func (s *ChartGraphImpl) SelectGroup() []string {
|
|
||||||
return s.graphRepository.SelectGroup()
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoadData 查询所组图数据
|
|
||||||
func (s *ChartGraphImpl) LoadData(rowGroup, rowType string) map[string]any {
|
|
||||||
// 查询数据
|
|
||||||
graph := model.ChartGraph{
|
|
||||||
RowGroup: rowGroup,
|
|
||||||
}
|
|
||||||
if rowType != "" {
|
|
||||||
graph.RowType = rowType
|
|
||||||
}
|
|
||||||
data := s.graphRepository.SelectList(graph)
|
|
||||||
|
|
||||||
// 数据项
|
|
||||||
nodes := []map[string]any{}
|
|
||||||
edges := []map[string]any{}
|
|
||||||
combos := []map[string]any{}
|
|
||||||
|
|
||||||
for _, v := range data {
|
|
||||||
if v.RowType == "node" {
|
|
||||||
nodes = append(nodes, s.loadNode(v))
|
|
||||||
}
|
|
||||||
if v.RowType == "edge" {
|
|
||||||
edges = append(edges, s.loadEdge(v))
|
|
||||||
}
|
|
||||||
if v.RowType == "combo" {
|
|
||||||
combos = append(combos, s.loadCombo(v))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return map[string]any{
|
|
||||||
"nodes": nodes,
|
|
||||||
"edges": edges,
|
|
||||||
"combos": combos,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// loadNode 图数据Node
|
|
||||||
func (s *ChartGraphImpl) loadNode(v model.ChartGraph) map[string]any {
|
|
||||||
node := map[string]any{
|
|
||||||
"id": v.ID,
|
|
||||||
"comboId": v.ComboID,
|
|
||||||
"x": v.X,
|
|
||||||
"y": v.Y,
|
|
||||||
"type": v.Type,
|
|
||||||
"depth": v.Depth,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素样式
|
|
||||||
style := map[string]any{}
|
|
||||||
if len(v.Style) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.Style), &style)
|
|
||||||
}
|
|
||||||
node["style"] = style
|
|
||||||
|
|
||||||
// 元素大小
|
|
||||||
if strings.Contains(v.Size, "[") {
|
|
||||||
sizeArr := []int64{}
|
|
||||||
json.Unmarshal([]byte(v.Size), &sizeArr)
|
|
||||||
node["size"] = sizeArr
|
|
||||||
} else {
|
|
||||||
node["size"] = parse.Number(v.Size)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
node["label"] = v.Label
|
|
||||||
labelCfg := map[string]any{}
|
|
||||||
if len(v.LabelCfg) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
|
||||||
}
|
|
||||||
node["labelCfg"] = labelCfg
|
|
||||||
|
|
||||||
// 三角形属性
|
|
||||||
if v.Type == "triangle" {
|
|
||||||
node["direction"] = v.Direction
|
|
||||||
}
|
|
||||||
|
|
||||||
// 图片属性
|
|
||||||
if strings.Index(v.Type, "image") == 0 {
|
|
||||||
node["img"] = v.Img
|
|
||||||
clipCfg := map[string]any{}
|
|
||||||
if len(v.ClipCfg) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.ClipCfg), &clipCfg)
|
|
||||||
}
|
|
||||||
node["clipCfg"] = clipCfg
|
|
||||||
}
|
|
||||||
|
|
||||||
// 图标属性
|
|
||||||
if v.Icon != "" {
|
|
||||||
icon := map[string]any{}
|
|
||||||
if len(v.Icon) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.Icon), &icon)
|
|
||||||
}
|
|
||||||
node["icon"] = icon
|
|
||||||
}
|
|
||||||
|
|
||||||
return node
|
|
||||||
}
|
|
||||||
|
|
||||||
// loadEdge 图数据Edge
|
|
||||||
func (s *ChartGraphImpl) loadEdge(v model.ChartGraph) map[string]any {
|
|
||||||
edge := map[string]any{
|
|
||||||
"id": v.ID,
|
|
||||||
"source": v.Source,
|
|
||||||
"target": v.Target,
|
|
||||||
"type": v.Type,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素样式
|
|
||||||
style := map[string]any{}
|
|
||||||
if len(v.Style) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.Style), &style)
|
|
||||||
}
|
|
||||||
edge["style"] = style
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
edge["label"] = v.Label
|
|
||||||
labelCfg := map[string]any{}
|
|
||||||
if len(v.LabelCfg) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
|
||||||
}
|
|
||||||
edge["labelCfg"] = labelCfg
|
|
||||||
|
|
||||||
return edge
|
|
||||||
}
|
|
||||||
|
|
||||||
// loadCombo 图数据Combo
|
|
||||||
func (s *ChartGraphImpl) loadCombo(v model.ChartGraph) map[string]any {
|
|
||||||
combo := map[string]any{
|
|
||||||
"id": v.ID,
|
|
||||||
"x": v.X,
|
|
||||||
"y": v.Y,
|
|
||||||
"type": v.Type,
|
|
||||||
"depth": v.Depth,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素样式
|
|
||||||
style := map[string]any{}
|
|
||||||
if len(v.Style) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.Style), &style)
|
|
||||||
}
|
|
||||||
combo["style"] = style
|
|
||||||
|
|
||||||
// 元素大小
|
|
||||||
if strings.Contains(v.Size, "[") {
|
|
||||||
sizeArr := []int64{}
|
|
||||||
json.Unmarshal([]byte(v.Size), &sizeArr)
|
|
||||||
combo["size"] = sizeArr
|
|
||||||
} else {
|
|
||||||
combo["size"] = parse.Number(v.Size)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素内边距
|
|
||||||
if strings.Contains(v.Padding, "[") {
|
|
||||||
paddingArr := []int64{}
|
|
||||||
json.Unmarshal([]byte(v.Padding), &paddingArr)
|
|
||||||
combo["padding"] = paddingArr
|
|
||||||
} else {
|
|
||||||
combo["padding"] = parse.Number(v.Padding)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
combo["label"] = v.Label
|
|
||||||
labelCfg := map[string]any{}
|
|
||||||
if len(v.LabelCfg) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.LabelCfg), &labelCfg)
|
|
||||||
}
|
|
||||||
combo["labelCfg"] = labelCfg
|
|
||||||
|
|
||||||
// 分组内元素
|
|
||||||
if v.Children != "" {
|
|
||||||
children := []map[string]any{}
|
|
||||||
if len(v.Children) > 7 {
|
|
||||||
json.Unmarshal([]byte(v.Children), &children)
|
|
||||||
}
|
|
||||||
combo["children"] = children
|
|
||||||
}
|
|
||||||
|
|
||||||
return combo
|
|
||||||
}
|
|
||||||
|
|
||||||
// SaveData 添加组图数据
|
|
||||||
func (s *ChartGraphImpl) SaveData(rowGroup string, data map[string]any) int64 {
|
|
||||||
graphs := []model.ChartGraph{}
|
|
||||||
nodes := data["nodes"].([]map[string]any)
|
|
||||||
graphNodes := s.saveNode(rowGroup, nodes)
|
|
||||||
graphs = append(graphs, graphNodes...)
|
|
||||||
edges := data["edges"].([]map[string]any)
|
|
||||||
graphEdges := s.saveEdge(rowGroup, edges)
|
|
||||||
graphs = append(graphs, graphEdges...)
|
|
||||||
combos := data["combos"].([]map[string]any)
|
|
||||||
graphCombos := s.saveCombo(rowGroup, combos)
|
|
||||||
graphs = append(graphs, graphCombos...)
|
|
||||||
// 删除组数据后插入
|
|
||||||
if len(graphs) > 0 {
|
|
||||||
s.graphRepository.DeleteGroup(rowGroup)
|
|
||||||
}
|
|
||||||
return s.graphRepository.Inserts(graphs)
|
|
||||||
}
|
|
||||||
|
|
||||||
// saveNode 图数据Node
|
|
||||||
func (s *ChartGraphImpl) saveNode(rowGroup string, nodes []map[string]any) []model.ChartGraph {
|
|
||||||
var graphs []model.ChartGraph
|
|
||||||
for _, v := range nodes {
|
|
||||||
node := model.ChartGraph{
|
|
||||||
RowType: "node",
|
|
||||||
RowGroup: rowGroup,
|
|
||||||
ID: v["id"].(string),
|
|
||||||
X: v["x"].(float64),
|
|
||||||
Y: v["y"].(float64),
|
|
||||||
Type: v["type"].(string),
|
|
||||||
}
|
|
||||||
if comboId, ok := v["comboId"]; ok && comboId != nil {
|
|
||||||
node.ComboID = comboId.(string)
|
|
||||||
}
|
|
||||||
if depth, ok := v["depth"]; ok && depth != nil {
|
|
||||||
node.Depth = int(depth.(float64))
|
|
||||||
}
|
|
||||||
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
|
||||||
node.Style = string(styleByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素大小
|
|
||||||
if sizeByte, err := json.Marshal(v["size"]); err == nil {
|
|
||||||
node.Size = string(sizeByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
if label, ok := v["label"]; ok && label != nil {
|
|
||||||
node.Label = label.(string)
|
|
||||||
}
|
|
||||||
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
|
||||||
node.LabelCfg = string(labelCfgByte)
|
|
||||||
}
|
|
||||||
// 三角形属性
|
|
||||||
if direction, ok := v["direction"]; ok && direction != nil && node.Type == "triangle" {
|
|
||||||
node.Direction = direction.(string)
|
|
||||||
}
|
|
||||||
// 图片属性
|
|
||||||
if img, ok := v["img"]; ok && img != nil {
|
|
||||||
node.Img = img.(string)
|
|
||||||
if clipCfgByte, err := json.Marshal(v["clipCfg"]); err == nil {
|
|
||||||
node.ClipCfg = string(clipCfgByte)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 图标属性
|
|
||||||
if icon, ok := v["icon"]; ok && icon != nil {
|
|
||||||
if iconByte, err := json.Marshal(icon); err == nil {
|
|
||||||
node.Icon = string(iconByte)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
graphs = append(graphs, node)
|
|
||||||
}
|
|
||||||
return graphs
|
|
||||||
}
|
|
||||||
|
|
||||||
// saveEdge 图数据Edge
|
|
||||||
func (s *ChartGraphImpl) saveEdge(rowGroup string, edges []map[string]any) []model.ChartGraph {
|
|
||||||
var graphs []model.ChartGraph
|
|
||||||
for _, v := range edges {
|
|
||||||
edge := model.ChartGraph{
|
|
||||||
RowType: "edge",
|
|
||||||
RowGroup: rowGroup,
|
|
||||||
ID: v["id"].(string),
|
|
||||||
Source: v["source"].(string),
|
|
||||||
Target: v["target"].(string),
|
|
||||||
Type: v["type"].(string),
|
|
||||||
}
|
|
||||||
|
|
||||||
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
|
||||||
edge.Style = string(styleByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
if label, ok := v["label"]; ok && label != nil {
|
|
||||||
edge.Label = label.(string)
|
|
||||||
}
|
|
||||||
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
|
||||||
edge.LabelCfg = string(labelCfgByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
graphs = append(graphs, edge)
|
|
||||||
}
|
|
||||||
return graphs
|
|
||||||
}
|
|
||||||
|
|
||||||
// saveCombo 图数据Combo
|
|
||||||
func (s *ChartGraphImpl) saveCombo(rowGroup string, combos []map[string]any) []model.ChartGraph {
|
|
||||||
var graphs []model.ChartGraph
|
|
||||||
for _, v := range combos {
|
|
||||||
combo := model.ChartGraph{
|
|
||||||
RowType: "combo",
|
|
||||||
RowGroup: rowGroup,
|
|
||||||
ID: v["id"].(string),
|
|
||||||
X: v["x"].(float64),
|
|
||||||
Y: v["y"].(float64),
|
|
||||||
Type: v["type"].(string),
|
|
||||||
}
|
|
||||||
if depth, ok := v["depth"]; ok && depth != nil {
|
|
||||||
combo.Depth = int(depth.(float64))
|
|
||||||
}
|
|
||||||
if styleByte, err := json.Marshal(v["style"]); err == nil {
|
|
||||||
combo.Style = string(styleByte)
|
|
||||||
}
|
|
||||||
if paddingByte, err := json.Marshal(v["padding"]); err == nil {
|
|
||||||
combo.Padding = string(paddingByte)
|
|
||||||
}
|
|
||||||
if childrenByte, err := json.Marshal(v["children"]); err == nil {
|
|
||||||
combo.Children = string(childrenByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 元素大小
|
|
||||||
if sizeByte, err := json.Marshal(v["size"]); err == nil {
|
|
||||||
combo.Size = string(sizeByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签文本
|
|
||||||
if label, ok := v["label"]; ok && label != nil {
|
|
||||||
combo.Label = label.(string)
|
|
||||||
}
|
|
||||||
if labelCfgByte, err := json.Marshal(v["labelCfg"]); err == nil {
|
|
||||||
combo.LabelCfg = string(labelCfgByte)
|
|
||||||
}
|
|
||||||
|
|
||||||
graphs = append(graphs, combo)
|
|
||||||
}
|
|
||||||
return graphs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete 删除所组图数据
|
|
||||||
func (s *ChartGraphImpl) DeleteGroup(rowGroup string) int64 {
|
|
||||||
return s.graphRepository.DeleteGroup(rowGroup)
|
|
||||||
}
|
|
||||||
@@ -17,7 +17,7 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 AccountController 结构体
|
// 实例化控制层 AccountController 结构体
|
||||||
var NewAccount = &AccountController{
|
var NewAccount = &AccountController{
|
||||||
accountService: commonService.NewAccountImpl,
|
accountService: commonService.NewAccount,
|
||||||
sysLogLoginService: systemService.NewSysLogLoginImpl,
|
sysLogLoginService: systemService.NewSysLogLoginImpl,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,8 +25,7 @@ var NewAccount = &AccountController{
|
|||||||
//
|
//
|
||||||
// PATH /
|
// PATH /
|
||||||
type AccountController struct {
|
type AccountController struct {
|
||||||
// 账号身份操作服务
|
accountService *commonService.Account // 账号身份操作服务
|
||||||
accountService commonService.IAccount
|
|
||||||
// 系统登录访问
|
// 系统登录访问
|
||||||
sysLogLoginService systemService.ISysLogLogin
|
sysLogLoginService systemService.ISysLogLogin
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 BootloaderController 结构体
|
// 实例化控制层 BootloaderController 结构体
|
||||||
var NewBootloader = &BootloaderController{
|
var NewBootloader = &BootloaderController{
|
||||||
accountService: commonService.NewAccountImpl,
|
accountService: commonService.NewAccount,
|
||||||
sysUserService: systemService.NewSysUserImpl,
|
sysUserService: systemService.NewSysUserImpl,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,8 +26,7 @@ var NewBootloader = &BootloaderController{
|
|||||||
//
|
//
|
||||||
// PATH /bootloader
|
// PATH /bootloader
|
||||||
type BootloaderController struct {
|
type BootloaderController struct {
|
||||||
// 账号身份操作服务
|
accountService *commonService.Account // 账号身份操作服务
|
||||||
accountService commonService.IAccount
|
|
||||||
// 用户信息服务
|
// 用户信息服务
|
||||||
sysUserService systemService.ISysUser
|
sysUserService systemService.ISysUser
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,194 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import "be.ems/src/framework/vo"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
// 账号身份操作服务 服务层接口
|
"be.ems/src/framework/config"
|
||||||
type IAccount interface {
|
adminConstants "be.ems/src/framework/constants/admin"
|
||||||
// ValidateCaptcha 校验验证码
|
"be.ems/src/framework/constants/cachekey"
|
||||||
ValidateCaptcha(code, uuid string) error
|
"be.ems/src/framework/constants/common"
|
||||||
|
"be.ems/src/framework/redis"
|
||||||
|
"be.ems/src/framework/utils/crypto"
|
||||||
|
"be.ems/src/framework/utils/parse"
|
||||||
|
"be.ems/src/framework/vo"
|
||||||
|
"be.ems/src/modules/system/model"
|
||||||
|
systemService "be.ems/src/modules/system/service"
|
||||||
|
)
|
||||||
|
|
||||||
// LoginByUsername 登录生成token
|
// 实例化服务层 Account 结构体
|
||||||
LoginByUsername(username, password string) (vo.LoginUser, error)
|
var NewAccount = &Account{
|
||||||
|
sysUserService: systemService.NewSysUserImpl,
|
||||||
// UpdateLoginDateAndIP 更新登录时间和IP
|
sysConfigService: systemService.NewSysConfigImpl,
|
||||||
UpdateLoginDateAndIP(loginUser *vo.LoginUser) bool
|
sysRoleService: systemService.NewSysRoleImpl,
|
||||||
|
sysMenuService: systemService.NewSysMenuImpl,
|
||||||
// ClearLoginRecordCache 清除错误记录次数
|
}
|
||||||
ClearLoginRecordCache(username string) bool
|
|
||||||
|
// 账号身份操作服务 服务层处理
|
||||||
// RoleAndMenuPerms 角色和菜单数据权限
|
type Account struct {
|
||||||
RoleAndMenuPerms(userId string, isAdmin bool) ([]string, []string)
|
// 用户信息服务
|
||||||
|
sysUserService systemService.ISysUser
|
||||||
// RouteMenus 前端路由所需要的菜单
|
// 参数配置服务
|
||||||
RouteMenus(userId string, isAdmin bool) []vo.Router
|
sysConfigService systemService.ISysConfig
|
||||||
|
// 角色服务
|
||||||
|
sysRoleService systemService.ISysRole
|
||||||
|
// 菜单服务
|
||||||
|
sysMenuService systemService.ISysMenu
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateCaptcha 校验验证码
|
||||||
|
func (s *Account) ValidateCaptcha(code, uuid string) error {
|
||||||
|
// 验证码检查,从数据库配置获取验证码开关 true开启,false关闭
|
||||||
|
captchaEnabledStr := s.sysConfigService.SelectConfigValueByKey("sys.account.captchaEnabled")
|
||||||
|
if !parse.Boolean(captchaEnabledStr) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if code == "" || uuid == "" {
|
||||||
|
// 验证码信息错误
|
||||||
|
return fmt.Errorf("captcha.err")
|
||||||
|
}
|
||||||
|
verifyKey := cachekey.CAPTCHA_CODE_KEY + uuid
|
||||||
|
captcha, _ := redis.Get("", verifyKey)
|
||||||
|
if captcha == "" {
|
||||||
|
// 验证码已失效
|
||||||
|
return fmt.Errorf("captcha.errValid")
|
||||||
|
}
|
||||||
|
redis.Del("", verifyKey)
|
||||||
|
if captcha != code {
|
||||||
|
// 验证码错误
|
||||||
|
return fmt.Errorf("captcha.err")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoginByUsername 登录创建用户信息
|
||||||
|
func (s *Account) LoginByUsername(username, password string) (vo.LoginUser, error) {
|
||||||
|
loginUser := vo.LoginUser{}
|
||||||
|
|
||||||
|
// 检查密码重试次数
|
||||||
|
retrykey, retryCount, lockTime, err := s.passwordRetryCount(username)
|
||||||
|
if err != nil {
|
||||||
|
return loginUser, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户登录账号
|
||||||
|
sysUser := s.sysUserService.SelectUserByUserName(username)
|
||||||
|
if sysUser.UserName != username {
|
||||||
|
return loginUser, fmt.Errorf("login.errNameOrPasswd")
|
||||||
|
}
|
||||||
|
if sysUser.DelFlag == common.STATUS_YES {
|
||||||
|
// 对不起,您的账号已被删除
|
||||||
|
return loginUser, fmt.Errorf("login.errDelFlag")
|
||||||
|
}
|
||||||
|
if sysUser.Status == common.STATUS_NO {
|
||||||
|
return loginUser, fmt.Errorf("login.errStatus")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检验用户密码
|
||||||
|
compareBool := crypto.BcryptCompare(password, sysUser.Password)
|
||||||
|
if !compareBool {
|
||||||
|
redis.SetByExpire("", retrykey, retryCount+1, lockTime)
|
||||||
|
// 用户不存在或密码错误
|
||||||
|
return loginUser, fmt.Errorf("login.errNameOrPasswd")
|
||||||
|
} else {
|
||||||
|
// 清除错误记录次数
|
||||||
|
s.ClearLoginRecordCache(username)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 登录用户信息
|
||||||
|
loginUser.UserID = sysUser.UserID
|
||||||
|
loginUser.DeptID = sysUser.DeptID
|
||||||
|
loginUser.User = sysUser
|
||||||
|
// 用户权限组标识
|
||||||
|
isAdmin := config.IsAdmin(sysUser.UserID)
|
||||||
|
if isAdmin {
|
||||||
|
loginUser.Permissions = []string{adminConstants.PERMISSION}
|
||||||
|
} else {
|
||||||
|
perms := s.sysMenuService.SelectMenuPermsByUserId(sysUser.UserID)
|
||||||
|
loginUser.Permissions = parse.RemoveDuplicates(perms)
|
||||||
|
}
|
||||||
|
return loginUser, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdateLoginDateAndIP 更新登录时间和IP
|
||||||
|
func (s *Account) UpdateLoginDateAndIP(loginUser *vo.LoginUser) bool {
|
||||||
|
sysUser := loginUser.User
|
||||||
|
userInfo := model.SysUser{
|
||||||
|
UserID: sysUser.UserID,
|
||||||
|
LoginIP: sysUser.LoginIP,
|
||||||
|
LoginDate: sysUser.LoginDate,
|
||||||
|
UpdateBy: sysUser.UserName,
|
||||||
|
Sex: sysUser.Sex,
|
||||||
|
PhoneNumber: sysUser.PhoneNumber,
|
||||||
|
Email: sysUser.Email,
|
||||||
|
Remark: sysUser.Remark,
|
||||||
|
}
|
||||||
|
rows := s.sysUserService.UpdateUser(userInfo)
|
||||||
|
return rows > 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearLoginRecordCache 清除错误记录次数
|
||||||
|
func (s *Account) ClearLoginRecordCache(username string) bool {
|
||||||
|
cacheKey := cachekey.PWD_ERR_CNT_KEY + username
|
||||||
|
hasKey, _ := redis.Has("", cacheKey)
|
||||||
|
if hasKey {
|
||||||
|
delOk, _ := redis.Del("", cacheKey)
|
||||||
|
return delOk
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// passwordRetryCount 密码重试次数
|
||||||
|
func (s *Account) passwordRetryCount(username string) (string, int64, time.Duration, error) {
|
||||||
|
// 从数据库配置获取登录次数和错误锁定时间
|
||||||
|
maxRetryCountStr := s.sysConfigService.SelectConfigValueByKey("sys.user.maxRetryCount")
|
||||||
|
lockTimeStr := s.sysConfigService.SelectConfigValueByKey("sys.user.lockTime")
|
||||||
|
|
||||||
|
// 验证登录次数和错误锁定时间
|
||||||
|
maxRetryCount := parse.Number(maxRetryCountStr)
|
||||||
|
lockTime := parse.Number(lockTimeStr)
|
||||||
|
// 验证缓存记录次数
|
||||||
|
retrykey := cachekey.PWD_ERR_CNT_KEY + username
|
||||||
|
retryCount, err := redis.Get("", retrykey)
|
||||||
|
if retryCount == "" || err != nil {
|
||||||
|
retryCount = "0"
|
||||||
|
}
|
||||||
|
// 是否超过错误值
|
||||||
|
retryCountInt64 := parse.Number(retryCount)
|
||||||
|
if retryCountInt64 >= maxRetryCount {
|
||||||
|
// 密码输入错误多次,帐户已被锁定
|
||||||
|
errorMsg := fmt.Errorf("login.errRetryPasswd")
|
||||||
|
return retrykey, retryCountInt64, time.Duration(lockTime) * time.Minute, errorMsg
|
||||||
|
}
|
||||||
|
return retrykey, retryCountInt64, time.Duration(lockTime) * time.Minute, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RoleAndMenuPerms 角色和菜单数据权限
|
||||||
|
func (s *Account) RoleAndMenuPerms(userId string, isAdmin bool) ([]string, []string) {
|
||||||
|
if isAdmin {
|
||||||
|
return []string{adminConstants.ROLE_KEY}, []string{adminConstants.PERMISSION}
|
||||||
|
} else {
|
||||||
|
// 角色key
|
||||||
|
roleGroup := []string{}
|
||||||
|
roles := s.sysRoleService.SelectRoleListByUserId(userId)
|
||||||
|
for _, role := range roles {
|
||||||
|
roleGroup = append(roleGroup, role.RoleKey)
|
||||||
|
}
|
||||||
|
// 菜单权限key
|
||||||
|
perms := s.sysMenuService.SelectMenuPermsByUserId(userId)
|
||||||
|
return parse.RemoveDuplicates(roleGroup), parse.RemoveDuplicates(perms)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RouteMenus 前端路由所需要的菜单
|
||||||
|
func (s *Account) RouteMenus(userId string, isAdmin bool) []vo.Router {
|
||||||
|
var buildMenus []vo.Router
|
||||||
|
if isAdmin {
|
||||||
|
menus := s.sysMenuService.SelectMenuTreeByUserId("*")
|
||||||
|
buildMenus = s.sysMenuService.BuildRouteMenus(menus, "")
|
||||||
|
} else {
|
||||||
|
menus := s.sysMenuService.SelectMenuTreeByUserId(userId)
|
||||||
|
buildMenus = s.sysMenuService.BuildRouteMenus(menus, "")
|
||||||
|
}
|
||||||
|
return buildMenus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,190 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"be.ems/src/framework/config"
|
|
||||||
adminConstants "be.ems/src/framework/constants/admin"
|
|
||||||
"be.ems/src/framework/constants/cachekey"
|
|
||||||
"be.ems/src/framework/constants/common"
|
|
||||||
"be.ems/src/framework/redis"
|
|
||||||
"be.ems/src/framework/utils/crypto"
|
|
||||||
"be.ems/src/framework/utils/parse"
|
|
||||||
"be.ems/src/framework/vo"
|
|
||||||
"be.ems/src/modules/system/model"
|
|
||||||
systemService "be.ems/src/modules/system/service"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 AccountImpl 结构体
|
|
||||||
var NewAccountImpl = &AccountImpl{
|
|
||||||
sysUserService: systemService.NewSysUserImpl,
|
|
||||||
sysConfigService: systemService.NewSysConfigImpl,
|
|
||||||
sysRoleService: systemService.NewSysRoleImpl,
|
|
||||||
sysMenuService: systemService.NewSysMenuImpl,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 账号身份操作服务 服务层处理
|
|
||||||
type AccountImpl struct {
|
|
||||||
// 用户信息服务
|
|
||||||
sysUserService systemService.ISysUser
|
|
||||||
// 参数配置服务
|
|
||||||
sysConfigService systemService.ISysConfig
|
|
||||||
// 角色服务
|
|
||||||
sysRoleService systemService.ISysRole
|
|
||||||
// 菜单服务
|
|
||||||
sysMenuService systemService.ISysMenu
|
|
||||||
}
|
|
||||||
|
|
||||||
// ValidateCaptcha 校验验证码
|
|
||||||
func (s *AccountImpl) ValidateCaptcha(code, uuid string) error {
|
|
||||||
// 验证码检查,从数据库配置获取验证码开关 true开启,false关闭
|
|
||||||
captchaEnabledStr := s.sysConfigService.SelectConfigValueByKey("sys.account.captchaEnabled")
|
|
||||||
if !parse.Boolean(captchaEnabledStr) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if code == "" || uuid == "" {
|
|
||||||
// 验证码信息错误
|
|
||||||
return fmt.Errorf("captcha.err")
|
|
||||||
}
|
|
||||||
verifyKey := cachekey.CAPTCHA_CODE_KEY + uuid
|
|
||||||
captcha, _ := redis.Get("", verifyKey)
|
|
||||||
if captcha == "" {
|
|
||||||
// 验证码已失效
|
|
||||||
return fmt.Errorf("captcha.errValid")
|
|
||||||
}
|
|
||||||
redis.Del("", verifyKey)
|
|
||||||
if captcha != code {
|
|
||||||
// 验证码错误
|
|
||||||
return fmt.Errorf("captcha.err")
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginByUsername 登录创建用户信息
|
|
||||||
func (s *AccountImpl) LoginByUsername(username, password string) (vo.LoginUser, error) {
|
|
||||||
loginUser := vo.LoginUser{}
|
|
||||||
|
|
||||||
// 检查密码重试次数
|
|
||||||
retrykey, retryCount, lockTime, err := s.passwordRetryCount(username)
|
|
||||||
if err != nil {
|
|
||||||
return loginUser, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户登录账号
|
|
||||||
sysUser := s.sysUserService.SelectUserByUserName(username)
|
|
||||||
if sysUser.UserName != username {
|
|
||||||
return loginUser, fmt.Errorf("login.errNameOrPasswd")
|
|
||||||
}
|
|
||||||
if sysUser.DelFlag == common.STATUS_YES {
|
|
||||||
// 对不起,您的账号已被删除
|
|
||||||
return loginUser, fmt.Errorf("login.errDelFlag")
|
|
||||||
}
|
|
||||||
if sysUser.Status == common.STATUS_NO {
|
|
||||||
return loginUser, fmt.Errorf("login.errStatus")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 检验用户密码
|
|
||||||
compareBool := crypto.BcryptCompare(password, sysUser.Password)
|
|
||||||
if !compareBool {
|
|
||||||
redis.SetByExpire("", retrykey, retryCount+1, lockTime)
|
|
||||||
// 用户不存在或密码错误
|
|
||||||
return loginUser, fmt.Errorf("login.errNameOrPasswd")
|
|
||||||
} else {
|
|
||||||
// 清除错误记录次数
|
|
||||||
s.ClearLoginRecordCache(username)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 登录用户信息
|
|
||||||
loginUser.UserID = sysUser.UserID
|
|
||||||
loginUser.DeptID = sysUser.DeptID
|
|
||||||
loginUser.User = sysUser
|
|
||||||
// 用户权限组标识
|
|
||||||
isAdmin := config.IsAdmin(sysUser.UserID)
|
|
||||||
if isAdmin {
|
|
||||||
loginUser.Permissions = []string{adminConstants.PERMISSION}
|
|
||||||
} else {
|
|
||||||
perms := s.sysMenuService.SelectMenuPermsByUserId(sysUser.UserID)
|
|
||||||
loginUser.Permissions = parse.RemoveDuplicates(perms)
|
|
||||||
}
|
|
||||||
return loginUser, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdateLoginDateAndIP 更新登录时间和IP
|
|
||||||
func (s *AccountImpl) UpdateLoginDateAndIP(loginUser *vo.LoginUser) bool {
|
|
||||||
sysUser := loginUser.User
|
|
||||||
userInfo := model.SysUser{
|
|
||||||
UserID: sysUser.UserID,
|
|
||||||
LoginIP: sysUser.LoginIP,
|
|
||||||
LoginDate: sysUser.LoginDate,
|
|
||||||
UpdateBy: sysUser.UserName,
|
|
||||||
}
|
|
||||||
rows := s.sysUserService.UpdateUser(userInfo)
|
|
||||||
return rows > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// ClearLoginRecordCache 清除错误记录次数
|
|
||||||
func (s *AccountImpl) ClearLoginRecordCache(username string) bool {
|
|
||||||
cacheKey := cachekey.PWD_ERR_CNT_KEY + username
|
|
||||||
hasKey, _ := redis.Has("", cacheKey)
|
|
||||||
if hasKey {
|
|
||||||
delOk, _ := redis.Del("", cacheKey)
|
|
||||||
return delOk
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// passwordRetryCount 密码重试次数
|
|
||||||
func (s *AccountImpl) passwordRetryCount(username string) (string, int64, time.Duration, error) {
|
|
||||||
// 从数据库配置获取登录次数和错误锁定时间
|
|
||||||
maxRetryCountStr := s.sysConfigService.SelectConfigValueByKey("sys.user.maxRetryCount")
|
|
||||||
lockTimeStr := s.sysConfigService.SelectConfigValueByKey("sys.user.lockTime")
|
|
||||||
|
|
||||||
// 验证登录次数和错误锁定时间
|
|
||||||
maxRetryCount := parse.Number(maxRetryCountStr)
|
|
||||||
lockTime := parse.Number(lockTimeStr)
|
|
||||||
// 验证缓存记录次数
|
|
||||||
retrykey := cachekey.PWD_ERR_CNT_KEY + username
|
|
||||||
retryCount, err := redis.Get("", retrykey)
|
|
||||||
if retryCount == "" || err != nil {
|
|
||||||
retryCount = "0"
|
|
||||||
}
|
|
||||||
// 是否超过错误值
|
|
||||||
retryCountInt64 := parse.Number(retryCount)
|
|
||||||
if retryCountInt64 >= maxRetryCount {
|
|
||||||
// 密码输入错误多次,帐户已被锁定
|
|
||||||
errorMsg := fmt.Errorf("login.errRetryPasswd")
|
|
||||||
return retrykey, retryCountInt64, time.Duration(lockTime) * time.Minute, errorMsg
|
|
||||||
}
|
|
||||||
return retrykey, retryCountInt64, time.Duration(lockTime) * time.Minute, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// RoleAndMenuPerms 角色和菜单数据权限
|
|
||||||
func (s *AccountImpl) RoleAndMenuPerms(userId string, isAdmin bool) ([]string, []string) {
|
|
||||||
if isAdmin {
|
|
||||||
return []string{adminConstants.ROLE_KEY}, []string{adminConstants.PERMISSION}
|
|
||||||
} else {
|
|
||||||
// 角色key
|
|
||||||
roleGroup := []string{}
|
|
||||||
roles := s.sysRoleService.SelectRoleListByUserId(userId)
|
|
||||||
for _, role := range roles {
|
|
||||||
roleGroup = append(roleGroup, role.RoleKey)
|
|
||||||
}
|
|
||||||
// 菜单权限key
|
|
||||||
perms := s.sysMenuService.SelectMenuPermsByUserId(userId)
|
|
||||||
return parse.RemoveDuplicates(roleGroup), parse.RemoveDuplicates(perms)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// RouteMenus 前端路由所需要的菜单
|
|
||||||
func (s *AccountImpl) RouteMenus(userId string, isAdmin bool) []vo.Router {
|
|
||||||
var buildMenus []vo.Router
|
|
||||||
if isAdmin {
|
|
||||||
menus := s.sysMenuService.SelectMenuTreeByUserId("*")
|
|
||||||
buildMenus = s.sysMenuService.BuildRouteMenus(menus, "")
|
|
||||||
} else {
|
|
||||||
menus := s.sysMenuService.SelectMenuTreeByUserId(userId)
|
|
||||||
buildMenus = s.sysMenuService.BuildRouteMenus(menus, "")
|
|
||||||
}
|
|
||||||
return buildMenus
|
|
||||||
}
|
|
||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var NewProcessor = &MonitorSysResourceProcessor{
|
var NewProcessor = &MonitorSysResourceProcessor{
|
||||||
monitorService: monitorService.NewMonitorImpl,
|
monitorService: monitorService.NewMonitor,
|
||||||
count: 0,
|
count: 0,
|
||||||
openDataCancel: false,
|
openDataCancel: false,
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ var NewProcessor = &MonitorSysResourceProcessor{
|
|||||||
// MonitorSysResourceProcessor 系统资源CPU/IO/Netword收集
|
// MonitorSysResourceProcessor 系统资源CPU/IO/Netword收集
|
||||||
type MonitorSysResourceProcessor struct {
|
type MonitorSysResourceProcessor struct {
|
||||||
// 服务器系统相关信息服务
|
// 服务器系统相关信息服务
|
||||||
monitorService monitorService.IMonitor
|
monitorService *monitorService.Monitor
|
||||||
// 执行次数
|
// 执行次数
|
||||||
count int
|
count int
|
||||||
// 是否已经开启数据通道
|
// 是否已经开启数据通道
|
||||||
|
|||||||
@@ -11,19 +11,16 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var NewProcessor = &NeConfigBackupProcessor{
|
var NewProcessor = &NeConfigBackupProcessor{
|
||||||
neConfigBackupService: neService.NewNeConfigBackupImpl,
|
neConfigBackupService: neService.NewNeConfigBackup,
|
||||||
neInfoService: neService.NewNeInfoImpl,
|
neInfoService: neService.NewNeInfo,
|
||||||
count: 0,
|
count: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
// NeConfigBackupProcessor 网元配置文件定期备份
|
// NeConfigBackupProcessor 网元配置文件定期备份
|
||||||
type NeConfigBackupProcessor struct {
|
type NeConfigBackupProcessor struct {
|
||||||
// 网元配置文件备份记录服务
|
neConfigBackupService *neService.NeConfigBackup // 网元配置文件备份记录服务
|
||||||
neConfigBackupService neService.INeConfigBackup
|
neInfoService *neService.NeInfo // 网元信息服务
|
||||||
// 网元信息服务
|
count int // 执行次数
|
||||||
neInfoService neService.INeInfo
|
|
||||||
// 执行次数
|
|
||||||
count int
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *NeConfigBackupProcessor) Execute(data any) (any, error) {
|
func (s *NeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||||
|
|||||||
@@ -11,15 +11,14 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 MonitorInfoController 结构体
|
// 实例化控制层 MonitorInfoController 结构体
|
||||||
var NewMonitor = &MonitorController{
|
var NewMonitor = &MonitorController{
|
||||||
monitorService: service.NewMonitorImpl,
|
monitorService: service.NewMonitor,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 服务器资源监控信息
|
// 服务器资源监控信息
|
||||||
//
|
//
|
||||||
// PATH /monitor
|
// PATH /monitor
|
||||||
type MonitorController struct {
|
type MonitorController struct {
|
||||||
// 服务器系统相关信息服务
|
monitorService *service.Monitor // 服务器系统相关信息服务
|
||||||
monitorService service.IMonitor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 资源监控信息加载
|
// 资源监控信息加载
|
||||||
|
|||||||
@@ -22,18 +22,16 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 SysJobLogController 结构体
|
// 实例化控制层 SysJobLogController 结构体
|
||||||
var NewSysJob = &SysJobController{
|
var NewSysJob = &SysJobController{
|
||||||
sysJobService: service.NewSysJobImpl,
|
sysJobService: service.NewSysJob,
|
||||||
sysDictDataService: systemService.NewSysDictDataImpl,
|
sysDictDataService: systemService.NewSysDictData,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调度任务信息
|
// 调度任务信息
|
||||||
//
|
//
|
||||||
// PATH /monitor/job
|
// PATH /monitor/job
|
||||||
type SysJobController struct {
|
type SysJobController struct {
|
||||||
// 调度任务服务
|
sysJobService *service.SysJob // 调度任务服务
|
||||||
sysJobService service.ISysJob
|
sysDictDataService *systemService.SysDictData // 字典数据服务
|
||||||
// 字典数据服务
|
|
||||||
sysDictDataService systemService.ISysDictData
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调度任务列表
|
// 调度任务列表
|
||||||
|
|||||||
@@ -21,18 +21,16 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 SysJobLogController 结构体
|
// 实例化控制层 SysJobLogController 结构体
|
||||||
var NewSysJobLog = &SysJobLogController{
|
var NewSysJobLog = &SysJobLogController{
|
||||||
sysJobLogService: service.NewSysJobLogImpl,
|
sysJobLogService: service.NewSysJobLog,
|
||||||
sysDictDataService: systemService.NewSysDictDataImpl,
|
sysDictDataService: systemService.NewSysDictData,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调度任务日志信息
|
// 调度任务日志信息
|
||||||
//
|
//
|
||||||
// PATH /monitor/jobLog
|
// PATH /monitor/jobLog
|
||||||
type SysJobLogController struct {
|
type SysJobLogController struct {
|
||||||
// 调度任务日志服务
|
sysJobLogService *service.SysJobLog // 调度任务日志服务
|
||||||
sysJobLogService service.ISysJobLog
|
sysDictDataService *systemService.SysDictData // 字典数据服务
|
||||||
// 字典数据服务
|
|
||||||
sysDictDataService systemService.ISysDictData
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调度任务日志列表
|
// 调度任务日志列表
|
||||||
@@ -44,7 +42,7 @@ func (s *SysJobLogController) List(c *gin.Context) {
|
|||||||
querys := ctx.QueryMap(c)
|
querys := ctx.QueryMap(c)
|
||||||
// 任务ID优先级更高
|
// 任务ID优先级更高
|
||||||
if v, ok := querys["jobId"]; ok && v != nil {
|
if v, ok := querys["jobId"]; ok && v != nil {
|
||||||
jobInfo := service.NewSysJobImpl.SelectJobById(v.(string))
|
jobInfo := service.NewSysJob.SelectJobById(v.(string))
|
||||||
querys["jobName"] = jobInfo.JobName
|
querys["jobName"] = jobInfo.JobName
|
||||||
querys["jobGroup"] = jobInfo.JobGroup
|
querys["jobGroup"] = jobInfo.JobGroup
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,15 +19,14 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 SysUserOnlineController 结构体
|
// 实例化控制层 SysUserOnlineController 结构体
|
||||||
var NewSysUserOnline = &SysUserOnlineController{
|
var NewSysUserOnline = &SysUserOnlineController{
|
||||||
sysUserOnlineService: service.NewSysUserOnlineImpl,
|
sysUserOnlineService: service.NewSysUserOnline,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在线用户监控
|
// 在线用户监控
|
||||||
//
|
//
|
||||||
// PATH /monitor/online
|
// PATH /monitor/online
|
||||||
type SysUserOnlineController struct {
|
type SysUserOnlineController struct {
|
||||||
// 在线用户服务
|
sysUserOnlineService *service.SysUserOnline // 在线用户服务
|
||||||
sysUserOnlineService service.ISysUserOnline
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在线用户列表
|
// 在线用户列表
|
||||||
|
|||||||
@@ -9,15 +9,14 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 SystemInfoController 结构体
|
// 实例化控制层 SystemInfoController 结构体
|
||||||
var NewSystemInfo = &SystemInfoController{
|
var NewSystemInfo = &SystemInfoController{
|
||||||
systemInfogService: service.NewSystemInfoImpl,
|
systemInfogService: service.NewSystemInfo,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 服务器监控信息
|
// 服务器监控信息
|
||||||
//
|
//
|
||||||
// PATH /monitor/system-info
|
// PATH /monitor/system-info
|
||||||
type SystemInfoController struct {
|
type SystemInfoController struct {
|
||||||
// 服务器系统相关信息服务
|
systemInfogService *service.SystemInfo // 服务器系统相关信息服务
|
||||||
systemInfogService service.ISystemInfo
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 服务器信息
|
// 服务器信息
|
||||||
|
|||||||
@@ -165,5 +165,5 @@ func InitLoad() {
|
|||||||
// 初始化定时任务处理
|
// 初始化定时任务处理
|
||||||
processor.InitCronQueue()
|
processor.InitCronQueue()
|
||||||
// 启动时,初始化调度任务
|
// 启动时,初始化调度任务
|
||||||
service.NewSysJobImpl.ResetQueueJob()
|
service.NewSysJob.ResetQueueJob()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,274 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
// IMonitor 服务器系统相关信息 服务层接口
|
import (
|
||||||
type IMonitor interface {
|
"context"
|
||||||
// RunMonitor 执行资源监控
|
"strconv"
|
||||||
RunMonitor()
|
"time"
|
||||||
|
|
||||||
// RunMonitorDataCancel 启动资源监控数据存储io/network通道 移除之前的chan上下文后在设置新的均值
|
"be.ems/src/framework/logger"
|
||||||
// interval 采集的平均值(分钟)
|
"be.ems/src/modules/monitor/model"
|
||||||
RunMonitorDataCancel(removeBefore bool, interval float64)
|
"be.ems/src/modules/monitor/repository"
|
||||||
|
systemService "be.ems/src/modules/system/service"
|
||||||
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
|
"github.com/shirou/gopsutil/v4/disk"
|
||||||
|
"github.com/shirou/gopsutil/v4/load"
|
||||||
|
"github.com/shirou/gopsutil/v4/mem"
|
||||||
|
"github.com/shirou/gopsutil/v4/net"
|
||||||
|
)
|
||||||
|
|
||||||
// SelectMonitorInfo 查询监控资源信息
|
// 实例化服务层 Monitor 结构体
|
||||||
SelectMonitorInfo(query map[string]any) map[string]any
|
var NewMonitor = &Monitor{
|
||||||
|
sysConfigService: systemService.NewSysConfigImpl,
|
||||||
|
monitorRepository: repository.NewMonitorImpl,
|
||||||
|
diskIO: make(chan []disk.IOCountersStat, 2),
|
||||||
|
netIO: make(chan []net.IOCountersStat, 2),
|
||||||
|
}
|
||||||
|
|
||||||
|
// Monitor 服务器系统相关信息 服务层处理
|
||||||
|
type Monitor struct {
|
||||||
|
// 参数配置服务
|
||||||
|
sysConfigService systemService.ISysConfig
|
||||||
|
// 监控服务资源数据信息
|
||||||
|
monitorRepository repository.IMonitor
|
||||||
|
// 磁盘网络IO 数据通道
|
||||||
|
diskIO chan ([]disk.IOCountersStat)
|
||||||
|
netIO chan ([]net.IOCountersStat)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RunMonitor 执行资源监控
|
||||||
|
func (s *Monitor) RunMonitor() {
|
||||||
|
var itemBase model.MonitorBase
|
||||||
|
itemBase.CreateTime = time.Now().UnixMilli()
|
||||||
|
itemBase.NeType = "#"
|
||||||
|
itemBase.NeID = "#"
|
||||||
|
loadInfo, _ := load.Avg()
|
||||||
|
itemBase.CPULoad1 = loadInfo.Load1
|
||||||
|
itemBase.CPULoad5 = loadInfo.Load5
|
||||||
|
itemBase.CPULoad15 = loadInfo.Load15
|
||||||
|
totalPercent, _ := cpu.Percent(3*time.Second, false)
|
||||||
|
if len(totalPercent) > 0 {
|
||||||
|
itemBase.CPU = totalPercent[0]
|
||||||
|
}
|
||||||
|
cpuCount, _ := cpu.Counts(false)
|
||||||
|
cpuAvg := (float64(cpuCount*2) * 0.75) * 100
|
||||||
|
itemBase.LoadUsage = 0
|
||||||
|
if cpuAvg > 0 {
|
||||||
|
itemBase.LoadUsage = loadInfo.Load1 / cpuAvg
|
||||||
|
}
|
||||||
|
|
||||||
|
memoryInfo, _ := mem.VirtualMemory()
|
||||||
|
itemBase.Memory = memoryInfo.UsedPercent
|
||||||
|
|
||||||
|
if err := s.monitorRepository.CreateMonitorBase(itemBase); err != nil {
|
||||||
|
logger.Errorf("CreateMonitorBase err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将当前资源发送到chan中处理保存
|
||||||
|
s.loadDiskIO()
|
||||||
|
s.loadNetIO()
|
||||||
|
|
||||||
|
// 监控系统资源-保留天数
|
||||||
|
storeDays := s.sysConfigService.SelectConfigValueByKey("monitor.sysResource.storeDays")
|
||||||
|
if storeDays != "" {
|
||||||
|
storeDays, _ := strconv.Atoi(storeDays)
|
||||||
|
ltTime := time.Now().AddDate(0, 0, -storeDays).UnixMilli()
|
||||||
|
_ = s.monitorRepository.DelMonitorBase(ltTime)
|
||||||
|
_ = s.monitorRepository.DelMonitorIO(ltTime)
|
||||||
|
_ = s.monitorRepository.DelMonitorNet(ltTime)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Monitor) loadDiskIO() {
|
||||||
|
ioStat, _ := disk.IOCounters()
|
||||||
|
var diskIOList []disk.IOCountersStat
|
||||||
|
for _, io := range ioStat {
|
||||||
|
diskIOList = append(diskIOList, io)
|
||||||
|
}
|
||||||
|
s.diskIO <- diskIOList
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Monitor) loadNetIO() {
|
||||||
|
netStat, _ := net.IOCounters(true)
|
||||||
|
netStatAll, _ := net.IOCounters(false)
|
||||||
|
var netList []net.IOCountersStat
|
||||||
|
netList = append(netList, netStat...)
|
||||||
|
netList = append(netList, netStatAll...)
|
||||||
|
s.netIO <- netList
|
||||||
|
}
|
||||||
|
|
||||||
|
// monitorCancel 监控搜集IO/Network上下文
|
||||||
|
var monitorCancel context.CancelFunc
|
||||||
|
|
||||||
|
// RunMonitorDataCancel 启动资源监控数据存储io/network通道 移除之前的chan上下文后在设置新的均值
|
||||||
|
// interval 采集的平均值(分钟)
|
||||||
|
func (s *Monitor) RunMonitorDataCancel(removeBefore bool, interval float64) {
|
||||||
|
// 是否取消之前的
|
||||||
|
if removeBefore {
|
||||||
|
monitorCancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上下文控制
|
||||||
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
monitorCancel = cancel
|
||||||
|
|
||||||
|
// chanl 通道进行存储数据
|
||||||
|
go s.saveIODataToDB(ctx, interval)
|
||||||
|
go s.saveNetDataToDB(ctx, interval)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Monitor) saveIODataToDB(ctx context.Context, interval float64) {
|
||||||
|
defer close(s.diskIO)
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
case ioStat := <-s.diskIO:
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
case ioStat2 := <-s.diskIO:
|
||||||
|
var ioList []model.MonitorIO
|
||||||
|
timeMilli := time.Now().UnixMilli()
|
||||||
|
for _, io2 := range ioStat2 {
|
||||||
|
for _, io1 := range ioStat {
|
||||||
|
if io2.Name == io1.Name {
|
||||||
|
var itemIO model.MonitorIO
|
||||||
|
itemIO.CreateTime = timeMilli
|
||||||
|
itemIO.NeType = "#"
|
||||||
|
itemIO.NeID = "#"
|
||||||
|
itemIO.Name = io1.Name
|
||||||
|
|
||||||
|
if io2.ReadBytes != 0 && io1.ReadBytes != 0 && io2.ReadBytes > io1.ReadBytes {
|
||||||
|
itemIO.Read = int64(float64(io2.ReadBytes-io1.ReadBytes) / interval / 60)
|
||||||
|
}
|
||||||
|
if io2.WriteBytes != 0 && io1.WriteBytes != 0 && io2.WriteBytes > io1.WriteBytes {
|
||||||
|
itemIO.Write = int64(float64(io2.WriteBytes-io1.WriteBytes) / interval / 60)
|
||||||
|
}
|
||||||
|
|
||||||
|
if io2.ReadCount != 0 && io1.ReadCount != 0 && io2.ReadCount > io1.ReadCount {
|
||||||
|
itemIO.Count = int64(float64(io2.ReadCount-io1.ReadCount) / interval / 60)
|
||||||
|
}
|
||||||
|
writeCount := int64(0)
|
||||||
|
if io2.WriteCount != 0 && io1.WriteCount != 0 && io2.WriteCount > io1.WriteCount {
|
||||||
|
writeCount = int64(float64(io2.WriteCount-io1.WriteCount) / interval * 60)
|
||||||
|
}
|
||||||
|
if writeCount > itemIO.Count {
|
||||||
|
itemIO.Count = writeCount
|
||||||
|
}
|
||||||
|
|
||||||
|
if io2.ReadTime != 0 && io1.ReadTime != 0 && io2.ReadTime > io1.ReadTime {
|
||||||
|
itemIO.Time = int64(float64(io2.ReadTime-io1.ReadTime) / interval / 60)
|
||||||
|
}
|
||||||
|
writeTime := int64(0)
|
||||||
|
if io2.WriteTime != 0 && io1.WriteTime != 0 && io2.WriteTime > io1.WriteTime {
|
||||||
|
writeTime = int64(float64(io2.WriteTime-io1.WriteTime) / interval / 60)
|
||||||
|
}
|
||||||
|
if writeTime > itemIO.Time {
|
||||||
|
itemIO.Time = writeTime
|
||||||
|
}
|
||||||
|
ioList = append(ioList, itemIO)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err := s.monitorRepository.BatchCreateMonitorIO(ioList); err != nil {
|
||||||
|
logger.Errorf("BatchCreateMonitorIO err: %v", err)
|
||||||
|
}
|
||||||
|
s.diskIO <- ioStat2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Monitor) saveNetDataToDB(ctx context.Context, interval float64) {
|
||||||
|
defer close(s.netIO)
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
case netStat := <-s.netIO:
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
case netStat2 := <-s.netIO:
|
||||||
|
var netList []model.MonitorNetwork
|
||||||
|
timeMilli := time.Now().UnixMilli()
|
||||||
|
for _, net2 := range netStat2 {
|
||||||
|
for _, net1 := range netStat {
|
||||||
|
if net2.Name == net1.Name {
|
||||||
|
var itemNet model.MonitorNetwork
|
||||||
|
itemNet.CreateTime = timeMilli
|
||||||
|
itemNet.NeType = "#"
|
||||||
|
itemNet.NeID = "#"
|
||||||
|
itemNet.Name = net1.Name
|
||||||
|
|
||||||
|
if net2.BytesSent != 0 && net1.BytesSent != 0 && net2.BytesSent > net1.BytesSent {
|
||||||
|
itemNet.Up = float64(net2.BytesSent-net1.BytesSent) / 1024 / interval / 60
|
||||||
|
}
|
||||||
|
if net2.BytesRecv != 0 && net1.BytesRecv != 0 && net2.BytesRecv > net1.BytesRecv {
|
||||||
|
itemNet.Down = float64(net2.BytesRecv-net1.BytesRecv) / 1024 / interval / 60
|
||||||
|
}
|
||||||
|
netList = append(netList, itemNet)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := s.monitorRepository.BatchCreateMonitorNet(netList); err != nil {
|
||||||
|
logger.Errorf("BatchCreateMonitorNet err: %v", err)
|
||||||
|
}
|
||||||
|
s.netIO <- netStat2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectMonitorInfo 查询监控资源信息
|
||||||
|
func (s *Monitor) SelectMonitorInfo(query map[string]any) map[string]any {
|
||||||
|
infoType := query["type"]
|
||||||
|
startTimeMilli := query["startTime"]
|
||||||
|
endTimeMilli := query["endTime"]
|
||||||
|
neType := query["neType"]
|
||||||
|
neId := query["neId"]
|
||||||
|
name := query["name"]
|
||||||
|
|
||||||
|
// 返回数据
|
||||||
|
backDatas := map[string]any{}
|
||||||
|
|
||||||
|
// 基本信息
|
||||||
|
if infoType == "all" || infoType == "load" || infoType == "cpu" || infoType == "memory" {
|
||||||
|
rows := s.monitorRepository.SelectMonitorBase(map[string]any{
|
||||||
|
"startTime": startTimeMilli,
|
||||||
|
"endTime": endTimeMilli,
|
||||||
|
"neType": neType,
|
||||||
|
"neId": neId,
|
||||||
|
})
|
||||||
|
backDatas["base"] = rows
|
||||||
|
}
|
||||||
|
|
||||||
|
// 磁盘IO
|
||||||
|
if infoType == "all" || infoType == "io" {
|
||||||
|
rows := s.monitorRepository.SelectMonitorIO(map[string]any{
|
||||||
|
"startTime": startTimeMilli,
|
||||||
|
"endTime": endTimeMilli,
|
||||||
|
"neType": neType,
|
||||||
|
"neId": neId,
|
||||||
|
"name": name,
|
||||||
|
})
|
||||||
|
backDatas["io"] = rows
|
||||||
|
}
|
||||||
|
|
||||||
|
// 网络
|
||||||
|
if infoType == "all" || infoType == "network" {
|
||||||
|
rows := s.monitorRepository.SelectMonitorNetwork(map[string]any{
|
||||||
|
"startTime": startTimeMilli,
|
||||||
|
"endTime": endTimeMilli,
|
||||||
|
"neType": neType,
|
||||||
|
"neId": neId,
|
||||||
|
"name": name,
|
||||||
|
})
|
||||||
|
backDatas["network"] = rows
|
||||||
|
}
|
||||||
|
|
||||||
|
return backDatas
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,274 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"be.ems/src/framework/logger"
|
|
||||||
"be.ems/src/modules/monitor/model"
|
|
||||||
"be.ems/src/modules/monitor/repository"
|
|
||||||
systemService "be.ems/src/modules/system/service"
|
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
|
||||||
"github.com/shirou/gopsutil/v4/disk"
|
|
||||||
"github.com/shirou/gopsutil/v4/load"
|
|
||||||
"github.com/shirou/gopsutil/v4/mem"
|
|
||||||
"github.com/shirou/gopsutil/v4/net"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 MonitorImpl 结构体
|
|
||||||
var NewMonitorImpl = &MonitorImpl{
|
|
||||||
sysConfigService: systemService.NewSysConfigImpl,
|
|
||||||
monitorRepository: repository.NewMonitorImpl,
|
|
||||||
diskIO: make(chan []disk.IOCountersStat, 2),
|
|
||||||
netIO: make(chan []net.IOCountersStat, 2),
|
|
||||||
}
|
|
||||||
|
|
||||||
// MonitorImpl 服务器系统相关信息 服务层处理
|
|
||||||
type MonitorImpl struct {
|
|
||||||
// 参数配置服务
|
|
||||||
sysConfigService systemService.ISysConfig
|
|
||||||
// 监控服务资源数据信息
|
|
||||||
monitorRepository repository.IMonitor
|
|
||||||
// 磁盘网络IO 数据通道
|
|
||||||
diskIO chan ([]disk.IOCountersStat)
|
|
||||||
netIO chan ([]net.IOCountersStat)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RunMonitor 执行资源监控
|
|
||||||
func (s *MonitorImpl) RunMonitor() {
|
|
||||||
var itemBase model.MonitorBase
|
|
||||||
itemBase.CreateTime = time.Now().UnixMilli()
|
|
||||||
itemBase.NeType = "#"
|
|
||||||
itemBase.NeID = "#"
|
|
||||||
loadInfo, _ := load.Avg()
|
|
||||||
itemBase.CPULoad1 = loadInfo.Load1
|
|
||||||
itemBase.CPULoad5 = loadInfo.Load5
|
|
||||||
itemBase.CPULoad15 = loadInfo.Load15
|
|
||||||
totalPercent, _ := cpu.Percent(3*time.Second, false)
|
|
||||||
if len(totalPercent) == 1 {
|
|
||||||
itemBase.CPU = totalPercent[0]
|
|
||||||
}
|
|
||||||
cpuCount, _ := cpu.Counts(false)
|
|
||||||
cpuAvg := (float64(cpuCount*2) * 0.75) * 100
|
|
||||||
itemBase.LoadUsage = 0
|
|
||||||
if cpuAvg > 0 {
|
|
||||||
itemBase.LoadUsage = loadInfo.Load1 / cpuAvg
|
|
||||||
}
|
|
||||||
|
|
||||||
memoryInfo, _ := mem.VirtualMemory()
|
|
||||||
itemBase.Memory = memoryInfo.UsedPercent
|
|
||||||
|
|
||||||
if err := s.monitorRepository.CreateMonitorBase(itemBase); err != nil {
|
|
||||||
logger.Errorf("CreateMonitorBase err: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将当前资源发送到chan中处理保存
|
|
||||||
s.loadDiskIO()
|
|
||||||
s.loadNetIO()
|
|
||||||
|
|
||||||
// 监控系统资源-保留天数
|
|
||||||
storeDays := s.sysConfigService.SelectConfigValueByKey("monitor.sysResource.storeDays")
|
|
||||||
if storeDays != "" {
|
|
||||||
storeDays, _ := strconv.Atoi(storeDays)
|
|
||||||
ltTime := time.Now().AddDate(0, 0, -storeDays).UnixMilli()
|
|
||||||
_ = s.monitorRepository.DelMonitorBase(ltTime)
|
|
||||||
_ = s.monitorRepository.DelMonitorIO(ltTime)
|
|
||||||
_ = s.monitorRepository.DelMonitorNet(ltTime)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *MonitorImpl) loadDiskIO() {
|
|
||||||
ioStat, _ := disk.IOCounters()
|
|
||||||
var diskIOList []disk.IOCountersStat
|
|
||||||
for _, io := range ioStat {
|
|
||||||
diskIOList = append(diskIOList, io)
|
|
||||||
}
|
|
||||||
s.diskIO <- diskIOList
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *MonitorImpl) loadNetIO() {
|
|
||||||
netStat, _ := net.IOCounters(true)
|
|
||||||
netStatAll, _ := net.IOCounters(false)
|
|
||||||
var netList []net.IOCountersStat
|
|
||||||
netList = append(netList, netStat...)
|
|
||||||
netList = append(netList, netStatAll...)
|
|
||||||
s.netIO <- netList
|
|
||||||
}
|
|
||||||
|
|
||||||
// monitorCancel 监控搜集IO/Network上下文
|
|
||||||
var monitorCancel context.CancelFunc
|
|
||||||
|
|
||||||
// RunMonitorDataCancel 启动资源监控数据存储io/network通道 移除之前的chan上下文后在设置新的均值
|
|
||||||
// interval 采集的平均值(分钟)
|
|
||||||
func (s *MonitorImpl) RunMonitorDataCancel(removeBefore bool, interval float64) {
|
|
||||||
// 是否取消之前的
|
|
||||||
if removeBefore {
|
|
||||||
monitorCancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上下文控制
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
|
||||||
monitorCancel = cancel
|
|
||||||
|
|
||||||
// chanl 通道进行存储数据
|
|
||||||
go s.saveIODataToDB(ctx, interval)
|
|
||||||
go s.saveNetDataToDB(ctx, interval)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *MonitorImpl) saveIODataToDB(ctx context.Context, interval float64) {
|
|
||||||
defer close(s.diskIO)
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
return
|
|
||||||
case ioStat := <-s.diskIO:
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
return
|
|
||||||
case ioStat2 := <-s.diskIO:
|
|
||||||
var ioList []model.MonitorIO
|
|
||||||
timeMilli := time.Now().UnixMilli()
|
|
||||||
for _, io2 := range ioStat2 {
|
|
||||||
for _, io1 := range ioStat {
|
|
||||||
if io2.Name == io1.Name {
|
|
||||||
var itemIO model.MonitorIO
|
|
||||||
itemIO.CreateTime = timeMilli
|
|
||||||
itemIO.NeType = "#"
|
|
||||||
itemIO.NeID = "#"
|
|
||||||
itemIO.Name = io1.Name
|
|
||||||
|
|
||||||
if io2.ReadBytes != 0 && io1.ReadBytes != 0 && io2.ReadBytes > io1.ReadBytes {
|
|
||||||
itemIO.Read = int64(float64(io2.ReadBytes-io1.ReadBytes) / interval / 60)
|
|
||||||
}
|
|
||||||
if io2.WriteBytes != 0 && io1.WriteBytes != 0 && io2.WriteBytes > io1.WriteBytes {
|
|
||||||
itemIO.Write = int64(float64(io2.WriteBytes-io1.WriteBytes) / interval / 60)
|
|
||||||
}
|
|
||||||
|
|
||||||
if io2.ReadCount != 0 && io1.ReadCount != 0 && io2.ReadCount > io1.ReadCount {
|
|
||||||
itemIO.Count = int64(float64(io2.ReadCount-io1.ReadCount) / interval / 60)
|
|
||||||
}
|
|
||||||
writeCount := int64(0)
|
|
||||||
if io2.WriteCount != 0 && io1.WriteCount != 0 && io2.WriteCount > io1.WriteCount {
|
|
||||||
writeCount = int64(float64(io2.WriteCount-io1.WriteCount) / interval * 60)
|
|
||||||
}
|
|
||||||
if writeCount > itemIO.Count {
|
|
||||||
itemIO.Count = writeCount
|
|
||||||
}
|
|
||||||
|
|
||||||
if io2.ReadTime != 0 && io1.ReadTime != 0 && io2.ReadTime > io1.ReadTime {
|
|
||||||
itemIO.Time = int64(float64(io2.ReadTime-io1.ReadTime) / interval / 60)
|
|
||||||
}
|
|
||||||
writeTime := int64(0)
|
|
||||||
if io2.WriteTime != 0 && io1.WriteTime != 0 && io2.WriteTime > io1.WriteTime {
|
|
||||||
writeTime = int64(float64(io2.WriteTime-io1.WriteTime) / interval / 60)
|
|
||||||
}
|
|
||||||
if writeTime > itemIO.Time {
|
|
||||||
itemIO.Time = writeTime
|
|
||||||
}
|
|
||||||
ioList = append(ioList, itemIO)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err := s.monitorRepository.BatchCreateMonitorIO(ioList); err != nil {
|
|
||||||
logger.Errorf("BatchCreateMonitorIO err: %v", err)
|
|
||||||
}
|
|
||||||
s.diskIO <- ioStat2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *MonitorImpl) saveNetDataToDB(ctx context.Context, interval float64) {
|
|
||||||
defer close(s.netIO)
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
return
|
|
||||||
case netStat := <-s.netIO:
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
return
|
|
||||||
case netStat2 := <-s.netIO:
|
|
||||||
var netList []model.MonitorNetwork
|
|
||||||
timeMilli := time.Now().UnixMilli()
|
|
||||||
for _, net2 := range netStat2 {
|
|
||||||
for _, net1 := range netStat {
|
|
||||||
if net2.Name == net1.Name {
|
|
||||||
var itemNet model.MonitorNetwork
|
|
||||||
itemNet.CreateTime = timeMilli
|
|
||||||
itemNet.NeType = "#"
|
|
||||||
itemNet.NeID = "#"
|
|
||||||
itemNet.Name = net1.Name
|
|
||||||
|
|
||||||
if net2.BytesSent != 0 && net1.BytesSent != 0 && net2.BytesSent > net1.BytesSent {
|
|
||||||
itemNet.Up = float64(net2.BytesSent-net1.BytesSent) / 1024 / interval / 60
|
|
||||||
}
|
|
||||||
if net2.BytesRecv != 0 && net1.BytesRecv != 0 && net2.BytesRecv > net1.BytesRecv {
|
|
||||||
itemNet.Down = float64(net2.BytesRecv-net1.BytesRecv) / 1024 / interval / 60
|
|
||||||
}
|
|
||||||
netList = append(netList, itemNet)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := s.monitorRepository.BatchCreateMonitorNet(netList); err != nil {
|
|
||||||
logger.Errorf("BatchCreateMonitorNet err: %v", err)
|
|
||||||
}
|
|
||||||
s.netIO <- netStat2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectMonitorInfo 查询监控资源信息
|
|
||||||
func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]any {
|
|
||||||
infoType := query["type"]
|
|
||||||
startTimeMilli := query["startTime"]
|
|
||||||
endTimeMilli := query["endTime"]
|
|
||||||
neType := query["neType"]
|
|
||||||
neId := query["neId"]
|
|
||||||
name := query["name"]
|
|
||||||
|
|
||||||
// 返回数据
|
|
||||||
backDatas := map[string]any{}
|
|
||||||
|
|
||||||
// 基本信息
|
|
||||||
if infoType == "all" || infoType == "load" || infoType == "cpu" || infoType == "memory" {
|
|
||||||
rows := s.monitorRepository.SelectMonitorBase(map[string]any{
|
|
||||||
"startTime": startTimeMilli,
|
|
||||||
"endTime": endTimeMilli,
|
|
||||||
"neType": neType,
|
|
||||||
"neId": neId,
|
|
||||||
})
|
|
||||||
backDatas["base"] = rows
|
|
||||||
}
|
|
||||||
|
|
||||||
// 磁盘IO
|
|
||||||
if infoType == "all" || infoType == "io" {
|
|
||||||
rows := s.monitorRepository.SelectMonitorIO(map[string]any{
|
|
||||||
"startTime": startTimeMilli,
|
|
||||||
"endTime": endTimeMilli,
|
|
||||||
"neType": neType,
|
|
||||||
"neId": neId,
|
|
||||||
"name": name,
|
|
||||||
})
|
|
||||||
backDatas["io"] = rows
|
|
||||||
}
|
|
||||||
|
|
||||||
// 网络
|
|
||||||
if infoType == "all" || infoType == "network" {
|
|
||||||
rows := s.monitorRepository.SelectMonitorNetwork(map[string]any{
|
|
||||||
"startTime": startTimeMilli,
|
|
||||||
"endTime": endTimeMilli,
|
|
||||||
"neType": neType,
|
|
||||||
"neId": neId,
|
|
||||||
"name": name,
|
|
||||||
})
|
|
||||||
backDatas["network"] = rows
|
|
||||||
}
|
|
||||||
|
|
||||||
return backDatas
|
|
||||||
}
|
|
||||||
@@ -12,10 +12,6 @@ import (
|
|||||||
"github.com/shirou/gopsutil/v4/net"
|
"github.com/shirou/gopsutil/v4/net"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestInfo(t *testing.T) {
|
func TestInfo(t *testing.T) {
|
||||||
s := MonitorInfo{}
|
s := MonitorInfo{}
|
||||||
s.load(0.5) // 0.5 半分钟
|
s.load(0.5) // 0.5 半分钟
|
||||||
@@ -36,17 +32,21 @@ func (m *MonitorInfo) load(interval float64) {
|
|||||||
var itemBase MonitorBase
|
var itemBase MonitorBase
|
||||||
itemBase.CreateTime = time.Now().UnixMilli()
|
itemBase.CreateTime = time.Now().UnixMilli()
|
||||||
|
|
||||||
totalPercent, _ := cpu.Percent(3*time.Second, false)
|
|
||||||
if len(totalPercent) == 1 {
|
|
||||||
itemBase.CPU = totalPercent[0]
|
|
||||||
}
|
|
||||||
cpuCount, _ := cpu.Counts(false)
|
|
||||||
|
|
||||||
loadInfo, _ := load.Avg()
|
loadInfo, _ := load.Avg()
|
||||||
itemBase.CPULoad1 = loadInfo.Load1
|
itemBase.CPULoad1 = loadInfo.Load1
|
||||||
itemBase.CPULoad5 = loadInfo.Load5
|
itemBase.CPULoad5 = loadInfo.Load5
|
||||||
itemBase.CPULoad15 = loadInfo.Load15
|
itemBase.CPULoad15 = loadInfo.Load15
|
||||||
itemBase.LoadUsage = loadInfo.Load1 / (float64(cpuCount*2) * 0.75) * 100
|
|
||||||
|
totalPercent, _ := cpu.Percent(3*time.Second, false)
|
||||||
|
if len(totalPercent) > 0 {
|
||||||
|
itemBase.CPU = totalPercent[0]
|
||||||
|
}
|
||||||
|
cpuCount, _ := cpu.Counts(false)
|
||||||
|
cpuAvg := (float64(cpuCount*2) * 0.75) * 100
|
||||||
|
itemBase.LoadUsage = 0
|
||||||
|
if cpuAvg > 0 {
|
||||||
|
itemBase.LoadUsage = loadInfo.Load1 / cpuAvg
|
||||||
|
}
|
||||||
|
|
||||||
memoryInfo, _ := mem.VirtualMemory()
|
memoryInfo, _ := mem.VirtualMemory()
|
||||||
itemBase.Memory = memoryInfo.UsedPercent
|
itemBase.Memory = memoryInfo.UsedPercent
|
||||||
|
|||||||
@@ -1,35 +1,169 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"be.ems/src/framework/constants/common"
|
||||||
|
"be.ems/src/framework/cron"
|
||||||
"be.ems/src/modules/monitor/model"
|
"be.ems/src/modules/monitor/model"
|
||||||
|
"be.ems/src/modules/monitor/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ISysJob 调度任务信息 服务层接口
|
// 实例化服务层 SysJob 结构体
|
||||||
type ISysJob interface {
|
var NewSysJob = &SysJob{
|
||||||
// SelectJobPage 分页查询调度任务集合
|
sysJobRepository: repository.NewSysJobImpl,
|
||||||
SelectJobPage(query map[string]any) map[string]any
|
}
|
||||||
|
|
||||||
// SelectJobList 查询调度任务集合
|
// SysJob 调度任务 服务层处理
|
||||||
SelectJobList(sysJob model.SysJob) []model.SysJob
|
type SysJob struct {
|
||||||
|
// 调度任务数据信息
|
||||||
// SelectJobById 通过调度ID查询调度任务信息
|
sysJobRepository repository.ISysJob
|
||||||
SelectJobById(jobId string) model.SysJob
|
}
|
||||||
|
|
||||||
// CheckUniqueJobName 校验调度任务名称和组是否唯一
|
// SelectJobPage 分页查询调度任务集合
|
||||||
CheckUniqueJobName(jobName, jobGroup, jobId string) bool
|
func (r *SysJob) SelectJobPage(query map[string]any) map[string]any {
|
||||||
|
return r.sysJobRepository.SelectJobPage(query)
|
||||||
// InsertJob 新增调度任务信息
|
}
|
||||||
InsertJob(sysJob model.SysJob) string
|
|
||||||
|
// SelectJobList 查询调度任务集合
|
||||||
// UpdateJob 修改调度任务信息
|
func (r *SysJob) SelectJobList(sysJob model.SysJob) []model.SysJob {
|
||||||
UpdateJob(sysJob model.SysJob) int64
|
return r.sysJobRepository.SelectJobList(sysJob)
|
||||||
|
}
|
||||||
// DeleteJobByIds 批量删除调度任务信息
|
|
||||||
DeleteJobByIds(jobIds []string) (int64, error)
|
// SelectJobById 通过调度ID查询调度任务信息
|
||||||
|
func (r *SysJob) SelectJobById(jobId string) model.SysJob {
|
||||||
// RunQueueJob 立即运行一次调度任务
|
if jobId == "" {
|
||||||
RunQueueJob(sysJob model.SysJob) bool
|
return model.SysJob{}
|
||||||
|
}
|
||||||
// ResetQueueJob 重置初始调度任务
|
jobs := r.sysJobRepository.SelectJobByIds([]string{jobId})
|
||||||
ResetQueueJob()
|
if len(jobs) > 0 {
|
||||||
|
return jobs[0]
|
||||||
|
}
|
||||||
|
return model.SysJob{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// CheckUniqueJobName 校验调度任务名称和组是否唯一
|
||||||
|
func (r *SysJob) CheckUniqueJobName(jobName, jobGroup, jobId string) bool {
|
||||||
|
uniqueId := r.sysJobRepository.CheckUniqueJob(model.SysJob{
|
||||||
|
JobName: jobName,
|
||||||
|
JobGroup: jobGroup,
|
||||||
|
})
|
||||||
|
if uniqueId == jobId {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return uniqueId == ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// InsertJob 新增调度任务信息
|
||||||
|
func (r *SysJob) InsertJob(sysJob model.SysJob) string {
|
||||||
|
insertId := r.sysJobRepository.InsertJob(sysJob)
|
||||||
|
if insertId == "" && sysJob.Status == common.STATUS_YES {
|
||||||
|
sysJob.JobID = insertId
|
||||||
|
r.insertQueueJob(sysJob, true)
|
||||||
|
}
|
||||||
|
return insertId
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdateJob 修改调度任务信息
|
||||||
|
func (r *SysJob) UpdateJob(sysJob model.SysJob) int64 {
|
||||||
|
rows := r.sysJobRepository.UpdateJob(sysJob)
|
||||||
|
if rows > 0 {
|
||||||
|
//状态正常添加队列任务
|
||||||
|
if sysJob.Status == common.STATUS_YES {
|
||||||
|
r.insertQueueJob(sysJob, true)
|
||||||
|
}
|
||||||
|
// 状态禁用删除队列任务
|
||||||
|
if sysJob.Status == common.STATUS_NO {
|
||||||
|
r.deleteQueueJob(sysJob)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rows
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteJobByIds 批量删除调度任务信息
|
||||||
|
func (r *SysJob) DeleteJobByIds(jobIds []string) (int64, error) {
|
||||||
|
// 检查是否存在
|
||||||
|
jobs := r.sysJobRepository.SelectJobByIds(jobIds)
|
||||||
|
if len(jobs) <= 0 {
|
||||||
|
// 没有可访问调度任务数据!
|
||||||
|
return 0, fmt.Errorf("there is no accessible scheduling task data")
|
||||||
|
}
|
||||||
|
if len(jobs) == len(jobIds) {
|
||||||
|
// 清除任务
|
||||||
|
for _, job := range jobs {
|
||||||
|
r.deleteQueueJob(job)
|
||||||
|
}
|
||||||
|
rows := r.sysJobRepository.DeleteJobByIds(jobIds)
|
||||||
|
return rows, nil
|
||||||
|
}
|
||||||
|
// 删除调度任务信息失败!
|
||||||
|
return 0, fmt.Errorf("failed to delete scheduling task information")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResetQueueJob 重置初始调度任务
|
||||||
|
func (r *SysJob) ResetQueueJob() {
|
||||||
|
// 获取注册的队列名称
|
||||||
|
queueNames := cron.QueueNames()
|
||||||
|
if len(queueNames) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 查询系统中定义状态为正常启用的任务
|
||||||
|
sysJobs := r.sysJobRepository.SelectJobList(model.SysJob{
|
||||||
|
Status: common.STATUS_YES,
|
||||||
|
})
|
||||||
|
for _, sysJob := range sysJobs {
|
||||||
|
for _, name := range queueNames {
|
||||||
|
if name == sysJob.InvokeTarget {
|
||||||
|
r.insertQueueJob(sysJob, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RunQueueJob 立即运行一次调度任务
|
||||||
|
func (r *SysJob) RunQueueJob(sysJob model.SysJob) bool {
|
||||||
|
return r.insertQueueJob(sysJob, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// insertQueueJob 添加调度任务
|
||||||
|
func (r *SysJob) insertQueueJob(sysJob model.SysJob, repeat bool) bool {
|
||||||
|
// 获取队列 Processor
|
||||||
|
queue := cron.GetQueue(sysJob.InvokeTarget)
|
||||||
|
if queue.Name != sysJob.InvokeTarget {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 给执行任务数据参数
|
||||||
|
options := cron.JobData{
|
||||||
|
Repeat: repeat,
|
||||||
|
SysJob: sysJob,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 不是重复任务的情况,立即执行一次
|
||||||
|
if !repeat {
|
||||||
|
// 执行单次任务
|
||||||
|
status := queue.RunJob(options, cron.JobOptions{
|
||||||
|
JobId: sysJob.JobID,
|
||||||
|
})
|
||||||
|
// 执行中或等待中的都返回正常
|
||||||
|
return status == cron.Active || status == cron.Waiting
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行重复任务
|
||||||
|
queue.RunJob(options, cron.JobOptions{
|
||||||
|
JobId: sysJob.JobID,
|
||||||
|
Cron: sysJob.CronExpression,
|
||||||
|
})
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// deleteQueueJob 删除调度任务
|
||||||
|
func (r *SysJob) deleteQueueJob(sysJob model.SysJob) bool {
|
||||||
|
// 获取队列 Processor
|
||||||
|
queue := cron.GetQueue(sysJob.InvokeTarget)
|
||||||
|
if queue.Name != sysJob.InvokeTarget {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return queue.RemoveJob(sysJob.JobID)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,169 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"be.ems/src/framework/constants/common"
|
|
||||||
"be.ems/src/framework/cron"
|
|
||||||
"be.ems/src/modules/monitor/model"
|
|
||||||
"be.ems/src/modules/monitor/repository"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 SysJobImpl 结构体
|
|
||||||
var NewSysJobImpl = &SysJobImpl{
|
|
||||||
sysJobRepository: repository.NewSysJobImpl,
|
|
||||||
}
|
|
||||||
|
|
||||||
// SysJobImpl 调度任务 服务层处理
|
|
||||||
type SysJobImpl struct {
|
|
||||||
// 调度任务数据信息
|
|
||||||
sysJobRepository repository.ISysJob
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobPage 分页查询调度任务集合
|
|
||||||
func (r *SysJobImpl) SelectJobPage(query map[string]any) map[string]any {
|
|
||||||
return r.sysJobRepository.SelectJobPage(query)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobList 查询调度任务集合
|
|
||||||
func (r *SysJobImpl) SelectJobList(sysJob model.SysJob) []model.SysJob {
|
|
||||||
return r.sysJobRepository.SelectJobList(sysJob)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobById 通过调度ID查询调度任务信息
|
|
||||||
func (r *SysJobImpl) SelectJobById(jobId string) model.SysJob {
|
|
||||||
if jobId == "" {
|
|
||||||
return model.SysJob{}
|
|
||||||
}
|
|
||||||
jobs := r.sysJobRepository.SelectJobByIds([]string{jobId})
|
|
||||||
if len(jobs) > 0 {
|
|
||||||
return jobs[0]
|
|
||||||
}
|
|
||||||
return model.SysJob{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CheckUniqueJobName 校验调度任务名称和组是否唯一
|
|
||||||
func (r *SysJobImpl) CheckUniqueJobName(jobName, jobGroup, jobId string) bool {
|
|
||||||
uniqueId := r.sysJobRepository.CheckUniqueJob(model.SysJob{
|
|
||||||
JobName: jobName,
|
|
||||||
JobGroup: jobGroup,
|
|
||||||
})
|
|
||||||
if uniqueId == jobId {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return uniqueId == ""
|
|
||||||
}
|
|
||||||
|
|
||||||
// InsertJob 新增调度任务信息
|
|
||||||
func (r *SysJobImpl) InsertJob(sysJob model.SysJob) string {
|
|
||||||
insertId := r.sysJobRepository.InsertJob(sysJob)
|
|
||||||
if insertId == "" && sysJob.Status == common.STATUS_YES {
|
|
||||||
sysJob.JobID = insertId
|
|
||||||
r.insertQueueJob(sysJob, true)
|
|
||||||
}
|
|
||||||
return insertId
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdateJob 修改调度任务信息
|
|
||||||
func (r *SysJobImpl) UpdateJob(sysJob model.SysJob) int64 {
|
|
||||||
rows := r.sysJobRepository.UpdateJob(sysJob)
|
|
||||||
if rows > 0 {
|
|
||||||
//状态正常添加队列任务
|
|
||||||
if sysJob.Status == common.STATUS_YES {
|
|
||||||
r.insertQueueJob(sysJob, true)
|
|
||||||
}
|
|
||||||
// 状态禁用删除队列任务
|
|
||||||
if sysJob.Status == common.STATUS_NO {
|
|
||||||
r.deleteQueueJob(sysJob)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rows
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteJobByIds 批量删除调度任务信息
|
|
||||||
func (r *SysJobImpl) DeleteJobByIds(jobIds []string) (int64, error) {
|
|
||||||
// 检查是否存在
|
|
||||||
jobs := r.sysJobRepository.SelectJobByIds(jobIds)
|
|
||||||
if len(jobs) <= 0 {
|
|
||||||
// 没有可访问调度任务数据!
|
|
||||||
return 0, fmt.Errorf("there is no accessible scheduling task data")
|
|
||||||
}
|
|
||||||
if len(jobs) == len(jobIds) {
|
|
||||||
// 清除任务
|
|
||||||
for _, job := range jobs {
|
|
||||||
r.deleteQueueJob(job)
|
|
||||||
}
|
|
||||||
rows := r.sysJobRepository.DeleteJobByIds(jobIds)
|
|
||||||
return rows, nil
|
|
||||||
}
|
|
||||||
// 删除调度任务信息失败!
|
|
||||||
return 0, fmt.Errorf("failed to delete scheduling task information")
|
|
||||||
}
|
|
||||||
|
|
||||||
// ResetQueueJob 重置初始调度任务
|
|
||||||
func (r *SysJobImpl) ResetQueueJob() {
|
|
||||||
// 获取注册的队列名称
|
|
||||||
queueNames := cron.QueueNames()
|
|
||||||
if len(queueNames) == 0 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 查询系统中定义状态为正常启用的任务
|
|
||||||
sysJobs := r.sysJobRepository.SelectJobList(model.SysJob{
|
|
||||||
Status: common.STATUS_YES,
|
|
||||||
})
|
|
||||||
for _, sysJob := range sysJobs {
|
|
||||||
for _, name := range queueNames {
|
|
||||||
if name == sysJob.InvokeTarget {
|
|
||||||
r.insertQueueJob(sysJob, true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// RunQueueJob 立即运行一次调度任务
|
|
||||||
func (r *SysJobImpl) RunQueueJob(sysJob model.SysJob) bool {
|
|
||||||
return r.insertQueueJob(sysJob, false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// insertQueueJob 添加调度任务
|
|
||||||
func (r *SysJobImpl) insertQueueJob(sysJob model.SysJob, repeat bool) bool {
|
|
||||||
// 获取队列 Processor
|
|
||||||
queue := cron.GetQueue(sysJob.InvokeTarget)
|
|
||||||
if queue.Name != sysJob.InvokeTarget {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// 给执行任务数据参数
|
|
||||||
options := cron.JobData{
|
|
||||||
Repeat: repeat,
|
|
||||||
SysJob: sysJob,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 不是重复任务的情况,立即执行一次
|
|
||||||
if !repeat {
|
|
||||||
// 执行单次任务
|
|
||||||
status := queue.RunJob(options, cron.JobOptions{
|
|
||||||
JobId: sysJob.JobID,
|
|
||||||
})
|
|
||||||
// 执行中或等待中的都返回正常
|
|
||||||
return status == cron.Active || status == cron.Waiting
|
|
||||||
}
|
|
||||||
|
|
||||||
// 执行重复任务
|
|
||||||
queue.RunJob(options, cron.JobOptions{
|
|
||||||
JobId: sysJob.JobID,
|
|
||||||
Cron: sysJob.CronExpression,
|
|
||||||
})
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// deleteQueueJob 删除调度任务
|
|
||||||
func (r *SysJobImpl) deleteQueueJob(sysJob model.SysJob) bool {
|
|
||||||
// 获取队列 Processor
|
|
||||||
queue := cron.GetQueue(sysJob.InvokeTarget)
|
|
||||||
if queue.Name != sysJob.InvokeTarget {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return queue.RemoveJob(sysJob.JobID)
|
|
||||||
}
|
|
||||||
@@ -2,22 +2,41 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"be.ems/src/modules/monitor/model"
|
"be.ems/src/modules/monitor/model"
|
||||||
|
"be.ems/src/modules/monitor/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ISysJobLog 调度任务日志 服务层接口
|
// 实例化服务层 SysJobLog 结构体
|
||||||
type ISysJobLog interface {
|
var NewSysJobLog = &SysJobLog{
|
||||||
// SelectJobLogPage 分页查询调度任务日志集合
|
sysJobLogRepository: repository.NewSysJobLogImpl,
|
||||||
SelectJobLogPage(query map[string]any) map[string]any
|
}
|
||||||
|
|
||||||
// SelectJobLogList 查询调度任务日志集合
|
// SysJobLog 调度任务日志 服务层处理
|
||||||
SelectJobLogList(sysJobLog model.SysJobLog) []model.SysJobLog
|
type SysJobLog struct {
|
||||||
|
// 调度任务日志数据信息
|
||||||
// SelectJobLogById 通过调度ID查询调度任务日志信息
|
sysJobLogRepository repository.ISysJobLog
|
||||||
SelectJobLogById(jobLogId string) model.SysJobLog
|
}
|
||||||
|
|
||||||
// DeleteJobLogByIds 批量删除调度任务日志信息
|
// SelectJobLogPage 分页查询调度任务日志集合
|
||||||
DeleteJobLogByIds(jobLogIds []string) int64
|
func (s *SysJobLog) SelectJobLogPage(query map[string]any) map[string]any {
|
||||||
|
return s.sysJobLogRepository.SelectJobLogPage(query)
|
||||||
// CleanJobLog 清空调度任务日志
|
}
|
||||||
CleanJobLog() error
|
|
||||||
|
// SelectJobLogList 查询调度任务日志集合
|
||||||
|
func (s *SysJobLog) SelectJobLogList(sysJobLog model.SysJobLog) []model.SysJobLog {
|
||||||
|
return s.sysJobLogRepository.SelectJobLogList(sysJobLog)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SelectJobLogById 通过调度ID查询调度任务日志信息
|
||||||
|
func (s *SysJobLog) SelectJobLogById(jobLogId string) model.SysJobLog {
|
||||||
|
return s.sysJobLogRepository.SelectJobLogById(jobLogId)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteJobLogByIds 批量删除调度任务日志信息
|
||||||
|
func (s *SysJobLog) DeleteJobLogByIds(jobLogIds []string) int64 {
|
||||||
|
return s.sysJobLogRepository.DeleteJobLogByIds(jobLogIds)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CleanJobLog 清空调度任务日志
|
||||||
|
func (s *SysJobLog) CleanJobLog() error {
|
||||||
|
return s.sysJobLogRepository.CleanJobLog()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"be.ems/src/modules/monitor/model"
|
|
||||||
"be.ems/src/modules/monitor/repository"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 SysJobLogImpl 结构体
|
|
||||||
var NewSysJobLogImpl = &SysJobLogImpl{
|
|
||||||
sysJobLogRepository: repository.NewSysJobLogImpl,
|
|
||||||
}
|
|
||||||
|
|
||||||
// SysJobLogImpl 调度任务日志 服务层处理
|
|
||||||
type SysJobLogImpl struct {
|
|
||||||
// 调度任务日志数据信息
|
|
||||||
sysJobLogRepository repository.ISysJobLog
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobLogPage 分页查询调度任务日志集合
|
|
||||||
func (s *SysJobLogImpl) SelectJobLogPage(query map[string]any) map[string]any {
|
|
||||||
return s.sysJobLogRepository.SelectJobLogPage(query)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobLogList 查询调度任务日志集合
|
|
||||||
func (s *SysJobLogImpl) SelectJobLogList(sysJobLog model.SysJobLog) []model.SysJobLog {
|
|
||||||
return s.sysJobLogRepository.SelectJobLogList(sysJobLog)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectJobLogById 通过调度ID查询调度任务日志信息
|
|
||||||
func (s *SysJobLogImpl) SelectJobLogById(jobLogId string) model.SysJobLog {
|
|
||||||
return s.sysJobLogRepository.SelectJobLogById(jobLogId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteJobLogByIds 批量删除调度任务日志信息
|
|
||||||
func (s *SysJobLogImpl) DeleteJobLogByIds(jobLogIds []string) int64 {
|
|
||||||
return s.sysJobLogRepository.DeleteJobLogByIds(jobLogIds)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CleanJobLog 清空调度任务日志
|
|
||||||
func (s *SysJobLogImpl) CleanJobLog() error {
|
|
||||||
return s.sysJobLogRepository.CleanJobLog()
|
|
||||||
}
|
|
||||||
@@ -5,8 +5,29 @@ import (
|
|||||||
"be.ems/src/modules/monitor/model"
|
"be.ems/src/modules/monitor/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ISysUserOnline 在线用户 服务层接口
|
// 实例化服务层 SysUserOnline 结构体
|
||||||
type ISysUserOnline interface {
|
var NewSysUserOnline = &SysUserOnline{}
|
||||||
// LoginUserToUserOnline 设置在线用户信息
|
|
||||||
LoginUserToUserOnline(loginUser vo.LoginUser) model.SysUserOnline
|
// SysUserOnline 在线用户 服务层处理
|
||||||
|
type SysUserOnline struct{}
|
||||||
|
|
||||||
|
// LoginUserToUserOnline 设置在线用户信息
|
||||||
|
func (r *SysUserOnline) LoginUserToUserOnline(loginUser vo.LoginUser) model.SysUserOnline {
|
||||||
|
if loginUser.UserID == "" {
|
||||||
|
return model.SysUserOnline{}
|
||||||
|
}
|
||||||
|
|
||||||
|
sysUserOnline := model.SysUserOnline{
|
||||||
|
TokenID: loginUser.UUID,
|
||||||
|
UserName: loginUser.User.UserName,
|
||||||
|
IPAddr: loginUser.IPAddr,
|
||||||
|
LoginLocation: loginUser.LoginLocation,
|
||||||
|
Browser: loginUser.Browser,
|
||||||
|
OS: loginUser.OS,
|
||||||
|
LoginTime: loginUser.LoginTime,
|
||||||
|
}
|
||||||
|
if loginUser.User.DeptID != "" {
|
||||||
|
sysUserOnline.DeptName = loginUser.User.Dept.DeptName
|
||||||
|
}
|
||||||
|
return sysUserOnline
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"be.ems/src/framework/vo"
|
|
||||||
"be.ems/src/modules/monitor/model"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 SysUserOnlineImpl 结构体
|
|
||||||
var NewSysUserOnlineImpl = &SysUserOnlineImpl{}
|
|
||||||
|
|
||||||
// SysUserOnlineImpl 在线用户 服务层处理
|
|
||||||
type SysUserOnlineImpl struct{}
|
|
||||||
|
|
||||||
// LoginUserToUserOnline 设置在线用户信息
|
|
||||||
func (r *SysUserOnlineImpl) LoginUserToUserOnline(loginUser vo.LoginUser) model.SysUserOnline {
|
|
||||||
if loginUser.UserID == "" {
|
|
||||||
return model.SysUserOnline{}
|
|
||||||
}
|
|
||||||
|
|
||||||
sysUserOnline := model.SysUserOnline{
|
|
||||||
TokenID: loginUser.UUID,
|
|
||||||
UserName: loginUser.User.UserName,
|
|
||||||
IPAddr: loginUser.IPAddr,
|
|
||||||
LoginLocation: loginUser.LoginLocation,
|
|
||||||
Browser: loginUser.Browser,
|
|
||||||
OS: loginUser.OS,
|
|
||||||
LoginTime: loginUser.LoginTime,
|
|
||||||
}
|
|
||||||
if loginUser.User.DeptID != "" {
|
|
||||||
sysUserOnline.DeptName = loginUser.User.Dept.DeptName
|
|
||||||
}
|
|
||||||
return sysUserOnline
|
|
||||||
}
|
|
||||||
@@ -1,22 +1,177 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
// ISystemInfo 服务器系统相关信息 服务层接口
|
import (
|
||||||
type ISystemInfo interface {
|
"context"
|
||||||
// SystemInfo 系统信息
|
"fmt"
|
||||||
SystemInfo() map[string]any
|
"os"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
// TimeInfo 系统时间信息
|
"be.ems/src/framework/config"
|
||||||
TimeInfo() map[string]string
|
"be.ems/src/framework/utils/parse"
|
||||||
|
|
||||||
// MemoryInfo 内存信息
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
MemoryInfo() map[string]any
|
"github.com/shirou/gopsutil/v4/disk"
|
||||||
|
"github.com/shirou/gopsutil/v4/host"
|
||||||
|
"github.com/shirou/gopsutil/v4/mem"
|
||||||
|
"github.com/shirou/gopsutil/v4/net"
|
||||||
|
)
|
||||||
|
|
||||||
// CPUInfo CPU信息
|
// 实例化服务层 SystemInfo 结构体
|
||||||
CPUInfo() map[string]any
|
var NewSystemInfo = &SystemInfo{}
|
||||||
|
|
||||||
// NetworkInfo 网络信息
|
// SystemInfo 服务器系统相关信息 服务层处理
|
||||||
NetworkInfo() map[string]string
|
type SystemInfo struct{}
|
||||||
|
|
||||||
// DiskInfo 磁盘信息
|
// SystemInfo 系统信息
|
||||||
DiskInfo() []map[string]string
|
func (s *SystemInfo) SystemInfo() map[string]any {
|
||||||
|
info, err := host.Info()
|
||||||
|
if err != nil {
|
||||||
|
info.Platform = err.Error()
|
||||||
|
}
|
||||||
|
// 获取主机运行时间
|
||||||
|
bootTime := time.Since(time.Unix(int64(info.BootTime), 0)).Seconds()
|
||||||
|
// 获取程序运行时间
|
||||||
|
runTime := time.Since(config.RunTime()).Abs().Seconds()
|
||||||
|
return map[string]any{
|
||||||
|
"platform": info.Platform,
|
||||||
|
"platformVersion": info.PlatformVersion,
|
||||||
|
"arch": info.KernelArch,
|
||||||
|
"archVersion": info.KernelVersion,
|
||||||
|
"os": info.OS,
|
||||||
|
"hostname": info.Hostname,
|
||||||
|
"bootTime": int64(bootTime),
|
||||||
|
"processId": os.Getpid(),
|
||||||
|
"runArch": runtime.GOARCH,
|
||||||
|
"runVersion": runtime.Version(),
|
||||||
|
"runTime": int64(runTime),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimeInfo 系统时间信息
|
||||||
|
func (s *SystemInfo) TimeInfo() map[string]string {
|
||||||
|
now := time.Now()
|
||||||
|
// 获取当前时间
|
||||||
|
current := now.Format("2006-01-02 15:04:05")
|
||||||
|
// 获取时区
|
||||||
|
timezone := now.Format("-0700 MST")
|
||||||
|
// 获取时区名称
|
||||||
|
timezoneName := now.Format("MST")
|
||||||
|
|
||||||
|
return map[string]string{
|
||||||
|
"current": current,
|
||||||
|
"timezone": timezone,
|
||||||
|
"timezoneName": timezoneName,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MemoryInfo 内存信息
|
||||||
|
func (s *SystemInfo) MemoryInfo() map[string]any {
|
||||||
|
memInfo, err := mem.VirtualMemory()
|
||||||
|
if err != nil {
|
||||||
|
memInfo.UsedPercent = 0
|
||||||
|
memInfo.Available = 0
|
||||||
|
memInfo.Total = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var memStats runtime.MemStats
|
||||||
|
runtime.ReadMemStats(&memStats)
|
||||||
|
|
||||||
|
return map[string]any{
|
||||||
|
"usage": fmt.Sprintf("%.2f", memInfo.UsedPercent), // 内存利用率
|
||||||
|
"freemem": parse.Bit(float64(memInfo.Available)), // 可用内存大小(GB)
|
||||||
|
"totalmem": parse.Bit(float64(memInfo.Total)), // 总内存大小(GB)
|
||||||
|
"rss": parse.Bit(float64(memStats.Sys)), // 常驻内存大小(RSS)
|
||||||
|
"heapTotal": parse.Bit(float64(memStats.HeapSys)), // 堆总大小
|
||||||
|
"heapUsed": parse.Bit(float64(memStats.HeapAlloc)), // 堆已使用大小
|
||||||
|
"external": parse.Bit(float64(memStats.Sys - memStats.HeapSys)), // 外部内存大小(非堆)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// CPUInfo CPU信息
|
||||||
|
func (s *SystemInfo) CPUInfo() map[string]any {
|
||||||
|
var core int = 0
|
||||||
|
var speed string = "未知"
|
||||||
|
var model string = "未知"
|
||||||
|
cpuInfo, err := cpu.Info()
|
||||||
|
if err == nil {
|
||||||
|
core = runtime.NumCPU()
|
||||||
|
speed = fmt.Sprintf("%.0fMHz", cpuInfo[0].Mhz)
|
||||||
|
model = strings.TrimSpace(cpuInfo[0].ModelName)
|
||||||
|
}
|
||||||
|
|
||||||
|
useds := []string{}
|
||||||
|
cpuPercent, err := cpu.Percent(0, true)
|
||||||
|
if err == nil {
|
||||||
|
for _, v := range cpuPercent {
|
||||||
|
useds = append(useds, fmt.Sprintf("%.2f", v))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return map[string]any{
|
||||||
|
"model": model,
|
||||||
|
"speed": speed,
|
||||||
|
"core": core,
|
||||||
|
"coreUsed": useds,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NetworkInfo 网络信息
|
||||||
|
func (s *SystemInfo) NetworkInfo() map[string]string {
|
||||||
|
ipAddrs := make(map[string]string)
|
||||||
|
interfaces, err := net.Interfaces()
|
||||||
|
if err == nil {
|
||||||
|
for _, iface := range interfaces {
|
||||||
|
name := iface.Name
|
||||||
|
if name[len(name)-1] == '0' {
|
||||||
|
name = name[0 : len(name)-1]
|
||||||
|
name = strings.Trim(name, "")
|
||||||
|
}
|
||||||
|
// ignore localhost
|
||||||
|
if name == "lo" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
var addrs []string
|
||||||
|
for _, v := range iface.Addrs {
|
||||||
|
prefix := strings.Split(v.Addr, "/")[0]
|
||||||
|
if strings.Contains(prefix, "::") {
|
||||||
|
addrs = append(addrs, fmt.Sprintf("IPv6 %s", prefix))
|
||||||
|
}
|
||||||
|
if strings.Contains(prefix, ".") {
|
||||||
|
addrs = append(addrs, fmt.Sprintf("IPv4 %s", prefix))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ipAddrs[name] = strings.Join(addrs, " / ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ipAddrs
|
||||||
|
}
|
||||||
|
|
||||||
|
// DiskInfo 磁盘信息
|
||||||
|
func (s *SystemInfo) DiskInfo() []map[string]string {
|
||||||
|
disks := make([]map[string]string, 0)
|
||||||
|
ctx := context.Background()
|
||||||
|
ctx, cancel := context.WithTimeout(ctx, 2*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
partitions, err := disk.PartitionsWithContext(ctx, false)
|
||||||
|
if err != nil && err != context.DeadlineExceeded {
|
||||||
|
return disks
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, partition := range partitions {
|
||||||
|
usage, err := disk.Usage(partition.Mountpoint)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
disks = append(disks, map[string]string{
|
||||||
|
"size": parse.Bit(float64(usage.Total)),
|
||||||
|
"used": parse.Bit(float64(usage.Used)),
|
||||||
|
"avail": parse.Bit(float64(usage.Free)),
|
||||||
|
"pcent": fmt.Sprintf("%.1f%%", usage.UsedPercent),
|
||||||
|
"target": partition.Device,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return disks
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,177 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"runtime"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"be.ems/src/framework/config"
|
|
||||||
"be.ems/src/framework/utils/parse"
|
|
||||||
|
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
|
||||||
"github.com/shirou/gopsutil/v4/disk"
|
|
||||||
"github.com/shirou/gopsutil/v4/host"
|
|
||||||
"github.com/shirou/gopsutil/v4/mem"
|
|
||||||
"github.com/shirou/gopsutil/v4/net"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 实例化服务层 SystemInfoImpl 结构体
|
|
||||||
var NewSystemInfoImpl = &SystemInfoImpl{}
|
|
||||||
|
|
||||||
// SystemInfoImpl 服务器系统相关信息 服务层处理
|
|
||||||
type SystemInfoImpl struct{}
|
|
||||||
|
|
||||||
// SystemInfo 系统信息
|
|
||||||
func (s *SystemInfoImpl) SystemInfo() map[string]any {
|
|
||||||
info, err := host.Info()
|
|
||||||
if err != nil {
|
|
||||||
info.Platform = err.Error()
|
|
||||||
}
|
|
||||||
// 获取主机运行时间
|
|
||||||
bootTime := time.Since(time.Unix(int64(info.BootTime), 0)).Seconds()
|
|
||||||
// 获取程序运行时间
|
|
||||||
runTime := time.Since(config.RunTime()).Abs().Seconds()
|
|
||||||
return map[string]any{
|
|
||||||
"platform": info.Platform,
|
|
||||||
"platformVersion": info.PlatformVersion,
|
|
||||||
"arch": info.KernelArch,
|
|
||||||
"archVersion": info.KernelVersion,
|
|
||||||
"os": info.OS,
|
|
||||||
"hostname": info.Hostname,
|
|
||||||
"bootTime": int64(bootTime),
|
|
||||||
"processId": os.Getpid(),
|
|
||||||
"runArch": runtime.GOARCH,
|
|
||||||
"runVersion": runtime.Version(),
|
|
||||||
"runTime": int64(runTime),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TimeInfo 系统时间信息
|
|
||||||
func (s *SystemInfoImpl) TimeInfo() map[string]string {
|
|
||||||
now := time.Now()
|
|
||||||
// 获取当前时间
|
|
||||||
current := now.Format("2006-01-02 15:04:05")
|
|
||||||
// 获取时区
|
|
||||||
timezone := now.Format("-0700 MST")
|
|
||||||
// 获取时区名称
|
|
||||||
timezoneName := now.Format("MST")
|
|
||||||
|
|
||||||
return map[string]string{
|
|
||||||
"current": current,
|
|
||||||
"timezone": timezone,
|
|
||||||
"timezoneName": timezoneName,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// MemoryInfo 内存信息
|
|
||||||
func (s *SystemInfoImpl) MemoryInfo() map[string]any {
|
|
||||||
memInfo, err := mem.VirtualMemory()
|
|
||||||
if err != nil {
|
|
||||||
memInfo.UsedPercent = 0
|
|
||||||
memInfo.Available = 0
|
|
||||||
memInfo.Total = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
var memStats runtime.MemStats
|
|
||||||
runtime.ReadMemStats(&memStats)
|
|
||||||
|
|
||||||
return map[string]any{
|
|
||||||
"usage": fmt.Sprintf("%.2f", memInfo.UsedPercent), // 内存利用率
|
|
||||||
"freemem": parse.Bit(float64(memInfo.Available)), // 可用内存大小(GB)
|
|
||||||
"totalmem": parse.Bit(float64(memInfo.Total)), // 总内存大小(GB)
|
|
||||||
"rss": parse.Bit(float64(memStats.Sys)), // 常驻内存大小(RSS)
|
|
||||||
"heapTotal": parse.Bit(float64(memStats.HeapSys)), // 堆总大小
|
|
||||||
"heapUsed": parse.Bit(float64(memStats.HeapAlloc)), // 堆已使用大小
|
|
||||||
"external": parse.Bit(float64(memStats.Sys - memStats.HeapSys)), // 外部内存大小(非堆)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CPUInfo CPU信息
|
|
||||||
func (s *SystemInfoImpl) CPUInfo() map[string]any {
|
|
||||||
var core int = 0
|
|
||||||
var speed string = "未知"
|
|
||||||
var model string = "未知"
|
|
||||||
cpuInfo, err := cpu.Info()
|
|
||||||
if err == nil {
|
|
||||||
core = runtime.NumCPU()
|
|
||||||
speed = fmt.Sprintf("%.0fMHz", cpuInfo[0].Mhz)
|
|
||||||
model = strings.TrimSpace(cpuInfo[0].ModelName)
|
|
||||||
}
|
|
||||||
|
|
||||||
useds := []string{}
|
|
||||||
cpuPercent, err := cpu.Percent(0, true)
|
|
||||||
if err == nil {
|
|
||||||
for _, v := range cpuPercent {
|
|
||||||
useds = append(useds, fmt.Sprintf("%.2f", v))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return map[string]any{
|
|
||||||
"model": model,
|
|
||||||
"speed": speed,
|
|
||||||
"core": core,
|
|
||||||
"coreUsed": useds,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NetworkInfo 网络信息
|
|
||||||
func (s *SystemInfoImpl) NetworkInfo() map[string]string {
|
|
||||||
ipAddrs := make(map[string]string)
|
|
||||||
interfaces, err := net.Interfaces()
|
|
||||||
if err == nil {
|
|
||||||
for _, iface := range interfaces {
|
|
||||||
name := iface.Name
|
|
||||||
if name[len(name)-1] == '0' {
|
|
||||||
name = name[0 : len(name)-1]
|
|
||||||
name = strings.Trim(name, "")
|
|
||||||
}
|
|
||||||
// ignore localhost
|
|
||||||
if name == "lo" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
var addrs []string
|
|
||||||
for _, v := range iface.Addrs {
|
|
||||||
prefix := strings.Split(v.Addr, "/")[0]
|
|
||||||
if strings.Contains(prefix, "::") {
|
|
||||||
addrs = append(addrs, fmt.Sprintf("IPv6 %s", prefix))
|
|
||||||
}
|
|
||||||
if strings.Contains(prefix, ".") {
|
|
||||||
addrs = append(addrs, fmt.Sprintf("IPv4 %s", prefix))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ipAddrs[name] = strings.Join(addrs, " / ")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ipAddrs
|
|
||||||
}
|
|
||||||
|
|
||||||
// DiskInfo 磁盘信息
|
|
||||||
func (s *SystemInfoImpl) DiskInfo() []map[string]string {
|
|
||||||
disks := make([]map[string]string, 0)
|
|
||||||
ctx := context.Background()
|
|
||||||
ctx, cancel := context.WithTimeout(ctx, 2*time.Second)
|
|
||||||
defer cancel()
|
|
||||||
|
|
||||||
partitions, err := disk.PartitionsWithContext(ctx, false)
|
|
||||||
if err != nil && err != context.DeadlineExceeded {
|
|
||||||
return disks
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, partition := range partitions {
|
|
||||||
usage, err := disk.Usage(partition.Mountpoint)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
disks = append(disks, map[string]string{
|
|
||||||
"size": parse.Bit(float64(usage.Total)),
|
|
||||||
"used": parse.Bit(float64(usage.Used)),
|
|
||||||
"avail": parse.Bit(float64(usage.Free)),
|
|
||||||
"pcent": fmt.Sprintf("%.1f%%", usage.UsedPercent),
|
|
||||||
"target": partition.Device,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return disks
|
|
||||||
}
|
|
||||||
@@ -15,19 +15,17 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 实例化控制层 AlarmController 结构体
|
// 实例化控制层 AlarmController 结构体
|
||||||
var NewAlarmController = &AlarmController{
|
var NewAlarm = &AlarmController{
|
||||||
neInfoService: neService.NewNeInfoImpl,
|
neInfoService: neService.NewNeInfo,
|
||||||
alarmService: neDataService.NewAlarmImpl,
|
alarmService: neDataService.NewAlarm,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 告警数据
|
// 告警数据
|
||||||
//
|
//
|
||||||
// PATH /alarm
|
// PATH /alarm
|
||||||
type AlarmController struct {
|
type AlarmController struct {
|
||||||
// 网元信息服务
|
neInfoService *neService.NeInfo // 网元信息服务
|
||||||
neInfoService neService.INeInfo
|
alarmService *neDataService.Alarm // 告警信息服务
|
||||||
// 告警信息服务
|
|
||||||
alarmService neDataService.IAlarm
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 告警列表
|
// 告警列表
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user