Merge branch 'main-v2' into lite-ba
This commit is contained in:
12
CHANGELOG.md
12
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"` // 创建者
|
||||
|
||||
@@ -41,6 +41,7 @@ func (r NeInfo) neListSort(arr []model.NeInfo) []model.NeInfo {
|
||||
"CHF",
|
||||
"HLR",
|
||||
"SGWC",
|
||||
"PGWC",
|
||||
"IP-SM-GW",
|
||||
"MMTel-AS",
|
||||
"I-CSCF",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user