Merge branch 'main-v2' into lite-ba

This commit is contained in:
TsMask
2025-08-29 19:55:04 +08:00
24 changed files with 908 additions and 158 deletions

View File

@@ -1,5 +1,17 @@
# 版本发布日志
## 2.2508.4-20250829
- 新增 license信息添加用户数/基站数字段记录
- 修复 软件包上传更新替换文件路径不删除旧软件包文件
- 重构 cdr/ue/kpi查询列表数据排序改为程序内处理加快sql查询速度
- 新增 添加PGWC参数配置数据
- 更新 AMF Support TAI List配置多tac逗号分隔
- 更新 多语言sys_i18n表添加关键指标标题和预警广播的多语言支持
- 新增 指标Title管理菜单更新删除重复alarm_id
- 新增 kpi指标标题管理接口
- 新增 添加CDR和UENB记录删除调度任务及相关数据库操作
## 2.2508.2-20250815
- 修复 删除认证源将关联用户信息移除用户类型sys更新为System

View File

@@ -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');

View File

@@ -8,9 +8,9 @@ CREATE TABLE "ne_license" (
"ne_id" text(32) NOT NULL,
"activation_request_code" text(255) NOT NULL,
"license_path" text(255),
"capability" integer,
"serial_num" text(32),
"expiry_date" text(32),
"ue_number" integer,
"nb_number" integer,
"status" text(32),
"remark" text(255),
"create_by" text(50),
@@ -32,11 +32,11 @@ ON "ne_license" (
-- ----------------------------
-- Records of ne_license
-- ----------------------------
INSERT INTO "ne_license" VALUES (1, 'OMC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (2, 'IMS', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (3, 'AMF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (4, 'AUSF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (5, 'UDM', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (6, 'SMF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (7, 'PCF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (10, 'UPF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (1, 'OMC', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (2, 'IMS', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (3, 'AMF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (4, 'AUSF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (5, 'UDM', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (6, 'SMF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (7, 'PCF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO "ne_license" VALUES (10, 'UPF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);

View File

@@ -930,17 +930,17 @@ AddInfo: Additional information on alarms
dayLt: Days less than, default 30 days');
INSERT INTO "sys_i18n" VALUES (756, 'dictData.trace_interfaces.14', 'N14', 'N14');
INSERT INTO "sys_i18n" VALUES (757, 'dictData.trace_interfaces.5', 'N5', 'N5');
INSERT INTO "sys_i18n" VALUES (758, "alarm.export.alarmCode", "告警编码", "Alarm Code");
INSERT INTO "sys_i18n" VALUES (759, "config.sys.user.fristPasswdChangeRemark", "关闭改为false 开启改为true, 建议同时设置密码有效期", "Off to false On to true, it is recommended to set the password expiration date at the same time.");
INSERT INTO "sys_i18n" VALUES (760, "menu.perf.kpiIMSOverview", "语音数据概览", "Voice Data Overview");
INSERT INTO "sys_i18n" VALUES (761, "dictType.sys_user_type", "用户类型", "User Type");
INSERT INTO "sys_i18n" VALUES (762, "dictData.sys_user_type.system", "系统", "System");
INSERT INTO "sys_i18n" VALUES (763, "dictData.sys_user_type.ldap", "LDAP", "LDAP");
INSERT INTO "sys_i18n" VALUES (764, "dictData.sys_user_type.smtp", "SMTP", "SMTP");
INSERT INTO "sys_i18n" VALUES (765, "dictData.sys_user_type.oauth2", "OAuth2", "OAuth2");
INSERT INTO "sys_i18n" VALUES (766, "user.export.userType", "用户类型", "User Type");
INSERT INTO "sys_i18n" VALUES (767, "menu.system.loginSource", "第三方登录认证", "Third Party Login Source");
INSERT INTO "sys_i18n" VALUES (768, "log.operate.title.sysLoginSource", "认证源", "Login Source");
INSERT INTO "sys_i18n" VALUES (758, 'alarm.export.alarmCode', '告警编码', 'Alarm Code');
INSERT INTO "sys_i18n" VALUES (759, 'config.sys.user.fristPasswdChangeRemark', '关闭改为false 开启改为true, 建议同时设置密码有效期', 'Off to false On to true, it is recommended to set the password expiration date at the same time.');
INSERT INTO "sys_i18n" VALUES (760, 'menu.perf.kpiIMSOverview', '语音数据概览', 'Voice Data Overview');
INSERT INTO "sys_i18n" VALUES (761, 'dictType.sys_user_type', '用户类型', 'User Type');
INSERT INTO "sys_i18n" VALUES (762, 'dictData.sys_user_type.system', '系统', 'System');
INSERT INTO "sys_i18n" VALUES (763, 'dictData.sys_user_type.ldap', 'LDAP', 'LDAP');
INSERT INTO "sys_i18n" VALUES (764, 'dictData.sys_user_type.smtp', 'SMTP', 'SMTP');
INSERT INTO "sys_i18n" VALUES (765, 'dictData.sys_user_type.oauth2', 'OAuth2', 'OAuth2');
INSERT INTO "sys_i18n" VALUES (766, 'user.export.userType', '用户类型', 'User Type');
INSERT INTO "sys_i18n" VALUES (767, 'menu.system.loginSource', '第三方登录认证', 'Third Party Login Source');
INSERT INTO "sys_i18n" VALUES (768, 'log.operate.title.sysLoginSource', '认证源', 'Login Source');
INSERT INTO "sys_i18n" VALUES (769, 'job.delete_cdr_record', '删除-过期话单记录', 'Delete-Expired CDR Records');
INSERT INTO "sys_i18n" VALUES (770, 'job.delete_cdr_record_remark', 'storeDays表示保留最近天数的数据记录
neList表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained
@@ -949,6 +949,9 @@ INSERT INTO "sys_i18n" VALUES (771, 'job.delete_uenb_record', '删除-过期终
INSERT INTO "sys_i18n" VALUES (772, 'job.delete_uenb_record_remark', 'storeDays表示保留最近天数的数据记录
neList表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained
neList: Indicates the type of network elements matched');
INSERT INTO "sys_i18n" VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title');
INSERT INTO "sys_i18n" VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast');
INSERT INTO "sys_i18n" VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
INSERT INTO "sys_i18n" VALUES (2000, 'menu.psap.agent', '座席', 'Agent');
INSERT INTO "sys_i18n" VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information');
@@ -966,5 +969,3 @@ INSERT INTO "sys_i18n" VALUES (2012, 'menu.omc.cdr', '话单', 'Call Records');
INSERT INTO "sys_i18n" VALUES (2013, 'menu.omc.cdr.mf', '紧急呼叫话单', 'Emergency Call Records');
INSERT INTO "sys_i18n" VALUES (2014, 'menu.omc.cdr.crbt', '彩铃话单', 'Color Ring Back Tone Records');
INSERT INTO "sys_i18n" VALUES (2015, 'menu.omc.cdr.mms', '彩信话单', 'Multimedia Message Service Records');
INSERT INTO "sys_i18n" VALUES (2016, 'menu.ue.cbc.cbe', '预警广播', 'Early Warning Broadcast');
INSERT INTO "sys_i18n" VALUES (2017, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');

View File

@@ -7,9 +7,10 @@ CREATE TABLE IF NOT EXISTS "ne_license" (
"ne_id" text(32) NOT NULL,
"activation_request_code" text(255) NOT NULL,
"license_path" text(255),
"capability" integer,
"serial_num" text(32),
"expiry_date" text(32),
"ue_number" integer,
"nb_number" integer,
"status" text(32),
"remark" text(255),
"create_by" text(50),
@@ -29,9 +30,11 @@ ON "ne_license" (
);
-- ADD COLUMN
ALTER TABLE ne_license ADD COLUMN capability integer;
ALTER TABLE ne_license DROP COLUMN capability;
ALTER TABLE ne_license ADD COLUMN ue_number integer;
ALTER TABLE ne_license ADD COLUMN nb_number integer;
-- ----------------------------
-- Records of ne_license
-- ----------------------------
INSERT OR IGNORE INTO "ne_license" VALUES (1, 'OMC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT OR IGNORE INTO "ne_license" VALUES (1, 'OMC', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);

View File

@@ -929,17 +929,17 @@ AddInfo: Additional information on alarms
dayLt: Days less than, default 30 days');
REPLACE INTO "sys_i18n" VALUES (756, 'dictData.trace_interfaces.14', 'N14', 'N14');
REPLACE INTO "sys_i18n" VALUES (757, 'dictData.trace_interfaces.5', 'N5', 'N5');
REPLACE INTO "sys_i18n" VALUES (758, "alarm.export.alarmCode", "告警编码", "Alarm Code");
REPLACE INTO "sys_i18n" VALUES (759, "config.sys.user.fristPasswdChangeRemark", "关闭改为false 开启改为true, 建议同时设置密码有效期", "Off to false On to true, it is recommended to set the password expiration date at the same time.");
REPLACE INTO "sys_i18n" VALUES (760, "menu.perf.kpiIMSOverview", "语音数据概览", "Voice Data Overview");
REPLACE INTO "sys_i18n" VALUES (761, "dictType.sys_user_type", "用户类型", "User Type");
REPLACE INTO "sys_i18n" VALUES (762, "dictData.sys_user_type.system", "系统", "System");
REPLACE INTO "sys_i18n" VALUES (763, "dictData.sys_user_type.ldap", "LDAP", "LDAP");
REPLACE INTO "sys_i18n" VALUES (764, "dictData.sys_user_type.smtp", "SMTP", "SMTP");
REPLACE INTO "sys_i18n" VALUES (765, "dictData.sys_user_type.oauth2", "OAuth2", "OAuth2");
REPLACE INTO "sys_i18n" VALUES (766, "user.export.userType", "用户类型", "User Type");
REPLACE INTO "sys_i18n" VALUES (767, "menu.system.loginSource", "第三方登录认证", "Third Party Login Source");
REPLACE INTO "sys_i18n" VALUES (768, "log.operate.title.sysLoginSource", "认证源", "Login Source");
REPLACE INTO "sys_i18n" VALUES (758, 'alarm.export.alarmCode', '告警编码', 'Alarm Code');
REPLACE INTO "sys_i18n" VALUES (759, 'config.sys.user.fristPasswdChangeRemark', '关闭改为false 开启改为true, 建议同时设置密码有效期', 'Off to false On to true, it is recommended to set the password expiration date at the same time.');
REPLACE INTO "sys_i18n" VALUES (760, 'menu.perf.kpiIMSOverview', '语音数据概览', 'Voice Data Overview');
REPLACE INTO "sys_i18n" VALUES (761, 'dictType.sys_user_type', '用户类型', 'User Type');
REPLACE INTO "sys_i18n" VALUES (762, 'dictData.sys_user_type.system', '系统', 'System');
REPLACE INTO "sys_i18n" VALUES (763, 'dictData.sys_user_type.ldap', 'LDAP', 'LDAP');
REPLACE INTO "sys_i18n" VALUES (764, 'dictData.sys_user_type.smtp', 'SMTP', 'SMTP');
REPLACE INTO "sys_i18n" VALUES (765, 'dictData.sys_user_type.oauth2', 'OAuth2', 'OAuth2');
REPLACE INTO "sys_i18n" VALUES (766, 'user.export.userType', '用户类型', 'User Type');
REPLACE INTO "sys_i18n" VALUES (767, 'menu.system.loginSource', '第三方登录认证', 'Third Party Login Source');
REPLACE INTO "sys_i18n" VALUES (768, 'log.operate.title.sysLoginSource', '认证源', 'Login Source');
REPLACE INTO "sys_i18n" VALUES (769, 'job.delete_cdr_record', '删除-过期话单记录', 'Delete-Expired CDR Records');
REPLACE INTO "sys_i18n" VALUES (770, 'job.delete_cdr_record_remark', 'storeDays表示保留最近天数的数据记录
neList表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained
@@ -948,6 +948,9 @@ REPLACE INTO "sys_i18n" VALUES (771, 'job.delete_uenb_record', '删除-过期终
REPLACE INTO "sys_i18n" VALUES (772, 'job.delete_uenb_record_remark', 'storeDays表示保留最近天数的数据记录
neList表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained
neList: Indicates the type of network elements matched');
REPLACE INTO "sys_i18n" VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title');
REPLACE INTO "sys_i18n" VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast');
REPLACE INTO "sys_i18n" VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
REPLACE INTO "sys_i18n" VALUES (2000, 'menu.psap.agent', '座席', 'Agent');
REPLACE INTO "sys_i18n" VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information');
@@ -965,5 +968,3 @@ REPLACE INTO "sys_i18n" VALUES (2012, 'menu.omc.cdr', '话单', 'Call Records');
REPLACE INTO "sys_i18n" VALUES (2013, 'menu.omc.cdr.mf', '紧急呼叫话单', 'Emergency Call Records');
REPLACE INTO "sys_i18n" VALUES (2014, 'menu.omc.cdr.crbt', '彩铃话单', 'Color Ring Back Tone Records');
REPLACE INTO "sys_i18n" VALUES (2015, 'menu.omc.cdr.mms', '彩信话单', 'Multimedia Message Service Records');
REPLACE INTO "sys_i18n" VALUES (2016, 'menu.ue.cbc.cbe', '预警广播', 'Early Warning Broadcast');
REPLACE INTO "sys_i18n" VALUES (2017, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');

File diff suppressed because one or more lines are too long

View File

@@ -13,9 +13,10 @@ CREATE TABLE `ne_license` (
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
`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 '创建者',
@@ -27,22 +28,22 @@ CREATE TABLE `ne_license` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元_授权激活信息';
-- 初始数据对应网元
INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (15, 'SMSC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
-- INSERT INTO `ne_license` VALUES (15, 'SMSC', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
SET FOREIGN_KEY_CHECKS=1;

View File

@@ -788,6 +788,8 @@ INSERT INTO `sys_i18n` VALUES (770, 'job.delete_cdr_record_remark', 'storeDays
INSERT INTO `sys_i18n` VALUES (771, 'job.delete_uenb_record', '删除-过期终端接入基站记录', 'Delete-Expired UE-NB Records');
INSERT INTO `sys_i18n` VALUES (772, 'job.delete_uenb_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 (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title');
INSERT INTO `sys_i18n` VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast');
INSERT INTO `sys_i18n` VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
INSERT INTO `sys_i18n` VALUES (2000, 'menu.psap.agent', '座席', 'Agent');
INSERT INTO `sys_i18n` VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information');
@@ -805,7 +807,5 @@ INSERT INTO `sys_i18n` VALUES (2012, 'menu.omc.cdr', '话单', 'Call Records');
INSERT INTO `sys_i18n` VALUES (2013, 'menu.omc.cdr.mf', '紧急呼叫话单', 'Emergency Call Records');
INSERT INTO `sys_i18n` VALUES (2014, 'menu.omc.cdr.crbt', '彩铃话单', 'Color Ring Back Tone Records');
INSERT INTO `sys_i18n` VALUES (2015, 'menu.omc.cdr.mms', '彩信话单', 'Multimedia Message Service Records');
INSERT INTO `sys_i18n` VALUES (2016, 'menu.ue.cbc.cbe', '预警广播', 'Early Warning Broadcast');
INSERT INTO `sys_i18n` VALUES (2017, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
-- Dump completed on 2025-02-14 15:26:56

View File

@@ -10,9 +10,10 @@ CREATE TABLE IF NOT EXISTS `ne_license` (
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
`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 '创建者',
@@ -28,7 +29,9 @@ CREATE TABLE IF NOT EXISTS `ne_license` (
-- ----------------------------
ALTER TABLE `ne_license` DROP INDEX `uk_type_id`;
ALTER TABLE `ne_license` MODIFY COLUMN `id` bigint(20) NOT NULL FIRST;
ALTER TABLE `ne_license` ADD COLUMN `capability` bigint(20) NULL DEFAULT 0 COMMENT '容量' AFTER `license_path`;
ALTER TABLE `ne_license` DROP COLUMN `capability`;
ALTER TABLE `ne_license` ADD COLUMN `ue_number` bigint(20) NULL DEFAULT 0 COMMENT '用户容量' AFTER `expiry_date`;
ALTER TABLE `ne_license` ADD COLUMN `nb_number` bigint(20) NULL DEFAULT 0 COMMENT '基站容量' AFTER `ue_number`;
ALTER TABLE `ne_license` ADD UNIQUE INDEX `uk_lic_type_id`(`ne_type`, `ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID';
ALTER TABLE `ne_license` COMMENT = '网元_授权激活信息';
ALTER TABLE `ne_license` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT;
@@ -36,7 +39,7 @@ ALTER TABLE `ne_license` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT;
-- ----------------------------
-- Data for ne_license
-- ----------------------------
INSERT IGNORE INTO `ne_license` VALUES (1, 'OMC', '001', '', '', 0, '', '', '0', '', 'system', 1713928436971, '', 0);
INSERT IGNORE INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', 0, 0, '0', '', 'system', 1713928436971, '', 0);
SET FOREIGN_KEY_CHECKS=1;

View File

@@ -785,6 +785,8 @@ REPLACE INTO `sys_i18n` VALUES (770, 'job.delete_cdr_record_remark', 'storeDays
REPLACE INTO `sys_i18n` VALUES (771, 'job.delete_uenb_record', '删除-过期终端接入基站记录', 'Delete-Expired UE-NB Records');
REPLACE INTO `sys_i18n` VALUES (772, 'job.delete_uenb_record_remark', 'storeDays表示保留最近天数的数据记录\r\nneList表示匹配的网元类型', 'storeDays: Indicates the most recent days of data records retained\r\nneList: Indicates the type of network elements matched');
REPLACE INTO `sys_i18n` VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title');
REPLACE INTO `sys_i18n` VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast');
REPLACE INTO `sys_i18n` VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
REPLACE INTO `sys_i18n` VALUES (2000, 'menu.psap.agent', '座席', 'Agent');
REPLACE INTO `sys_i18n` VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information');
@@ -802,7 +804,5 @@ REPLACE INTO `sys_i18n` VALUES (2012, 'menu.omc.cdr', '话单', 'Call Records');
REPLACE INTO `sys_i18n` VALUES (2013, 'menu.omc.cdr.mf', '紧急呼叫话单', 'Emergency Call Records');
REPLACE INTO `sys_i18n` VALUES (2014, 'menu.omc.cdr.crbt', '彩铃话单', 'Color Ring Back Tone Records');
REPLACE INTO `sys_i18n` VALUES (2015, 'menu.omc.cdr.mms', '彩信话单', 'Multimedia Message Service Records');
REPLACE INTO `sys_i18n` VALUES (2016, 'menu.ue.cbc.cbe', '预警广播', 'Early Warning Broadcast');
REPLACE INTO `sys_i18n` VALUES (2017, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast');
-- Dump completed on 2025-02-14 15:26:56

View File

@@ -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

View 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"

View File

@@ -399,9 +399,6 @@ func (s NeInfoController) Add(c *gin.Context) {
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)
}
@@ -409,6 +406,12 @@ func (s NeInfoController) Add(c *gin.Context) {
neLicense.ExpiryDate = fmt.Sprint(v)
neLicense.Status = "1"
}
if v, ok := body.ServerState["ueNumber"]; ok && v != nil {
neLicense.UeNumber = parse.Number(v)
}
if v, ok := body.ServerState["nbNumber"]; ok && v != nil {
neLicense.NbNumber = parse.Number(v)
}
}
s.neVersionService.Insert(neVersion)
@@ -501,9 +504,6 @@ func (s NeInfoController) Edit(c *gin.Context) {
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)
}
@@ -512,6 +512,12 @@ func (s NeInfoController) Edit(c *gin.Context) {
neLicense.Status = "1"
neLicense.UpdateBy = loginUserName
}
if v, ok := body.ServerState["ueNumber"]; ok && v != nil {
neLicense.UeNumber = parse.Number(v)
}
if v, ok := body.ServerState["nbNumber"]; ok && v != nil {
neLicense.NbNumber = parse.Number(v)
}
}
if neVersion.ID <= 0 {

View File

@@ -157,9 +157,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)
@@ -261,9 +262,10 @@ func (s *NeLicenseController) State(c *gin.Context) {
}
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 +282,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,
"ueNumber": neLicense.UeNumber,
"nbNumber": neLicense.NbNumber,
}))
return
}

View File

@@ -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

View File

@@ -8,6 +8,7 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/fetch"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/ne/model"
)
@@ -39,7 +40,7 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
}
}
return map[string]any{
info := map[string]any{
"neType": neInfo.NeType,
"neId": neInfo.NeId,
"neName": neInfo.NeName,
@@ -55,5 +56,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
}

View File

@@ -7,9 +7,10 @@ type NeLicense struct {
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"` // 创建者

View File

@@ -41,6 +41,7 @@ func (r NeInfo) neListSort(arr []model.NeInfo) []model.NeInfo {
"CHF",
"HLR",
"SGWC",
"PGWC",
"IP-SM-GW",
"MMTel-AS",
"I-CSCF",

View File

@@ -87,7 +87,7 @@ func (r NeSoftware) Update(neSoftware model.NeSoftware) int64 {
}
// DeleteByIds 批量删除信息
func (r NeSoftware) DeleteByIds(ids []int64) (int64, error) {
func (r NeSoftware) DeleteByIds(ids []int64, delFile bool) (int64, error) {
// 检查是否存在
rows := r.neSoftwareRepository.SelectByIds(ids)
if len(rows) <= 0 {
@@ -95,6 +95,7 @@ func (r NeSoftware) DeleteByIds(ids []int64) (int64, error) {
}
if len(rows) == len(ids) {
if delFile {
// 遍历软件包列表进行文件删除
for _, row := range rows {
// 检查文件是否存在
@@ -104,6 +105,8 @@ func (r NeSoftware) DeleteByIds(ids []int64) (int64, error) {
}
os.Remove(filePath)
}
}
rows := r.neSoftwareRepository.DeleteByIds(ids)
return rows, nil
}

View File

@@ -2,6 +2,7 @@ package repository
import (
"fmt"
"sort"
"strings"
"time"
@@ -91,26 +92,64 @@ func (r CDREvent) SelectByPage(neType string, query map[string]string) ([]model.
// 分页
pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"])
if pageNum == 0 && pageSize > int(total) {
pageSize = int(total)
}
tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize))
// 排序
if v, ok := query["sortField"]; ok && v != "" {
sortSql := v
if o, ok := query["sortOrder"]; ok && o != "" {
if o == "desc" {
sortSql += " desc "
} else {
sortSql += " asc "
}
}
tx = tx.Order(sortSql)
}
// 查询数据
if err := tx.Find(&rows).Error; err != nil {
logger.Errorf("query err => %v", err)
}
// 排序
if v, ok := query["sortField"]; ok && v != "" {
sortField := v
sortOrder := "asc"
if o, ok := query["sortOrder"]; ok && o != "" {
if o == "desc" {
sortOrder = "desc"
} else {
sortOrder = "asc"
}
}
sort.SliceStable(rows, func(i, j int) bool {
// 支持的排序字段映射
fieldGetters := map[string]func(*model.CDREvent) any{
"id": func(row *model.CDREvent) any { return row.ID },
"timestamp": func(row *model.CDREvent) any { return row.Timestamp },
// 可添加更多支持的字段
}
// 获取字段 getter 函数
getter, ok := fieldGetters[sortField]
if !ok {
// 非法字段使用默认排序id升序
return rows[i].ID < rows[j].ID
}
// 获取比较值
valI, valJ := getter(&rows[i]), getter(&rows[j])
// 根据字段类型进行比较
switch v := valI.(type) {
case int64:
if sortOrder == "desc" {
return v > valJ.(int64)
}
return v < valJ.(int64)
case string:
if sortOrder == "desc" {
return v > valJ.(string)
}
return v < valJ.(string)
default:
// 不支持的字段类型,使用默认排序
return rows[i].ID < rows[j].ID
}
})
}
return rows, total
}

View File

@@ -2,6 +2,7 @@ package repository
import (
"fmt"
"sort"
"strings"
"time"
@@ -37,19 +38,52 @@ func (r KpiCReport) SelectKPI(query model.KPICQuery) []model.KpiCReport {
if query.EndTime != 0 {
tx = tx.Where("created_at <= ?", query.EndTime)
}
// 排序
if query.SortField == "" || query.SortField == "timeGroup" {
query.SortField = "created_at"
}
if query.SortOrder == "" {
query.SortOrder = "desc"
}
tx = tx.Order(fmt.Sprintf("%s %s", query.SortField, query.SortOrder))
// 查询数据
if err := tx.Find(&rows).Error; err != nil {
logger.Errorf("query find err => %v", err.Error())
return rows
}
// 排序
if query.SortField != "" {
sortField := query.SortField
sortOrder := query.SortOrder
sort.SliceStable(rows, func(i, j int) bool {
// 支持的排序字段映射
fieldGetters := map[string]func(*model.KpiCReport) any{
"id": func(row *model.KpiCReport) any { return row.ID },
"timeGroup": func(row *model.KpiCReport) any { return row.CreatedAt },
"createdAt": func(row *model.KpiCReport) any { return row.CreatedAt },
// 可添加更多支持的字段
}
// 获取字段 getter 函数
getter, ok := fieldGetters[sortField]
if !ok {
// 非法字段使用默认排序id升序
return rows[i].ID < rows[j].ID
}
// 获取比较值
valI, valJ := getter(&rows[i]), getter(&rows[j])
// 根据字段类型进行比较
switch v := valI.(type) {
case int64:
if sortOrder == "desc" {
return v > valJ.(int64)
}
return v < valJ.(int64)
case string:
if sortOrder == "desc" {
return v > valJ.(string)
}
return v < valJ.(string)
default:
// 不支持的字段类型,使用默认排序
return rows[i].ID < rows[j].ID
}
})
}
return rows
}

View File

@@ -2,6 +2,7 @@ package repository
import (
"fmt"
"sort"
"strings"
"time"
@@ -37,19 +38,52 @@ func (r KpiReport) SelectKPI(query model.KPIQuery) []model.KpiReport {
if query.EndTime != 0 {
tx = tx.Where("created_at <= ?", query.EndTime)
}
// 排序
if query.SortField == "" || query.SortField == "timeGroup" {
query.SortField = "created_at"
}
if query.SortOrder == "" {
query.SortOrder = "desc"
}
tx = tx.Order(fmt.Sprintf("%s %s", query.SortField, query.SortOrder))
// 查询数据
if err := tx.Find(&rows).Error; err != nil {
logger.Errorf("query find err => %v", err.Error())
return rows
}
// 排序
if query.SortField != "" {
sortField := query.SortField
sortOrder := query.SortOrder
sort.SliceStable(rows, func(i, j int) bool {
// 支持的排序字段映射
fieldGetters := map[string]func(*model.KpiReport) any{
"id": func(row *model.KpiReport) any { return row.ID },
"timeGroup": func(row *model.KpiReport) any { return row.CreatedAt },
"createdAt": func(row *model.KpiReport) any { return row.CreatedAt },
// 可添加更多支持的字段
}
// 获取字段 getter 函数
getter, ok := fieldGetters[sortField]
if !ok {
// 非法字段使用默认排序id升序
return rows[i].ID < rows[j].ID
}
// 获取比较值
valI, valJ := getter(&rows[i]), getter(&rows[j])
// 根据字段类型进行比较
switch v := valI.(type) {
case int64:
if sortOrder == "desc" {
return v > valJ.(int64)
}
return v < valJ.(int64)
case string:
if sortOrder == "desc" {
return v > valJ.(string)
}
return v < valJ.(string)
default:
// 不支持的字段类型,使用默认排序
return rows[i].ID < rows[j].ID
}
})
}
return rows
}

View File

@@ -2,6 +2,7 @@ package repository
import (
"fmt"
"sort"
"strings"
"time"
@@ -58,24 +59,59 @@ func (r UEEvent) SelectByPage(neType string, query map[string]string) ([]model.U
pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"])
tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize))
// 排序
if v, ok := query["sortField"]; ok && v != "" {
sortSql := v
if o, ok := query["sortOrder"]; ok && o != "" {
if o == "desc" {
sortSql += " desc "
} else {
sortSql += " asc "
}
}
tx = tx.Order(sortSql)
}
// 查询数据
if err := tx.Find(&rows).Error; err != nil {
logger.Errorf("query err => %v", err)
}
// 排序
if v, ok := query["sortField"]; ok && v != "" {
sortField := v
sortOrder := "asc"
if o, ok := query["sortOrder"]; ok && o != "" {
if o == "desc" {
sortOrder = "desc"
} else {
sortOrder = "asc"
}
}
sort.SliceStable(rows, func(i, j int) bool {
// 支持的排序字段映射
fieldGetters := map[string]func(*model.UEEvent) any{
"id": func(row *model.UEEvent) any { return row.ID },
"timestamp": func(row *model.UEEvent) any { return row.CreatedAt },
"createdAt": func(row *model.UEEvent) any { return row.CreatedAt },
// 可添加更多支持的字段
}
// 获取字段 getter 函数
getter, ok := fieldGetters[sortField]
if !ok {
// 非法字段使用默认排序id升序
return rows[i].ID < rows[j].ID
}
// 获取比较值
valI, valJ := getter(&rows[i]), getter(&rows[j])
// 根据字段类型进行比较
switch v := valI.(type) {
case int64:
if sortOrder == "desc" {
return v > valJ.(int64)
}
return v < valJ.(int64)
case string:
if sortOrder == "desc" {
return v > valJ.(string)
}
return v < valJ.(string)
default:
// 不支持的字段类型,使用默认排序
return rows[i].ID < rows[j].ID
}
})
}
return rows, total
}