ref: v3变更,,同步v2.2508.4
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -25,3 +25,6 @@ main
|
||||
# Build Output
|
||||
local/*.sqlite
|
||||
omc
|
||||
|
||||
src/modules2/
|
||||
build/database/std2/
|
||||
|
||||
@@ -28,18 +28,18 @@ ON "ne_config" (
|
||||
-- ----------------------------
|
||||
-- Records of ne_config
|
||||
-- ----------------------------
|
||||
-- 更新 AMF 配置 20250630
|
||||
INSERT INTO "ne_config" VALUES (1, 'AMF', 'system', 'System Config', 'list', '[{"access":"read-write","comment":"","display":"AMF Name","filter":"0~64","name":"amfName","type":"string","value":"AMF","visible":"self"},{"access":"read-write","comment":"0~255","display":"AMF Priority","filter":"0~255","name":"nfPriority","type":"int","value":"255","visible":"self"},{"access":"read-write","comment":"0~255","display":"SBI Relative Capacity","filter":"0~255","name":"relativeCapacity","type":"int","value":"255","visible":"self"},{"access":"read-write","comment":"","display":"SBI Scheme","filter":"{\"0\":\"http\",\"1\":\"https\"}","name":"sbiScheme","type":"enum","value":"0"},{"access":"read-write","comment":"","display":"SBI Server IP","filter":"0~64","name":"sbiServerIp","type":"string","value":"192.168.1.183","visible":"self"},{"access":"read-write","comment":"0~65535","display":"SBI Server Port","filter":"0~65535","name":"sbiServerPort","type":"int","value":"8080"},{"access":"read-write","comment":"","display":"NRF Enabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"nrfEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"NF NRF URI","filter":"0~64","name":"nrfUri","type":"string","value":"http://172.16.5.180:8080"},{"access":"read-write","comment":"","display":"NF AUSF URI","filter":"0~64","name":"ausfUri","type":"string","value":"http://172.16.5.130:8080"},{"access":"read-write","comment":"","display":"NF UDM URI","filter":"0~64","name":"udmUri","type":"string","value":"http://172.16.5.140:8080"},{"access":"read-write","comment":"","display":"NF SMF URI","filter":"0~64","name":"smfUri","type":"string","value":"http://172.16.5.150:8080"},{"access":"read-write","comment":"","display":"NF PCF URI","filter":"0~64","name":"pcfUri","type":"string","value":"http://172.16.5.160:8080"},{"access":"read-write","comment":"","display":"NF Backup AUSF URI","filter":"0~64","name":"backupAusfUri","type":"string","value":"http://172.16.5.131:8080"},{"access":"read-write","comment":"","display":"NF Backup UDM URI","filter":"0~64","name":"backupUdmUri","type":"string","value":"http://172.16.5.141:8080"},{"access":"read-write","comment":"","display":"NF Backup SMF URI","filter":"0~64","name":"backupSmfUri","type":"string","value":"http://172.16.5.151:8080"},{"access":"read-write","comment":"","display":"NF Backup PCF URI","filter":"0~64","name":"backupPcfUri","type":"string","value":"http://172.16.5.161:8080"},{"access":"read-write","comment":"","display":"NF LMF URI","filter":"0~64","name":"lmfUri","type":"string","value":"http://172.16.5.200:8080"},{"access":"read-write","comment":"","display":"NF NEF URI","filter":"0~64","name":"nefUri","type":"string","value":"http://172.16.5.210:8080"},{"access":"read-write","comment":"","display":"Default DNN","filter":"0~64","name":"defaultDnn","type":"string","value":"internet"},{"access":"read-write","comment":"","display":"AUTH Integrity Algorithm","filter":"{\"0\":\"NIA0\",\"1\":\"NIA1\",\"2\":\"NIA2\",\"3\":\"NIA3\"}","name":"integrityAlgorithm","type":"enum","value":"2"},{"access":"read-write","comment":"","display":"AUTH Ciphering Algorithm","filter":"{\"0\":\"NEA0\",\"1\":\"NEA1\",\"2\":\"NEA2\",\"3\":\"NEA3\"}","name":"cipheringAlgorithm","type":"enum","value":"0"},{"access":"read-write","comment":"","display":"T3502","filter":"1~65535","name":"t3502","type":"int","value":"720"},{"access":"read-write","comment":"","display":"T3512","filter":"1~65535","name":"t3512","type":"int","value":"3600"},{"access":"read-write","comment":"","display":"T3513","filter":"1~65535","name":"t3513","type":"int","value":"2"},{"access":"read-write","comment":"","display":"T3522","filter":"1~65535","name":"t3522","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3550","filter":"1~65535","name":"t3550","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3555","filter":"1~65535","name":"t3555","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3560","filter":"1~65535","name":"t3560","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3565","filter":"1~65535","name":"t3565","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3570","filter":"1~65535","name":"t3570","type":"int","value":"6"}]', 1, '', 1751271230797, 'public');
|
||||
INSERT INTO "ne_config" VALUES (2, 'AMF', 'systemFeatOpt', 'Enable/Disable Features', 'list', '[{"access":"read-write","comment":"","display":"DnnCorrectionEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"dnnCorrectionEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"GutiReallocationInPRUEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"gutiReallocationInPRUEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"UeRadioCapabilityMatchEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"ueRadioCapabilityMatchEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportFollowOnRequestIndication","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportFollowOnRequestIndication","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"TriggerInitCtxSetupForAllNASProc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"triggerInitCtxSetupForAllNASProc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportAllAllowedNssai","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportAllAllowedNssai","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ImplicitUnsubscribeEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"implicitUnsubscribeEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportRRCInactiveReport","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportRRCInactiveReport","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportMappedSecurityContext","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportMappedSecurityContext","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"OptimizeSignalingProcedure","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"optimizeSignalingProcedure","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ReAuthInServiceRequestProc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"reAuthInServiceRequestProc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SkipGetSubscribedNssai","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"skipGetSubscribedNssai","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ForceIdentityRequest","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"forceIdentityRequest","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"CagEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"cagEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"CheckSliceInTaEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"checkSliceInTaEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"uePolicyEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"uePolicyEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"smsOverNasEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"smsOverNasEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"statusReportToOmc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"statusReportToOmc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"StatusReportEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"statusReportEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"GetTraceDataFromUdm","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"getTraceDataFromUdm","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"DisableLocationReportControl","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"disableLocationReportControl","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SendDnnOiToSmf","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"sendDnnOiToSmf","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"UdsfEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"udsfEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"EnableHttpPprof","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"enableHttpPprof","type":"bool","value":"0"}]', 3, '', 1751271230825, 'public');
|
||||
INSERT INTO "ne_config" VALUES (3, 'AMF', 'association', 'AMF TNL Association List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"NGAP IP","filter":"0~64","name":"ngapIp","type":"string","value":"192.168.1.183"},{"access":"read-write","comment":"0~65535","display":"NGAP SCTP Port","filter":"0~65535","name":"ngapSctpPort","type":"int","value":"38412"},{"access":"read-write","comment":"0~255","display":"Weight","filter":"0~255","name":"weightFactor","type":"int","value":"255"}]', 5, '', 1751271230831, 'self');
|
||||
INSERT INTO "ne_config" VALUES (4, 'AMF', 'guami', 'AMF Served GUAMI List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"0~255","display":"Region ID","filter":"0~255","name":"regionId","type":"int","value":"1"},{"access":"read-write","comment":"0~1023","display":"Set ID","filter":"0~1023","name":"setId","type":"int","value":"1"},{"access":"read-write","comment":"0~63","display":"Pointer","filter":"0~63","name":"pointer","type":"int","value":"1"}]', 7, '', 1751271230835, 'public');
|
||||
INSERT INTO "ne_config" VALUES (5, 'AMF', 'tai', 'AMF Support TAI List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"0~16777215","display":"TAC","filter":"0~8","name":"tac","type":"string","value":"1"}]', 9, '', 1751271230838, 'public');
|
||||
INSERT INTO "ne_config" VALUES (6, 'AMF', 'slice', 'AMF Support Slice List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"0~127","display":"SST","filter":"0~127","name":"sst","type":"int","value":"1"},{"access":"read-write","comment":"","display":"SD","filter":"^[A-Fa-f0-9]{6}","name":"sd","type":"regex","value":"000001"}]', 11, '', 1751271230843, 'public');
|
||||
INSERT INTO "ne_config" VALUES (7, 'AMF', 'whiteInfo', 'Enable Whitelist Feat', 'list', '[{"access":"read-write","comment":"if set true, need to add white list content by ''WhiteList Content'' entry ","display":"IMSI/IMEI Whitelist","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"enableWhitelist","type":"bool","value":"0"}]', 12, '', 1751271230847, 'public');
|
||||
INSERT INTO "ne_config" VALUES (8, 'AMF', 'whitelist', ' └── WhiteList Content', 'array', '[{"access":"read-only","comment":"0~65535","display":"Index","filter":"0~65535","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"A.if SIM and device match, IMSI value format:[0-9]{14,15} e.g: 460020021404867 B.if only check IMEI Prefix, IMSI value set ''any''","display":"IMSI Value","filter":"^(|any|[0-9]{14,16})$","name":"imsiValue","type":"regex","value":""},{"access":"read-write","comment":"A.SIM and device match: IMEI value format:[0-9]{15,16} e.g: 8695830452209078 B.if only check IMEI Prefix, IMEI value is imei prefix value[0-9]{3-16} e.g: IMSI:''any'', IMEI:''86958304522'' )","display":"IMEI Value/Prefix","filter":"^(|any|[0-9]{2,16})$","name":"imeiValue","type":"regex","value":""}]', 13, '', 1751271230851, 'public');
|
||||
INSERT INTO "ne_config" VALUES (9, 'AMF', '4g5ghoN26Info', 'Enable 4G5GHO N26 Feat', 'list', '[{"access":"read-write","comment":"if set true, need to add MME List by ''4G5GHO Select MME List'' entry ","display":"enable iwkN26(open 4G/5G HO)","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"iwkN26","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"Set AMF Local N26 IP","filter":"0~64","name":"n26Ip","type":"string","value":"192.168.1.183","visible":"self"}]', 16, '', 1751271230858, 'public');
|
||||
INSERT INTO "ne_config" VALUES (10, 'AMF', '4g5ghoMmeList', ' └── 4G5GHO Select MME List', 'array', '[{"access":"read-only","comment":"0~32","display":"Index","filter":"0~32","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"\u003cMCC\u003e\u003cMNC\u003e","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"","display":"Group ID","filter":"0~65535","name":"groupId","type":"int","value":"4"},{"access":"read-write","comment":"","display":"Code","filter":"0~255","name":"code","type":"int","value":"1"},{"access":"read-write","comment":"","display":"TAC","filter":"0~65535","name":"tac","type":"int","value":"4388"},{"access":"read-write","comment":"IPv4 or IPv6 address","display":"MME IP Address","filter":"^(([0-9]{1,3}\\.){3}[0-9]{1,3}|([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4})$","name":"ip","type":"string","value":"172.16.5.220"}]', 17, '', 1751271230862, 'public');
|
||||
INSERT INTO "ne_config" VALUES (11, 'AMF', 'gnbList', 'Gnb List Config', 'array', '[{"access":"read-only","comment":"0~128","display":"Index","filter":"0~128","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"text content length 0~64","display":"GNB Name","filter":"0~64","name":"name","type":"string","value":""},{"access":"read-write","comment":"text content length 0~64","display":"GNB Address","filter":"0~64","name":"address","type":"string","value":""},{"access":"read-write","comment":"location description. Prohibition of spaces, length of text content 0-64","display":"Position","filter":"0~64","name":"position","type":"string","value":""}]', 19, '', 1751271230865, 'hide');
|
||||
-- 更新 AMF 配置 20250828
|
||||
INSERT INTO "ne_config" VALUES (1, 'AMF', 'system', 'System Config', 'list', '[{"access":"read-write","comment":"","display":"AMF Name","filter":"0~64","name":"amfName","type":"string","value":"AMF","visible":"self"},{"access":"read-write","comment":"0~255","display":"AMF Priority","filter":"0~255","name":"nfPriority","type":"int","value":"255","visible":"self"},{"access":"read-write","comment":"0~255","display":"SBI Relative Capacity","filter":"0~255","name":"relativeCapacity","type":"int","value":"255","visible":"self"},{"access":"read-write","comment":"","display":"SBI Scheme","filter":"{\"0\":\"http\",\"1\":\"https\"}","name":"sbiScheme","type":"enum","value":"0"},{"access":"read-write","comment":"","display":"SBI Server IP","filter":"0~64","name":"sbiServerIp","type":"string","value":"192.168.1.183","visible":"self"},{"access":"read-write","comment":"0~65535","display":"SBI Server Port","filter":"0~65535","name":"sbiServerPort","type":"int","value":"8080"},{"access":"read-write","comment":"","display":"NRF Enabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"nrfEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"NF NRF URI","filter":"0~64","name":"nrfUri","type":"string","value":"http://172.16.5.180:8080"},{"access":"read-write","comment":"","display":"NF AUSF URI","filter":"0~64","name":"ausfUri","type":"string","value":"http://172.16.5.130:8080"},{"access":"read-write","comment":"","display":"NF UDM URI","filter":"0~64","name":"udmUri","type":"string","value":"http://172.16.5.140:8080"},{"access":"read-write","comment":"","display":"NF SMF URI","filter":"0~64","name":"smfUri","type":"string","value":"http://172.16.5.150:8080"},{"access":"read-write","comment":"","display":"NF PCF URI","filter":"0~64","name":"pcfUri","type":"string","value":"http://172.16.5.160:8080"},{"access":"read-write","comment":"","display":"NF Backup AUSF URI","filter":"0~64","name":"backupAusfUri","type":"string","value":"http://172.16.5.131:8080"},{"access":"read-write","comment":"","display":"NF Backup UDM URI","filter":"0~64","name":"backupUdmUri","type":"string","value":"http://172.16.5.141:8080"},{"access":"read-write","comment":"","display":"NF Backup SMF URI","filter":"0~64","name":"backupSmfUri","type":"string","value":"http://172.16.5.151:8080"},{"access":"read-write","comment":"","display":"NF Backup PCF URI","filter":"0~64","name":"backupPcfUri","type":"string","value":"http://172.16.5.161:8080"},{"access":"read-write","comment":"","display":"NF LMF URI","filter":"0~64","name":"lmfUri","type":"string","value":"http://172.16.5.200:8080"},{"access":"read-write","comment":"","display":"NF NEF URI","filter":"0~64","name":"nefUri","type":"string","value":"http://172.16.5.210:8080"},{"access":"read-write","comment":"","display":"Default DNN","filter":"0~64","name":"defaultDnn","type":"string","value":"internet"},{"access":"read-write","comment":"","display":"AUTH Integrity Algorithm","filter":"{\"0\":\"NIA0\",\"1\":\"NIA1\",\"2\":\"NIA2\",\"3\":\"NIA3\"}","name":"integrityAlgorithm","type":"enum","value":"2"},{"access":"read-write","comment":"","display":"AUTH Ciphering Algorithm","filter":"{\"0\":\"NEA0\",\"1\":\"NEA1\",\"2\":\"NEA2\",\"3\":\"NEA3\"}","name":"cipheringAlgorithm","type":"enum","value":"0"},{"access":"read-write","comment":"","display":"T3502","filter":"1~65535","name":"t3502","type":"int","value":"720"},{"access":"read-write","comment":"","display":"T3512","filter":"1~65535","name":"t3512","type":"int","value":"3600"},{"access":"read-write","comment":"","display":"T3513","filter":"1~65535","name":"t3513","type":"int","value":"2"},{"access":"read-write","comment":"","display":"T3522","filter":"1~65535","name":"t3522","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3550","filter":"1~65535","name":"t3550","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3555","filter":"1~65535","name":"t3555","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3560","filter":"1~65535","name":"t3560","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3565","filter":"1~65535","name":"t3565","type":"int","value":"6"},{"access":"read-write","comment":"","display":"T3570","filter":"1~65535","name":"t3570","type":"int","value":"6"}]', 1, '', 1756348212145, 'public');
|
||||
INSERT INTO "ne_config" VALUES (2, 'AMF', 'systemFeatOpt', 'Enable/Disable Features', 'list', '[{"access":"read-write","comment":"","display":"DnnCorrectionEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"dnnCorrectionEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"GutiReallocationInPRUEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"gutiReallocationInPRUEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"UeRadioCapabilityMatchEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"ueRadioCapabilityMatchEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportFollowOnRequestIndication","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportFollowOnRequestIndication","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"TriggerInitCtxSetupForAllNASProc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"triggerInitCtxSetupForAllNASProc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportAllAllowedNssai","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportAllAllowedNssai","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ImplicitUnsubscribeEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"implicitUnsubscribeEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportRRCInactiveReport","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportRRCInactiveReport","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SupportMappedSecurityContext","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"supportMappedSecurityContext","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"OptimizeSignalingProcedure","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"optimizeSignalingProcedure","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ReAuthInServiceRequestProc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"reAuthInServiceRequestProc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SkipGetSubscribedNssai","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"skipGetSubscribedNssai","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"ForceIdentityRequest","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"forceIdentityRequest","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"CagEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"cagEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"CheckSliceInTaEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"checkSliceInTaEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"uePolicyEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"uePolicyEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"smsOverNasEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"smsOverNasEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"statusReportToOmc","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"statusReportToOmc","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"StatusReportEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"statusReportEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"GetTraceDataFromUdm","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"getTraceDataFromUdm","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"DisableLocationReportControl","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"disableLocationReportControl","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"SendDnnOiToSmf","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"sendDnnOiToSmf","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"UdsfEnabled","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"udsfEnabled","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"EnableHttpPprof","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"enableHttpPprof","type":"bool","value":"0"}]', 3, '', 1756348212160, 'public');
|
||||
INSERT INTO "ne_config" VALUES (3, 'AMF', 'association', 'AMF TNL Association List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"NGAP IP","filter":"0~64","name":"ngapIp","type":"string","value":"192.168.1.183"},{"access":"read-write","comment":"0~65535","display":"NGAP SCTP Port","filter":"0~65535","name":"ngapSctpPort","type":"int","value":"38412"},{"access":"read-write","comment":"0~255","display":"Weight","filter":"0~255","name":"weightFactor","type":"int","value":"255"}]', 5, '', 1756348212166, 'self');
|
||||
INSERT INTO "ne_config" VALUES (4, 'AMF', 'guami', 'AMF Served GUAMI List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"0~255","display":"Region ID","filter":"0~255","name":"regionId","type":"int","value":"1"},{"access":"read-write","comment":"0~1023","display":"Set ID","filter":"0~1023","name":"setId","type":"int","value":"1"},{"access":"read-write","comment":"0~63","display":"Pointer","filter":"0~63","name":"pointer","type":"int","value":"1"}]', 7, '', 1756348212171, 'public');
|
||||
INSERT INTO "ne_config" VALUES (5, 'AMF', 'tai', 'AMF Support TAI List', 'array', '[{"access":"read-only","comment":"Max 32","display":"Index","filter":"0-32","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"MCC and MNC is less than 6 digits.","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"Multiple TACs separated by commas (tac1,tac2)","display":"TAC","filter":"0-16777215","name":"tac","type":"string","value":"1"}]', 9, '', 1756348212177, 'public');
|
||||
INSERT INTO "ne_config" VALUES (6, 'AMF', 'slice', 'AMF Support Slice List', 'array', '[{"access":"read-only","comment":"0~15","display":"Index","filter":"0~15","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"0~127","display":"SST","filter":"0~127","name":"sst","type":"int","value":"1"},{"access":"read-write","comment":"","display":"SD","filter":"^[A-Fa-f0-9]{6}","name":"sd","type":"regex","value":"000001"}]', 11, '', 1756348212183, 'public');
|
||||
INSERT INTO "ne_config" VALUES (7, 'AMF', 'whiteInfo', 'Enable Whitelist Feat', 'list', '[{"access":"read-write","comment":"if set true, need to add white list content by ''WhiteList Content'' entry ","display":"IMSI/IMEI Whitelist","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"enableWhitelist","type":"bool","value":"0"}]', 12, '', 1756348212188, 'public');
|
||||
INSERT INTO "ne_config" VALUES (8, 'AMF', 'whitelist', ' └── WhiteList Content', 'array', '[{"access":"read-only","comment":"0~65535","display":"Index","filter":"0~65535","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"A.if SIM and device match, IMSI value format:[0-9]{14,15} e.g: 460020021404867 B.if only check IMEI Prefix, IMSI value set ''any''","display":"IMSI Value","filter":"^(|any|[0-9]{14,16})$","name":"imsiValue","type":"regex","value":""},{"access":"read-write","comment":"A.SIM and device match: IMEI value format:[0-9]{15,16} e.g: 8695830452209078 B.if only check IMEI Prefix, IMEI value is imei prefix value[0-9]{3-16} e.g: IMSI:''any'', IMEI:''86958304522'' )","display":"IMEI Value/Prefix","filter":"^(|any|[0-9]{2,16})$","name":"imeiValue","type":"regex","value":""}]', 13, '', 1756348212194, 'public');
|
||||
INSERT INTO "ne_config" VALUES (9, 'AMF', '4g5ghoN26Info', 'Enable 4G5GHO N26 Feat', 'list', '[{"access":"read-write","comment":"if set true, need to add MME List by ''4G5GHO Select MME List'' entry ","display":"enable iwkN26(open 4G/5G HO)","filter":"{\"0\":\"false\",\"1\":\"true\"}","name":"iwkN26","type":"bool","value":"0"},{"access":"read-write","comment":"","display":"Set AMF Local N26 IP","filter":"0~64","name":"n26Ip","type":"string","value":"192.168.1.183","visible":"self"}]', 16, '', 1756348212199, 'public');
|
||||
INSERT INTO "ne_config" VALUES (10, 'AMF', '4g5ghoMmeList', ' └── 4G5GHO Select MME List', 'array', '[{"access":"read-only","comment":"0~32","display":"Index","filter":"0~32","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"\u003cMCC\u003e\u003cMNC\u003e","display":"PLMN ID","filter":"^[0-9]{5,6}$","name":"plmnId","type":"regex","value":"00101"},{"access":"read-write","comment":"","display":"Group ID","filter":"0~65535","name":"groupId","type":"int","value":"4"},{"access":"read-write","comment":"","display":"Code","filter":"0~255","name":"code","type":"int","value":"1"},{"access":"read-write","comment":"","display":"TAC","filter":"0~65535","name":"tac","type":"int","value":"4388"},{"access":"read-write","comment":"IPv4 or IPv6 address","display":"MME IP Address","filter":"^(([0-9]{1,3}\\.){3}[0-9]{1,3}|([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4})$","name":"ip","type":"string","value":"172.16.5.220"}]', 17, '', 1756348212204, 'public');
|
||||
INSERT INTO "ne_config" VALUES (11, 'AMF', 'gnbList', 'Gnb List Config', 'array', '[{"access":"read-only","comment":"0~128","display":"Index","filter":"0~128","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"text content length 0~64","display":"GNB Name","filter":"0~64","name":"name","type":"string","value":""},{"access":"read-write","comment":"text content length 0~64","display":"GNB Address","filter":"0~64","name":"address","type":"string","value":""},{"access":"read-write","comment":"location description. Prohibition of spaces, length of text content 0-64","display":"Position","filter":"0~64","name":"position","type":"string","value":""}]', 19, '', 1756348212210, 'hide');
|
||||
|
||||
INSERT INTO "ne_config" VALUES (20, 'AUSF', 'system', 'System', 'list', '[{"access":"read-write","comment":"","display":"Service IP","filter":"","name":"serviceIP","type":"ipv4","value":"172.16.5.130"},{"access":"read-write","comment":"","display":"Service Port","filter":"0~65535","name":"servicePort","type":"int","value":"8080"},{"access":"read-write","comment":"","display":"Scheme","filter":"{\"0\":\"HTTP\", \"1\":\"HTTPS\"}","name":"scheme","type":"enum","value":"http"},{"access":"read-write","comment":"","display":"NRF URI","filter":"","name":"nrfUri","type":"string","value":"http://172.16.5.180:8080"},{"access":"read-write","comment":"","display":"UDM URI","filter":"","name":"udmUri","type":"string","value":"http://172.16.5.140:8080"},{"access":"read-write","comment":"","display":"Group ID","filter":"","name":"groupId","type":"string","value":"0"}]', 1, '', 1719831209173, 'public');
|
||||
INSERT INTO "ne_config" VALUES (40, 'IMS', 'system', 'System', 'list', '[{"access":"read-write","comment":"","display":"Label","filter":"","name":"label","type":"string","value":"ims-core"},{"access":"read-only","comment":"","display":"HPLMN MCC","filter":"","name":"hplmnMCC","type":"string","value":"001"},{"access":"read-only","comment":"","display":"HPLMN MNC","filter":"","name":"hplmnMNC","type":"string","value":"01"},{"access":"read-write","comment":"","display":"Local Network IPv4","filter":"","name":"LocalNetworkIPv4","type":"ipv4","value":"172.16.5.110"},{"access":"read-write","comment":"","display":"Public Network IPv4","filter":"","name":"serviceIP","type":"ipv4","value":"172.16.5.110"},{"access":"read-write","comment":"","display":"Public Network IPv6","filter":"","name":"serviceIPv6","type":"ipv6","value":""},{"access":"read-only","comment":"","display":"Domain Name 1","filter":"","name":"domainName1","type":"string","value":"ims.mnc001.mcc001.3gppnetwork.org"},{"access":"read-only","comment":"","display":"Domain Name 2","filter":"","name":"domainName2","type":"string","value":""},{"access":"read-only","comment":"","display":"Domain Name 3","filter":"","name":"domainName3","type":"string","value":""},{"access":"read-only","comment":"","display":"Domain Name 4","filter":"","name":"domainName4","type":"string","value":""},{"access":"read-write","comment":"","display":"MultiIPStack Indicator","filter":"{\"0\":\"false\", \"1\":\"true\"}","name":"multiIPStackInd","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"Register Timer","filter":"120~1000000","name":"registerTimer","type":"int","value":"7200"},{"access":"read-write","comment":"","display":"Max Call Duration","filter":"1800~1000000","name":"maxCallDuration","type":"int","value":"43200"},{"access":"read-write","comment":"","display":"Internal SMS Indicator","filter":"{\"0\":\"false\", \"1\":\"true\"}","name":"internalSMSInd","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"Internal CDR Indicator","filter":"{\"0\":\"false\", \"1\":\"true\"}","name":"internalCDRInd","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"Internal KPI Indicator","filter":"{\"0\":\"false\", \"1\":\"true\"}","name":"internalKPIInd","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"PCF IP Address","filter":"","name":"pcfIP","type":"ipv4","value":"172.16.5.160"}]', 1, '', 1723716862092, 'public');
|
||||
@@ -156,3 +156,15 @@ INSERT INTO "ne_config" VALUES (301, 'SGWC', 'upfConfig', 'UPF Config', 'array',
|
||||
INSERT INTO "ne_config" VALUES (302, 'SGWC', 'dnnSelectUpf', 'DNN Select UPF', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~65535","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"","display":"UPF ID","filter":"1~64","name":"upfId","type":"string","value":""}]', 5, '', 1734512800811, 'public');
|
||||
INSERT INTO "ne_config" VALUES (303, 'SGWC', 'dnnTaiSelectUpf', 'DNN TAI Select UPF', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~65535","name":"index","type":"int","value":""},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"MCC+MNC+TAC","display":"TAI","filter":"1~64","name":"tai","type":"string","value":""},{"access":"read-write","comment":"","display":"UPF ID","filter":"1~64","name":"upfId","type":"string","value":"upf2-Id"}]', 7, '', 1734512800816, 'public');
|
||||
INSERT INTO "ne_config" VALUES (304, 'SGWC', 'cdrConfig', 'Charging Data Report Config', 'list', '[{"access":"read-write","comment":"","display":"CDR Enable","filter":"","name":"enable","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"CDR File Name","filter":"1~64","name":"cdrFileName","type":"string","value":"smf.cdr"},{"access":"read-write","comment":"","display":"CDR File Path","filter":"1~256","name":"cdrFilePath","type":"string","value":"/var/log/smfCdr"},{"access":"read-write","comment":"","display":"CDR File Num","filter":"1~999999999","name":"cdrFileNum","type":"int","value":"50"},{"access":"read-write","comment":"Megabytes","display":"CDR File Size","filter":"1~999999","name":"cdrFileSize","type":"int","value":"300"},{"access":"read-write","comment":"Days","display":"CDR File Max Age","filter":"0~9999","name":"cdrFileMaxAge","type":"int","value":"30"},{"access":"read-write","comment":"Seconds","display":"Time Threshold","filter":"0~999999999","name":"timeThreshold","type":"int","value":"600"},{"access":"read-write","comment":"Bytes","display":"Volume Threshold","filter":"","name":"volumeThreshold","type":"int","value":"0~999999999999999"}]', 9, '', 1734512800821, 'public');
|
||||
|
||||
-- 更新 PGWC 配置 20250828
|
||||
INSERT INTO "ne_config" VALUES (320, 'PGWC', 'pgwcSystem', 'PGWC Sytem Config', 'list', '[{"access":"read-write","comment":"","display":"Local S58 IP","filter":"","name":"s58Ip","type":"string","value":"172.16.5.151"},{"access":"read-write","comment":"","display":"N4 IPv4","filter":"","name":"n4Ipv4","type":"ipv4","value":"172.16.5.150"},{"access":"read-write","comment":"","display":"N4 IPv6","filter":"","name":"n4Ipv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"N4U IPv4","filter":"","name":"n4UIpv4","type":"ipv4","value":""},{"access":"read-write","comment":"","display":"N4U IPv6","filter":"","name":"n4UIpv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"Gx Policy Enable","filter":"","name":"gxEnable","type":"bool","value":""},{"access":"read-write","comment":"","display":"Gx Charging Enable","filter":"","name":"gxChargingEnable","type":"bool","value":""},{"access":"read-write","comment":"","display":"Gy Charging Enable","filter":"","name":"gyChargingEnable","type":"bool","value":""},{"access":"read-write","comment":"","display":"Primary DNS IPv4","filter":"","name":"primaryDnsIpv4","type":"ipv4","value":"114.114.114.114"},{"access":"read-write","comment":"","display":"Secondary DNS IPv4","filter":"","name":"secondaryDnsIpv4","type":"ipv4","value":""},{"access":"read-write","comment":"","display":"Primary DNS IPv6","filter":"","name":"primaryDnsIpv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"Secondary DNS IPv6","filter":"","name":"secondaryDnsIpv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"Primary PCSCF IPv4","filter":"","name":"primaryPcscfIpv4","type":"ipv4","value":"172.16.5.110"},{"access":"read-write","comment":"","display":"Secondary PCSCF IPv4","filter":"","name":"secondaryPcscfIpv4","type":"ipv4","value":""},{"access":"read-write","comment":"","display":"Primary PCSCF IPv6","filter":"","name":"primaryPcscfIpv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"Secondary PCSCF IPv6","filter":"","name":"secondaryPcscfIpv6","type":"ipv6","value":""},{"access":"read-write","comment":"","display":"UE MTU","filter":"0~65535","name":"ueMtu","type":"int","value":""}]', 1, '', 1756349342126, 'public');
|
||||
INSERT INTO "ne_config" VALUES (321, 'PGWC', 'localDiameterConfig', 'Local Diameter Config', 'list', '[{"access":"read-write","comment":"","display":"Local Diameter IP","filter":"","name":"ipAddr","type":"string","value":"172.16.5.150"},{"access":"read-write","comment":"","display":"Local Diameter Host Name","filter":"","name":"hostName","type":"string","value":"pgwc.mnc001.mcc001.3gppnetwork.org"},{"access":"read-write","comment":"","display":"Local Diameter Realm Name","filter":"","name":"realmName","type":"string","value":"mnc001.mcc001.3gppnetwork.org"},{"access":"read-write","comment":"","display":"Local Gy Service Context ID","filter":"","name":"gyServiceContextId","type":"string","value":"gy@3gpp"},{"access":"read-write","comment":"","display":"Local Gx Service Context ID","filter":"","name":"gxServiceContextId","type":"string","value":"gx@3gpp"}]', 3, '', 1756349342178, 'public');
|
||||
INSERT INTO "ne_config" VALUES (322, 'PGWC', 'remoteGyCfg', 'Remote Gy Config', 'list', '[{"access":"read-write","comment":"","display":"Remote Gy Enable","filter":"","name":"enable","type":"bool","value":"false"},{"access":"read-write","comment":"e.g. ipv4:port;ipv4:port;ipv4:port","display":"Remote Gy Addresses","filter":"","name":"remoteAddrs","type":"string","value":""}]', 5, '', 1756349342184, 'public');
|
||||
INSERT INTO "ne_config" VALUES (323, 'PGWC', 'remoteGxCfg', 'Remote Gx Config', 'list', '[{"access":"read-write","comment":"","display":"Remote Gx Enable","filter":"","name":"enable","type":"bool","value":"false"},{"access":"read-write","comment":"e.g. ipv4:port;ipv4:port;ipv4:port","display":"Remote Gx Addresses","filter":"","name":"remoteAddrs","type":"string","value":""}]', 7, '', 1756349342188, 'public');
|
||||
INSERT INTO "ne_config" VALUES (324, 'PGWC', 'upfConfig', 'UPF Config', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~2047","name":"index","type":"int","value":""},{"access":"read-write","comment":"","display":"UPF ID","filter":"1~64","name":"id","type":"string","value":""},{"access":"read-write","comment":"e.g. ip:port","display":"Address","filter":"7~45","name":"addr","type":"string","value":""},{"access":"read-write","comment":"IPv4,IPv6,IPv4v6","display":"Ip Pool Type","filter":"","name":"ipPoolType","type":"string","value":"IPv4v6"},{"access":"read-write","comment":"CIDR format, e.g. 192.168.1.0/24","display":"IPv4 Pools","filter":"10~256","name":"ipv4Pools","type":"string","value":""},{"access":"read-write","comment":"CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50","display":"IPv6 Pools","filter":"5~512","name":"ipv6Pools","type":"string","value":""},{"access":"read-write","comment":"","display":"Static IPv4 Enable","filter":"","name":"staticIpv4Enable","type":"bool","value":"false"},{"access":"read-write","comment":"ipv4 format","display":"Static IPv4 Start","filter":"","name":"staticIpv4Start","type":"ipv4","value":""},{"access":"read-write","comment":"ipv4 format","display":"Static IPv4 End","filter":"","name":"staticIpv4End","type":"ipv4","value":""},{"access":"read-write","comment":"","display":"Static IPv6 Enable","filter":"","name":"staticIpv6Enable","type":"bool","value":"false"},{"access":"read-write","comment":"ipv6 format","display":"Static IPv6 Start","filter":"","name":"staticIpv6Start","type":"ipv6","value":""},{"access":"read-write","comment":"ipv6 format","display":"Static IPv6 End","filter":"","name":"staticIpv6End","type":"ipv6","value":""},{"array":[{"access":"read-only","comment":"","display":"Index","filter":"0~2047","name":"index","type":"int","value":""},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"IPv4,IPv6,IPv4v6","display":"Ip Pool Type","filter":"","name":"ipPoolType","type":"string","value":"IPv4v6"},{"access":"read-write","comment":"CIDR format, e.g. 192.168.1.0/24","display":"IPv4 Pools","filter":"10~256","name":"ipv4Pools","type":"string","value":""},{"access":"read-write","comment":"CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50","display":"IPv6 Pools","filter":"5~512","name":"ipv6Pools","type":"string","value":""},{"access":"read-write","comment":"","display":"Static IPv4 Enable","filter":"","name":"staticIpv4Enable","type":"bool","value":"false"},{"access":"read-write","comment":"ipv4 format","display":"Static IPv4 Start","filter":"","name":"staticIpv4Start","type":"ipv4","value":""},{"access":"read-write","comment":"ipv4 format","display":"Static IPv4 End","filter":"","name":"staticIpv4End","type":"ipv4","value":""},{"access":"read-write","comment":"","display":"Static IPv6 Enable","filter":"","name":"staticIpv6Enable","type":"bool","value":"false"},{"access":"read-write","comment":"ipv6 format","display":"Static IPv6 Start","filter":"","name":"staticIpv6Start","type":"ipv6","value":""},{"access":"read-write","comment":"ipv6 format","display":"Static IPv6 End","filter":"","name":"staticIpv6End","type":"ipv6","value":""}],"display":"UE DNN IP Pool","name":"ueDnnIpPool"}]', 9, '', 1756349342193, 'public');
|
||||
INSERT INTO "ne_config" VALUES (325, 'PGWC', 'dnnSelectUpf', 'DNN Select UPF', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~65535","name":"index","type":"int","value":"0"},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"","display":"UPF ID","filter":"1~64","name":"upfId","type":"string","value":""}]', 11, '', 1756349342198, 'public');
|
||||
INSERT INTO "ne_config" VALUES (326, 'PGWC', 'dnnTaiSelectUpf', 'DNN TAI Select UPF', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~65535","name":"index","type":"int","value":""},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"MCC+MNC+TAC","display":"TAI","filter":"1~64","name":"tai","type":"string","value":""},{"access":"read-write","comment":"","display":"UPF ID","filter":"1~64","name":"upfId","type":"string","value":"upf2-Id"}]', 13, '', 1756349342202, 'public');
|
||||
INSERT INTO "ne_config" VALUES (327, 'PGWC', 'localDhcpCfg', 'Local DHCP Config', 'list', '[{"access":"read-write","comment":"","display":"Enable","filter":"","name":"enable","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"Local IP","filter":"","name":"localIp","type":"string","value":""}]', 15, '', 1756349342207, 'public');
|
||||
INSERT INTO "ne_config" VALUES (328, 'PGWC', 'dnnselectdhcpserver', 'DNN Select DHCP Server', 'array', '[{"access":"read-only","comment":"","display":"Index","filter":"0~65535","name":"index","type":"int","value":""},{"access":"read-write","comment":"","display":"Enable","filter":"","name":"enable","type":"bool","value":"false"},{"access":"read-write","comment":"","display":"DNN","filter":"1~64","name":"dnn","type":"string","value":""},{"access":"read-write","comment":"e.g. 192.168.1.1","display":"DHCP Server IP","filter":"","name":"dhcpServerAddr","type":"string","value":""}]', 17, '', 1756349342211, 'public');
|
||||
INSERT INTO "ne_config" VALUES (329, 'PGWC', 'offlineChargingConfig', 'Offline Charging Config', 'list', '[{"access":"read-write","comment":"","display":"CDR File Name","filter":"1~64","name":"cdrFileName","type":"string","value":"smf.cdr"},{"access":"read-write","comment":"","display":"CDR File Path","filter":"1~256","name":"cdrFilePath","type":"string","value":"/var/log/smfCdr"},{"access":"read-write","comment":"","display":"CDR File Num","filter":"1~999999999","name":"cdrFileNum","type":"int","value":"50"},{"access":"read-write","comment":"Megabytes","display":"CDR File Size","filter":"1~999999","name":"cdrFileSize","type":"int","value":"300"},{"access":"read-write","comment":"Days","display":"CDR File Max Age","filter":"0~9999","name":"cdrFileMaxAge","type":"int","value":"30"},{"access":"read-write","comment":"","display":"Free Subscribers CDR Enable","filter":"","name":"freeSubsCdrEnable","type":"bool","value":"false"},{"access":"read-write","comment":"Seconds","display":"Time Threshold","filter":"0~999999999","name":"timeThreshold","type":"int","value":"600"},{"access":"read-write","comment":"Bytes","display":"Volume Threshold","filter":"0~999999999999999","name":"volumeThreshold","type":"int","value":"0"}]', 19, '', 1756349342216, 'public');
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,19 +1,13 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for alarm
|
||||
-- ----------------------------
|
||||
|
||||
DROP TABLE IF EXISTS `alarm`;
|
||||
CREATE TABLE `alarm` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||
`ne_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元名称',
|
||||
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元省份地域',
|
||||
`pv_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元标识虚拟化标识',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 连续递增',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 同网元类型连续递增',
|
||||
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '告警ID',
|
||||
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警标题',
|
||||
`alarm_code` int DEFAULT '0' COMMENT '告警状态码',
|
||||
@@ -35,12 +29,9 @@ CREATE TABLE `alarm` (
|
||||
`clear_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'NotClear' COMMENT '清除状态',
|
||||
`clear_time` bigint DEFAULT '0' COMMENT '清除时间',
|
||||
`clear_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '清除用户',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_uni_ne_aid` (`ne_type`,`ne_id`,`alarm_id`) USING BTREE,
|
||||
KEY `idx_status_severity_time` (`alarm_status`,`orig_severity`,`event_time`) USING BTREE
|
||||
UNIQUE KEY `uk_alarm_aid_aseq_atype` (`ne_uid`, `alarm_id`, `alarm_seq`, `alarm_type`) USING BTREE COMMENT '唯一网元资源产生的ID与序号与状态',
|
||||
KEY `idx_alarm_status_severity_time` (`alarm_status`,`orig_severity`,`event_time`) USING BTREE COMMENT '索引-告警状态_告警级别_事件时间',
|
||||
KEY `idx_alarm_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='告警_记录表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for alarm_event
|
||||
-- ----------------------------
|
||||
|
||||
DROP TABLE IF EXISTS `alarm_event`;
|
||||
CREATE TABLE `alarm_event` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
|
||||
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 连续递增',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 同网元类型连续递增',
|
||||
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '告警ID',
|
||||
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警标题',
|
||||
`alarm_code` int DEFAULT '0' COMMENT '告警状态码',
|
||||
@@ -26,12 +23,11 @@ CREATE TABLE `alarm_event` (
|
||||
`clear_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'NotClear' COMMENT '清除状态',
|
||||
`clear_time` bigint DEFAULT '0' COMMENT '清除时间',
|
||||
`clear_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '清除用户',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_ti_aid_aseq` (`ne_type`,`ne_id`,`alarm_id`,`alarm_seq`) USING BTREE,
|
||||
KEY `idx_astatus_etime` (`alarm_status`,`event_time`) USING BTREE
|
||||
UNIQUE KEY `uk_aevent_aid_aseq` (`ne_uid`, `alarm_id`, `alarm_seq`) USING BTREE COMMENT '唯一网元资源产生的ID与序号与状态',
|
||||
KEY `idx_aevent_status_etime` (`alarm_status`,`event_time`) USING BTREE COMMENT '索引-告警状态_事件时间',
|
||||
KEY `idx_alarm_event_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='告警_事件记录表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `alarm_forward_log`
|
||||
--
|
||||
@@ -8,9 +5,10 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `alarm_forward_log`;
|
||||
CREATE TABLE `alarm_forward_log` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 连续递增',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 同网元类型连续递增',
|
||||
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警ID',
|
||||
`alarm_code` int DEFAULT '0' COMMENT '告警状态码',
|
||||
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警标题',
|
||||
@@ -22,7 +20,8 @@ CREATE TABLE `alarm_forward_log` (
|
||||
`type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '转发方式 SMS/EMAIL',
|
||||
`target` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '发送目标用户',
|
||||
`result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '发送结果',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_alarm_forward_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='告警_转发日志记录';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
-- MariaDB dump 10.19 Distrib 10.6.16-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Table structure for table `alarm_log`
|
||||
--
|
||||
@@ -6,9 +5,10 @@
|
||||
DROP TABLE IF EXISTS `alarm_log`;
|
||||
CREATE TABLE `alarm_log` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 连续递增',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`alarm_seq` int DEFAULT '0' COMMENT '告警序号 同网元类型连续递增',
|
||||
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警ID',
|
||||
`alarm_code` int DEFAULT '0' COMMENT '告警状态码',
|
||||
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '告警标题',
|
||||
@@ -17,7 +17,8 @@ CREATE TABLE `alarm_log` (
|
||||
`orig_severity` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'Minor' COMMENT '严重程度',
|
||||
`event_time` bigint DEFAULT '0' COMMENT '事件产生时间',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_alog_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='告警_日志记录';
|
||||
|
||||
-- Dump completed on 2024-02-18 18:26:55
|
||||
|
||||
@@ -7,14 +7,14 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `cdr_event`;
|
||||
CREATE TABLE `cdr_event` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到的timestamp秒级存储毫秒时间戳',
|
||||
`cdr_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_uid_t` (`rm_uid`,`timestamp`) USING BTREE
|
||||
KEY `idx_cdr_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='CDR事件_基础表结构';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -7,14 +7,14 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `cdr_event_ims`;
|
||||
CREATE TABLE `cdr_event_ims` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到的timestamp秒级存储毫秒时间戳',
|
||||
`cdr_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_ims_uid_t` (`rm_uid`,`timestamp`) USING BTREE
|
||||
KEY `idx_cdr_ims_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='CDR事件_IMS';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -7,14 +7,14 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `cdr_event_sgwc`;
|
||||
CREATE TABLE `cdr_event_sgwc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到的timestamp秒级存储毫秒时间戳',
|
||||
`cdr_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_sgwc_uid_t` (`rm_uid`,`timestamp`) USING BTREE
|
||||
KEY `idx_cdr_sgwc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='CDR事件_SGWC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -7,14 +7,14 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `cdr_event_smf`;
|
||||
CREATE TABLE `cdr_event_smf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到的timestamp秒级存储毫秒时间戳',
|
||||
`cdr_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_smf_uid_t` (`rm_uid`,`timestamp`) USING BTREE
|
||||
KEY `idx_cdr_smf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='CDR事件_SMF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -7,14 +7,14 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `cdr_event_smsc`;
|
||||
CREATE TABLE `cdr_event_smsc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到的timestamp秒级存储毫秒时间戳',
|
||||
`cdr_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_smsc_uid_t` (`rm_uid`,`timestamp`) USING BTREE
|
||||
KEY `idx_cdr_smsc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='CDR事件_SMSC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -8,7 +8,7 @@ CREATE TABLE `core_info` (
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网名称',
|
||||
`sn` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网序列号',
|
||||
`omc_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'OMC安装生成的唯一编码',
|
||||
`time_zone` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '时区 Asia/Hong_Kong',
|
||||
`time_zone` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '时区',
|
||||
`longitude` float DEFAULT '0' COMMENT '经度 -180 to 180',
|
||||
`latitude` float DEFAULT '0' COMMENT '纬度 -90 to 90',
|
||||
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '地址',
|
||||
@@ -21,4 +21,9 @@ CREATE TABLE `core_info` (
|
||||
UNIQUE KEY `uk_core_name_sn` (`name`,`sn`) USING BTREE COMMENT '唯一名称和序号定义'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='核心网_基础信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of core_info
|
||||
-- ----------------------------
|
||||
INSERT INTO `core_info` VALUES (1, 'YYMMDDHH', 'Default', '12345678', 'Omachine', '', 0, 0, '', '', 'admin', 1755863386664, 'admin', 1755863386664);
|
||||
|
||||
-- Dump completed on 2025-06-04 15:26:56
|
||||
|
||||
@@ -7,9 +7,9 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS `kpi_c_report`;
|
||||
CREATE TABLE `kpi_c_report` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +18,7 @@ CREATE TABLE `kpi_c_report` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据记录基础表结构';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_amf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_amf`;
|
||||
CREATE TABLE `kpi_c_report_amf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_amf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_amf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_amf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_AMF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_ausf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_ausf`;
|
||||
CREATE TABLE `kpi_c_report_ausf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_ausf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_ausf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_ausf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_AUSF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_cbc
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_cbc`;
|
||||
CREATE TABLE `kpi_c_report_cbc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_cbc` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_cbc_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_cbc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_CBC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_hlr
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_hlr`;
|
||||
CREATE TABLE `kpi_c_report_hlr` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_hlr` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_hlr_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_hlr_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_HLR';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_ims
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_ims`;
|
||||
CREATE TABLE `kpi_c_report_ims` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_ims` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_ims_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_ims_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_IMS';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_mme
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_mme`;
|
||||
CREATE TABLE `kpi_c_report_mme` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_mme` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_mme_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_mme_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_MME';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_mocngw
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_mocngw`;
|
||||
CREATE TABLE `kpi_c_report_mocngw` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_mocngw` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_mocngw_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_mocngw_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_MOCNGW';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_nssf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_nssf`;
|
||||
CREATE TABLE `kpi_c_report_nssf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_nssf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_nssf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_nssf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_NSSF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_pcf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_pcf`;
|
||||
CREATE TABLE `kpi_c_report_pcf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_pcf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_pcf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_pcf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_PCF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_smf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_smf`;
|
||||
CREATE TABLE `kpi_c_report_smf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_smf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_smf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_smf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_SMF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_smsc
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_smsc`;
|
||||
CREATE TABLE `kpi_c_report_smsc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_smsc` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_smsc_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_smsc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_SMSC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_udm
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_udm`;
|
||||
CREATE TABLE `kpi_c_report_udm` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_udm` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_udm_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_udm_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_UDM';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_c_report_upf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_c_report_upf`;
|
||||
CREATE TABLE `kpi_c_report_upf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_c_report_upf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_c_upf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpic_upf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_创建时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_UPF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report`;
|
||||
CREATE TABLE `kpi_report` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据记录基础表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_amf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_amf`;
|
||||
CREATE TABLE `kpi_report_amf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_amf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_amf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_amf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_AMF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_ausf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_ausf`;
|
||||
CREATE TABLE `kpi_report_ausf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_ausf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_ausf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_ausf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_AUSF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_cbc
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_cbc`;
|
||||
CREATE TABLE `kpi_report_cbc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_cbc` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_cbc_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_cbc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_CBC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_hlr
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_hlr`;
|
||||
CREATE TABLE `kpi_report_hlr` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_hlr` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_hlr_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_hlr_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_HLR';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_ims
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_ims`;
|
||||
CREATE TABLE `kpi_report_ims` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_ims` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_ims_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_ims_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_IMS';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_mme
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_mme`;
|
||||
CREATE TABLE `kpi_report_mme` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_mme` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_mme_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_mme_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_MME';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_mocngw
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_mocngw`;
|
||||
CREATE TABLE `kpi_report_mocngw` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_mocngw` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_mocngw_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_mocngw_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_MOCNGW';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_nssf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_nssf`;
|
||||
CREATE TABLE `kpi_report_nssf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_nssf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_nssf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_nssf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_NSSF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_pcf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_pcf`;
|
||||
CREATE TABLE `kpi_report_pcf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_pcf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_pcf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_pcf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_PCF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_smf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_smf`;
|
||||
CREATE TABLE `kpi_report_smf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_smf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_smf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_smf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_SMF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_smsc
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_smsc`;
|
||||
CREATE TABLE `kpi_report_smsc` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_smsc` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_smsc_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_smsc_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_SMSC';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_udm
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_udm`;
|
||||
CREATE TABLE `kpi_report_udm` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_udm` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_udm_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_udm_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_UDM';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for kpi_report_upf
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `kpi_report_upf`;
|
||||
CREATE TABLE `kpi_report_upf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss',
|
||||
`start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss',
|
||||
`end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss',
|
||||
@@ -18,7 +15,5 @@ CREATE TABLE `kpi_report_upf` (
|
||||
`kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_upf_uid_at` (`rm_uid`,`created_at`) USING BTREE
|
||||
KEY `idx_kpi_upf_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `created_at` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_UPF';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -5,14 +5,15 @@
|
||||
DROP TABLE IF EXISTS `mml_log`;
|
||||
CREATE TABLE `mml_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`user` varchar(32) DEFAULT NULL,
|
||||
`ip` varchar(64) DEFAULT NULL,
|
||||
`ne_type` varchar(32) DEFAULT NULL,
|
||||
`ne_id` varchar(32) DEFAULT NULL,
|
||||
`command` varchar(512) DEFAULT NULL COMMENT '命令 ; 分隔',
|
||||
`result` varchar(255) DEFAULT NULL COMMENT '成功和有错误',
|
||||
`log_time` bigint DEFAULT '0' COMMENT '记录时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- Dump completed on 2024-03-06 17:26:56
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
--
|
||||
-- Table structure for table `nb_state`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `nb_state`;
|
||||
CREATE TABLE `nb_state` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型 AMF MME',
|
||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
|
||||
`rm_uid` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '资源唯一标识',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '基站IP地址',
|
||||
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '基站名称',
|
||||
@@ -16,7 +15,5 @@ CREATE TABLE `nb_state` (
|
||||
`state` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'OFF' COMMENT '基站状态 OFF ON',
|
||||
`time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '状态时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_state_type_id_uid_cat` (`ne_type`,`ne_id`,`rm_uid`,`create_time`) USING BTREE COMMENT '唯一网元类型和ID'
|
||||
KEY `idx_nbst_cn_uid_at` (`core_uid` DESC, `ne_uid` DESC, `ne_type` DESC, `create_time` DESC) USING BTREE COMMENT '索引-核心网_资源标识_记录时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='基站_状态记录表';
|
||||
|
||||
-- Dump completed on 2025-02-08 12:50:13
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
-- MariaDB dump 10.19 Distrib 10.6.16-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Table structure for table `ne_config_backup`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ne_config_backup`;
|
||||
CREATE TABLE `ne_config_backup` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`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',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '压缩包名称',
|
||||
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '压缩包位置',
|
||||
`remark` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||
@@ -16,7 +15,5 @@ CREATE TABLE `ne_config_backup` (
|
||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_cb_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '网元类型_网元ID'
|
||||
KEY `idx_cfgbak_uid_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_配置文件备份记录';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_host`
|
||||
--
|
||||
@@ -27,9 +24,11 @@ CREATE TABLE `ne_host` (
|
||||
UNIQUE KEY `uk_type_group_title` (`host_type`,`group_id`,`title`) USING BTREE COMMENT '同组内名称唯一'
|
||||
) 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', '2', '', '', '', '', '', 'system', 1729063407329, '', 0);
|
||||
INSERT INTO `ne_host` VALUES (2, 'telnet', '1', 'OMC_001_4100', '127.0.0.1', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'system', 1729063407329, '', 0);
|
||||
--
|
||||
-- Dumping data for table `ne_host`
|
||||
--
|
||||
INSERT INTO `ne_host` VALUES (1, 'ssh', '1', 'OMC_001_22', '127.0.0.1', 22, 'omcuser', '2', '', '', '', '', '', 'system', 1756089865994, 'system', 1756089865994);
|
||||
INSERT INTO `ne_host` VALUES (2, 'telnet', '1', 'OMC_001_4100', '127.0.0.1', 4100, 'admin', '0', 'NUBonCin4GZgl7o12YjeClE8ToQmYp9KWdhMjSNxc2M=', '', '', '', '', 'system', 1756089865994, 'system', 1756089865994);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_host_cmd`
|
||||
--
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `ne_host_cmd`;
|
||||
CREATE TABLE `ne_host_cmd` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '命令主键',
|
||||
@@ -21,7 +16,3 @@ CREATE TABLE `ne_host_cmd` (
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `uk_host_type_group_title`(`cmd_type` ASC, `group_id` ASC, `title` ASC) USING BTREE COMMENT '同组内名称唯一'
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元主机命令表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS `ne_info`;
|
||||
CREATE TABLE `ne_info` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '网元ID',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元ID',
|
||||
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元资源唯一标识',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元名称',
|
||||
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元服务IP',
|
||||
`ip_addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元服务IP',
|
||||
`port` int DEFAULT '0' COMMENT '端口',
|
||||
`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 DEFAULT 'AreaNet' COMMENT '省份地域',
|
||||
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '厂商名称',
|
||||
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '网络标识',
|
||||
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'MAC地址',
|
||||
`mac_addr` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'MAC地址',
|
||||
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet) UDM(ssh,telnet,redis) UPF(ssh,telnet,telnet)',
|
||||
`status` int DEFAULT '0' COMMENT '网元状态 0离线 1在线 2配置待下发 3备用模式',
|
||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||
@@ -26,12 +23,10 @@ CREATE TABLE `ne_info` (
|
||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `ux_netype_neid` (`ne_type`,`ne_id`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_基础信息表 关联对应版本、授权、主机';
|
||||
UNIQUE KEY `uk_core_ne_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '唯一核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_基础信息表 关联创建版本、授权、主机';
|
||||
|
||||
-- 初始网元数据
|
||||
INSERT INTO `ne_info` VALUES (1, 'OMC', '001', '4400HXOMC001', 'OMC_001', '127.0.0.1', 33030, 'PNF', 'AreaNet', '-', '-', '-', '1,2', 0, '', 'system', 1713928436971, '', 0);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
--
|
||||
-- Dumping data for table `ne_info`
|
||||
--
|
||||
INSERT INTO `ne_info` VALUES (1, 'YYMMDDHH', 'DCTHWYBT', 'OMC', 'OMC_001', '127.0.0.1', 33080, 'PNF', 'Area', '', '', '', '1,2', 1, '', 'system', 1755861727150, 'system', 1756286314456);
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_license`
|
||||
--
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `ne_license`;
|
||||
CREATE TABLE `ne_license` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`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',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL 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 DEFAULT '' COMMENT '激活授权文件',
|
||||
`capability` bigint DEFAULT '0' 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 DEFAULT '-' COMMENT '许可证到期日期',
|
||||
`ue_number` bigint DEFAULT '0' COMMENT '用户容量',
|
||||
`nb_number` bigint DEFAULT '0' COMMENT '基站容量',
|
||||
`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 DEFAULT '' COMMENT '备注',
|
||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
|
||||
@@ -23,12 +20,10 @@ CREATE TABLE `ne_license` (
|
||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_lic_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID'
|
||||
UNIQUE KEY `uk_lic_core_ne_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '唯一核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_授权激活信息';
|
||||
|
||||
-- 初始数据对应网元
|
||||
INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
--
|
||||
-- Dumping data for table `ne_license`
|
||||
--
|
||||
INSERT INTO `ne_license` VALUES (1, 'YYMMDDHH', 'DCTHWYBT', 'OMC', '', '', '-', '-', 0, 0, '1', '', 'system', 1756089692896, 'system', 1756173372114);
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_software`
|
||||
--
|
||||
@@ -19,7 +16,3 @@ CREATE TABLE `ne_software` (
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_type_name_version` (`ne_type`,`name`,`version`) USING BTREE COMMENT '唯一网元类型和文件名版本是否唯一'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元_软件包';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_state`
|
||||
--
|
||||
DROP TABLE IF EXISTS `ne_state`;
|
||||
CREATE TABLE `ne_state` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`version` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '版本',
|
||||
`capability` bigint DEFAULT '0' COMMENT '用户容量',
|
||||
`serial_num` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '序列号',
|
||||
@@ -20,7 +18,5 @@ CREATE TABLE `ne_state` (
|
||||
`nf_mem_used` bigint DEFAULT '0' COMMENT '内存使用KB-nf',
|
||||
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_type_id_time` (`ne_type`,`ne_id`,`create_time`) USING BTREE COMMENT 'idx_state_ne_type_id_at'
|
||||
KEY `idx_state_uid_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_状态记录内存/CPU/磁盘';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
--
|
||||
-- Table structure for table `ne_version`
|
||||
--
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `ne_version`;
|
||||
CREATE TABLE `ne_version` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`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',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前包名',
|
||||
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '当前版本',
|
||||
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前软件包',
|
||||
@@ -26,12 +22,10 @@ CREATE TABLE `ne_version` (
|
||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
|
||||
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_ver_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和ID'
|
||||
UNIQUE KEY `uk_ver_core_ne_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '唯一核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_版本信息';
|
||||
|
||||
-- 初始数据对应网元
|
||||
INSERT INTO `ne_version` VALUES (1, 'OMC', '001', '', '', '', '', '', '', '', '', '', '0', 'system', 1729063407329, '', 0);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
--
|
||||
-- Dumping data for table `ne_version`
|
||||
--
|
||||
INSERT INTO `ne_version` VALUES (1, 'YYMMDDHH', 'DCTHWYBT', 'OMC', '-', '-', '-', '', '', '', '', '', '', '', 'system', 1756089685222, 'system', 1756089866077);
|
||||
|
||||
@@ -26,7 +26,7 @@ INSERT INTO `sys_i18n` VALUES (8, 'menu.systemRemark', '系统管理目录', 'Sy
|
||||
INSERT INTO `sys_i18n` VALUES (9, 'menu.monitorRemark', '系统监控目录', 'System Monitor Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (10, 'menu.toolsRemark', '系统工具目录', 'System Tools Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (11, 'menu.neRemark', '网元配置管理目录', 'NE Configuration Management Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (12, 'menu.ueRemark', '网元终端信息目录', 'Network Element Terminal Information Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (12, 'menu.ueRemark', '终端开户信息目录', 'UE Information Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (13, 'menu.security.user', '用户管理', 'User Management');
|
||||
INSERT INTO `sys_i18n` VALUES (14, 'menu.security.role', '角色管理', 'Role Management');
|
||||
INSERT INTO `sys_i18n` VALUES (15, 'menu.security.roleUser', '分配角色', 'Assigning Roles');
|
||||
@@ -79,14 +79,14 @@ INSERT INTO `sys_i18n` VALUES (61, 'menu.neData.udmAuth', 'UDM鉴权用户', 'UD
|
||||
INSERT INTO `sys_i18n` VALUES (62, 'menu.neData.udmSub', 'UDM签约用户', 'UDM Subscribers');
|
||||
INSERT INTO `sys_i18n` VALUES (63, 'menu.neData.udmVOIP', 'VOIP鉴权用户', 'VOIP Authentication');
|
||||
INSERT INTO `sys_i18n` VALUES (64, 'menu.neData.udmVolte', 'IMS签约用户', 'IMS Subscribers');
|
||||
INSERT INTO `sys_i18n` VALUES (65, 'menu.neData.imsSub', 'IMS在线用户', 'IMS Online Users');
|
||||
INSERT INTO `sys_i18n` VALUES (66, 'menu.neData.smfSub', 'UE在线信息', 'UE Online Information');
|
||||
INSERT INTO `sys_i18n` VALUES (65, 'menu.neData.imsSub', 'IMS在线语音会话', 'IMS Online Voice Session');
|
||||
INSERT INTO `sys_i18n` VALUES (66, 'menu.neData.smfSub', 'SMF在线数据会话', 'SMF Online Data Session');
|
||||
INSERT INTO `sys_i18n` VALUES (67, 'menu.neData.baseOnline', '基站在线', 'Radio Online');
|
||||
INSERT INTO `sys_i18n` VALUES (68, 'menu.trace', '跟踪', 'Trace');
|
||||
INSERT INTO `sys_i18n` VALUES (69, 'menu.trace.task', '网元跟踪任务', 'NE Trace Task');
|
||||
INSERT INTO `sys_i18n` VALUES (70, 'menu.trace.taskData', '网元跟踪任务数据', 'NE Trace Task Data');
|
||||
INSERT INTO `sys_i18n` VALUES (71, 'menu.trace.pcap', '信令抓包', 'Signaling Capture');
|
||||
INSERT INTO `sys_i18n` VALUES (72, 'menu.fault', '监控', 'Monitor');
|
||||
-- INSERT INTO `sys_i18n` VALUES (72, 'menu.fault', '告警', 'Alarm');
|
||||
INSERT INTO `sys_i18n` VALUES (73, 'config.neData.backupDataFTP', '备份网元数据-同步FTP服务', 'Backup NE Data - Sync Data FTP Service');
|
||||
INSERT INTO `sys_i18n` VALUES (74, 'config.neData.backupDataFTPRemark', '请通过系统页面进行设置FTP信息', 'Please set the FTP information through the system page.');
|
||||
INSERT INTO `sys_i18n` VALUES (75, 'job.backup_export_table_sys_log_operate_remark', 'hour: 数据时间从任务执行时间前的小时数\ntableName: 数据表名\ncolumns: 支持字段\nbackupPath: 备份输出路径 /usr/local/omc/backup/{backupPath}', 'hour: data time from the hour before the task execution time \ntableName: data table name \ncolumns: support fields \nbackupPath: backup output path /usr/local/omc/backup/{backupPath}');
|
||||
@@ -98,11 +98,11 @@ INSERT INTO `sys_i18n` VALUES (80, 'config.sys.user.fristPasswdChange', '用户
|
||||
INSERT INTO `sys_i18n` VALUES (81, 'menu.trace.pcapRemark', '信令抓包菜单', 'Signaling Capture Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (82, 'menu.faultRemark', '故障管理目录', 'Fault Management Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (83, 'menu.fault.active', '活动告警', 'Active Alarms');
|
||||
INSERT INTO `sys_i18n` VALUES (84, 'menu.log', '日志', 'Logs');
|
||||
-- INSERT INTO `sys_i18n` VALUES (84, 'menu.log', '日志', 'Logs');
|
||||
INSERT INTO `sys_i18n` VALUES (85, 'menu.log.mml', 'MML日志', 'MML Logs');
|
||||
INSERT INTO `sys_i18n` VALUES (86, 'menu.log.alarm', '告警日志', 'Alarm Logs');
|
||||
INSERT INTO `sys_i18n` VALUES (87, 'menu.log.forwarding', '告警前转日志', 'Alarm Forwarding Logs');
|
||||
INSERT INTO `sys_i18n` VALUES (88, 'menu.log.set', '日志设置', 'Log Settings');
|
||||
-- INSERT INTO `sys_i18n` VALUES (88, 'menu.log.set', '日志设置', 'Log Settings');
|
||||
INSERT INTO `sys_i18n` VALUES (89, 'menu.monitor.sessionUser', '用户会话', 'User Sessions');
|
||||
INSERT INTO `sys_i18n` VALUES (90, 'menu.fault.history', '历史告警', 'Historical Alarms');
|
||||
INSERT INTO `sys_i18n` VALUES (91, 'menu.fault.set', '设置', 'Settings');
|
||||
@@ -114,7 +114,7 @@ INSERT INTO `sys_i18n` VALUES (96, 'menu.log.mmlRemark', '操作MML日志', 'Ope
|
||||
INSERT INTO `sys_i18n` VALUES (97, 'menu.log.alarmRemark', '告警日志菜单', 'Alarm Log Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (98, 'menu.log.securityOldRemark', '安全日志旧layui菜单', 'Security Log Old Layui Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (99, 'menu.log.forwardingRemark', '告警前转日志菜单', 'Alarm forward log menu');
|
||||
INSERT INTO `sys_i18n` VALUES (100, 'menu.log.setRemark', '日志设置菜单', 'Log Settings menu');
|
||||
-- INSERT INTO `sys_i18n` VALUES (100, 'menu.log.setRemark', '日志设置菜单', 'Log Settings menu');
|
||||
INSERT INTO `sys_i18n` VALUES (101, 'menu.monitor.sessionUserRemark', '用户会话旧layui菜单', 'User Session Old Layui Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (102, 'menu.fault.historyRemark', '历史告警菜单', 'Alarm history menu');
|
||||
INSERT INTO `sys_i18n` VALUES (103, 'menu.fault.setRemark', '故障通用设置菜单', 'Fault General Setup Menu');
|
||||
@@ -137,18 +137,18 @@ INSERT INTO `sys_i18n` VALUES (119, 'menu.dashboard.smscCDR.content', '可见短
|
||||
INSERT INTO `sys_i18n` VALUES (120, 'menu.perf.thresholdRemark', '性能门限菜单', 'Performance Threshold Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (121, 'menu.perf.kpiRemark', '黄金指标菜单', 'Key Performance Indicator Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (122, 'menu.perf.customTargetRemark', '自定义指标菜单', 'Custom Indicator Management Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (123, 'menu.dashboard.smfCDRByIMSI', '数据流量报表', 'Data Usage Report');
|
||||
INSERT INTO `sys_i18n` VALUES (123, 'menu.dashboard.smfCDRByIMSI', 'SMF数据流量报表', 'SMF Data Usage Report');
|
||||
INSERT INTO `sys_i18n` VALUES (124, 'menu.mmlRemark', 'MML管理目录', 'MML Management Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (125, 'menu.mml.neRemark', '网元操作菜单', 'Network Element Operations Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (126, 'menu.mml.udmRemark', '网元UDM用户数据菜单', 'Network Element UDM User Data Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (127, 'menu.mml.setRemark', 'MML设置菜单', 'MML Setup Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (128, 'menu.mml.omcRemark', 'OMC操作菜单', 'OMC Operation Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (129, 'menu.dashboard.sgwcCDR', '漫游数据话单', 'Roaming Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (130, 'menu.security', '安全', 'Security');
|
||||
INSERT INTO `sys_i18n` VALUES (130, 'menu.neData', '网元数据查询', 'NE Data Query');
|
||||
INSERT INTO `sys_i18n` VALUES (131, 'menu.system.systemSet', '系统设置', 'System Settings');
|
||||
INSERT INTO `sys_i18n` VALUES (132, 'menu.system.systemResource', '系统资源', 'System Resources');
|
||||
INSERT INTO `sys_i18n` VALUES (133, 'log.operate.title.sgwcCDR', '漫游数据话单', 'Roaming Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (134, 'menu.securityRemark', '安全管理目录', 'Security Management Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (134, 'menu.neDataRemark', '数据查询管理目录', 'Data Query Management Catalog');
|
||||
INSERT INTO `sys_i18n` VALUES (135, 'menu.system.systemSetRemark', '系统设置菜单', 'System Settings Menu');
|
||||
INSERT INTO `sys_i18n` VALUES (136, 'menu.system.systemResourceRemark', '系统资源 cpu io network菜单', 'System Resources cpu io network menu');
|
||||
INSERT INTO `sys_i18n` VALUES (137, 'dictData.offline', '离线', 'Offline');
|
||||
@@ -311,7 +311,7 @@ INSERT INTO `sys_i18n` VALUES (293, 'job.delete_ne_config_backup', '删除-过
|
||||
INSERT INTO `sys_i18n` VALUES (294, 'job.delete_ne_config_backup_remark', 'storeDays:表示保留最近天数的数据记录\r\nstoreNum:保留数量,默认保留7个', 'storeDays: indicates that the most recent days of data records are kept.\r\nstoreNum: the number of reservations, the default reservation is 7.');
|
||||
INSERT INTO `sys_i18n` VALUES (295, 'job.delete_kpi_record', '删除-过期指标记录', 'Delete-Expired KPI Records');
|
||||
INSERT INTO `sys_i18n` VALUES (296, 'job.delete_kpi_record_remark', 'storeDays:表示保留最近天数的数据记录\r\nneList:表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained\r\nneList: Indicates the type of network elements matched');
|
||||
INSERT INTO `sys_i18n` VALUES (297, 'menu.neData.backupData', '导出文件', 'Exponted File');
|
||||
INSERT INTO `sys_i18n` VALUES (297, 'menu.neData.backupData', '备份文件查询', 'Backup File Query');
|
||||
INSERT INTO `sys_i18n` VALUES (298, 'config.sys.user.passwordPolicyNot', '未配置密码策略', 'Password policy not configured');
|
||||
INSERT INTO `sys_i18n` VALUES (299, 'job.export.jobID', '任务编号', 'ID');
|
||||
INSERT INTO `sys_i18n` VALUES (300, 'job.export.jobName', '任务名称', 'Name');
|
||||
@@ -476,9 +476,9 @@ INSERT INTO `sys_i18n` VALUES (458, 'dictData.active_alarm_type.environmental',
|
||||
INSERT INTO `sys_i18n` VALUES (459, 'dictData.active_alarm_type.qualityOfService', '服务质量', 'Quality of Service Alarm');
|
||||
INSERT INTO `sys_i18n` VALUES (460, 'dictType.active_clear_type', '告警清除类型', 'Alarm Clearing Types');
|
||||
INSERT INTO `sys_i18n` VALUES (461, 'dictType.active_clear_type_remark', '告警清除类型列表', 'List of Alarm Clearing Types');
|
||||
INSERT INTO `sys_i18n` VALUES (462, 'dictData.active_clear_type.notCleared', '告警未清除', 'Not cleared');
|
||||
INSERT INTO `sys_i18n` VALUES (463, 'dictData.active_clear_type.hand', '手动清除', 'Manually cleared');
|
||||
INSERT INTO `sys_i18n` VALUES (464, 'dictData.active_clear_type.auto', '自动清除', 'Automatically cleared');
|
||||
INSERT INTO `sys_i18n` VALUES (462, 'dictData.active_clear_type.notCleared', '告警未清除', 'Not Clear');
|
||||
INSERT INTO `sys_i18n` VALUES (463, 'dictData.active_clear_type.hand', '手动清除', 'Manual Clear');
|
||||
INSERT INTO `sys_i18n` VALUES (464, 'dictData.active_clear_type.auto', '自动清除', 'Auto Clear');
|
||||
INSERT INTO `sys_i18n` VALUES (465, 'dictType.active_ack_state', '告警确认类型', 'Alarm Acknowledgement Types');
|
||||
INSERT INTO `sys_i18n` VALUES (466, 'dictType.active_ack_state_remark', '告警确认类型列表', 'Alarm Acknowledgement Type List');
|
||||
INSERT INTO `sys_i18n` VALUES (467, 'dictData.active_ack_state.unconfirmed', '未确认', 'Not Confirm');
|
||||
@@ -529,7 +529,7 @@ INSERT INTO `sys_i18n` VALUES (511, 'sys.account.captchaType', '账号自助-验
|
||||
INSERT INTO `sys_i18n` VALUES (512, 'sys.account.captchaTypeRemark', '使用验证码类型(math数值计算,char字符验证)', 'Using CAPTCHA types (math numeric calculation, char character validation)');
|
||||
INSERT INTO `sys_i18n` VALUES (513, 'menu.dashboard', '仪表盘', 'Dashboard');
|
||||
INSERT INTO `sys_i18n` VALUES (514, 'menu.dashboard.overview', '总览', 'Overview');
|
||||
INSERT INTO `sys_i18n` VALUES (515, 'menu.dashboard.imsCDR', '语音话单', 'Voice CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (515, 'menu.dashboard.imsCDR', 'IMS语音话单', 'IMS Voice CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (516, 'dictType.cdr_sip_code', 'IMS-Voice-SIP响应代码类别类型', 'IMS-Voice-SIP Response Code Category Type');
|
||||
INSERT INTO `sys_i18n` VALUES (517, 'dictType.cdr_call_type', 'IMS-呼叫类型', 'IMS-Call Type');
|
||||
INSERT INTO `sys_i18n` VALUES (518, 'dictType.ue_auth_code', 'UE 事件认证代码类型', 'UE Event Authentication Code Type');
|
||||
@@ -633,15 +633,15 @@ INSERT INTO `sys_i18n` VALUES (615, 'dictData.ne_version_status.1', '已是最
|
||||
INSERT INTO `sys_i18n` VALUES (616, 'dictData.ne_version_status.2', '上一版本', 'Previous');
|
||||
INSERT INTO `sys_i18n` VALUES (617, 'dictData.ne_version_status.3', '有新版本', 'Has New');
|
||||
INSERT INTO `sys_i18n` VALUES (618, 'menu.fault.event', '事件通知', 'Event Notification');
|
||||
INSERT INTO `sys_i18n` VALUES (619, 'menu.dashboard.smfCDR', '数据话单', 'Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (620, 'log.operate.title.smfCDR', '数据话单', 'Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (619, 'menu.dashboard.smfCDR', 'SMF数据话单', 'SMF Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (620, 'log.operate.title.smfCDR', 'SMF数据话单', 'SMF Data CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (621, 'config.sys.i18nDefaultRemark', '国际化默认语言可选择 en_US、zh_CN', 'Internationalization default language selectable en_US、zh_CN');
|
||||
INSERT INTO `sys_i18n` VALUES (622, 'config.sys.i18nOpenRemark', '是否显示切换的控件 true/false', 'Whether to display switched controls true/false');
|
||||
INSERT INTO `sys_i18n` VALUES (623, 'menu.dashboard.mmeUE', '4G 终端事件', '4G UE Events');
|
||||
INSERT INTO `sys_i18n` VALUES (624, 'log.operate.title.mmeUE', '4G 终端事件', '4G UE Events');
|
||||
INSERT INTO `sys_i18n` VALUES (625, 'menu.system.user.editPost', '修改用户岗位', 'Modify User Post');
|
||||
INSERT INTO `sys_i18n` VALUES (626, 'menu.dashboard.smscCDR', '短信话单', 'SMS CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (627, 'log.operate.title.smscCDR', '短信话单', 'SMS CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (626, 'menu.dashboard.smscCDR', 'SMSC短信话单', 'SMSC SMS CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (627, 'log.operate.title.smscCDR', 'SMSC短信话单', 'SMSC SMS CDR');
|
||||
INSERT INTO `sys_i18n` VALUES (628, 'menu.trace.pcapFile', '信令抓包文件', 'Signaling Capture File');
|
||||
INSERT INTO `sys_i18n` VALUES (629, 'menu.trace.taskAnalyze', '网元跟踪任务分析', 'NE Trace Task Analysis');
|
||||
INSERT INTO `sys_i18n` VALUES (630, 'job.ne_data_udm', '网元数据-UDM用户数据同步', 'NE Data-Sync UDM Data');
|
||||
@@ -658,7 +658,7 @@ INSERT INTO `sys_i18n` VALUES (640, 'cache.name.oauth2_codes', '客户端授权
|
||||
INSERT INTO `sys_i18n` VALUES (641, 'cache.name.oauth2_devices', '客户端令牌', 'Oauth2 Token');
|
||||
INSERT INTO `sys_i18n` VALUES (642, 'job.backup_export_cdr', '备份-CDR数据定期导出', 'Backup-Periodic export of CDR Data');
|
||||
INSERT INTO `sys_i18n` VALUES (643, 'job.backup_export_cdr_remark', 'dataType: 类型支持 ims/smf/sgwc/smsc\nfileType: 文件类型 csv/xlsx\nhour: 数据时间从任务执行时间前的小时数', 'Backup-Periodic export of dataType: type support ims/smf/sgwc/smsc\nfileType: file type csv/xlsx\nhour: data time from the hour before the task execution time');
|
||||
INSERT INTO `sys_i18n` VALUES (644, 'menu.log.exportFile', '导出文件', 'Exported File');
|
||||
-- INSERT INTO `sys_i18n` VALUES (644, 'menu.log.exportFile', '导出文件', 'Exported File');
|
||||
INSERT INTO `sys_i18n` VALUES (645, 'menu.perf.kpiCReport', '自定义指标数据', 'Custom Indicator Data');
|
||||
INSERT INTO `sys_i18n` VALUES (646, 'menu.trace.taskHLR', 'HLR 跟踪任务', 'HLR Trace Task');
|
||||
INSERT INTO `sys_i18n` VALUES (647, 'dictType.cdr_cause_code', 'CDR 响应原因代码类别类型', 'CDR Response Reason Code Category Type');
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
--
|
||||
-- Table structure for table `trace_task`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `trace_task`;
|
||||
CREATE TABLE `trace_task` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||||
@@ -18,9 +17,8 @@ CREATE TABLE `trace_task` (
|
||||
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
|
||||
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '' COMMENT '任务标题',
|
||||
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '' COMMENT '备注',
|
||||
`ne_list` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元列表 neType_neId 例如 UDM_001,AMF_001',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_list` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元列表 neUid,neUid',
|
||||
`notify_url` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '信息数据通知回调地址UDP 例如udp:192.168.5.58:33033',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='跟踪_任务';
|
||||
|
||||
-- Dump completed on 2025-04-14 14:26:59
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
--
|
||||
-- Table structure for table `udm_auth`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `udm_auth`;
|
||||
CREATE TABLE `udm_auth` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`imsi` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'SIM卡/USIM卡ID',
|
||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||
`amf` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AMF',
|
||||
`status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '状态',
|
||||
`ki` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'ki',
|
||||
`algo_index` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'algoIndex',
|
||||
`opc` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'OPC',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_auth_imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_neid唯一主键'
|
||||
UNIQUE KEY `uk_udm_auth_imsi_ne` (`ne_uid`,`imsi`) USING BTREE COMMENT '唯一主键-IMSI_网元ID',
|
||||
KEY `idx_udm_auth_uid_type` (`core_uid`,`ne_uid`,`ne_type`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='UDM用户数据_鉴权';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
--
|
||||
-- Table structure for table `udm_extend`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `udm_extend`;
|
||||
CREATE TABLE `udm_extend` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '默认ID',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`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 '用户电话号码',
|
||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_ne唯一索引'
|
||||
UNIQUE KEY `uk_udm_extend_imsi_ne` (`ne_uid`,`imsi`,`msisdn`) USING BTREE COMMENT '唯一索引-SIM卡_网元标识',
|
||||
KEY `idx_udm_extend_uid_type` (`core_uid`,`ne_uid`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM用户数据_IMSI扩展信息';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
--
|
||||
-- Table structure for table `udm_sub`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `udm_sub`;
|
||||
CREATE TABLE `udm_sub` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`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 '用户电话号码',
|
||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||
`am_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData',
|
||||
`ambr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubUeAMBRTemp',
|
||||
`nssai` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'AmData SubSNSSAITemp',
|
||||
@@ -36,7 +37,6 @@ CREATE TABLE `udm_sub` (
|
||||
`smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel',
|
||||
`cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_sub_imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_neid唯一主键'
|
||||
UNIQUE KEY `uk_udm_sub_imsi_ne` (`ne_uid`,`imsi`,`msisdn`) USING BTREE COMMENT '唯一索引-SIM卡_网元标识',
|
||||
KEY `idx_udm_sub_uid_type` (`core_uid`,`ne_uid`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM用户数据_签约';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
--
|
||||
-- Table structure for table `udm_voip`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `udm_voip`;
|
||||
CREATE TABLE `udm_voip` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户名',
|
||||
`password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '密码',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_voip_user_ne` (`username`,`ne_id`) USING BTREE COMMENT 'user_neid唯一主键'
|
||||
UNIQUE KEY `uk_udm_voip_smsc_uid_type` (`ne_uid`,`username`) USING BTREE COMMENT '唯一主键-用户名_网元ID',
|
||||
KEY `idx_udm_voip_uid_type` (`core_uid`,`ne_uid`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='UDM用户数据_VOIP';
|
||||
|
||||
-- Dump completed on 2025-04-22 15:26:56
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
--
|
||||
-- Table structure for table `udm_volte_ims`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `udm_volte_ims`;
|
||||
CREATE TABLE `udm_volte_ims` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`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 '用户电话号码',
|
||||
`ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UDM网元标识',
|
||||
`tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '0=VoIP, 1=VoLTE',
|
||||
`vni` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'VNI',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `uk_volte_imsi_ne` (`imsi`,`msisdn`,`ne_id`) USING BTREE COMMENT 'imsi_msisdn_neid唯一主键',
|
||||
KEY `idx_volte_tag` (`tag`) USING BTREE COMMENT 'tag索引'
|
||||
UNIQUE KEY `uk_udm_volte_imsi_ne` (`ne_uid`,`imsi`,`msisdn`) USING BTREE COMMENT 'imsi_msisdn_neid唯一主键',
|
||||
KEY `idx_udm_volte_uid_tag` (`core_uid`,`ne_uid`,`tag`) USING BTREE COMMENT '索引-核心网_资源标识_类型'
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM用户数据_VolteIMS用户';
|
||||
|
||||
-- Dump completed on 2025-04-22 15:26:56
|
||||
|
||||
@@ -4,15 +4,13 @@
|
||||
DROP TABLE IF EXISTS `ue_event`;
|
||||
CREATE TABLE `ue_event` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '可能没有',
|
||||
`timestamp` bigint DEFAULT '48' COMMENT '接收到的时间',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到时间戳',
|
||||
`event_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '事件类型',
|
||||
`event_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_type_t` (`event_type`,`timestamp`) USING BTREE
|
||||
KEY `idx_ue_uid_type_at` (`core_uid` DESC, `ne_uid` DESC,`event_type` DESC, `timestamp` DESC) USING BTREE COMMENT '索引-核心网_资源标识_类型_时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UE事件_基础表结构';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
DROP TABLE IF EXISTS `ue_event_amf`;
|
||||
CREATE TABLE `ue_event_amf` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '可能没有',
|
||||
`timestamp` bigint DEFAULT '48' COMMENT '接收到的时间',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到时间戳',
|
||||
`event_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '事件类型',
|
||||
`event_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_amf_type_t` (`event_type`,`timestamp`) USING BTREE
|
||||
KEY `idx_ue_amf_uid_type_at` (`core_uid` DESC, `ne_uid` DESC,`event_type` DESC, `timestamp` DESC) USING BTREE COMMENT '索引-核心网_资源标识_类型_时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UE事件_AMF终端接入';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
DROP TABLE IF EXISTS `ue_event_mme`;
|
||||
CREATE TABLE `ue_event_mme` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
|
||||
`rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '可能没有',
|
||||
`timestamp` bigint DEFAULT '48' COMMENT '接收到的时间',
|
||||
`core_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '核心网唯一标识',
|
||||
`ne_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元唯一标识',
|
||||
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网元类型',
|
||||
`timestamp` bigint DEFAULT '0' COMMENT '接收到时间戳',
|
||||
`event_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '事件类型',
|
||||
`event_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'data JSON String',
|
||||
`created_at` bigint DEFAULT '0' COMMENT '记录创建存储毫秒',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_mme_type_t` (`event_type`,`timestamp`) USING BTREE
|
||||
KEY `idx_ue_mme_uid_type_at` (`core_uid` DESC, `ne_uid` DESC,`event_type` DESC, `timestamp` DESC) USING BTREE COMMENT '索引-核心网_资源标识_类型_时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UE事件_MME终端接入';
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -47,7 +47,7 @@ database:
|
||||
port: 13306 # mysql port
|
||||
username: "root" # mysql username
|
||||
password: "1000omc@kp!" # mysql password
|
||||
database: "omc_db_mainv2" # mysql database
|
||||
database: "omc_db_mainv3" # mysql database
|
||||
logging: true
|
||||
# lite: lite
|
||||
lite:
|
||||
|
||||
@@ -469,23 +469,23 @@ amf:
|
||||
type: "int"
|
||||
value: "0"
|
||||
access: "read-only"
|
||||
filter: "0~15"
|
||||
filter: "0-32"
|
||||
display: "Index"
|
||||
comment: "0~15"
|
||||
comment: "Max 32"
|
||||
- name: "plmnId"
|
||||
type: "regex"
|
||||
value: "00101"
|
||||
access: "read-write"
|
||||
filter: "^[0-9]{5,6}$"
|
||||
display: "PLMN ID"
|
||||
comment: ""
|
||||
comment: "MCC and MNC is less than 6 digits."
|
||||
- name: "tac"
|
||||
type: "string"
|
||||
value: "1"
|
||||
access: "read-write"
|
||||
filter: "0~8"
|
||||
filter: "0-16777215"
|
||||
display: "TAC"
|
||||
comment: "0~16777215"
|
||||
comment: "Multiple TACs separated by commas (tac1,tac2)"
|
||||
slice:
|
||||
display: "AMF Support Slice List"
|
||||
sort: 11
|
||||
|
||||
534
local/param/pgwc_param_config.yaml
Normal file
534
local/param/pgwc_param_config.yaml
Normal file
@@ -0,0 +1,534 @@
|
||||
pgwc:
|
||||
pgwcSystem:
|
||||
display: "PGWC Sytem Config"
|
||||
sort: 1
|
||||
list:
|
||||
- name: "s58Ip"
|
||||
type: "string"
|
||||
value: "172.16.5.151"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local S58 IP"
|
||||
comment: ""
|
||||
- name: "n4Ipv4"
|
||||
type: "ipv4"
|
||||
value: "172.16.5.150"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "N4 IPv4"
|
||||
comment: ""
|
||||
- name: "n4Ipv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "N4 IPv6"
|
||||
comment: ""
|
||||
- name: "n4UIpv4"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "N4U IPv4"
|
||||
comment: ""
|
||||
- name: "n4UIpv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "N4U IPv6"
|
||||
comment: ""
|
||||
- name: "gxEnable"
|
||||
type: "bool"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Gx Policy Enable"
|
||||
comment: ""
|
||||
- name: "gxChargingEnable"
|
||||
type: "bool"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Gx Charging Enable"
|
||||
comment: ""
|
||||
- name: "gyChargingEnable"
|
||||
type: "bool"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Gy Charging Enable"
|
||||
comment: ""
|
||||
- name: "primaryDnsIpv4"
|
||||
type: "ipv4"
|
||||
value: "114.114.114.114"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Primary DNS IPv4"
|
||||
comment: ""
|
||||
- name: "secondaryDnsIpv4"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Secondary DNS IPv4"
|
||||
comment: ""
|
||||
- name: "primaryDnsIpv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Primary DNS IPv6"
|
||||
comment: ""
|
||||
- name: "secondaryDnsIpv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Secondary DNS IPv6"
|
||||
comment: ""
|
||||
- name: "primaryPcscfIpv4"
|
||||
type: "ipv4"
|
||||
value: "172.16.5.110"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Primary PCSCF IPv4"
|
||||
comment: ""
|
||||
- name: "secondaryPcscfIpv4"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Secondary PCSCF IPv4"
|
||||
comment: ""
|
||||
- name: "primaryPcscfIpv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Primary PCSCF IPv6"
|
||||
comment: ""
|
||||
- name: "secondaryPcscfIpv6"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Secondary PCSCF IPv6"
|
||||
comment: ""
|
||||
- name: "ueMtu"
|
||||
type: "int"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "0~65535"
|
||||
display: "UE MTU"
|
||||
comment: ""
|
||||
localDiameterConfig:
|
||||
display: "Local Diameter Config"
|
||||
sort: 3
|
||||
list:
|
||||
- name: "ipAddr"
|
||||
type: "string"
|
||||
value: "172.16.5.150"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local Diameter IP"
|
||||
comment: ""
|
||||
- name: "hostName"
|
||||
type: "string"
|
||||
value: "pgwc.mnc001.mcc001.3gppnetwork.org"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local Diameter Host Name"
|
||||
comment: ""
|
||||
- name: "realmName"
|
||||
type: "string"
|
||||
value: "mnc001.mcc001.3gppnetwork.org"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local Diameter Realm Name"
|
||||
comment: ""
|
||||
- name: "gyServiceContextId"
|
||||
type: "string"
|
||||
value: "gy@3gpp"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local Gy Service Context ID"
|
||||
comment: ""
|
||||
- name: "gxServiceContextId"
|
||||
type: "string"
|
||||
value: "gx@3gpp"
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Local Gx Service Context ID"
|
||||
comment: ""
|
||||
remoteGyCfg:
|
||||
display: "Remote Gy Config"
|
||||
sort: 5
|
||||
list:
|
||||
- name: "enable"
|
||||
type: "bool"
|
||||
value: 'false'
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Remote Gy Enable"
|
||||
comment: ""
|
||||
- name: "remoteAddrs"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Remote Gy Addresses"
|
||||
comment: "e.g. ipv4:port;ipv4:port;ipv4:port"
|
||||
remoteGxCfg:
|
||||
display: "Remote Gx Config"
|
||||
sort: 7
|
||||
list:
|
||||
- name: "enable"
|
||||
type: "bool"
|
||||
value: 'false'
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Remote Gx Enable"
|
||||
comment: ""
|
||||
- name: "remoteAddrs"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ''
|
||||
display: "Remote Gx Addresses"
|
||||
comment: "e.g. ipv4:port;ipv4:port;ipv4:port"
|
||||
upfConfig:
|
||||
display: "UPF Config"
|
||||
sort: 9
|
||||
array:
|
||||
- name: "index"
|
||||
type: "int"
|
||||
value: ""
|
||||
access: "read-only"
|
||||
filter: "0~2047"
|
||||
display: "Index"
|
||||
comment: ""
|
||||
- name: "id"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "UPF ID"
|
||||
comment: ""
|
||||
- name: "addr"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "7~45"
|
||||
display: "Address"
|
||||
comment: "e.g. ip:port"
|
||||
- name: "ipPoolType"
|
||||
type: "string"
|
||||
value: "IPv4v6"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Ip Pool Type"
|
||||
comment: "IPv4,IPv6,IPv4v6"
|
||||
- name: "ipv4Pools"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "10~256"
|
||||
display: "IPv4 Pools"
|
||||
comment: "CIDR format, e.g. 192.168.1.0/24"
|
||||
- name: "ipv6Pools"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "5~512"
|
||||
display: "IPv6 Pools"
|
||||
comment: "CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50"
|
||||
- name: "staticIpv4Enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 Enable"
|
||||
comment: ""
|
||||
- name: "staticIpv4Start"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 Start"
|
||||
comment: "ipv4 format"
|
||||
- name: "staticIpv4End"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 End"
|
||||
comment: "ipv4 format"
|
||||
- name: "staticIpv6Enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 Enable"
|
||||
comment: ""
|
||||
- name: "staticIpv6Start"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 Start"
|
||||
comment: "ipv6 format"
|
||||
- name: "staticIpv6End"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 End"
|
||||
comment: "ipv6 format"
|
||||
- name: "ueDnnIpPool"
|
||||
display: "UE DNN IP Pool"
|
||||
array:
|
||||
- name: "index"
|
||||
type: "int"
|
||||
value: ""
|
||||
access: "read-only"
|
||||
filter: "0~2047"
|
||||
display: "Index"
|
||||
comment: ""
|
||||
- name: "dnn"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "DNN"
|
||||
comment: ""
|
||||
- name: "ipPoolType"
|
||||
type: "string"
|
||||
value: "IPv4v6"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Ip Pool Type"
|
||||
comment: "IPv4,IPv6,IPv4v6"
|
||||
- name: "ipv4Pools"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "10~256"
|
||||
display: "IPv4 Pools"
|
||||
comment: "CIDR format, e.g. 192.168.1.0/24"
|
||||
- name: "ipv6Pools"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "5~512"
|
||||
display: "IPv6 Pools"
|
||||
comment: "CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50"
|
||||
- name: "staticIpv4Enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 Enable"
|
||||
comment: ""
|
||||
- name: "staticIpv4Start"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 Start"
|
||||
comment: "ipv4 format"
|
||||
- name: "staticIpv4End"
|
||||
type: "ipv4"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv4 End"
|
||||
comment: "ipv4 format"
|
||||
- name: "staticIpv6Enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 Enable"
|
||||
comment: ""
|
||||
- name: "staticIpv6Start"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 Start"
|
||||
comment: "ipv6 format"
|
||||
- name: "staticIpv6End"
|
||||
type: "ipv6"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Static IPv6 End"
|
||||
comment: "ipv6 format"
|
||||
dnnSelectUpf:
|
||||
display: "DNN Select UPF"
|
||||
sort: 11
|
||||
array:
|
||||
- name: "index"
|
||||
type: "int"
|
||||
value: "0"
|
||||
access: "read-only"
|
||||
filter: "0~65535"
|
||||
display: "Index"
|
||||
comment: ""
|
||||
- name: "dnn"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "DNN"
|
||||
comment: ""
|
||||
- name: "upfId"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "UPF ID"
|
||||
comment: ""
|
||||
dnnTaiSelectUpf:
|
||||
display: "DNN TAI Select UPF"
|
||||
sort: 13
|
||||
array:
|
||||
- name: "index"
|
||||
type: "int"
|
||||
value: ""
|
||||
access: "read-only"
|
||||
filter: "0~65535"
|
||||
display: "Index"
|
||||
comment: ""
|
||||
- name: "dnn"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "DNN"
|
||||
comment: ""
|
||||
- name: "tai"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "TAI"
|
||||
comment: "MCC+MNC+TAC"
|
||||
- name: "upfId"
|
||||
type: "string"
|
||||
value: "upf2-Id"
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "UPF ID"
|
||||
comment: ""
|
||||
localDhcpCfg:
|
||||
display: "Local DHCP Config"
|
||||
sort: 15
|
||||
list:
|
||||
- name: "enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Enable"
|
||||
comment: ""
|
||||
- name: "localIp"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Local IP"
|
||||
comment: ""
|
||||
dnnselectdhcpserver:
|
||||
display: "DNN Select DHCP Server"
|
||||
sort: 17
|
||||
array:
|
||||
- name: "index"
|
||||
type: "int"
|
||||
value: ""
|
||||
access: "read-only"
|
||||
filter: "0~65535"
|
||||
display: "Index"
|
||||
comment: ""
|
||||
- name: "enable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Enable"
|
||||
comment: ""
|
||||
- name: "dnn"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "DNN"
|
||||
comment: ""
|
||||
- name: "dhcpServerAddr"
|
||||
type: "string"
|
||||
value: ""
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "DHCP Server IP"
|
||||
comment: "e.g. 192.168.1.1"
|
||||
offlineChargingConfig:
|
||||
display: "Offline Charging Config"
|
||||
sort: 19
|
||||
list:
|
||||
- name: "cdrFileName"
|
||||
type: "string"
|
||||
value: "smf.cdr"
|
||||
access: "read-write"
|
||||
filter: "1~64"
|
||||
display: "CDR File Name"
|
||||
comment: ""
|
||||
- name: "cdrFilePath"
|
||||
type: "string"
|
||||
value: "/var/log/smfCdr"
|
||||
access: "read-write"
|
||||
filter: "1~256"
|
||||
display: "CDR File Path"
|
||||
comment: ""
|
||||
- name: "cdrFileNum"
|
||||
type: "int"
|
||||
value: "50"
|
||||
access: "read-write"
|
||||
filter: "1~999999999"
|
||||
display: "CDR File Num"
|
||||
comment: ""
|
||||
- name: "cdrFileSize"
|
||||
type: "int"
|
||||
value: "300"
|
||||
access: "read-write"
|
||||
filter: "1~999999"
|
||||
display: "CDR File Size"
|
||||
comment: "Megabytes"
|
||||
- name: "cdrFileMaxAge"
|
||||
type: "int"
|
||||
value: "30"
|
||||
access: "read-write"
|
||||
filter: "0~9999"
|
||||
display: "CDR File Max Age"
|
||||
comment: "Days"
|
||||
- name: "freeSubsCdrEnable"
|
||||
type: "bool"
|
||||
value: "false"
|
||||
access: "read-write"
|
||||
filter: ""
|
||||
display: "Free Subscribers CDR Enable"
|
||||
comment: ""
|
||||
- name: "timeThreshold"
|
||||
type: "int"
|
||||
value: "600"
|
||||
access: "read-write"
|
||||
filter: "0~999999999"
|
||||
display: "Time Threshold"
|
||||
comment: "Seconds"
|
||||
- name: "volumeThreshold"
|
||||
type: "int"
|
||||
value: "0"
|
||||
access: "read-write"
|
||||
filter: "0~999999999999999"
|
||||
display: "Volume Threshold"
|
||||
comment: "Bytes"
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"be.ems/src/modules/auth"
|
||||
"be.ems/src/modules/chart"
|
||||
"be.ems/src/modules/common"
|
||||
"be.ems/src/modules/core"
|
||||
"be.ems/src/modules/crontask"
|
||||
"be.ems/src/modules/monitor"
|
||||
ne "be.ems/src/modules/ne"
|
||||
@@ -89,6 +90,8 @@ func ModulesRoute(app *gin.Engine) {
|
||||
// 通用模块
|
||||
common.Setup(app)
|
||||
|
||||
// 核心网功能模块
|
||||
core.Setup(app)
|
||||
// 网元功能模块
|
||||
ne.Setup(app)
|
||||
// 网元数据模块
|
||||
|
||||
@@ -41,7 +41,6 @@ type CoreInfoController struct {
|
||||
// @Description The list of network element information is all unpaginated
|
||||
// @Router /core/info/list/all [get]
|
||||
func (s CoreInfoController) ListAll(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
CoreUID string `form:"coreUid"` // 核心网唯一标识
|
||||
Name string `form:"name"` // 名称
|
||||
@@ -66,7 +65,7 @@ func (s CoreInfoController) ListAll(c *gin.Context) {
|
||||
}
|
||||
neList := s.coreInfoService.Find(core)
|
||||
if len(neList) == 0 {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
c.JSON(200, resp.ErrMsg("not found data"))
|
||||
return
|
||||
}
|
||||
c.JSON(200, resp.OkData(neList))
|
||||
|
||||
@@ -65,22 +65,22 @@ func (s *BackupExportCDRProcessor) Execute(data any) (any, error) {
|
||||
case "ims":
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{NeType: "IMS"}, false, false)
|
||||
for _, ne := range neList {
|
||||
result[ne.NeName] = s.exportIMS(params.Hour, ne.RmUID, params.FileType)
|
||||
result[ne.NeName] = s.exportIMS(ne.CoreUID, ne.NeUID, params.Hour, params.FileType)
|
||||
}
|
||||
case "smsc":
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SMSC"}, false, false)
|
||||
for _, ne := range neList {
|
||||
result[ne.NeName] = s.exportSMSC(params.Hour, ne.RmUID, params.FileType)
|
||||
result[ne.NeName] = s.exportSMSC(ne.CoreUID, ne.NeUID, params.Hour, params.FileType)
|
||||
}
|
||||
case "smf":
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SMF"}, false, false)
|
||||
for _, ne := range neList {
|
||||
result[ne.NeName] = s.exportSMF(params.Hour, ne.RmUID, params.FileType)
|
||||
result[ne.NeName] = s.exportSMF(ne.CoreUID, ne.NeUID, params.Hour, params.FileType)
|
||||
}
|
||||
case "sgwc":
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SGWC"}, false, false)
|
||||
for _, ne := range neList {
|
||||
result[ne.NeName] = s.exportSGWC(params.Hour, ne.RmUID, params.FileType)
|
||||
result[ne.NeName] = s.exportSGWC(ne.CoreUID, ne.NeUID, params.Hour, params.FileType)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ func (s *BackupExportCDRProcessor) Execute(data any) (any, error) {
|
||||
}
|
||||
|
||||
// exportIMS 导出IMS-CDR会话事件数据
|
||||
func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) string {
|
||||
func (s BackupExportCDRProcessor) exportIMS(coreUid, neUid string, hour int, fileType string) string {
|
||||
// 前 hour 小时
|
||||
now := time.Now()
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
|
||||
@@ -100,11 +100,12 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st
|
||||
query := map[string]string{
|
||||
"sortField": "timestamp",
|
||||
"sortOrder": "asc",
|
||||
"rmUID": rmUID,
|
||||
"coreUid": coreUid,
|
||||
"neUid": neUid,
|
||||
"beginTime": fmt.Sprint(start.UnixMilli()),
|
||||
"endTime": fmt.Sprint(end.UnixMilli()),
|
||||
"pageNum": fmt.Sprint(1),
|
||||
"pageSize": fmt.Sprint(30000),
|
||||
"pageSize": fmt.Sprint(1000_0000),
|
||||
}
|
||||
rows, total := s.cdrEventService.FindByPage("IMS", query)
|
||||
if total == 0 {
|
||||
@@ -113,7 +114,7 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st
|
||||
|
||||
// 导出文件名称
|
||||
fileName := fmt.Sprintf("ims_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/ims_cdr_event", fileName)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/ims_cdr_event", coreUid, neUid, fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
}
|
||||
@@ -225,7 +226,7 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st
|
||||
|
||||
data = append(data, []string{
|
||||
fmt.Sprint(row.ID),
|
||||
row.NeName,
|
||||
row.NeUID,
|
||||
recordType,
|
||||
callTypeLable,
|
||||
caller,
|
||||
@@ -352,7 +353,7 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st
|
||||
|
||||
dataCells = append(dataCells, map[string]any{
|
||||
"A" + idx: row.ID,
|
||||
"B" + idx: row.NeName,
|
||||
"B" + idx: row.NeUID,
|
||||
"C" + idx: recordType,
|
||||
"D" + idx: callTypeLable,
|
||||
"E" + idx: caller,
|
||||
@@ -379,7 +380,7 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st
|
||||
}
|
||||
|
||||
// exportSMSC 导出SMSC-CDR会话事件数据
|
||||
func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) string {
|
||||
func (s BackupExportCDRProcessor) exportSMSC(coreUid, neUid string, hour int, fileType string) string {
|
||||
// 前 hour 小时
|
||||
now := time.Now()
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
|
||||
@@ -389,11 +390,12 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s
|
||||
query := map[string]string{
|
||||
"sortField": "timestamp",
|
||||
"sortOrder": "asc",
|
||||
"rmUID": rmUID,
|
||||
"coreUid": coreUid,
|
||||
"neUid": neUid,
|
||||
"beginTime": fmt.Sprint(start.UnixMilli()),
|
||||
"endTime": fmt.Sprint(end.UnixMilli()),
|
||||
"pageNum": fmt.Sprint(1),
|
||||
"pageSize": fmt.Sprint(30000),
|
||||
"pageSize": fmt.Sprint(1000_0000),
|
||||
}
|
||||
rows, total := s.cdrEventService.FindByPage("SMSC", query)
|
||||
if total == 0 {
|
||||
@@ -402,7 +404,7 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s
|
||||
|
||||
// 导出文件名称
|
||||
fileName := fmt.Sprintf("smsc_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smsc_cdr_event", fileName)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smsc_cdr_event", coreUid, neUid, fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
}
|
||||
@@ -481,7 +483,7 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s
|
||||
|
||||
data = append(data, []string{
|
||||
fmt.Sprint(row.ID),
|
||||
row.NeName,
|
||||
row.NeUID,
|
||||
recordType,
|
||||
serviceType,
|
||||
caller,
|
||||
@@ -572,7 +574,7 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s
|
||||
|
||||
dataCells = append(dataCells, map[string]any{
|
||||
"A" + idx: row.ID,
|
||||
"B" + idx: row.NeName,
|
||||
"B" + idx: row.NeUID,
|
||||
"C" + idx: recordType,
|
||||
"D" + idx: serviceType,
|
||||
"E" + idx: caller,
|
||||
@@ -596,7 +598,7 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s
|
||||
}
|
||||
|
||||
// exportSMF 导出SMF-CDR会话事件数据
|
||||
func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) string {
|
||||
func (s BackupExportCDRProcessor) exportSMF(coreUid, neUid string, hour int, fileType string) string {
|
||||
// 前 hour 小时
|
||||
now := time.Now()
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
|
||||
@@ -605,11 +607,12 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st
|
||||
query := map[string]string{
|
||||
"sortField": "timestamp",
|
||||
"sortOrder": "asc",
|
||||
"rmUID": rmUID,
|
||||
"coreUid": coreUid,
|
||||
"neUid": neUid,
|
||||
"beginTime": fmt.Sprint(start.UnixMilli()),
|
||||
"endTime": fmt.Sprint(end.UnixMilli()),
|
||||
"pageNum": fmt.Sprint(1),
|
||||
"pageSize": fmt.Sprint(30000),
|
||||
"pageSize": fmt.Sprint(1000_0000),
|
||||
}
|
||||
rows, total := s.cdrEventService.FindByPage("SMF", query)
|
||||
if total == 0 {
|
||||
@@ -618,7 +621,7 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st
|
||||
|
||||
// 导出文件名称
|
||||
fileName := fmt.Sprintf("smf_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smf_cdr_event", fileName)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smf_cdr_event", coreUid, neUid, fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
}
|
||||
@@ -780,8 +783,8 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st
|
||||
data = append(data, []string{
|
||||
fmt.Sprint(row.ID),
|
||||
chargingID,
|
||||
row.NeName,
|
||||
row.RmUid,
|
||||
row.NeType,
|
||||
row.NeUID,
|
||||
subscriptionIDData,
|
||||
subscriptionIDType,
|
||||
fmt.Sprint(dataVolumeUplink),
|
||||
@@ -967,8 +970,8 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st
|
||||
dataCells = append(dataCells, map[string]any{
|
||||
"A" + idx: row.ID,
|
||||
"B" + idx: chargingID,
|
||||
"C" + idx: row.NeName,
|
||||
"D" + idx: row.RmUid,
|
||||
"C" + idx: row.NeType,
|
||||
"D" + idx: row.NeUID,
|
||||
"E" + idx: subscriptionIDData,
|
||||
"F" + idx: subscriptionIDType,
|
||||
"G" + idx: dataVolumeUplink,
|
||||
@@ -1004,7 +1007,7 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st
|
||||
}
|
||||
|
||||
// exportSGWC 导出SGWC-CDR会话事件数据
|
||||
func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) string {
|
||||
func (s BackupExportCDRProcessor) exportSGWC(coreUid, neUid string, hour int, fileType string) string {
|
||||
// 前 hour 小时
|
||||
now := time.Now()
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
|
||||
@@ -1013,11 +1016,12 @@ func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) s
|
||||
query := map[string]string{
|
||||
"sortField": "timestamp",
|
||||
"sortOrder": "asc",
|
||||
"rmUID": rmUID,
|
||||
"coreUid": coreUid,
|
||||
"neUid": neUid,
|
||||
"beginTime": fmt.Sprint(start.UnixMilli()),
|
||||
"endTime": fmt.Sprint(end.UnixMilli()),
|
||||
"pageNum": fmt.Sprint(1),
|
||||
"pageSize": fmt.Sprint(30000),
|
||||
"pageSize": fmt.Sprint(1000_0000),
|
||||
}
|
||||
rows, total := s.cdrEventService.FindByPage("SGWC", query)
|
||||
if total == 0 {
|
||||
@@ -1026,7 +1030,7 @@ func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) s
|
||||
|
||||
// 导出文件名称
|
||||
fileName := fmt.Sprintf("sgwc_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/sgwc_cdr_event", fileName)
|
||||
filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/sgwc_cdr_event", coreUid, neUid, fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
}
|
||||
@@ -1190,8 +1194,8 @@ func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) s
|
||||
|
||||
data = append(data, []string{
|
||||
fmt.Sprint(row.ID),
|
||||
row.NeName,
|
||||
row.RmUid,
|
||||
row.NeType,
|
||||
row.NeUID,
|
||||
chargingID,
|
||||
servedIMSI,
|
||||
servedMSISDN,
|
||||
@@ -1381,8 +1385,8 @@ func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) s
|
||||
|
||||
dataCells = append(dataCells, map[string]any{
|
||||
"A" + idx: row.ID,
|
||||
"B" + idx: row.NeName,
|
||||
"C" + idx: row.RmUid,
|
||||
"B" + idx: row.NeType,
|
||||
"C" + idx: row.NeUID,
|
||||
"D" + idx: chargingID,
|
||||
"E" + idx: servedIMSI,
|
||||
"F" + idx: servedMSISDN,
|
||||
|
||||
@@ -343,8 +343,8 @@ func (s BackupExportTableProcessor) exportSMF(hour int, columns []string, filePa
|
||||
if col == "id" {
|
||||
arr[i] = fmt.Sprintf("%d", row.ID)
|
||||
}
|
||||
if col == "neName" || col == "ne_name" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeName)
|
||||
if col == "neType" || col == "ne_type" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeType)
|
||||
}
|
||||
// 单层json
|
||||
if strings.HasPrefix("json", col) {
|
||||
@@ -462,8 +462,8 @@ func (s BackupExportTableProcessor) exportIMS(hour int, columns []string, filePa
|
||||
if col == "id" {
|
||||
arr[i] = fmt.Sprintf("%d", row.ID)
|
||||
}
|
||||
if col == "neName" || col == "ne_name" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeName)
|
||||
if col == "neType" || col == "ne_type" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeType)
|
||||
}
|
||||
// 单层json
|
||||
if strings.HasPrefix("json", col) {
|
||||
@@ -652,8 +652,8 @@ func (s BackupExportTableProcessor) exportSMSC(hour int, columns []string, fileP
|
||||
if v == "id" {
|
||||
arr[i] = fmt.Sprintf("%d", row.ID)
|
||||
}
|
||||
if v == "neName" || v == "ne_name" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeName)
|
||||
if v == "neType" || v == "ne_type" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeType)
|
||||
}
|
||||
// 单层json
|
||||
if strings.HasPrefix("json", v) {
|
||||
@@ -841,8 +841,8 @@ func (s BackupExportTableProcessor) exportSGWC(hour int, columns []string, fileP
|
||||
if v == "id" {
|
||||
arr[i] = fmt.Sprintf("%d", row.ID)
|
||||
}
|
||||
if v == "neName" || v == "ne_name" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeName)
|
||||
if v == "neType" || v == "ne_type" {
|
||||
arr[i] = fmt.Sprintf("%v", row.NeType)
|
||||
}
|
||||
// 单层json
|
||||
if strings.HasPrefix("json", v) {
|
||||
|
||||
@@ -63,13 +63,13 @@ func (s *BackupExportUDMProcessor) Execute(data any) (any, error) {
|
||||
for _, v := range params.DataType {
|
||||
switch v {
|
||||
case "auth":
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeId, v)] = s.exportAuth(neInfo.NeId, params.FileType)
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeUID, v)] = s.exportAuth(neInfo.CoreUID, neInfo.NeUID, params.FileType)
|
||||
case "sub":
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeId, v)] = s.exportSub(neInfo.NeId, params.FileType)
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeUID, v)] = s.exportSub(neInfo.CoreUID, neInfo.NeUID, params.FileType)
|
||||
case "voip":
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeId, v)] = s.exportVOIP(neInfo.NeId, params.FileType)
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeUID, v)] = s.exportVOIP(neInfo.CoreUID, neInfo.NeUID, params.FileType)
|
||||
case "volte":
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeId, v)] = s.exportVolte(neInfo.NeId, params.FileType)
|
||||
result[fmt.Sprintf("%s-%s", neInfo.NeUID, v)] = s.exportVolte(neInfo.CoreUID, neInfo.NeUID, params.FileType)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,14 +79,14 @@ func (s *BackupExportUDMProcessor) Execute(data any) (any, error) {
|
||||
}
|
||||
|
||||
// exportAuth 导出鉴权用户数据
|
||||
func (s BackupExportUDMProcessor) exportAuth(neId, fileType string) string {
|
||||
rows := s.udmAuthService.Find(neDataModel.UDMAuthUser{NeId: neId})
|
||||
func (s BackupExportUDMProcessor) exportAuth(coreUid, neUid, fileType string) string {
|
||||
rows := s.udmAuthService.Find(neDataModel.UDMAuthUser{CoreUID: coreUid, NeUID: neUid})
|
||||
if len(rows) <= 0 {
|
||||
return "no data"
|
||||
}
|
||||
|
||||
// 文件名
|
||||
fileName := fmt.Sprintf("auth_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType)
|
||||
fileName := fmt.Sprintf("auth_%s_export_%s.%s", neUid, time.Now().Format("20060102150405"), fileType)
|
||||
filePath := filepath.Join("/usr/local/omc/backup/udm_data/auth", fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
@@ -133,14 +133,14 @@ func (s BackupExportUDMProcessor) exportAuth(neId, fileType string) string {
|
||||
}
|
||||
|
||||
// exportSub 导出签约用户数据
|
||||
func (s BackupExportUDMProcessor) exportSub(neId, fileType string) string {
|
||||
rows := s.udmSubService.Find(neDataModel.UDMSubUser{NeId: neId})
|
||||
func (s BackupExportUDMProcessor) exportSub(coreUid, neUid, fileType string) string {
|
||||
rows := s.udmSubService.Find(neDataModel.UDMSubUser{CoreUID: coreUid, NeUID: neUid})
|
||||
if len(rows) <= 0 {
|
||||
return "no data"
|
||||
}
|
||||
|
||||
// 文件名
|
||||
fileName := fmt.Sprintf("sub_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType)
|
||||
fileName := fmt.Sprintf("sub_%s_export_%s.%s", neUid, time.Now().Format("20060102150405"), fileType)
|
||||
filePath := filepath.Join("/usr/local/omc/backup/udm_data/sub", fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
@@ -181,14 +181,14 @@ func (s BackupExportUDMProcessor) exportSub(neId, fileType string) string {
|
||||
}
|
||||
|
||||
// exportVOIP 导出VOIP用户数据
|
||||
func (s BackupExportUDMProcessor) exportVOIP(neId, fileType string) string {
|
||||
rows := s.udmVOIPService.Find(neDataModel.UDMVOIPUser{NeId: neId})
|
||||
func (s BackupExportUDMProcessor) exportVOIP(coreUid, neUid, fileType string) string {
|
||||
rows := s.udmVOIPService.Find(neDataModel.UDMVOIPUser{CoreUID: coreUid, NeUID: neUid})
|
||||
if len(rows) <= 0 {
|
||||
return "no data"
|
||||
}
|
||||
|
||||
// 文件名
|
||||
fileName := fmt.Sprintf("voip_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType)
|
||||
fileName := fmt.Sprintf("voip_%s_export_%s.%s", neUid, time.Now().Format("20060102150405"), fileType)
|
||||
filePath := filepath.Join("/usr/local/omc/backup/udm_data/voip", fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
@@ -227,14 +227,14 @@ func (s BackupExportUDMProcessor) exportVOIP(neId, fileType string) string {
|
||||
}
|
||||
|
||||
// exportVolte 导出Volte用户数据
|
||||
func (s BackupExportUDMProcessor) exportVolte(neId, fileType string) string {
|
||||
rows := s.udmVolteIMSService.Find(neDataModel.UDMVolteIMSUser{NeId: neId})
|
||||
func (s BackupExportUDMProcessor) exportVolte(coreUid, neUid, fileType string) string {
|
||||
rows := s.udmVolteIMSService.Find(neDataModel.UDMVolteIMSUser{CoreUID: coreUid, NeUID: neUid})
|
||||
if len(rows) <= 0 {
|
||||
return "no data"
|
||||
}
|
||||
|
||||
// 文件名
|
||||
fileName := fmt.Sprintf("volte_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType)
|
||||
fileName := fmt.Sprintf("volte_%s_export_%s.%s", neUid, time.Now().Format("20060102150405"), fileType)
|
||||
filePath := filepath.Join("/usr/local/omc/backup/udm_data/volte", fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
filePath = fmt.Sprintf("C:%s", filePath)
|
||||
|
||||
@@ -55,18 +55,17 @@ func (s *DeleteNeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{}, false, false)
|
||||
for _, neInfo := range neList {
|
||||
neTypeAndId := fmt.Sprintf("%s_%s", neInfo.NeType, neInfo.NeId)
|
||||
tx := db.DB("").Model(&neModel.NeConfigBackup{})
|
||||
tx = tx.Where("ne_type = ? and ne_id = ?", neInfo.NeType, neInfo.NeId)
|
||||
tx = tx.Where("core_uid = ? and ne_uid = ?", neInfo.CoreUID, neInfo.NeUID)
|
||||
|
||||
// 查询数量为0直接返回
|
||||
var total int64 = 0
|
||||
if err := tx.Count(&total).Error; err != nil {
|
||||
result[neTypeAndId] = err.Error()
|
||||
result[neInfo.NeUID] = err.Error()
|
||||
continue
|
||||
}
|
||||
if total <= int64(params.StoreNum) {
|
||||
result[neTypeAndId] = "less than storeNum"
|
||||
result[neInfo.NeUID] = "less than storeNum"
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -74,11 +73,11 @@ func (s *DeleteNeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||
var lastCreateTime int64 = 0
|
||||
lastTx := tx.Select("create_time").Order("create_time DESC").Limit(1)
|
||||
if err := lastTx.Find(&lastCreateTime).Error; err != nil {
|
||||
result[neTypeAndId] = err.Error()
|
||||
result[neInfo.NeUID] = err.Error()
|
||||
continue
|
||||
}
|
||||
if lastCreateTime <= 1e12 {
|
||||
result[neTypeAndId] = "no data"
|
||||
result[neInfo.NeUID] = "no data"
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -89,22 +88,22 @@ func (s *DeleteNeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||
// 删除小于最后时间的数据
|
||||
delTx := tx.Delete("create_time < ?", ltTime.UnixMilli())
|
||||
if err := delTx.Error; err != nil {
|
||||
result[neTypeAndId] = err.Error()
|
||||
result[neInfo.NeUID] = err.Error()
|
||||
continue
|
||||
}
|
||||
result[neTypeAndId] = tx.RowsAffected
|
||||
result[neInfo.NeUID] = tx.RowsAffected
|
||||
|
||||
// 删除本地文件
|
||||
s.deleteFile(neInfo.NeType, neInfo.NeId, ltTime)
|
||||
s.deleteFile(neInfo.CoreUID, neInfo.NeUID, ltTime)
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// deleteFile 删除本地文件
|
||||
func (s DeleteNeConfigBackupProcessor) deleteFile(neType, neId string, oldFileDate time.Time) {
|
||||
func (s DeleteNeConfigBackupProcessor) deleteFile(neType, neUid string, oldFileDate time.Time) {
|
||||
neTypeLower := strings.ToLower(neType)
|
||||
localPath := fmt.Sprintf("/usr/local/omc/backup/ne_config/%s/%s ", neTypeLower, neId)
|
||||
localPath := fmt.Sprintf("/usr/local/omc/backup/ne_config/%s/%s ", neTypeLower, neUid)
|
||||
files, err := os.ReadDir(localPath)
|
||||
if err != nil {
|
||||
logger.Errorf("logger Remove ne_config File ReadDir err: %v", err.Error())
|
||||
@@ -113,7 +112,7 @@ func (s DeleteNeConfigBackupProcessor) deleteFile(neType, neId string, oldFileDa
|
||||
for _, file := range files {
|
||||
// 跳过非指定文件名
|
||||
// zipFileName := fmt.Sprintf("%s-%s-etc-%s.zip", neTypeLower, neInfo.NeId, date.ParseDateToStr(time.Now(), date.YYYYMMDDHHMMSS))
|
||||
fileName := fmt.Sprintf("%s-%s-etc-", neTypeLower, neId)
|
||||
fileName := fmt.Sprintf("%s-%s-etc-", neTypeLower, neUid)
|
||||
if !strings.HasPrefix(file.Name(), fileName) {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) {
|
||||
}
|
||||
// 创建告警
|
||||
alarm := oam.Alarm{
|
||||
NeUid: neInfo.RmUID, // 网元唯一标识
|
||||
NeUid: neInfo.NeUID, // 网元唯一标识
|
||||
AlarmTime: time.Now().UnixMilli(), // 事件产生时间
|
||||
AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应
|
||||
AlarmCode: constants.ALARM_STATE_CHECK, // 告警状态码
|
||||
@@ -89,7 +89,7 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) {
|
||||
LocationInfo: "NE State: Heartbeat", // 告警定位信息
|
||||
}
|
||||
if err = oamService.NewAlarm.Resolve(alarm); err == nil {
|
||||
result[neInfo.RmUID] = "state alarm"
|
||||
result[neInfo.NeUID] = "state alarm"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
|
||||
if len(warnMsg) > 0 {
|
||||
currentTime := time.Now()
|
||||
validTimes := []time.Time{}
|
||||
if v, ok := triggerCount.Load(neInfo.RmUID); ok {
|
||||
if v, ok := triggerCount.Load(neInfo.NeUID); ok {
|
||||
times := v.([]time.Time)
|
||||
// 清理过期的记录:10秒前的触发记录不再计入
|
||||
for _, t := range times {
|
||||
@@ -127,11 +127,11 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
|
||||
}
|
||||
}
|
||||
validTimes = append(validTimes, currentTime)
|
||||
triggerCount.Store(neInfo.RmUID, validTimes)
|
||||
triggerCount.Store(neInfo.NeUID, validTimes)
|
||||
} else {
|
||||
// 事件第一次触发,初始化记录
|
||||
validTimes = append(validTimes, currentTime)
|
||||
triggerCount.Store(neInfo.RmUID, validTimes)
|
||||
triggerCount.Store(neInfo.NeUID, validTimes)
|
||||
}
|
||||
if int64(len(validTimes)) >= triggerMax {
|
||||
err = fmt.Errorf("greater than %s", strings.Join(warnMsg, ", "))
|
||||
@@ -155,7 +155,7 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
|
||||
params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_CMD_CHECK, alarmTime)
|
||||
// 创建告警
|
||||
alarm := oam.Alarm{
|
||||
NeUid: neInfo.RmUID, // 网元唯一标识
|
||||
NeUid: neInfo.NeUID, // 网元唯一标识
|
||||
AlarmTime: alarmTime, // 事件产生时间
|
||||
AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应
|
||||
AlarmCode: constants.ALARM_CMD_CHECK, // 告警状态码
|
||||
@@ -169,9 +169,9 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
|
||||
LocationInfo: "NE CPU/Menory/Disk: Heartbeat", // 告警定位信息
|
||||
}
|
||||
if err = oamService.NewAlarm.Resolve(alarm); err == nil {
|
||||
result[neInfo.RmUID] = "cmd alarm"
|
||||
result[neInfo.NeUID] = "cmd alarm"
|
||||
}
|
||||
triggerCount.Delete(neInfo.RmUID)
|
||||
triggerCount.Delete(neInfo.NeUID)
|
||||
}
|
||||
|
||||
// 返回结果,用于记录执行结果
|
||||
@@ -222,8 +222,9 @@ func (s NeAlarmStateCheckCMDProcessor) serverState(state map[string]any) (float6
|
||||
|
||||
// 插入网元状态记录
|
||||
neState := neDataModel.NEState{
|
||||
CoreUID: fmt.Sprint(state["coreUid"]),
|
||||
NeUID: fmt.Sprint(state["neUid"]),
|
||||
NeType: fmt.Sprint(state["neType"]),
|
||||
NeId: fmt.Sprint(state["neId"]),
|
||||
Version: fmt.Sprint(state["version"]),
|
||||
Capability: parse.Number(state["capability"]),
|
||||
SerialNum: fmt.Sprint(state["sn"]),
|
||||
@@ -240,7 +241,7 @@ func (s NeAlarmStateCheckCMDProcessor) serverState(state map[string]any) (float6
|
||||
ltTime := time.Now().AddDate(0, 0, -7).UnixMilli()
|
||||
s.neStateService.DeleteByTime(ltTime)
|
||||
// 推送ws消息
|
||||
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_NE_STATE, neState.NeType, neState.NeId)
|
||||
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_NE_STATE, neState.CoreUID, neState.NeUID)
|
||||
s.wsSendService.ByGroupID(groupID, neState)
|
||||
|
||||
return sysCpuUsage, sysMemUsage, sysDiskUsage
|
||||
|
||||
@@ -91,7 +91,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
|
||||
params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_LICENSE_CHECK, neInfo.CreateTime)
|
||||
// 创建告警
|
||||
alarm := oam.Alarm{
|
||||
NeUid: neInfo.RmUID, // 网元唯一标识
|
||||
NeUid: neInfo.NeUID, // 网元唯一标识
|
||||
AlarmTime: time.Now().UnixMilli(), // 事件产生时间
|
||||
AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应
|
||||
AlarmCode: constants.ALARM_LICENSE_CHECK, // 告警状态码
|
||||
@@ -105,7 +105,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
|
||||
LocationInfo: "NE License: Heartbeat", // 告警定位信息
|
||||
}
|
||||
if err = oamService.NewAlarm.Resolve(alarm); err == nil {
|
||||
result[neInfo.RmUID] = "license alarm"
|
||||
result[neInfo.NeUID] = "license alarm"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package ne_config_backup
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"be.ems/src/framework/cron"
|
||||
@@ -38,34 +37,34 @@ func (s *NeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{}, false, false)
|
||||
for _, neInfo := range neList {
|
||||
neTypeAndId := fmt.Sprintf("%s_%s", neInfo.NeType, neInfo.NeId)
|
||||
// 将网元文件备份到本地
|
||||
zipFilePath, err := s.neConfigBackupService.FileNeToLocal(neInfo)
|
||||
if err != nil {
|
||||
result[neTypeAndId] = err.Error()
|
||||
result[neInfo.NeUID] = err.Error()
|
||||
continue
|
||||
}
|
||||
|
||||
// 新增备份记录
|
||||
item := neModel.NeConfigBackup{
|
||||
CoreUID: neInfo.CoreUID,
|
||||
NeUID: neInfo.NeUID,
|
||||
NeType: neInfo.NeType,
|
||||
NeId: neInfo.NeId,
|
||||
Name: filepath.Base(zipFilePath),
|
||||
Path: zipFilePath,
|
||||
CreateBy: "system",
|
||||
}
|
||||
rows := s.neConfigBackupService.Insert(item)
|
||||
if rows <= 0 {
|
||||
result[neTypeAndId] = "failed"
|
||||
result[neInfo.NeUID] = "failed"
|
||||
continue
|
||||
}
|
||||
|
||||
msg := "ok"
|
||||
// 上传到FTP服务器
|
||||
if err := s.backupService.FTPPushFile(zipFilePath, ""); err != nil {
|
||||
result[neTypeAndId] = msg + ", ftp err:" + err.Error()
|
||||
result[neInfo.NeUID] = msg + ", ftp err:" + err.Error()
|
||||
}
|
||||
result[neTypeAndId] = msg
|
||||
result[neInfo.NeUID] = msg
|
||||
}
|
||||
|
||||
return result, nil
|
||||
|
||||
@@ -11,18 +11,22 @@ import (
|
||||
)
|
||||
|
||||
var NewProcessor = &NeDataUDM{
|
||||
udmAuthService: neDataService.NewUDMAuthUser,
|
||||
udmSubService: neDataService.NewUDMSubUser,
|
||||
neInfoService: neService.NewNeInfo,
|
||||
count: 0,
|
||||
count: 0,
|
||||
neInfoService: neService.NewNeInfo,
|
||||
udmAuthService: neDataService.NewUDMAuthUser,
|
||||
udmSubService: neDataService.NewUDMSubUser,
|
||||
udmVOIPService: neDataService.NewUDMVOIPUser,
|
||||
udmVolteIMSService: neDataService.NewUDMVolteIMSUser,
|
||||
}
|
||||
|
||||
// NeDataUDM 网元配置文件定期备份
|
||||
type NeDataUDM struct {
|
||||
udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息
|
||||
udmSubService *neDataService.UDMSubUser // UDM签约信息
|
||||
neInfoService *neService.NeInfo // 网元信息服务
|
||||
count int // 执行次数
|
||||
count int // 执行次数
|
||||
neInfoService *neService.NeInfo // 网元信息服务
|
||||
udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息服务
|
||||
udmSubService *neDataService.UDMSubUser // UDM签约信息服务
|
||||
udmVOIPService *neDataService.UDMVOIPUser // UDMVOIP信息服务
|
||||
udmVolteIMSService *neDataService.UDMVolteIMSUser // UDMVolteIMS信息服务
|
||||
}
|
||||
|
||||
func (s *NeDataUDM) Execute(data any) (any, error) {
|
||||
@@ -37,8 +41,10 @@ func (s *NeDataUDM) Execute(data any) (any, error) {
|
||||
|
||||
neList := s.neInfoService.Find(neModel.NeInfo{NeType: "UDM"}, false, false)
|
||||
for _, neInfo := range neList {
|
||||
result[fmt.Sprintf("AuthNumber_%s", neInfo.NeId)] = s.udmAuthService.ResetData(neInfo.NeId)
|
||||
result[fmt.Sprintf("SubNumber_%s", neInfo.NeId)] = s.udmSubService.ResetData(neInfo.NeId)
|
||||
result[fmt.Sprintf("AuthNumber_%s", neInfo.NeUID)] = s.udmAuthService.ResetData(neInfo.CoreUID, neInfo.NeUID)
|
||||
result[fmt.Sprintf("SubNumber_%s", neInfo.NeUID)] = s.udmSubService.ResetData(neInfo.CoreUID, neInfo.NeUID)
|
||||
result[fmt.Sprintf("VOIPNumber_%s", neInfo.NeUID)] = s.udmVOIPService.ResetData(neInfo.CoreUID, neInfo.NeUID)
|
||||
result[fmt.Sprintf("VolteIMSNumber_%s", neInfo.NeUID)] = s.udmVolteIMSService.ResetData(neInfo.CoreUID, neInfo.NeUID)
|
||||
}
|
||||
|
||||
return result, nil
|
||||
|
||||
@@ -15,27 +15,26 @@ import (
|
||||
"be.ems/src/framework/ssh"
|
||||
"be.ems/src/framework/utils/file"
|
||||
"be.ems/src/framework/utils/generate"
|
||||
neService "be.ems/src/modules/ne/service"
|
||||
"be.ems/src/modules/ne/service"
|
||||
)
|
||||
|
||||
// 实例化控制层 NeActionController 结构体
|
||||
var NewNeAction = &NeActionController{
|
||||
neInfoService: neService.NewNeInfo,
|
||||
neInfoService: service.NewNeInfo,
|
||||
}
|
||||
|
||||
// 网元处理请求
|
||||
//
|
||||
// PATH /action
|
||||
type NeActionController struct {
|
||||
// 网元信息服务
|
||||
neInfoService *neService.NeInfo
|
||||
neInfoService *service.NeInfo // 网元信息服务
|
||||
}
|
||||
|
||||
// 从本地到网元发送文件
|
||||
// 从本地到网元-发送文件
|
||||
//
|
||||
// POST /pushFile
|
||||
// POST /file/push
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -43,12 +42,12 @@ type NeActionController struct {
|
||||
// @Security TokenAuth
|
||||
// @Summary Sending files from local to network elements
|
||||
// @Description Sending files from local to network elements
|
||||
// @Router /ne/action/pushFile [post]
|
||||
func (s *NeActionController) PushFile(c *gin.Context) {
|
||||
// @Router /ne/action/file/push [post]
|
||||
func (s *NeActionController) FilePush(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"`
|
||||
NeID string `json:"neId" binding:"required"`
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
UploadPath string `json:"uploadPath" binding:"required"`
|
||||
DelTemp bool `json:"delTemp"` // 删除本地临时文件
|
||||
}
|
||||
@@ -59,14 +58,14 @@ func (s *NeActionController) PushFile(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeID)
|
||||
if neInfo.NeId != body.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.NeType, neInfo.NeId)
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.CoreUID, neInfo.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -99,15 +98,15 @@ func (s *NeActionController) PushFile(c *gin.Context) {
|
||||
c.JSON(200, resp.OkData(filepath.ToSlash(neFilePath)))
|
||||
}
|
||||
|
||||
// 从网元到本地获取文件
|
||||
// 从网元到本地-获取文件
|
||||
//
|
||||
// GET /pullFile
|
||||
// GET /file/pull
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Param path query string true "dir path" default(/var/log)
|
||||
// @Param fileName query string true "file name"
|
||||
// @Param delTemp query boolean false "Delete Temp File" default(false)
|
||||
@@ -115,31 +114,31 @@ func (s *NeActionController) PushFile(c *gin.Context) {
|
||||
// @Security TokenAuth
|
||||
// @Summary Getting files from the network element to the local
|
||||
// @Description Getting files from the network element to the local
|
||||
// @Router /ne/action/pullFile [get]
|
||||
func (s *NeActionController) PullFile(c *gin.Context) {
|
||||
// @Router /ne/action/file/pull [get]
|
||||
func (s *NeActionController) FilePull(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
Path string `form:"path" binding:"required"`
|
||||
FileName string `form:"fileName" binding:"required"`
|
||||
DelTemp bool `form:"delTemp"` // 删除本地临时文件
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(query.CoreUID, query.NeUID)
|
||||
if neInfo.CoreUID != query.CoreUID || neInfo.NeUID != query.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.NeType, neInfo.NeId)
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.CoreUID, neInfo.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -153,8 +152,8 @@ func (s *NeActionController) PullFile(c *gin.Context) {
|
||||
}
|
||||
defer sftpClient.Close()
|
||||
|
||||
nePath := filepath.ToSlash(filepath.Join(querys.Path, querys.FileName))
|
||||
fileName := generate.Code(6) + "_" + querys.FileName
|
||||
nePath := filepath.ToSlash(filepath.Join(query.Path, query.FileName))
|
||||
fileName := generate.Code(6) + "_" + query.FileName
|
||||
localFilePath := filepath.Join("/tmp/omc/pull", fileName)
|
||||
if runtime.GOOS == "windows" {
|
||||
localFilePath = fmt.Sprintf("C:%s", localFilePath)
|
||||
@@ -166,34 +165,34 @@ func (s *NeActionController) PullFile(c *gin.Context) {
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if querys.DelTemp {
|
||||
if query.DelTemp {
|
||||
_ = os.Remove(localFilePath)
|
||||
}
|
||||
}()
|
||||
c.FileAttachment(localFilePath, fileName)
|
||||
}
|
||||
|
||||
// 从网元到本地获取目录压缩为ZIP
|
||||
// 从网元到本地-获取目录压缩为ZIP
|
||||
//
|
||||
// GET /pullDirZip
|
||||
// GET /file/pull/dirzip
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Param path query string true "dir path" default(/var/log)
|
||||
// @Param delTemp query boolean false "Delete Temp File" default(false)
|
||||
// @Success 200 {object} object "Response Results"
|
||||
// @Security TokenAuth
|
||||
// @Summary Get directories compressed to ZIP from the network element to the local area
|
||||
// @Description Get directories compressed to ZIP from the network element to the local area
|
||||
// @Router /ne/action/pullDirZip [get]
|
||||
func (s *NeActionController) PullDirZip(c *gin.Context) {
|
||||
// @Router /ne/action/file/pull/dirzip [get]
|
||||
func (s *NeActionController) FilePullDirZip(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
Path string `form:"path" binding:"required"`
|
||||
DelTemp bool `form:"delTemp"` // 删除本地临时文件
|
||||
}
|
||||
@@ -204,14 +203,14 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neInfo.CoreUID != querys.CoreUID || neInfo.NeUID != querys.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.NeType, neInfo.NeId)
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.CoreUID, neInfo.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -239,7 +238,7 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 压缩zip文件名
|
||||
zipFileName := fmt.Sprintf("%s-%s-%s.zip", neInfo.NeType, neInfo.NeId, dirName)
|
||||
zipFileName := fmt.Sprintf("%s-%s-%s.zip", neInfo.NeType, neInfo.NeUID, dirName)
|
||||
zipFilePath := filepath.Join(localFilePath, zipFileName)
|
||||
if err := file.CompressZipByDir(zipFilePath, localDirFilePath); err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
@@ -254,11 +253,11 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
|
||||
c.FileAttachment(zipFilePath, zipFileName)
|
||||
}
|
||||
|
||||
// 查看网元端文件内容
|
||||
// 网元端文件查看内容
|
||||
//
|
||||
// GET /viewFile
|
||||
// GET /file/view
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
|
||||
@@ -269,12 +268,12 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
|
||||
// @Security TokenAuth
|
||||
// @Summary Viewing the contents of a file on the network element side
|
||||
// @Description Viewing the contents of a file on the network element side
|
||||
// @Router /ne/action/viewFile [get]
|
||||
func (s *NeActionController) ViewFile(c *gin.Context) {
|
||||
// @Router /ne/action/file/view [get]
|
||||
func (s *NeActionController) FileView(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
Path string `form:"path" binding:"required"`
|
||||
FileName string `form:"fileName" binding:"required"`
|
||||
}
|
||||
@@ -285,14 +284,14 @@ func (s *NeActionController) ViewFile(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neInfo.CoreUID != querys.CoreUID || neInfo.NeUID != querys.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.NeType, neInfo.NeId)
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.CoreUID, neInfo.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -313,9 +312,9 @@ func (s *NeActionController) ViewFile(c *gin.Context) {
|
||||
|
||||
// 网元端文件列表
|
||||
//
|
||||
// GET /files
|
||||
// GET /file/list
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
|
||||
@@ -328,12 +327,12 @@ func (s *NeActionController) ViewFile(c *gin.Context) {
|
||||
// @Security TokenAuth
|
||||
// @Summary List of files on the network element side
|
||||
// @Description List of files on the network element side
|
||||
// @Router /ne/action/files [get]
|
||||
func (s *NeActionController) Files(c *gin.Context) {
|
||||
// @Router /ne/action/file/list [get]
|
||||
func (s *NeActionController) FileList(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
Path string `form:"path" binding:"required"`
|
||||
PageNum int64 `form:"pageNum" binding:"required"`
|
||||
PageSize int64 `form:"pageSize" binding:"required"`
|
||||
@@ -346,14 +345,14 @@ func (s *NeActionController) Files(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neInfo.CoreUID != querys.CoreUID || neInfo.NeUID != querys.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.NeType, neInfo.NeId)
|
||||
sshClient, err := s.neInfoService.NeRunSSHClient(neInfo.CoreUID, neInfo.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -395,7 +394,7 @@ func (s *NeActionController) Files(c *gin.Context) {
|
||||
//
|
||||
// PUT /service
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/action
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -407,9 +406,9 @@ func (s *NeActionController) Files(c *gin.Context) {
|
||||
func (s *NeActionController) Service(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"`
|
||||
NeID string `json:"neId" binding:"required"`
|
||||
Action string `json:"action" binding:"required,oneof=start restart stop reboot poweroff"` // 操作行为
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
Action string `json:"action" binding:"required,oneof=start restart stop reboot poweroff"` // 操作行为
|
||||
}
|
||||
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -418,8 +417,8 @@ func (s *NeActionController) Service(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeID)
|
||||
if neInfo.NeId != body.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
@@ -444,7 +443,7 @@ func (s *NeActionController) Service(c *gin.Context) {
|
||||
cmdStr = "sudo shutdown -h now"
|
||||
}
|
||||
|
||||
_, err := s.neInfoService.NeRunSSHCmd(body.NeType, body.NeID, cmdStr)
|
||||
_, err := s.neInfoService.NeRunSSHCmd(neInfo.CoreUID, neInfo.NeUID, cmdStr)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
|
||||
@@ -160,7 +160,7 @@ func (s NeConfigController) Remove(c *gin.Context) {
|
||||
//
|
||||
// GET /list/:neType
|
||||
//
|
||||
// @Tags ne/config
|
||||
// @Tags network_element/config
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType path string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -183,7 +183,7 @@ func (s NeConfigController) ListByNeType(c *gin.Context) {
|
||||
//
|
||||
// GET /data
|
||||
//
|
||||
// @Tags ne/config
|
||||
// @Tags network_element/config
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -197,8 +197,8 @@ func (s NeConfigController) ListByNeType(c *gin.Context) {
|
||||
func (s NeConfigController) DataInfo(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var query struct {
|
||||
NeType string `form:"neType" binding:"required"` // 网元类型
|
||||
NeId string `form:"neId" binding:"required"` // 网元ID
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
ParamName string `form:"paramName" binding:"required"` // 可用属性
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
@@ -207,13 +207,13 @@ func (s NeConfigController) DataInfo(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(query.NeType, query.NeId)
|
||||
if neInfo.NeId != query.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(query.CoreUID, query.NeUID)
|
||||
if neInfo.CoreUID != query.CoreUID || neInfo.NeUID != query.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
if query.NeType == "OMC" {
|
||||
if neInfo.NeType == "OMC" {
|
||||
resData := s.neConfigService.GetOMCYaml(query.ParamName)
|
||||
c.JSON(200, resp.OkData(resData))
|
||||
return
|
||||
@@ -233,7 +233,7 @@ func (s NeConfigController) DataInfo(c *gin.Context) {
|
||||
//
|
||||
// PUT /data
|
||||
//
|
||||
// @Tags ne/config
|
||||
// @Tags network_element/config
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -245,8 +245,8 @@ func (s NeConfigController) DataInfo(c *gin.Context) {
|
||||
func (s NeConfigController) DataEdit(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" binding:"required"` // 网元ID
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
ParamName string `json:"paramName" binding:"required"`
|
||||
ParamData map[string]any `json:"paramData" binding:"required"`
|
||||
Loc string `json:"loc"` // 仅array使用与数据对象内index一致,有多层时划分嵌套层(index/subParamName/index)
|
||||
@@ -257,12 +257,12 @@ func (s NeConfigController) DataEdit(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neInfo.NeId != body.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
if body.NeType == "OMC" {
|
||||
if neInfo.NeType == "OMC" {
|
||||
err := s.neConfigService.ModifyOMCYaml(body.ParamName, body.Loc, body.ParamData)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
@@ -289,7 +289,7 @@ func (s NeConfigController) DataEdit(c *gin.Context) {
|
||||
//
|
||||
// POST /data
|
||||
//
|
||||
// @Tags ne/config
|
||||
// @Tags network_element/config
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -301,8 +301,8 @@ func (s NeConfigController) DataEdit(c *gin.Context) {
|
||||
func (s NeConfigController) DataAdd(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" binding:"required"` // 网元ID
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
ParamName string `json:"paramName" binding:"required"` // 根据配置可选值
|
||||
ParamData map[string]any `json:"paramData" binding:"required"` // 数据对象
|
||||
Loc string `json:"loc" binding:"required"` // 与数据对象内index一致,有多层时划分嵌套层(index/subParamName/index)
|
||||
@@ -313,8 +313,14 @@ func (s NeConfigController) DataAdd(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查是否array
|
||||
info := s.neConfigService.FindByNeTypeAndParamName(body.NeType, body.ParamName)
|
||||
info := s.neConfigService.FindByNeTypeAndParamName(neInfo.NeType, body.ParamName)
|
||||
if info.ParamType != "array" {
|
||||
c.JSON(200, resp.ErrMsg("this attribute does not support adding"))
|
||||
return
|
||||
@@ -326,12 +332,6 @@ func (s NeConfigController) DataAdd(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neInfo.NeId != body.NeId || neInfo.IP == "" {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
// 网元直连
|
||||
resData, err := neFetchlink.NeConfigAdd(neInfo, body.ParamName, body.Loc, body.ParamData)
|
||||
if err != nil {
|
||||
@@ -345,7 +345,7 @@ func (s NeConfigController) DataAdd(c *gin.Context) {
|
||||
//
|
||||
// DELETE /data
|
||||
//
|
||||
// @Tags ne/config
|
||||
// @Tags network_element/config
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -360,8 +360,8 @@ func (s NeConfigController) DataAdd(c *gin.Context) {
|
||||
func (s NeConfigController) DataRemove(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var query struct {
|
||||
NeType string `form:"neType" binding:"required"` // 网元类型
|
||||
NeId string `form:"neId" binding:"required"` // 网元ID
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
ParamName string `form:"paramName" binding:"required"`
|
||||
Loc string `form:"loc" binding:"required"` // 与数据对象内index一致,有多层时划分嵌套层(index/subParamName/index)
|
||||
}
|
||||
@@ -371,16 +371,16 @@ func (s NeConfigController) DataRemove(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 检查是否array
|
||||
info := s.neConfigService.FindByNeTypeAndParamName(query.NeType, query.ParamName)
|
||||
if info.ParamType != "array" {
|
||||
c.JSON(200, resp.ErrMsg("this attribute does not support adding"))
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(query.CoreUID, query.NeUID)
|
||||
if neInfo.CoreUID != query.CoreUID || neInfo.NeUID != query.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(query.NeType, query.NeId)
|
||||
if neInfo.NeId != query.NeId || neInfo.IP == "" {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
// 检查是否array
|
||||
info := s.neConfigService.FindByNeTypeAndParamName(neInfo.NeType, query.ParamName)
|
||||
if info.ParamType != "array" {
|
||||
c.JSON(200, resp.ErrMsg("this attribute does not support adding"))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -10,10 +10,8 @@ import (
|
||||
"be.ems/src/framework/reqctx"
|
||||
"be.ems/src/framework/resp"
|
||||
"be.ems/src/framework/utils/file"
|
||||
"be.ems/src/framework/utils/parse"
|
||||
"be.ems/src/modules/ne/model"
|
||||
neService "be.ems/src/modules/ne/service"
|
||||
systemService "be.ems/src/modules/system/service"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
@@ -22,7 +20,6 @@ import (
|
||||
var NewNeConfigBackup = &NeConfigBackupController{
|
||||
neConfigBackupService: neService.NewNeConfigBackup,
|
||||
neInfoService: neService.NewNeInfo,
|
||||
sysConfigService: systemService.NewSysConfig,
|
||||
}
|
||||
|
||||
// 网元配置文件备份记录
|
||||
@@ -31,7 +28,6 @@ var NewNeConfigBackup = &NeConfigBackupController{
|
||||
type NeConfigBackupController struct {
|
||||
neConfigBackupService *neService.NeConfigBackup // 网元配置文件备份记录服务
|
||||
neInfoService *neService.NeInfo // 网元信息服务
|
||||
sysConfigService *systemService.SysConfig // 参数配置服务
|
||||
}
|
||||
|
||||
// 网元配置文件备份记录列表
|
||||
@@ -39,6 +35,11 @@ type NeConfigBackupController struct {
|
||||
// GET /list
|
||||
func (s NeConfigBackupController) List(c *gin.Context) {
|
||||
query := reqctx.QueryMap(c)
|
||||
coreUid, coreUidOk := query["coreUid"]
|
||||
if !coreUidOk || coreUid == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
|
||||
return
|
||||
}
|
||||
rows, total := s.neConfigBackupService.FindByPage(query)
|
||||
c.JSON(200, resp.OkData(map[string]any{"rows": rows, "total": total}))
|
||||
}
|
||||
@@ -48,19 +49,29 @@ func (s NeConfigBackupController) List(c *gin.Context) {
|
||||
// GET /download?id=xx
|
||||
func (s NeConfigBackupController) Download(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := parse.Number(c.Query("id"))
|
||||
if id <= 0 {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // 记录ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
item := s.neConfigBackupService.FindById(id)
|
||||
if item.ID != id {
|
||||
// 没有可访问主机命令数据!
|
||||
// 检查是否存在
|
||||
rows := s.neConfigBackupService.Find(model.NeConfigBackup{
|
||||
CoreUID: query.CoreUID,
|
||||
NeUID: query.NeUID,
|
||||
ID: query.ID,
|
||||
})
|
||||
if len(rows) <= 0 {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neConfigBackup.noData")))
|
||||
return
|
||||
}
|
||||
|
||||
item := rows[0]
|
||||
if _, err := os.Stat(item.Path); err != nil {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neConfigBackup.notFoundFile")))
|
||||
return
|
||||
@@ -74,9 +85,11 @@ func (s NeConfigBackupController) Download(c *gin.Context) {
|
||||
func (s NeConfigBackupController) Edit(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
ID int64 `json:"id" binding:"required"` // 记录ID
|
||||
Name string `json:"name" binding:"required"` // 名称
|
||||
Remark string `json:"remark" binding:"required"` // 备注
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
ID int64 `json:"id" binding:"required"` // 记录ID
|
||||
Name string `json:"name" binding:"required"` // 名称
|
||||
Remark string `json:"remark" binding:"required"` // 备注
|
||||
}
|
||||
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -85,18 +98,21 @@ func (s NeConfigBackupController) Edit(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 检查是否存在
|
||||
data := s.neConfigBackupService.FindById(body.ID)
|
||||
if data.ID != body.ID {
|
||||
// 没有可访问主机命令数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neConfig.noData")))
|
||||
rows := s.neConfigBackupService.Find(model.NeConfigBackup{
|
||||
CoreUID: body.CoreUID,
|
||||
NeUID: body.NeUID,
|
||||
ID: body.ID,
|
||||
})
|
||||
if len(rows) <= 0 {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neConfigBackup.noData")))
|
||||
return
|
||||
}
|
||||
|
||||
data := rows[0]
|
||||
data.Name = body.Name
|
||||
data.Remark = body.Remark
|
||||
data.UpdateBy = reqctx.LoginUserToUserName(c)
|
||||
rows := s.neConfigBackupService.Update(data)
|
||||
if rows > 0 {
|
||||
ups := s.neConfigBackupService.Update(data)
|
||||
if ups > 0 {
|
||||
c.JSON(200, resp.Ok(nil))
|
||||
return
|
||||
}
|
||||
@@ -108,21 +124,18 @@ func (s NeConfigBackupController) Edit(c *gin.Context) {
|
||||
// DELETE /?id=xx
|
||||
func (s NeConfigBackupController) Remove(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := c.Query("id")
|
||||
if id == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // 记录ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
// 处理字符转id数组后去重
|
||||
uniqueIDs := parse.RemoveDuplicatesToArray(id, ",")
|
||||
// 转换成int64数组类型
|
||||
ids := make([]int64, 0)
|
||||
for _, v := range uniqueIDs {
|
||||
ids = append(ids, parse.Number(v))
|
||||
}
|
||||
|
||||
rows, err := s.neConfigBackupService.DeleteByIds(ids)
|
||||
rows, err := s.neConfigBackupService.DeleteByIds(query.ID, query.CoreUID, query.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, err.Error())))
|
||||
return
|
||||
@@ -137,10 +150,10 @@ func (s NeConfigBackupController) Remove(c *gin.Context) {
|
||||
func (s NeConfigBackupController) Import(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"`
|
||||
NeId string `json:"neId" binding:"required"`
|
||||
Type string `json:"type" binding:"required,oneof=backup upload"` // 导入类型
|
||||
Path string `json:"path" binding:"required"` // 文件路径
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
Type string `json:"type" binding:"required,oneof=backup upload"` // 导入类型 backup upload
|
||||
Path string `json:"path" binding:"required"` // 备份文件zip文件路径
|
||||
}
|
||||
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -153,8 +166,8 @@ func (s NeConfigBackupController) Import(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查网元
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neInfo.NeId != body.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
@@ -176,8 +189,8 @@ func (s NeConfigBackupController) Import(c *gin.Context) {
|
||||
func (s NeConfigBackupController) Export(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"`
|
||||
NeId string `json:"neId" binding:"required"`
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -185,8 +198,8 @@ func (s NeConfigBackupController) Export(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
// 查网元
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neInfo.NeId != body.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
@@ -198,8 +211,9 @@ func (s NeConfigBackupController) Export(c *gin.Context) {
|
||||
}
|
||||
// 新增备份记录
|
||||
item := model.NeConfigBackup{
|
||||
CoreUID: neInfo.CoreUID,
|
||||
NeUID: neInfo.NeUID,
|
||||
NeType: neInfo.NeType,
|
||||
NeId: neInfo.NeId,
|
||||
Name: filepath.Base(zipFilePath),
|
||||
Path: zipFilePath,
|
||||
CreateBy: reqctx.LoginUserToUserName(c),
|
||||
|
||||
@@ -182,7 +182,7 @@ func (s NeHostController) Remove(c *gin.Context) {
|
||||
//
|
||||
// POST /test
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/host
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -261,7 +261,7 @@ func (s NeHostController) Test(c *gin.Context) {
|
||||
//
|
||||
// POST /cmd
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/host
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -344,7 +344,7 @@ func (s NeHostController) Cmd(c *gin.Context) {
|
||||
//
|
||||
// POST /checkBySSH
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/host
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -446,7 +446,7 @@ func (s NeHostController) CheckBySSH(c *gin.Context) {
|
||||
//
|
||||
// POST /authorizedBySSH
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/host
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
|
||||
@@ -2,7 +2,6 @@ package controller
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"be.ems/src/framework/i18n"
|
||||
@@ -18,18 +17,14 @@ import (
|
||||
|
||||
// 实例化控制层 NeInfoController 结构体
|
||||
var NewNeInfo = &NeInfoController{
|
||||
neInfoService: service.NewNeInfo,
|
||||
neLicenseService: service.NewNeLicense,
|
||||
neVersionService: service.NewNeVersion,
|
||||
neInfoService: service.NewNeInfo,
|
||||
}
|
||||
|
||||
// 网元信息请求
|
||||
//
|
||||
// PATH /info
|
||||
type NeInfoController struct {
|
||||
neInfoService *service.NeInfo // 网元信息服务
|
||||
neLicenseService *service.NeLicense // 网元授权激活信息服务
|
||||
neVersionService *service.NeVersion // 网元版本信息服务
|
||||
neInfoService *service.NeInfo // 网元信息服务
|
||||
}
|
||||
|
||||
// neStateCacheMap 网元状态缓存最后一次成功的信息
|
||||
@@ -40,11 +35,11 @@ var mutex sync.Mutex
|
||||
//
|
||||
// GET /state
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Success 200 {object} object "Response Results"
|
||||
// @Security TokenAuth
|
||||
// @Summary Network element information state
|
||||
@@ -52,22 +47,22 @@ var mutex sync.Mutex
|
||||
// @Router /ne/info/state [get]
|
||||
func (s NeInfoController) State(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeId string `form:"neId" binding:"required"`
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeId)
|
||||
if neInfo.NeId != querys.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(query.CoreUID, query.NeUID)
|
||||
if neInfo.CoreUID != query.CoreUID || neInfo.NeUID != query.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
neKey := fmt.Sprintf("%s_%s", neInfo.NeType, neInfo.NeId)
|
||||
neKey := fmt.Sprintf("%s_%s", neInfo.CoreUID, neInfo.NeUID)
|
||||
|
||||
// 网元直连
|
||||
resData, err := neFetchlink.NeState(neInfo)
|
||||
@@ -79,11 +74,12 @@ func (s NeInfoController) State(c *gin.Context) {
|
||||
resDataCache.(map[string]any)["online"] = false
|
||||
} else {
|
||||
resDataCache = map[string]any{
|
||||
"online": false,
|
||||
"neId": neInfo.NeId,
|
||||
"neName": neInfo.NeName,
|
||||
"neType": neInfo.NeType,
|
||||
"neIP": neInfo.IP,
|
||||
"online": false,
|
||||
"coreUid": neInfo.CoreUID,
|
||||
"neUid": neInfo.NeUID,
|
||||
"neType": neInfo.NeType,
|
||||
"neName": neInfo.NeName,
|
||||
"neIP": neInfo.IPAddr,
|
||||
}
|
||||
}
|
||||
neStateCacheMap.Store(neKey, resDataCache)
|
||||
@@ -100,34 +96,34 @@ func (s NeInfoController) State(c *gin.Context) {
|
||||
c.JSON(200, resp.OkData(resData))
|
||||
}
|
||||
|
||||
// 网元neType和neID查询
|
||||
// 网元信息查询
|
||||
//
|
||||
// GET /byTypeAndID
|
||||
// GET /nf
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Success 200 {object} object "Response Results"
|
||||
// @Security TokenAuth
|
||||
// @Summary Network element neType and neID queries
|
||||
// @Description Network element neType and neID queries
|
||||
// @Router /ne/info/byTypeAndID [get]
|
||||
func (s NeInfoController) NeTypeAndID(c *gin.Context) {
|
||||
// @Router /ne/info/nf [get]
|
||||
func (s NeInfoController) Nf(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(query.CoreUID, query.NeUID)
|
||||
if neInfo.CoreUID != query.CoreUID || neInfo.NeUID != query.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
@@ -136,25 +132,27 @@ func (s NeInfoController) NeTypeAndID(c *gin.Context) {
|
||||
|
||||
// 网元信息列表全部无分页
|
||||
//
|
||||
// GET /listAll
|
||||
// GET /list/all
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Param neType query string true "NE Type"
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param bandStatus query boolean true "With status information"
|
||||
// @Param bandHost query boolean true "With host information"
|
||||
// @Success 200 {object} object "Response Results"
|
||||
// @Security TokenAuth
|
||||
// @Summary The list of network element information is all unpaginated
|
||||
// @Description The list of network element information is all unpaginated
|
||||
// @Router /ne/info/listAll [get]
|
||||
// @Router /ne/info/list/all [get]
|
||||
func (s NeInfoController) ListAll(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid"` // 网元唯一标识
|
||||
NeType string `form:"neType"`
|
||||
NeId string `form:"neId"`
|
||||
BandStatus bool `form:"bandStatus"`
|
||||
BandHost bool `form:"bandHost"`
|
||||
}
|
||||
@@ -166,12 +164,15 @@ func (s NeInfoController) ListAll(c *gin.Context) {
|
||||
|
||||
// 查询实体参数
|
||||
ne := model.NeInfo{}
|
||||
if querys.CoreUID != "" {
|
||||
ne.CoreUID = querys.CoreUID
|
||||
}
|
||||
if querys.NeUID != "" {
|
||||
ne.NeUID = querys.NeUID
|
||||
}
|
||||
if querys.NeType != "" {
|
||||
ne.NeType = querys.NeType
|
||||
}
|
||||
if querys.NeId != "" {
|
||||
ne.NeId = querys.NeId
|
||||
}
|
||||
neList := s.neInfoService.Find(ne, querys.BandStatus, querys.BandHost)
|
||||
if len(neList) == 0 {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
@@ -182,7 +183,7 @@ func (s NeInfoController) ListAll(c *gin.Context) {
|
||||
|
||||
// 网元端Para5G配置文件读取
|
||||
//
|
||||
// GET /para5GFile
|
||||
// GET /file/para5g
|
||||
func (s NeInfoController) Para5GFileRead(c *gin.Context) {
|
||||
data, err := s.neInfoService.NeConfPara5GRead()
|
||||
if err != nil {
|
||||
@@ -194,7 +195,7 @@ func (s NeInfoController) Para5GFileRead(c *gin.Context) {
|
||||
|
||||
// 网元端Para5G配置文件写入
|
||||
//
|
||||
// PUT /para5GFile
|
||||
// PUT /file/para5g
|
||||
func (s NeInfoController) Para5GFileWrite(c *gin.Context) {
|
||||
var body struct {
|
||||
Content map[string]any `json:"content" binding:"required"` // 内容
|
||||
@@ -216,11 +217,11 @@ func (s NeInfoController) Para5GFileWrite(c *gin.Context) {
|
||||
|
||||
// 网元端OAM配置文件读取
|
||||
//
|
||||
// GET /oamFile
|
||||
// GET /file/oam
|
||||
func (s NeInfoController) OAMFileRead(c *gin.Context) {
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeID string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -228,7 +229,7 @@ func (s NeInfoController) OAMFileRead(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
data, err := s.neInfoService.NeConfOAMReadSync(querys.NeType, querys.NeID)
|
||||
data, err := s.neInfoService.NeConfOAMReadSync(querys.CoreUID, querys.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
@@ -238,12 +239,12 @@ func (s NeInfoController) OAMFileRead(c *gin.Context) {
|
||||
|
||||
// 网元端OAM配置文件写入
|
||||
//
|
||||
// PUT /oamFile
|
||||
// PUT /file/oam
|
||||
func (s NeInfoController) OAMFileWrite(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
NeType string `json:"neType" binding:"required"`
|
||||
NeID string `json:"neId" binding:"required"`
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
Content map[string]any `json:"content" binding:"required"` // 内容
|
||||
Sync bool `json:"sync"` // 同步到网元
|
||||
}
|
||||
@@ -254,8 +255,8 @@ func (s NeInfoController) OAMFileWrite(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 查询网元获取IP
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(body.NeType, body.NeID)
|
||||
if neInfo.NeId != body.NeID || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neInfo.CoreUID != body.CoreUID || neInfo.NeUID != body.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
@@ -272,7 +273,7 @@ func (s NeInfoController) OAMFileWrite(c *gin.Context) {
|
||||
//
|
||||
// GET /list
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param bandStatus query boolean false "The result carries the state of the network element"
|
||||
@@ -287,6 +288,11 @@ func (s NeInfoController) OAMFileWrite(c *gin.Context) {
|
||||
// @Router /ne/info/list [get]
|
||||
func (s NeInfoController) List(c *gin.Context) {
|
||||
query := reqctx.QueryMap(c)
|
||||
coreUid, coreUidOk := query["coreUid"]
|
||||
if !coreUidOk || coreUid == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
|
||||
return
|
||||
}
|
||||
bandStatus := false
|
||||
if v, ok := query["bandStatus"]; ok {
|
||||
bandStatus = parse.Boolean(v)
|
||||
@@ -297,9 +303,9 @@ func (s NeInfoController) List(c *gin.Context) {
|
||||
|
||||
// 网元信息
|
||||
//
|
||||
// GET /:id
|
||||
// GET /
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param value path string true "Row ID"
|
||||
@@ -307,30 +313,34 @@ func (s NeInfoController) List(c *gin.Context) {
|
||||
// @Security TokenAuth
|
||||
// @Summary Network element information
|
||||
// @Description Network element information
|
||||
// @Router /ne/info/{value} [get]
|
||||
// @Router /ne/info [get]
|
||||
func (s NeInfoController) Info(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := parse.Number(c.Param("id"))
|
||||
if id <= 0 {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neHost := s.neInfoService.FindById(id, true)
|
||||
if neHost.ID != id {
|
||||
info := s.neInfoService.FindById(query.ID, true)
|
||||
if info.ID != query.ID || info.CoreUID != query.CoreUID {
|
||||
// 没有可访问网元信息数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neInfo.noData")))
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(200, resp.OkData(neHost))
|
||||
c.JSON(200, resp.OkData(info))
|
||||
}
|
||||
|
||||
// 网元信息新增
|
||||
//
|
||||
// POST /
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -340,7 +350,6 @@ func (s NeInfoController) Info(c *gin.Context) {
|
||||
// @Description Network element information addition
|
||||
// @Router /ne/info [post]
|
||||
func (s NeInfoController) Add(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body model.NeInfo
|
||||
err := c.ShouldBindBodyWithJSON(&body)
|
||||
if err != nil {
|
||||
@@ -352,68 +361,12 @@ func (s NeInfoController) Add(c *gin.Context) {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id not is empty"))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查属性值唯一
|
||||
uniqueInfo := s.neInfoService.CheckUniqueNeTypeAndNeId(body.NeType, body.NeId, 0)
|
||||
if !uniqueInfo {
|
||||
// 网元信息操作【%s】失败,同类型下标识已存在
|
||||
msg := i18n.TTemplate(language, "neInfo.errKeyExists", map[string]any{"key": body.NeId})
|
||||
c.JSON(200, resp.ErrMsg(msg))
|
||||
if body.CoreUID == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
|
||||
return
|
||||
}
|
||||
|
||||
// 获取网元状态是否正常
|
||||
body.ServerState, err = neFetchlink.NeState(body)
|
||||
if err != nil {
|
||||
body.Status = 0
|
||||
} else {
|
||||
// 网元状态设置为在线
|
||||
body.Status = 1
|
||||
if parse.Boolean(body.ServerState["standby"]) {
|
||||
body.Status = 3
|
||||
}
|
||||
// 下发网管配置信息给网元
|
||||
if _, err = neFetchlink.NeConfigOMC(body); err != nil {
|
||||
body.Status = 2
|
||||
}
|
||||
}
|
||||
|
||||
loginUserName := reqctx.LoginUserToUserName(c)
|
||||
// 新增Version信息
|
||||
neVersion := model.NeVersion{
|
||||
NeType: body.NeType,
|
||||
NeId: body.NeId,
|
||||
CreateBy: loginUserName,
|
||||
}
|
||||
// 新增License信息
|
||||
neLicense := model.NeLicense{
|
||||
NeType: body.NeType,
|
||||
NeId: body.NeId,
|
||||
CreateBy: loginUserName,
|
||||
}
|
||||
|
||||
// 已有网元可获取的信息
|
||||
if body.ServerState != nil {
|
||||
if v, ok := body.ServerState["version"]; ok && v != nil {
|
||||
neVersion.Name = "-"
|
||||
neVersion.Path = "-"
|
||||
neVersion.Version = fmt.Sprint(v)
|
||||
}
|
||||
if v, ok := body.ServerState["capability"]; ok && v != nil {
|
||||
neLicense.Capability = parse.Number(v)
|
||||
}
|
||||
if v, ok := body.ServerState["sn"]; ok && v != nil {
|
||||
neLicense.SerialNum = fmt.Sprint(v)
|
||||
}
|
||||
if v, ok := body.ServerState["expire"]; ok && v != nil {
|
||||
neLicense.ExpiryDate = fmt.Sprint(v)
|
||||
neLicense.Status = "1"
|
||||
}
|
||||
}
|
||||
|
||||
s.neVersionService.Insert(neVersion)
|
||||
s.neLicenseService.Insert(neLicense)
|
||||
body.CreateBy = loginUserName
|
||||
body.CreateBy = reqctx.LoginUserToUserName(c)
|
||||
insertId := s.neInfoService.Insert(body)
|
||||
if insertId > 0 {
|
||||
c.JSON(200, resp.OkData(insertId))
|
||||
@@ -426,7 +379,7 @@ func (s NeInfoController) Add(c *gin.Context) {
|
||||
//
|
||||
// PUT /
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -449,15 +402,6 @@ func (s NeInfoController) Edit(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 检查属性值唯一
|
||||
uniqueInfo := s.neInfoService.CheckUniqueNeTypeAndNeId(body.NeType, body.NeId, body.ID)
|
||||
if !uniqueInfo {
|
||||
// 网元信息操作【%s】失败,同类型下标识已存在
|
||||
msg := i18n.TTemplate(language, "neInfo.errKeyExists", map[string]any{"key": body.NeId})
|
||||
c.JSON(200, resp.ErrMsg(msg))
|
||||
return
|
||||
}
|
||||
|
||||
// 检查是否存在
|
||||
neInfo := s.neInfoService.FindById(body.ID, false)
|
||||
if neInfo.ID != body.ID {
|
||||
@@ -465,71 +409,10 @@ func (s NeInfoController) Edit(c *gin.Context) {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neInfo.noData")))
|
||||
return
|
||||
}
|
||||
// 赋予主机ID
|
||||
if neInfo.HostIDs != "" && len(body.Hosts) > 0 {
|
||||
hostIDs := strings.Split(neInfo.HostIDs, ",")
|
||||
for index, id := range hostIDs {
|
||||
body.Hosts[index].ID = parse.Number(id)
|
||||
}
|
||||
}
|
||||
|
||||
// 获取网元状态是否正常
|
||||
body.ServerState, err = neFetchlink.NeState(neInfo)
|
||||
if err != nil {
|
||||
body.Status = 0
|
||||
} else {
|
||||
// 网元状态设置为在线
|
||||
body.Status = 1
|
||||
if parse.Boolean(body.ServerState["standby"]) {
|
||||
body.Status = 3
|
||||
}
|
||||
// 下发网管配置信息给网元
|
||||
if _, err = neFetchlink.NeConfigOMC(body); err != nil {
|
||||
body.Status = 2
|
||||
}
|
||||
}
|
||||
|
||||
loginUserName := reqctx.LoginUserToUserName(c)
|
||||
neLicense := s.neLicenseService.FindByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||
neVersion := s.neVersionService.FindByNeTypeAndNeID(neInfo.NeType, neInfo.NeId)
|
||||
|
||||
// 已有网元可获取的信息
|
||||
if body.ServerState != nil {
|
||||
if v, ok := body.ServerState["version"]; ok && v != nil {
|
||||
neVersion.Name = "-"
|
||||
neVersion.Path = "-"
|
||||
neVersion.Version = fmt.Sprint(v)
|
||||
neVersion.UpdateBy = loginUserName
|
||||
}
|
||||
if v, ok := body.ServerState["capability"]; ok && v != nil {
|
||||
neLicense.Capability = parse.Number(v)
|
||||
}
|
||||
if v, ok := body.ServerState["sn"]; ok && v != nil {
|
||||
neLicense.SerialNum = fmt.Sprint(v)
|
||||
}
|
||||
if v, ok := body.ServerState["expire"]; ok && v != nil {
|
||||
neLicense.ExpiryDate = fmt.Sprint(v)
|
||||
neLicense.Status = "1"
|
||||
neLicense.UpdateBy = loginUserName
|
||||
}
|
||||
}
|
||||
|
||||
if neVersion.ID <= 0 {
|
||||
if neVersion.NeType != body.NeType || neVersion.NeId != body.NeId {
|
||||
neVersion.NeType = body.NeType
|
||||
neVersion.NeId = body.NeId
|
||||
}
|
||||
s.neVersionService.Update(neVersion)
|
||||
}
|
||||
if neLicense.ID <= 0 {
|
||||
if neLicense.NeType != body.NeType || neLicense.NeId != body.NeId {
|
||||
neLicense.NeType = body.NeType
|
||||
neLicense.NeId = body.NeId
|
||||
}
|
||||
s.neLicenseService.Update(neLicense)
|
||||
}
|
||||
|
||||
body.UpdateBy = loginUserName
|
||||
body.CoreUID = neInfo.CoreUID
|
||||
body.NeUID = neInfo.NeUID
|
||||
body.UpdateBy = reqctx.LoginUserToUserName(c)
|
||||
rows := s.neInfoService.Update(body)
|
||||
if rows > 0 {
|
||||
c.JSON(200, resp.Ok(nil))
|
||||
@@ -542,7 +425,7 @@ func (s NeInfoController) Edit(c *gin.Context) {
|
||||
//
|
||||
// DELETE /:id
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/info
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param value path string true "Row ID"
|
||||
@@ -553,21 +436,18 @@ func (s NeInfoController) Edit(c *gin.Context) {
|
||||
// @Router /ne/info [delete]
|
||||
func (s NeInfoController) Remove(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := c.Param("id")
|
||||
if id == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // 记录ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
// 处理字符转id数组后去重
|
||||
uniqueIDs := parse.RemoveDuplicatesToArray(id, ",")
|
||||
// 转换成int64数组类型
|
||||
ids := make([]int64, 0)
|
||||
for _, v := range uniqueIDs {
|
||||
ids = append(ids, parse.Number(v))
|
||||
}
|
||||
|
||||
rows, err := s.neInfoService.DeleteByIds(ids)
|
||||
rows, err := s.neInfoService.DeleteById(query.ID, query.CoreUID, query.NeUID)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, err.Error())))
|
||||
return
|
||||
|
||||
@@ -33,7 +33,7 @@ type NeLicenseController struct {
|
||||
//
|
||||
// GET /list
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/license
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string false "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -48,6 +48,11 @@ type NeLicenseController struct {
|
||||
// @Router /ne/license/list [get]
|
||||
func (s *NeLicenseController) List(c *gin.Context) {
|
||||
query := reqctx.QueryMap(c)
|
||||
coreUid, coreUidOk := query["coreUid"]
|
||||
if !coreUidOk || coreUid == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
|
||||
return
|
||||
}
|
||||
rows, total := s.neLicenseService.FindByPage(query)
|
||||
|
||||
// 过滤屏蔽授权文件
|
||||
@@ -62,17 +67,21 @@ func (s *NeLicenseController) List(c *gin.Context) {
|
||||
|
||||
// 网元授权激活信息
|
||||
//
|
||||
// GET /:id
|
||||
// GET /
|
||||
func (s *NeLicenseController) Info(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := parse.Number(c.Param("id"))
|
||||
if id <= 0 {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neLicense := s.neLicenseService.FindById(id)
|
||||
if neLicense.ID != id {
|
||||
neLicense := s.neLicenseService.FindById(query.ID)
|
||||
if neLicense.ID != query.ID || neLicense.CoreUID != query.CoreUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
@@ -81,25 +90,25 @@ func (s *NeLicenseController) Info(c *gin.Context) {
|
||||
c.JSON(200, resp.OkData(neLicense))
|
||||
}
|
||||
|
||||
// 网元neType和neID查询
|
||||
// 网元信息查询
|
||||
//
|
||||
// GET /byTypeAndID
|
||||
// GET /nf
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/license
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
// @Param neId query string true "NE ID" default(001)
|
||||
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
|
||||
// @Param neUid query string true "NeUID" default(5AKF59BZ)
|
||||
// @Success 200 {object} object "Response Results"
|
||||
// @Security TokenAuth
|
||||
// @Summary Network element neType and neID queries
|
||||
// @Description Network element neType and neID queries
|
||||
// @Router /ne/license/byTypeAndID [get]
|
||||
func (s *NeLicenseController) NeTypeAndID(c *gin.Context) {
|
||||
// @Router /ne/license/nf [get]
|
||||
func (s *NeLicenseController) Nf(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeId string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -107,8 +116,8 @@ func (s *NeLicenseController) NeTypeAndID(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neLicense := s.neLicenseService.FindByNeTypeAndNeID(querys.NeType, querys.NeId)
|
||||
if neLicense.NeId != querys.NeId {
|
||||
neLicense := s.neLicenseService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neLicense.CoreUID != querys.CoreUID || neLicense.NeUID != querys.NeUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
@@ -121,7 +130,7 @@ func (s *NeLicenseController) NeTypeAndID(c *gin.Context) {
|
||||
//
|
||||
// GET /code
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/license
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -134,8 +143,8 @@ func (s *NeLicenseController) NeTypeAndID(c *gin.Context) {
|
||||
func (s *NeLicenseController) Code(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeId string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
@@ -144,8 +153,8 @@ func (s *NeLicenseController) Code(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 检查是否存在授权记录
|
||||
neLicense := s.neLicenseService.FindByNeTypeAndNeID(querys.NeType, querys.NeId)
|
||||
if neLicense.NeId != querys.NeId {
|
||||
neLicense := s.neLicenseService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neLicense.CoreUID != querys.CoreUID || neLicense.NeUID != querys.NeUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
@@ -157,9 +166,10 @@ func (s *NeLicenseController) Code(c *gin.Context) {
|
||||
if licensePath != "" {
|
||||
neLicense.LicensePath = licensePath
|
||||
} else {
|
||||
neLicense.Capability = 0
|
||||
neLicense.SerialNum = ""
|
||||
neLicense.ExpiryDate = ""
|
||||
neLicense.UeNumber = 0
|
||||
neLicense.NbNumber = 0
|
||||
neLicense.Status = "0"
|
||||
}
|
||||
neLicense.UpdateBy = reqctx.LoginUserToUserName(c)
|
||||
@@ -172,7 +182,7 @@ func (s *NeLicenseController) Code(c *gin.Context) {
|
||||
//
|
||||
// POST /change
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/license
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -192,8 +202,8 @@ func (s *NeLicenseController) Change(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 检查是否存在授权记录
|
||||
neLicense := s.neLicenseService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neLicense.NeId != body.NeId {
|
||||
neLicense := s.neLicenseService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neLicense.CoreUID != body.CoreUID || neLicense.NeUID != body.NeUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
@@ -224,7 +234,7 @@ func (s *NeLicenseController) Change(c *gin.Context) {
|
||||
//
|
||||
// GET /state
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/license
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
|
||||
@@ -237,8 +247,8 @@ func (s *NeLicenseController) Change(c *gin.Context) {
|
||||
func (s *NeLicenseController) State(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
NeType string `form:"neType" binding:"required"`
|
||||
NeId string `form:"neId" binding:"required"`
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
c.JSON(400, resp.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||
@@ -246,24 +256,25 @@ func (s *NeLicenseController) State(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 检查是否存在授权记录
|
||||
neLicense := s.neLicenseService.FindByNeTypeAndNeID(querys.NeType, querys.NeId)
|
||||
if neLicense.NeId != querys.NeId {
|
||||
neLicense := s.neLicenseService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neLicense.CoreUID != querys.CoreUID || neLicense.NeUID != querys.NeUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
}
|
||||
|
||||
// 查询网元获取IP获取网元状态
|
||||
neInfo := s.neInfoService.FindByNeTypeAndNeID(neLicense.NeType, neLicense.NeId)
|
||||
if neInfo.NeId != neLicense.NeId || neInfo.IP == "" {
|
||||
neInfo := s.neInfoService.FindByCoreUidAndNeUid(neLicense.CoreUID, neLicense.NeUID)
|
||||
if neInfo.CoreUID != neLicense.CoreUID || neInfo.NeUID != neLicense.NeUID {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||
return
|
||||
}
|
||||
if neState, err := neFetchlink.NeState(neInfo); err == nil && neState["sn"] != nil {
|
||||
neLicense.Status = "1"
|
||||
neLicense.Capability = parse.Number(neState["capability"])
|
||||
neLicense.SerialNum = fmt.Sprint(neState["sn"])
|
||||
neLicense.ExpiryDate = fmt.Sprint(neState["expire"])
|
||||
neLicense.UeNumber = parse.Number(neState["ueNumber"])
|
||||
neLicense.NbNumber = parse.Number(neState["nbNumber"])
|
||||
} else {
|
||||
neLicense.Status = "0"
|
||||
}
|
||||
@@ -280,9 +291,10 @@ func (s *NeLicenseController) State(c *gin.Context) {
|
||||
|
||||
if neLicense.Status == "1" {
|
||||
c.JSON(200, resp.OkData(map[string]any{
|
||||
"capability": neLicense.Capability,
|
||||
"sn": neLicense.SerialNum,
|
||||
"expire": neLicense.ExpiryDate,
|
||||
"sn": neLicense.SerialNum,
|
||||
"expire": neLicense.ExpiryDate,
|
||||
"ueNumber": neLicense.UeNumber,
|
||||
"nbNumber": neLicense.NbNumber,
|
||||
}))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ func (s NeSoftwareController) Add(c *gin.Context) {
|
||||
})
|
||||
if len(neSoftwares) > 0 {
|
||||
neSoftware := neSoftwares[0]
|
||||
s.neSoftwareService.DeleteByIds([]int64{neSoftware.ID})
|
||||
s.neSoftwareService.DeleteByIds([]int64{neSoftware.ID}, false)
|
||||
}
|
||||
|
||||
// 检查属性值唯一
|
||||
@@ -183,7 +183,7 @@ func (s NeSoftwareController) Remove(c *gin.Context) {
|
||||
ids = append(ids, parse.Number(v))
|
||||
}
|
||||
|
||||
rows, err := s.neSoftwareService.DeleteByIds(ids)
|
||||
rows, err := s.neSoftwareService.DeleteByIds(ids, true)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, err.Error())))
|
||||
return
|
||||
|
||||
@@ -6,22 +6,21 @@ import (
|
||||
"be.ems/src/framework/i18n"
|
||||
"be.ems/src/framework/reqctx"
|
||||
"be.ems/src/framework/resp"
|
||||
"be.ems/src/framework/utils/parse"
|
||||
neService "be.ems/src/modules/ne/service"
|
||||
ne "be.ems/src/modules/ne/service"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 实例化控制层 NeVersionController 结构体
|
||||
var NewNeVersion = &NeVersionController{
|
||||
neVersionService: neService.NewNeVersion,
|
||||
neVersionService: ne.NewNeVersion,
|
||||
}
|
||||
|
||||
// 网元版本请求
|
||||
//
|
||||
// PATH /version
|
||||
type NeVersionController struct {
|
||||
neVersionService *neService.NeVersion // 网元版本服务
|
||||
neVersionService *ne.NeVersion // 网元版本服务
|
||||
}
|
||||
|
||||
// 网元版本列表
|
||||
@@ -29,23 +28,32 @@ type NeVersionController struct {
|
||||
// GET /list
|
||||
func (s *NeVersionController) List(c *gin.Context) {
|
||||
query := reqctx.QueryMap(c)
|
||||
coreUid, coreUidOk := query["coreUid"]
|
||||
if !coreUidOk || coreUid == "" {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
|
||||
return
|
||||
}
|
||||
rows, total := s.neVersionService.FindByPage(query, true)
|
||||
c.JSON(200, resp.OkData(map[string]any{"total": total, "rows": rows}))
|
||||
}
|
||||
|
||||
// 网元版本信息
|
||||
//
|
||||
// GET /:id
|
||||
// GET /
|
||||
func (s *NeVersionController) Info(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
id := parse.Number(c.Param("id"))
|
||||
if id <= 0 {
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id is empty"))
|
||||
var query struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
ID int64 `form:"id" binding:"required"` // 记录ID
|
||||
}
|
||||
if err := c.ShouldBindQuery(&query); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neVersion := s.neVersionService.FindById(id)
|
||||
if neVersion.ID != id {
|
||||
neVersion := s.neVersionService.FindById(query.ID)
|
||||
if neVersion.ID != query.ID || neVersion.CoreUID != query.CoreUID {
|
||||
// 没有可访问网元版本数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neVersion.noData")))
|
||||
return
|
||||
@@ -54,11 +62,36 @@ func (s *NeVersionController) Info(c *gin.Context) {
|
||||
c.JSON(200, resp.OkData(neVersion))
|
||||
}
|
||||
|
||||
// 网元信息查询
|
||||
//
|
||||
// GET /nf
|
||||
func (s *NeVersionController) Nf(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var querys struct {
|
||||
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
|
||||
}
|
||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
|
||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
|
||||
return
|
||||
}
|
||||
|
||||
neVersion := s.neVersionService.FindByCoreUidAndNeUid(querys.CoreUID, querys.NeUID)
|
||||
if neVersion.CoreUID != querys.CoreUID || neVersion.NeUID != querys.NeUID {
|
||||
// 没有可访问网元授权激活数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neLicense.noData")))
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(200, resp.OkData(neVersion))
|
||||
}
|
||||
|
||||
// 网元版本操作
|
||||
//
|
||||
// POST /operate
|
||||
//
|
||||
// @Tags ne
|
||||
// @Tags network_element/version
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param data body object true "Request Param"
|
||||
@@ -70,9 +103,9 @@ func (s *NeVersionController) Info(c *gin.Context) {
|
||||
func (s *NeVersionController) Operate(c *gin.Context) {
|
||||
language := reqctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
|
||||
Action string `json:"action" binding:"required,oneof=install upgrade rollback"` // 操作行为
|
||||
NeType string `json:"neType" gorm:"ne_type" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" gorm:"ne_id" binding:"required"` // 网元ID
|
||||
Preinput map[string]string `json:"preinput" ` // 预先输入参数
|
||||
}
|
||||
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
|
||||
@@ -81,8 +114,8 @@ func (s *NeVersionController) Operate(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
neVersion := s.neVersionService.FindByNeTypeAndNeID(body.NeType, body.NeId)
|
||||
if neVersion.NeId != body.NeId {
|
||||
neVersion := s.neVersionService.FindByCoreUidAndNeUid(body.CoreUID, body.NeUID)
|
||||
if neVersion.CoreUID != body.CoreUID || neVersion.NeUID != body.NeUID {
|
||||
// 没有可访问网元版本数据!
|
||||
c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neVersion.noData")))
|
||||
return
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
// AlarmHistory 告警历史记录
|
||||
func AlarmHistory(neInfo model.NeInfo) ([]map[string]any, error) {
|
||||
// 网元参数配置信息
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/faultManagement/v1/elementType/%s/objectType/alarms", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/faultManagement/v1/elementType/%s/objectType/alarms", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
var resData []map[string]any
|
||||
if err != nil {
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
//
|
||||
// 返回结果 []
|
||||
func AMFNbInfoList(neInfo model.NeInfo, data map[string]string) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/amf/objectType/nbInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/amf/objectType/nbInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["id"]; ok && v != "" {
|
||||
@@ -59,7 +59,7 @@ func AMFNbInfoList(neInfo model.NeInfo, data map[string]string) ([]map[string]an
|
||||
//
|
||||
// 返回结果 []
|
||||
func AMFGnbStateList(neInfo model.NeInfo) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/amf/objectType/nbState", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/amf/objectType/nbState", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
|
||||
@@ -18,7 +18,7 @@ import (
|
||||
// data参数 {traceID:"跟踪任务ID", imsi:"IMSI和MSISDN必填一个,都带的话以IMSI为准", msisdn:""}
|
||||
func HLRTraceStart(neInfo model.NeInfo, data map[string]any) (string, error) {
|
||||
// 网元参数配置新增(array)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/trace-manage/v1/add-task", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/trace-manage/v1/add-task", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
var resData map[string]string
|
||||
if err != nil {
|
||||
@@ -45,7 +45,7 @@ func HLRTraceStart(neInfo model.NeInfo, data map[string]any) (string, error) {
|
||||
// data参数 {traceIDArray: ["跟踪任务ID数组"]}
|
||||
func HLRTraceStop(neInfo model.NeInfo, data map[string]any) (string, error) {
|
||||
// 网元参数配置新增(array)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/trace-manage/v1/delete-task", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/trace-manage/v1/delete-task", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
var resData map[string]string
|
||||
if err != nil {
|
||||
|
||||
@@ -15,7 +15,7 @@ import (
|
||||
//
|
||||
// 返回结果 0
|
||||
func IMSUeSessionNum(neInfo model.NeInfo) (int64, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/ims/objectType/ueNum", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/ims/objectType/ueNum", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -47,7 +47,7 @@ func IMSUeSessionNum(neInfo model.NeInfo) (int64, error) {
|
||||
//
|
||||
// 返回结果 []
|
||||
func IMSUeSessionList(neInfo model.NeInfo, data map[string]string) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/ims/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/ims/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["imsi"]; ok && v != "" {
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
//
|
||||
// 返回结果 []
|
||||
func MMENbInfoList(neInfo model.NeInfo, data map[string]string) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/mme/objectType/nbInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/mme/objectType/nbInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["id"]; ok && v != "" {
|
||||
@@ -59,7 +59,7 @@ func MMENbInfoList(neInfo model.NeInfo, data map[string]string) ([]map[string]an
|
||||
//
|
||||
// 返回结果 []
|
||||
func MMEEnbStateList(neInfo model.NeInfo) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/mme/objectType/nbState", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/mme/objectType/nbState", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
//
|
||||
// 返回结果 {"rows":[],"total":0}
|
||||
func N3IWFSubInfoList(neInfo model.NeInfo, data map[string]string) (map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/n3iwf/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/n3iwf/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["imsi"]; ok && v != "" {
|
||||
|
||||
@@ -13,14 +13,14 @@ import (
|
||||
// NeConfigOMC 网元配置对端网管信息
|
||||
func NeConfigOMC(neInfo model.NeInfo) (map[string]any, error) {
|
||||
// 网元配置对端网管信息
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
resBytes, err := fetch.PutJSON(neUrl, map[string]any{
|
||||
"neId": neInfo.NeId,
|
||||
"neName": neInfo.NeName,
|
||||
"rmUID": neInfo.CoreUID,
|
||||
"neId": neInfo.NeName,
|
||||
"neName": neInfo.NeUID,
|
||||
"port": neInfo.Port,
|
||||
"province": neInfo.Province,
|
||||
"pvFlag": neInfo.PvFlag,
|
||||
"rmUID": neInfo.RmUID,
|
||||
"vendorName": neInfo.VendorName,
|
||||
"dn": neInfo.Dn,
|
||||
}, nil)
|
||||
@@ -53,7 +53,7 @@ func NeConfigOMC(neInfo model.NeInfo) (map[string]any, error) {
|
||||
// NeConfigInfo 网元配置信息
|
||||
func NeConfigInfo(neInfo model.NeInfo, paramName string) (map[string]any, error) {
|
||||
// 网元参数配置信息
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType), paramName)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType), paramName)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 30_000)
|
||||
if err != nil {
|
||||
logger.Warnf("NeConfigInfo Get \"%s\"", neUrl)
|
||||
@@ -82,7 +82,7 @@ func NeConfigUpdate(neInfo model.NeInfo, paramName, loc string, data map[string]
|
||||
loc = fmt.Sprintf("?loc=%v", loc)
|
||||
}
|
||||
// 网元参数配置新增(array)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s%s", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s%s", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
resBytes, err := fetch.PutJSON(neUrl, data, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
@@ -112,7 +112,7 @@ func NeConfigUpdate(neInfo model.NeInfo, paramName, loc string, data map[string]
|
||||
// NeConfigAdd 网元配置新增 array
|
||||
func NeConfigAdd(neInfo model.NeInfo, paramName, loc string, data map[string]any) (map[string]any, error) {
|
||||
// 网元参数配置新增(array)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s?loc=%v", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s?loc=%v", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
@@ -142,7 +142,7 @@ func NeConfigAdd(neInfo model.NeInfo, paramName, loc string, data map[string]any
|
||||
// NeConfigDelete 网元配置删除 array
|
||||
func NeConfigDelete(neInfo model.NeInfo, paramName, loc string) (map[string]any, error) {
|
||||
// 网元参数配置删除(array)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s?loc=%v", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/%s?loc=%v", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType), paramName, loc)
|
||||
resBytes, err := fetch.Delete(neUrl, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
|
||||
@@ -8,13 +8,14 @@ import (
|
||||
|
||||
"be.ems/src/framework/logger"
|
||||
"be.ems/src/framework/utils/fetch"
|
||||
"be.ems/src/framework/utils/parse"
|
||||
"be.ems/src/modules/ne/model"
|
||||
)
|
||||
|
||||
// NeState 获取网元端服务状态
|
||||
func NeState(neInfo model.NeInfo) (map[string]any, error) {
|
||||
// 网元状态
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", neInfo.IPAddr, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||
resBytes, err := fetch.Get(neUrl, nil, 1000)
|
||||
if err != nil {
|
||||
logger.Errorf("NeState %s", err.Error())
|
||||
@@ -39,11 +40,12 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
|
||||
}
|
||||
}
|
||||
|
||||
return map[string]any{
|
||||
info := map[string]any{
|
||||
"coreUid": neInfo.CoreUID,
|
||||
"neUid": neInfo.NeUID,
|
||||
"neType": neInfo.NeType,
|
||||
"neId": neInfo.NeId,
|
||||
"neName": neInfo.NeName,
|
||||
"neIP": neInfo.IP,
|
||||
"neIP": neInfo.IPAddr,
|
||||
"refreshTime": time.Now().UnixMilli(), // 获取时间
|
||||
"standby": resData["standby"], // 是否备用服务
|
||||
"version": resData["version"],
|
||||
@@ -55,5 +57,18 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
|
||||
"cpu": resData["cpuUsage"],
|
||||
"mem": resData["memUsage"],
|
||||
"disk": resData["diskSpace"],
|
||||
}, nil
|
||||
}
|
||||
|
||||
if ueNumber, ok := resData["capability"]; ok {
|
||||
info["ueNumber"] = parse.Number(ueNumber)
|
||||
} else {
|
||||
info["ueNumber"] = 0
|
||||
}
|
||||
if nbNumber, ok := resData["nbNumber"]; ok {
|
||||
info["nbNumber"] = parse.Number(nbNumber)
|
||||
} else {
|
||||
info["nbNumber"] = 0
|
||||
}
|
||||
|
||||
return info, nil
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
// NeTraceAdd 网元跟踪任务新增
|
||||
func NeTraceAdd(neInfo model.NeInfo, data any) (map[string]any, error) {
|
||||
// 跟踪任务创建
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/traceManagement/v2/%s/subscriptions", neInfo.IP, neInfo.Port, neInfo.NeType)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/traceManagement/v2/%s/subscriptions", neInfo.IPAddr, neInfo.Port, neInfo.NeType)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
@@ -41,7 +41,7 @@ func NeTraceAdd(neInfo model.NeInfo, data any) (map[string]any, error) {
|
||||
|
||||
// NeTraceDelete 网元跟踪任务删除
|
||||
func NeTraceDelete(neInfo model.NeInfo, traceId string) (map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/traceManagement/v2/%s/subscriptions?id=%s", neInfo.IP, neInfo.Port, neInfo.NeType, traceId)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/traceManagement/v2/%s/subscriptions?id=%s", neInfo.IPAddr, neInfo.Port, neInfo.NeType, traceId)
|
||||
resBytes, err := fetch.Delete(neUrl, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
//
|
||||
// 返回结果 {"rows":[],"total":0}
|
||||
func NSSFSubInfoList(neInfo model.NeInfo) (map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/nssf/objectType/subscriptions", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/nssf/objectType/subscriptions", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
logger.Warnf("NSSFSubInfo Get \"%s\"", neUrl)
|
||||
@@ -54,7 +54,7 @@ func NSSFSubInfoList(neInfo model.NeInfo) (map[string]any, error) {
|
||||
//
|
||||
// 返回结果 {"rows":[],"total":0}
|
||||
func NSSFAvailableAMFList(neInfo model.NeInfo) (map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/nssf/objectType/availableAMFs", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/nssf/objectType/availableAMFs", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
logger.Warnf("NSSFAvailableAMFList Get \"%s\"", neUrl)
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
|
||||
// PCFRuleInfo PCF策略配置查询信息
|
||||
func PCFRuleInfo(neInfo model.NeInfo, data map[string]string) ([]map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["imsi"]; ok && v != "" {
|
||||
@@ -56,7 +56,7 @@ func PCFRuleInfo(neInfo model.NeInfo, data map[string]string) ([]map[string]any,
|
||||
|
||||
// PCFRuleAdd PCF策略配置添加
|
||||
func PCFRuleAdd(neInfo model.NeInfo, data any) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -85,7 +85,7 @@ func PCFRuleAdd(neInfo model.NeInfo, data any) error {
|
||||
|
||||
// PCFRuleAddBatch PCF策略配置批量添加
|
||||
func PCFRuleAddBatch(neInfo model.NeInfo, data map[string]any, num int64) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d", neInfo.IP, neInfo.Port, num)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d", neInfo.IPAddr, neInfo.Port, num)
|
||||
resBytes, err := fetch.PostJSON(neUrl, data, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -114,7 +114,7 @@ func PCFRuleAddBatch(neInfo model.NeInfo, data map[string]any, num int64) error
|
||||
|
||||
// PCFRuleUpdate PCF策略配置修改
|
||||
func PCFRuleUpdate(neInfo model.NeInfo, data map[string]any) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.PutJSON(neUrl, data, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -139,7 +139,7 @@ func PCFRuleUpdate(neInfo model.NeInfo, data map[string]any) error {
|
||||
|
||||
// PCFRuleUpdateBatch PCF策略配置批量修改
|
||||
func PCFRuleUpdateBatch(neInfo model.NeInfo, data map[string]any, num int64) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d", neInfo.IP, neInfo.Port, num)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d", neInfo.IPAddr, neInfo.Port, num)
|
||||
resBytes, err := fetch.PutJSON(neUrl, data, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -164,7 +164,7 @@ func PCFRuleUpdateBatch(neInfo model.NeInfo, data map[string]any, num int64) err
|
||||
|
||||
// PCFRuleDelete PCF策略配置删除
|
||||
func PCFRuleDelete(neInfo model.NeInfo, imsi string) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo?imsi=%s", neInfo.IP, neInfo.Port, imsi)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo?imsi=%s", neInfo.IPAddr, neInfo.Port, imsi)
|
||||
resBytes, err := fetch.Delete(neUrl, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -193,7 +193,7 @@ func PCFRuleDelete(neInfo model.NeInfo, imsi string) error {
|
||||
|
||||
// PCFRuleDeleteBatch PCF策略配置批量删除
|
||||
func PCFRuleDeleteBatch(neInfo model.NeInfo, imsi string, num int64) error {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d?imsi=%s", neInfo.IP, neInfo.Port, num, imsi)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/batch/%d?imsi=%s", neInfo.IPAddr, neInfo.Port, num, imsi)
|
||||
resBytes, err := fetch.Delete(neUrl, nil)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -222,7 +222,7 @@ func PCFRuleDeleteBatch(neInfo model.NeInfo, imsi string, num int64) error {
|
||||
|
||||
// PCFRuleExport PCF策略配置导出
|
||||
func PCFRuleExport(neInfo model.NeInfo, data map[string]string) ([]byte, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/file/export", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/file/export", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["fileType"]; ok && v != "" {
|
||||
@@ -243,7 +243,7 @@ func PCFRuleExport(neInfo model.NeInfo, data map[string]string) ([]byte, error)
|
||||
|
||||
// PCFRuleImport PCF策略配置导入
|
||||
func PCFRuleImport(neInfo model.NeInfo, data map[string]any) (string, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/file/import", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/pcf/objectType/ueInfo/file/import", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.PutJSON(neUrl, data, nil)
|
||||
var resData map[string]any
|
||||
if err != nil {
|
||||
|
||||
@@ -15,7 +15,7 @@ import (
|
||||
//
|
||||
// 返回结果 0
|
||||
func SMFSubNum(neInfo model.NeInfo) (int64, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/smf/objectType/ueNum", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/smf/objectType/ueNum", neInfo.IPAddr, neInfo.Port)
|
||||
resBytes, err := fetch.Get(neUrl, nil, 60_000)
|
||||
if err != nil {
|
||||
errStr := err.Error()
|
||||
@@ -47,7 +47,7 @@ func SMFSubNum(neInfo model.NeInfo) (int64, error) {
|
||||
//
|
||||
// 返回结果 {"rows":[],"total":0}
|
||||
func SMFSubInfoList(neInfo model.NeInfo, data map[string]string) (map[string]any, error) {
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/smf/objectType/ueInfo", neInfo.IP, neInfo.Port)
|
||||
neUrl := fmt.Sprintf("http://%s:%d/api/rest/ueManagement/v1/elementType/smf/objectType/ueInfo", neInfo.IPAddr, neInfo.Port)
|
||||
// 查询参数拼接
|
||||
query := []string{}
|
||||
if v, ok := data["imsi"]; ok && v != "" {
|
||||
|
||||
@@ -3,15 +3,16 @@ package model
|
||||
// NeConfigBackup 网元配置文件备份记录 ne_config_backup
|
||||
type NeConfigBackup struct {
|
||||
ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
||||
NeType string `json:"neType" gorm:"column:ne_type"` // 网元类型
|
||||
NeId string `json:"neId" gorm:"column:ne_id"` // 网元ID
|
||||
Name string `json:"name" gorm:"column:name"` // 压缩包名称
|
||||
Path string `json:"path" gorm:"column:path"` // 压缩包位置
|
||||
Remark string `json:"remark" gorm:"column:remark"` // 备注
|
||||
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间
|
||||
UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者
|
||||
UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间
|
||||
CoreUID string `json:"coreUid" gorm:"column:core_uid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" gorm:"column:ne_uid" binding:"required"` // 网元唯一标识
|
||||
NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型
|
||||
Name string `json:"name" gorm:"column:name"` // 压缩包名称
|
||||
Path string `json:"path" gorm:"column:path"` // 压缩包位置
|
||||
Remark string `json:"remark" gorm:"column:remark"` // 备注
|
||||
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间
|
||||
UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者
|
||||
UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间
|
||||
|
||||
// ====== 非数据库字段属性 ======
|
||||
|
||||
|
||||
@@ -2,18 +2,18 @@ package model
|
||||
|
||||
// NeInfo 网元信息对象 ne_info
|
||||
type NeInfo struct {
|
||||
ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
||||
ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 网元ID
|
||||
CoreUID string `json:"coreUid" gorm:"column:core_uid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" gorm:"column:ne_uid"` // 网元唯一标识
|
||||
NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" gorm:"column:ne_id" binding:"required"` // 网元ID
|
||||
RmUID string `json:"rmUid" gorm:"column:rm_uid"` // 网元资源唯一标识
|
||||
NeName string `json:"neName" gorm:"column:ne_name"` // 网元名称
|
||||
IP string `json:"ip" gorm:"column:ip" binding:"required"` // 网元服务IP
|
||||
IPAddr string `json:"ipAddr" gorm:"column:ip_addr" binding:"required"` // 网元服务IP
|
||||
Port int64 `json:"port" gorm:"column:port" binding:"required,number,max=65535,min=1"` // 端口
|
||||
PvFlag string `json:"pvFlag" gorm:"column:pv_flag" binding:"omitempty,oneof=PNF VNF"` // 网元虚拟化标识 物理PNF 虚拟VNF
|
||||
Province string `json:"province" gorm:"column:province"` // 省份地域
|
||||
VendorName string `json:"vendorName" gorm:"column:vendor_name"` // 厂商名称
|
||||
Dn string `json:"dn" gorm:"column:dn"` // 网络标识
|
||||
NeAddress string `json:"neAddress" gorm:"column:ne_address"` // MAC地址
|
||||
MacAddr string `json:"macAddr" gorm:"column:mac_addr"` // MAC地址
|
||||
HostIDs string `json:"hostIds" gorm:"column:host_ids"` // 网元主机ID组 数据格式(ssh,telnet) UDM(ssh,telnet,redis) UPF(ssh,telnet,telnet)
|
||||
Status int64 `json:"status" gorm:"column:status"` // 网元状态 0离线 1在线 2配置待下发 3备用模式
|
||||
Remark string `json:"remark" gorm:"column:remark"` // 备注
|
||||
|
||||
@@ -3,13 +3,15 @@ package model
|
||||
// NeLicense 网元授权激活信息 ne_license
|
||||
type NeLicense struct {
|
||||
ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
||||
CoreUID string `json:"coreUid" gorm:"column:core_uid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" gorm:"column:ne_uid" binding:"required"` // 网元唯一标识
|
||||
NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" gorm:"column:ne_id" binding:"required"` // 网元ID
|
||||
ActivationRequestCode string `json:"activationRequestCode" gorm:"column:activation_request_code"` // 激活申请代码
|
||||
LicensePath string `json:"licensePath" gorm:"column:license_path"` // 激活授权文件
|
||||
Capability int64 `json:"capability" gorm:"column:capability"` // 容量
|
||||
SerialNum string `json:"serialNum" gorm:"column:serial_num"` // 序列号
|
||||
ExpiryDate string `json:"expiryDate" gorm:"column:expiry_date"` // 许可证到期日期
|
||||
UeNumber int64 `json:"ueNumber" gorm:"ue_number"` // 用户容量
|
||||
NbNumber int64 `json:"nbNumber" gorm:"nb_number"` // 基站容量
|
||||
Status string `json:"status" gorm:"column:status"` // 状态 0无效 1有效
|
||||
Remark string `json:"remark" gorm:"column:remark"` // 备注
|
||||
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
|
||||
|
||||
@@ -3,22 +3,23 @@ package model
|
||||
// NeVersion 网元版本信息 ne_version
|
||||
type NeVersion struct {
|
||||
ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
||||
NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型
|
||||
NeId string `json:"neId" gorm:"column:ne_id" binding:"required"` // 网元ID
|
||||
Name string `json:"name" gorm:"column:name"` // 当前包名
|
||||
Version string `json:"version" gorm:"column:version" binding:"required"` // 当前版本
|
||||
Path string `json:"path" gorm:"column:path" binding:"required"` // 当前软件包
|
||||
PreName string `json:"preName" gorm:"column:pre_name"` // 上一版本包名
|
||||
PreVersion string `json:"preVersion" gorm:"column:pre_version"` // 上一版本
|
||||
PrePath string `json:"prePath" gorm:"column:pre_path"` // 上一版本软件包
|
||||
NewName string `json:"newName" gorm:"column:new_name"` // 新版本包名
|
||||
NewVersion string `json:"newVersion" gorm:"column:new_version"` // 新版本
|
||||
NewPath string `json:"newPath" gorm:"column:new_path"` // 新版本软件包
|
||||
Status string `json:"status" gorm:"column:status"` // 当前状态 1当前版本 2上一版本 3有新版本
|
||||
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间
|
||||
UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者
|
||||
UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间
|
||||
CoreUID string `json:"coreUid" gorm:"column:core_uid" binding:"required"` // 核心网唯一标识
|
||||
NeUID string `json:"neUid" gorm:"column:ne_uid" binding:"required"` // 网元唯一标识
|
||||
NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型
|
||||
Name string `json:"name" gorm:"column:name"` // 当前包名
|
||||
Version string `json:"version" gorm:"column:version" binding:"required"` // 当前版本
|
||||
Path string `json:"path" gorm:"column:path" binding:"required"` // 当前软件包
|
||||
PreName string `json:"preName" gorm:"column:pre_name"` // 上一版本包名
|
||||
PreVersion string `json:"preVersion" gorm:"column:pre_version"` // 上一版本
|
||||
PrePath string `json:"prePath" gorm:"column:pre_path"` // 上一版本软件包
|
||||
NewName string `json:"newName" gorm:"column:new_name"` // 新版本包名
|
||||
NewVersion string `json:"newVersion" gorm:"column:new_version"` // 新版本
|
||||
NewPath string `json:"newPath" gorm:"column:new_path"` // 新版本软件包
|
||||
Status string `json:"status" gorm:"column:status"` // 当前状态 1当前版本 2上一版本 3有新版本
|
||||
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间
|
||||
UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者
|
||||
UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间
|
||||
}
|
||||
|
||||
// TableName 表名称
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
|
||||
// 模块路由注册
|
||||
func Setup(router *gin.Engine) {
|
||||
logger.Infof("开始加载 ====> ne 模块路由")
|
||||
logger.Infof("开始加载 ====> network_element 模块路由")
|
||||
|
||||
// 启动时需要的初始参数
|
||||
InitLoad()
|
||||
@@ -20,26 +20,26 @@ func Setup(router *gin.Engine) {
|
||||
// 网元操作处理
|
||||
neActionGroup := router.Group("/ne/action")
|
||||
{
|
||||
neActionGroup.GET("/files",
|
||||
neActionGroup.GET("/file/list",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeAction.Files,
|
||||
controller.NewNeAction.FileList,
|
||||
)
|
||||
neActionGroup.GET("/pullFile",
|
||||
neActionGroup.GET("/file/pull/dirzip",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeAction.PullFile,
|
||||
controller.NewNeAction.FilePullDirZip,
|
||||
)
|
||||
neActionGroup.POST("/pushFile",
|
||||
neActionGroup.GET("/file/pull",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeAction.FilePull,
|
||||
)
|
||||
neActionGroup.POST("/file/push",
|
||||
middleware.AuthorizeUser(nil),
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_IMPORT)),
|
||||
controller.NewNeAction.PushFile,
|
||||
controller.NewNeAction.FilePush,
|
||||
)
|
||||
neActionGroup.GET("/pullDirZip",
|
||||
neActionGroup.GET("/file/view",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeAction.PullDirZip,
|
||||
)
|
||||
neActionGroup.GET("/viewFile",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeAction.ViewFile,
|
||||
controller.NewNeAction.FileView,
|
||||
)
|
||||
neActionGroup.PUT("/service",
|
||||
middleware.AuthorizeUser(nil),
|
||||
@@ -55,28 +55,28 @@ func Setup(router *gin.Engine) {
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.State,
|
||||
)
|
||||
neInfoGroup.GET("/byTypeAndID",
|
||||
neInfoGroup.GET("/nf",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.NeTypeAndID,
|
||||
controller.NewNeInfo.Nf,
|
||||
)
|
||||
neInfoGroup.GET("/listAll",
|
||||
neInfoGroup.GET("/list/all",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.ListAll,
|
||||
)
|
||||
neInfoGroup.GET("/para5GFile",
|
||||
neInfoGroup.GET("/file/para5g",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.Para5GFileRead,
|
||||
)
|
||||
neInfoGroup.PUT("/para5GFile",
|
||||
neInfoGroup.PUT("/file/para5g",
|
||||
middleware.AuthorizeUser(nil),
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)),
|
||||
controller.NewNeInfo.Para5GFileWrite,
|
||||
)
|
||||
neInfoGroup.GET("/oamFile",
|
||||
neInfoGroup.GET("/file/oam",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.OAMFileRead,
|
||||
)
|
||||
neInfoGroup.PUT("/oamFile",
|
||||
neInfoGroup.PUT("/file/oam",
|
||||
middleware.AuthorizeUser(nil),
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)),
|
||||
controller.NewNeInfo.OAMFileWrite,
|
||||
@@ -85,7 +85,7 @@ func Setup(router *gin.Engine) {
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.List,
|
||||
)
|
||||
neInfoGroup.GET("/:id",
|
||||
neInfoGroup.GET("",
|
||||
middleware.CryptoApi(false, true),
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeInfo.Info,
|
||||
@@ -102,7 +102,7 @@ func Setup(router *gin.Engine) {
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_UPDATE)),
|
||||
controller.NewNeInfo.Edit,
|
||||
)
|
||||
neInfoGroup.DELETE(":id",
|
||||
neInfoGroup.DELETE("",
|
||||
middleware.AuthorizeUser(nil),
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_DELETE)),
|
||||
controller.NewNeInfo.Remove,
|
||||
@@ -193,10 +193,14 @@ func Setup(router *gin.Engine) {
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeVersion.List,
|
||||
)
|
||||
neVersionGroup.GET("/:id",
|
||||
neVersionGroup.GET("",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeVersion.Info,
|
||||
)
|
||||
neVersionGroup.GET("/nf",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeVersion.Nf,
|
||||
)
|
||||
neVersionGroup.POST("/operate",
|
||||
middleware.AuthorizeUser(nil),
|
||||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neVersion", collectlogs.BUSINESS_TYPE_OTHER)),
|
||||
@@ -244,13 +248,13 @@ func Setup(router *gin.Engine) {
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeLicense.List,
|
||||
)
|
||||
neLicenseGroup.GET("/:id",
|
||||
neLicenseGroup.GET("",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeLicense.Info,
|
||||
)
|
||||
neLicenseGroup.GET("/byTypeAndID",
|
||||
neLicenseGroup.GET("/nf",
|
||||
middleware.AuthorizeUser(nil),
|
||||
controller.NewNeLicense.NeTypeAndID,
|
||||
controller.NewNeLicense.Nf,
|
||||
)
|
||||
neLicenseGroup.GET("/code",
|
||||
middleware.AuthorizeUser(nil),
|
||||
@@ -357,8 +361,8 @@ func Setup(router *gin.Engine) {
|
||||
// InitLoad 初始参数
|
||||
func InitLoad() {
|
||||
// 启动时,清除缓存-网元类型
|
||||
service.NewNeInfo.ClearNeCacheByNeType("*")
|
||||
service.NewNeInfo.FindByRmuid("")
|
||||
service.NewNeInfo.ClearNeCacheByCoreUid("*")
|
||||
service.NewNeInfo.RefreshNeCacheByCoreUid("*")
|
||||
// 启动时,网元公共参数数据记录到全局变量
|
||||
if para5GMap, err := service.NewNeInfo.NeConfPara5GRead(); para5GMap != nil && err == nil {
|
||||
service.NewNeInfo.NeConfPara5GWirte(para5GMap, nil)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user