Compare commits
18 Commits
2.2410.3-2
...
2.2410.4-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54ed5c5e53 | ||
| 1ed5e91aa8 | |||
|
|
b00bb1eec0 | ||
|
|
a10052660f | ||
|
|
5f4859bdd2 | ||
| e335c75b53 | |||
| 8348ecc30b | |||
| 8ab91bab70 | |||
|
|
8b251a22ca | ||
| a1010c84e5 | |||
|
|
32852c95d8 | ||
|
|
c6c40e55d9 | ||
|
|
a0297990d9 | ||
|
|
6de6e32041 | ||
|
|
4170093610 | ||
|
|
88485221a0 | ||
|
|
e260795d3a | ||
|
|
44536f34d4 |
@@ -1,5 +1,14 @@
|
|||||||
# 版本发布日志
|
# 版本发布日志
|
||||||
|
|
||||||
|
## 2.2410.4-20241102
|
||||||
|
|
||||||
|
- 新增 直连网元信息取得hostname/os属性值
|
||||||
|
- 新增 UDM鉴权签约imsi多查询
|
||||||
|
- 更新 更新系统菜单新增关键指标概览
|
||||||
|
- 更新 定时任务周期同步更新UDM用户数据
|
||||||
|
- 更新 AMF/SMF参数配置项数据
|
||||||
|
- 修复 SMSC安装时关联修改IMS和UDM配置
|
||||||
|
|
||||||
## 2.2410.3-20241018
|
## 2.2410.3-20241018
|
||||||
|
|
||||||
- 新增 网元主机支持redis配置项
|
- 新增 网元主机支持redis配置项
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -80,6 +80,34 @@ amf:
|
|||||||
filter: "0~64"
|
filter: "0~64"
|
||||||
display: "PCF URI"
|
display: "PCF URI"
|
||||||
comment: ""
|
comment: ""
|
||||||
|
- name: "backupAusfUri"
|
||||||
|
type: "string"
|
||||||
|
value: "http://172.16.5.131:8080"
|
||||||
|
access: "read-write"
|
||||||
|
filter: "0~64"
|
||||||
|
display: "Backup AUSF URI"
|
||||||
|
comment: ""
|
||||||
|
- name: "backupUdmUri"
|
||||||
|
type: "string"
|
||||||
|
value: "http://172.16.5.141:8080"
|
||||||
|
access: "read-write"
|
||||||
|
filter: "0~64"
|
||||||
|
display: "Backup UDM URI"
|
||||||
|
comment: ""
|
||||||
|
- name: "backupSmfUri"
|
||||||
|
type: "string"
|
||||||
|
value: "http://172.16.5.151:8080"
|
||||||
|
access: "read-write"
|
||||||
|
filter: "0~64"
|
||||||
|
display: "Backup SMF URI"
|
||||||
|
comment: ""
|
||||||
|
- name: "backupPcfUri"
|
||||||
|
type: "string"
|
||||||
|
value: "http://172.16.5.161:8080"
|
||||||
|
access: "read-write"
|
||||||
|
filter: "0~64"
|
||||||
|
display: "Backup PCF URI"
|
||||||
|
comment: ""
|
||||||
- name: "lmfUri"
|
- name: "lmfUri"
|
||||||
type: "string"
|
type: "string"
|
||||||
value: "http://172.16.5.200:8080"
|
value: "http://172.16.5.200:8080"
|
||||||
@@ -471,4 +499,3 @@ amf:
|
|||||||
filter: '{"0":"false","1":"true"}'
|
filter: '{"0":"false","1":"true"}'
|
||||||
display: "statusReportEnabled"
|
display: "statusReportEnabled"
|
||||||
comment: ""
|
comment: ""
|
||||||
|
|
||||||
|
|||||||
@@ -72,14 +72,14 @@ smf:
|
|||||||
access: "read-write"
|
access: "read-write"
|
||||||
filter: ""
|
filter: ""
|
||||||
display: "PCF URI"
|
display: "PCF URI"
|
||||||
comment: ""
|
comment: "URI1;URI2"
|
||||||
- name: "udmUri"
|
- name: "udmUri"
|
||||||
type: "string"
|
type: "string"
|
||||||
value: "http://172.16.5.140:8080"
|
value: "http://172.16.5.140:8080"
|
||||||
access: "read-write"
|
access: "read-write"
|
||||||
filter: ""
|
filter: ""
|
||||||
display: "UDM URI"
|
display: "UDM URI"
|
||||||
comment: ""
|
comment: "URI1;URI2"
|
||||||
- name: "chfEnable"
|
- name: "chfEnable"
|
||||||
type: "bool"
|
type: "bool"
|
||||||
value: "false"
|
value: "false"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
LIBDIR = be.ems/lib
|
LIBDIR = be.ems/lib
|
||||||
BINNAME = crontask
|
BINNAME = crontask
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -657,7 +657,7 @@ INSERT INTO `sys_dict_data` VALUES (2146, 2146, 'menu.dashboard.smscCDR', '短
|
|||||||
INSERT INTO `sys_dict_data` VALUES (2147, 2147, 'log.operate.title.smscCDR', '短信话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2147, 2147, 'log.operate.title.smscCDR', '短信话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2148, 2148, 'menu.trace.pcapFile', '信令抓包文件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2148, 2148, 'menu.trace.pcapFile', '信令抓包文件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2149, 2149, 'menu.trace.taskAnalyze', '跟踪数据分析', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2149, 2149, 'menu.trace.taskAnalyze', '跟踪数据分析', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (2150, 2150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2150, 2150, 'job.ne_data_udm', '网元数据-UDM数据刷新同步', 'i18n_zh', '', '', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2151, 2151, 'menu.system.setting.doc', '系统使用文档', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2151, 2151, 'menu.system.setting.doc', '系统使用文档', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2152, 2152, 'menu.system.setting.official', '官网链接', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2152, 2152, 'menu.system.setting.official', '官网链接', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (2153, 2153, 'menu.system.setting.lock', '锁屏操作', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (2153, 2153, 'menu.system.setting.lock', '锁屏操作', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
|
|||||||
@@ -657,7 +657,7 @@ INSERT INTO `sys_dict_data` VALUES (4146, 4146, 'menu.dashboard.smscCDR', 'SMS C
|
|||||||
INSERT INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4149, 4149, 'menu.trace.taskAnalyze', 'Tracking Data Analysis', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4149, 4149, 'menu.trace.taskAnalyze', 'Tracking Data Analysis', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
-- INSERT INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4150, 4150, 'job.ne_data_udm', 'NE Data Sync UDM', 'i18n_en', '', '', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
INSERT INTO `sys_dict_data` VALUES (4153, 4153, 'menu.system.setting.lock', 'Lockscreen Operation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
INSERT INTO `sys_dict_data` VALUES (4153, 4153, 'menu.system.setting.lock', 'Lockscreen Operation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ CREATE TABLE `sys_job` (
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_job` VALUES (1, 'job.monitor_sys_resource', 'SYSTEM', 'monitor_sys_resource', '{\"interval\":5}', '0 0/5 * * * ?', '3', '0', '1', '0', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.monitor_sys_resource_remark');
|
INSERT INTO `sys_job` VALUES (1, 'job.monitor_sys_resource', 'SYSTEM', 'monitor_sys_resource', '{\"interval\":5}', '0 0/5 * * * ?', '3', '0', '1', '0', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.monitor_sys_resource_remark');
|
||||||
INSERT INTO `sys_job` VALUES (2, 'job.ne_config_backup', 'SYSTEM', 'ne_config_backup', '', '0 30 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.ne_config_backup_remark');
|
INSERT INTO `sys_job` VALUES (2, 'job.ne_config_backup', 'SYSTEM', 'ne_config_backup', '', '0 30 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.ne_config_backup_remark');
|
||||||
|
INSERT INTO `sys_job` VALUES (3, 'job.ne_data_udm', 'SYSTEM', 'ne_data_udm', '', '0 0 0/2 * * ?', '3', '0', '1', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
INSERT INTO `sys_job` VALUES (4, 'job.delExpiredNeBackup', 'SYSTEM', 'delExpiredNeBackup', '{\"duration\":60}', '0 20 0 * * ?', '3', '0', '0', '1', 'supervisor', 1698478134840, NULL, 0, 'job.delExpiredNeBackupRemark');
|
INSERT INTO `sys_job` VALUES (4, 'job.delExpiredNeBackup', 'SYSTEM', 'delExpiredNeBackup', '{\"duration\":60}', '0 20 0 * * ?', '3', '0', '0', '1', 'supervisor', 1698478134840, NULL, 0, 'job.delExpiredNeBackupRemark');
|
||||||
INSERT INTO `sys_job` VALUES (5, 'job.deleteExpiredAlarmRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}', '0 10 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134841, NULL, 0, 'job.deleteExpiredAlarmRecordRemark');
|
INSERT INTO `sys_job` VALUES (5, 'job.deleteExpiredAlarmRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}', '0 10 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134841, NULL, 0, 'job.deleteExpiredAlarmRecordRemark');
|
||||||
INSERT INTO `sys_job` VALUES (6, 'job.deleteExpiredKpiRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":30,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}', '0 15 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134842, 'supervisor', 1700570673113, 'job.deleteExpiredKpiRecordRemark');
|
INSERT INTO `sys_job` VALUES (6, 'job.deleteExpiredKpiRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":30,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}', '0 15 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134842, 'supervisor', 1700570673113, 'job.deleteExpiredKpiRecordRemark');
|
||||||
|
|||||||
@@ -664,7 +664,7 @@ REPLACE INTO `sys_dict_data` VALUES (2146, 2146, 'menu.dashboard.smscCDR', '短
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (2147, 2147, 'log.operate.title.smscCDR', '短信话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2147, 2147, 'log.operate.title.smscCDR', '短信话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (2148, 2148, 'menu.trace.pcapFile', '信令抓包文件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2148, 2148, 'menu.trace.pcapFile', '信令抓包文件', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (2149, 2149, 'menu.trace.taskAnalyze', '跟踪数据分析', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2149, 2149, 'menu.trace.taskAnalyze', '跟踪数据分析', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (2150, 2150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2150, 2150, 'job.ne_data_udm', '网元数据-UDM数据刷新同步', 'i18n_zh', '', '', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (2151, 2151, 'menu.system.setting.doc', '系统使用文档', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2151, 2151, 'menu.system.setting.doc', '系统使用文档', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (2152, 2152, 'menu.system.setting.official', '官网链接', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2152, 2152, 'menu.system.setting.official', '官网链接', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (2153, 2153, 'menu.system.setting.lock', '锁屏操作', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (2153, 2153, 'menu.system.setting.lock', '锁屏操作', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
|
|||||||
@@ -659,7 +659,7 @@ REPLACE INTO `sys_dict_data` VALUES (4146, 4146, 'menu.dashboard.smscCDR', 'SMS
|
|||||||
REPLACE INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4147, 4147, 'log.operate.title.smscCDR', 'SMS CDR', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4148, 4148, 'menu.trace.pcapFile', 'Signaling Capture File', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4149, 4149, 'menu.trace.taskAnalyze', 'Tracking Data Analysis', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4149, 4149, 'menu.trace.taskAnalyze', 'Tracking Data Analysis', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
||||||
-- REPLACE INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5G&4G', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4150, 4150, 'job.ne_data_udm', 'NE Data Sync UDM', 'i18n_en', '', '', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4151, 4151, 'menu.system.setting.doc', 'System User Documentation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4152, 4152, 'menu.system.setting.official', 'Official Website', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
REPLACE INTO `sys_dict_data` VALUES (4153, 4153, 'menu.system.setting.lock', 'Lockscreen Operation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
REPLACE INTO `sys_dict_data` VALUES (4153, 4153, 'menu.system.setting.lock', 'Lockscreen Operation', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ MODIFY COLUMN `target_params` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb
|
|||||||
|
|
||||||
REPLACE INTO `sys_job` VALUES (1, 'job.monitor_sys_resource', 'SYSTEM', 'monitor_sys_resource', '{\"interval\":5}', '0 0/5 * * * ?', '3', '0', '1', '0', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.monitor_sys_resource_remark');
|
REPLACE INTO `sys_job` VALUES (1, 'job.monitor_sys_resource', 'SYSTEM', 'monitor_sys_resource', '{\"interval\":5}', '0 0/5 * * * ?', '3', '0', '1', '0', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.monitor_sys_resource_remark');
|
||||||
REPLACE INTO `sys_job` VALUES (2, 'job.ne_config_backup', 'SYSTEM', 'ne_config_backup', '', '0 30 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.ne_config_backup_remark');
|
REPLACE INTO `sys_job` VALUES (2, 'job.ne_config_backup', 'SYSTEM', 'ne_config_backup', '', '0 30 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134839, 'supervisor', 1700571615807, 'job.ne_config_backup_remark');
|
||||||
|
REPLACE INTO `sys_job` VALUES (3, 'job.ne_data_udm', 'SYSTEM', 'ne_data_udm', '', '0 0 0/2 * * ?', '3', '0', '1', '1', 'supervisor', 1730173767412, '', 0, '');
|
||||||
REPLACE INTO `sys_job` VALUES (4, 'job.delExpiredNeBackup', 'SYSTEM', 'delExpiredNeBackup', '{\"duration\":60}', '0 20 0 * * ?', '3', '0', '0', '1', 'supervisor', 1698478134840, NULL, 0, 'job.delExpiredNeBackupRemark');
|
REPLACE INTO `sys_job` VALUES (4, 'job.delExpiredNeBackup', 'SYSTEM', 'delExpiredNeBackup', '{\"duration\":60}', '0 20 0 * * ?', '3', '0', '0', '1', 'supervisor', 1698478134840, NULL, 0, 'job.delExpiredNeBackupRemark');
|
||||||
REPLACE INTO `sys_job` VALUES (5, 'job.deleteExpiredAlarmRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}', '0 10 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134841, NULL, 0, 'job.deleteExpiredAlarmRecordRemark');
|
REPLACE INTO `sys_job` VALUES (5, 'job.deleteExpiredAlarmRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}', '0 10 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134841, NULL, 0, 'job.deleteExpiredAlarmRecordRemark');
|
||||||
REPLACE INTO `sys_job` VALUES (6, 'job.deleteExpiredKpiRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":30,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}', '0 15 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134842, 'supervisor', 1700570673113, 'job.deleteExpiredKpiRecordRemark');
|
REPLACE INTO `sys_job` VALUES (6, 'job.deleteExpiredKpiRecord', 'SYSTEM', 'deleteExpiredRecord', '{\"duration\":30,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}', '0 15 0 * * ?', '3', '0', '1', '1', 'supervisor', 1698478134842, 'supervisor', 1700570673113, 'job.deleteExpiredKpiRecordRemark');
|
||||||
|
|||||||
28
makefile
28
makefile
@@ -3,7 +3,7 @@
|
|||||||
ProjectL = omc
|
ProjectL = omc
|
||||||
ProjectU = OMC
|
ProjectU = OMC
|
||||||
PROJECT = $(ProjectL)
|
PROJECT = $(ProjectL)
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
@@ -12,14 +12,17 @@ ARMPLATFORM = aarch64
|
|||||||
GitLocalRoot = $(HOME)/omc.git
|
GitLocalRoot = $(HOME)/omc.git
|
||||||
EmsBuildRoot=$(GitLocalRoot)/build.ems
|
EmsBuildRoot=$(GitLocalRoot)/build.ems
|
||||||
BuildDir = $(EmsBuildRoot)/build
|
BuildDir = $(EmsBuildRoot)/build
|
||||||
|
CustomizedDir = $(EmsBuildRoot)/customized
|
||||||
BuildOMCDir = $(BuildDir)/usr/local/omc
|
BuildOMCDir = $(BuildDir)/usr/local/omc
|
||||||
BuildOMCBinDir = $(BuildOMCDir)/bin
|
BuildOMCBinDir = $(BuildOMCDir)/bin
|
||||||
BuildOMCEtcDir = $(BuildOMCDir)/etc
|
BuildOMCEtcDir = $(BuildOMCDir)/etc
|
||||||
BuildLibDir = $(BuildDir)/lib
|
BuildLibDir = $(BuildDir)/lib
|
||||||
BuildLibSystemDir = $(BuildLibDir)/systemd/system
|
BuildLibSystemDir = $(BuildLibDir)/systemd/system
|
||||||
DebBuildDir = $(EmsBuildRoot)/debbuild
|
DebBuildDir = $(EmsBuildRoot)/debbuild
|
||||||
|
DebBuildOMCDir = $(EmsBuildRoot)/debbuild/usr/local/omc
|
||||||
DebFEBuildDir = $(EmsBuildRoot)/debbuild/usr/local/omc/htdocs
|
DebFEBuildDir = $(EmsBuildRoot)/debbuild/usr/local/omc/htdocs
|
||||||
DebBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04
|
DebBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04
|
||||||
|
DebBuild2204OMCDir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc
|
||||||
DebFEBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc/htdocs
|
DebFEBuild2204Dir = $(EmsBuildRoot)/debbuild/22.04/usr/local/omc/htdocs
|
||||||
RpmBuildDir = $(EmsBuildRoot)/rpmbuild
|
RpmBuildDir = $(EmsBuildRoot)/rpmbuild
|
||||||
RpmFEBuildDir = $(RpmBuildDir)/BUILD/usr/local/omc/htdocs
|
RpmFEBuildDir = $(RpmBuildDir)/BUILD/usr/local/omc/htdocs
|
||||||
@@ -54,11 +57,14 @@ RestagentSize = 29525312
|
|||||||
BinWriterDir = $(HOME)/bin
|
BinWriterDir = $(HOME)/bin
|
||||||
ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="22.04")
|
ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="22.04")
|
||||||
DebBuildDir := $(DebBuild2204Dir)
|
DebBuildDir := $(DebBuild2204Dir)
|
||||||
|
DebBuildOMCDir := $(DebBuild2204OMCDir)
|
||||||
DebFEBuildDir := $(DebFEBuild2204Dir)
|
DebFEBuildDir := $(DebFEBuild2204Dir)
|
||||||
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
||||||
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.deb
|
||||||
|
DebPkgFileBA := $(PROJECT)-r$(VERSION)-$(Release)-ub22-ba.deb
|
||||||
else ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="18.04")
|
else ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="18.04")
|
||||||
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb
|
||||||
|
DebPkgFileBA := $(PROJECT)-r$(VERSION)-$(Release)-ub18-ba.deb
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
||||||
@@ -101,7 +107,7 @@ dist:
|
|||||||
--exclude=../crontask/crontask \
|
--exclude=../crontask/crontask \
|
||||||
--exclude=../initems/initems
|
--exclude=../initems/initems
|
||||||
|
|
||||||
deb: $(BINNAME)
|
pre_build: $(BINNAME)
|
||||||
# clear build cache
|
# clear build cache
|
||||||
rm -rf $(FrontBuildDir)/front/*
|
rm -rf $(FrontBuildDir)/front/*
|
||||||
rm -rf $(DebFEBuildDir)/front/*
|
rm -rf $(DebFEBuildDir)/front/*
|
||||||
@@ -123,6 +129,14 @@ deb: $(BINNAME)
|
|||||||
chmod 755 $(DebBuildDir)/DEBIAN/postinst
|
chmod 755 $(DebBuildDir)/DEBIAN/postinst
|
||||||
chmod 755 $(DebBuildDir)/DEBIAN/postrm
|
chmod 755 $(DebBuildDir)/DEBIAN/postrm
|
||||||
cp -rf $(BuildDir)/* $(DebBuildDir)/
|
cp -rf $(BuildDir)/* $(DebBuildDir)/
|
||||||
|
|
||||||
|
replace_chinese:
|
||||||
|
@find $(DebBuildOMCDir)/etc/db -type f -name '*.sql' -exec sed -i '' 's/[一-龥]//g' {} +
|
||||||
|
@echo "Replace all chinese charecter."
|
||||||
|
|
||||||
|
deb: pre_build
|
||||||
|
cp -rf $(CustomizedDir)/agt.d $(DebBuildOMCDir)/static
|
||||||
|
cp -rf $(CustomizedDir)/omc.d $(DebBuildOMCDir)/static
|
||||||
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
||||||
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
||||||
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
||||||
@@ -131,6 +145,16 @@ deb: $(BINNAME)
|
|||||||
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
||||||
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile)
|
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile)
|
||||||
|
|
||||||
|
badeb: pre_build replace_chinese
|
||||||
|
cp -rf $(CustomizedDir)/ba.d $(DebBuildOMCDir)/static
|
||||||
|
#cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d
|
||||||
|
#cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/
|
||||||
|
chmod +x $(DebBuildDir)/usr/local/omc/bin/*
|
||||||
|
#sed -i.bak 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
|
||||||
|
sed -i 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
|
||||||
|
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
|
||||||
|
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFileBA)
|
||||||
|
|
||||||
rpm: $(BINNAME)
|
rpm: $(BINNAME)
|
||||||
# clear build cache
|
# clear build cache
|
||||||
rm -rf $(FrontBuildDir)/front/*
|
rm -rf $(FrontBuildDir)/front/*
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ check_args() {
|
|||||||
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
||||||
C_ARG_UPPER="OMC"
|
C_ARG_UPPER="OMC"
|
||||||
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
||||||
|
elif [ "${C_ARG_LOWER}" == "agt" ]; then
|
||||||
|
C_ARG_UPPER="AGT"
|
||||||
|
sed -i 's/VENDORS=.*/VENDORS=AGT/' /usr/local/omc/etc/omc.conf
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
m)
|
m)
|
||||||
@@ -65,6 +68,10 @@ case "${M_ARG}" in
|
|||||||
done
|
done
|
||||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||||
|
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||||
|
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||||
|
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||||
|
fi
|
||||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml
|
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml
|
||||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCBinDir}/nehosts
|
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCBinDir}/nehosts
|
||||||
if [ $? = 0 ]; then
|
if [ $? = 0 ]; then
|
||||||
@@ -88,6 +95,10 @@ case "${M_ARG}" in
|
|||||||
done
|
done
|
||||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||||
|
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||||
|
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||||
|
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||||
|
fi
|
||||||
if [ $? = 0 ]; then
|
if [ $? = 0 ]; then
|
||||||
echo "done"
|
echo "done"
|
||||||
fi
|
fi
|
||||||
|
|||||||
12
mkpkg.sh
12
mkpkg.sh
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
ProcList="restagent crontask sshsvc captrace data2html"
|
ProcList="restagent crontask sshsvc captrace data2html"
|
||||||
ProjectL=omc
|
ProjectL=omc
|
||||||
VERSION=2.2410.3
|
VERSION=2.2410.4
|
||||||
RelDate=`date +%Y%m%d`
|
RelDate=`date +%Y%m%d`
|
||||||
Release=${RelDate}
|
Release=${RelDate}
|
||||||
RelVer=${VERSION}-${RelDate}
|
RelVer=${VERSION}-${RelDate}
|
||||||
@@ -53,11 +53,17 @@ case "$1" in
|
|||||||
make deb
|
make deb
|
||||||
cd $ReleaseDir/"$1"s/$RelArch
|
cd $ReleaseDir/"$1"s/$RelArch
|
||||||
rm -f omc-md5sum.txt
|
rm -f omc-md5sum.txt
|
||||||
# rpm --addsign *.rpm
|
md5sum $DebPkgName >omc-md5sum.txt
|
||||||
|
;;
|
||||||
|
badeb)
|
||||||
|
cd $EmsBEDir
|
||||||
|
make badeb
|
||||||
|
cd $ReleaseDir/"$1"s/$RelArch
|
||||||
|
rm -f omc-md5sum.txt
|
||||||
md5sum $DebPkgName >omc-md5sum.txt
|
md5sum $DebPkgName >omc-md5sum.txt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "make omc package"
|
echo "make omc package"
|
||||||
echo "Usage: $0 rpm|deb <db>"
|
echo "Usage: $0 rpm|deb|badeb <db>"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 项目信息
|
# 项目信息
|
||||||
framework:
|
framework:
|
||||||
name: "OMC"
|
name: "OMC"
|
||||||
version: "2.2410.3"
|
version: "2.2410.4"
|
||||||
|
|
||||||
# 应用服务配置
|
# 应用服务配置
|
||||||
server:
|
server:
|
||||||
|
|||||||
45
src/modules/crontask/processor/ne_data_udm/ne_data_udm.go
Normal file
45
src/modules/crontask/processor/ne_data_udm/ne_data_udm.go
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
package ne_data_udm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"be.ems/src/framework/cron"
|
||||||
|
"be.ems/src/framework/logger"
|
||||||
|
neDataService "be.ems/src/modules/network_data/service"
|
||||||
|
neModel "be.ems/src/modules/network_element/model"
|
||||||
|
neService "be.ems/src/modules/network_element/service"
|
||||||
|
)
|
||||||
|
|
||||||
|
var NewProcessor = &NeDataUDM{
|
||||||
|
udmAuthService: neDataService.NewUDMAuthUser,
|
||||||
|
udmSubService: neDataService.NewUDMSubUser,
|
||||||
|
neInfoService: neService.NewNeInfo,
|
||||||
|
count: 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
// NeDataUDM 网元配置文件定期备份
|
||||||
|
type NeDataUDM struct {
|
||||||
|
udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息
|
||||||
|
udmSubService *neDataService.UDMSubUser // UDM签约信息
|
||||||
|
neInfoService *neService.NeInfo // 网元信息服务
|
||||||
|
count int // 执行次数
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *NeDataUDM) Execute(data any) (any, error) {
|
||||||
|
s.count++ // 执行次数加一
|
||||||
|
options := data.(cron.JobData)
|
||||||
|
sysJob := options.SysJob
|
||||||
|
logger.Infof("重复 %v 任务ID %s", options.Repeat, sysJob.JobID)
|
||||||
|
// 返回结果,用于记录执行结果
|
||||||
|
result := map[string]any{
|
||||||
|
"count": s.count,
|
||||||
|
}
|
||||||
|
|
||||||
|
neList := s.neInfoService.SelectList(neModel.NeInfo{NeType: "UDM"}, false, false)
|
||||||
|
for _, neInfo := range neList {
|
||||||
|
result[fmt.Sprintf("AuthNumber_%s", neInfo.NeId)] = s.udmAuthService.ResetData(neInfo.NeId)
|
||||||
|
result[fmt.Sprintf("SubNumber_%s", neInfo.NeId)] = s.udmSubService.ResetData(neInfo.NeId)
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"be.ems/src/modules/crontask/processor/getStateFromNE"
|
"be.ems/src/modules/crontask/processor/getStateFromNE"
|
||||||
processorMonitorSysResource "be.ems/src/modules/crontask/processor/monitor_sys_resource"
|
processorMonitorSysResource "be.ems/src/modules/crontask/processor/monitor_sys_resource"
|
||||||
processorNeConfigBackup "be.ems/src/modules/crontask/processor/ne_config_backup"
|
processorNeConfigBackup "be.ems/src/modules/crontask/processor/ne_config_backup"
|
||||||
|
processorNeDataUDM "be.ems/src/modules/crontask/processor/ne_data_udm"
|
||||||
"be.ems/src/modules/crontask/processor/removeFile"
|
"be.ems/src/modules/crontask/processor/removeFile"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -19,6 +20,8 @@ func InitCronQueue() {
|
|||||||
cron.CreateQueue("monitor_sys_resource", processorMonitorSysResource.NewProcessor)
|
cron.CreateQueue("monitor_sys_resource", processorMonitorSysResource.NewProcessor)
|
||||||
// 网元-网元配置文件定期备份
|
// 网元-网元配置文件定期备份
|
||||||
cron.CreateQueue("ne_config_backup", processorNeConfigBackup.NewProcessor)
|
cron.CreateQueue("ne_config_backup", processorNeConfigBackup.NewProcessor)
|
||||||
|
// 网元数据-UDM数据刷新同步
|
||||||
|
cron.CreateQueue("ne_data_udm", processorNeDataUDM.NewProcessor)
|
||||||
// delete expired NE backup file
|
// delete expired NE backup file
|
||||||
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
||||||
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
||||||
|
|||||||
@@ -123,17 +123,30 @@ func (s *SMFController) CDRExport(c *gin.Context) {
|
|||||||
headerCells := map[string]string{
|
headerCells := map[string]string{
|
||||||
"A1": "ID",
|
"A1": "ID",
|
||||||
"B1": "Charging ID",
|
"B1": "Charging ID",
|
||||||
"C1": "Subscriber ID Data",
|
"C1": "NE Name",
|
||||||
"D1": "Subscriber ID Type",
|
"D1": "Resource Unique ID",
|
||||||
"E1": "Data Volume Uplink",
|
"E1": "Subscriber ID Data",
|
||||||
"F1": "Data Volume Downlink",
|
"F1": "Subscriber ID Type",
|
||||||
"G1": "Data Total Volume",
|
"G1": "Data Volume Uplink",
|
||||||
"H1": "Duration",
|
"H1": "Data Volume Downlink",
|
||||||
"I1": "Invocation Time",
|
"I1": "Data Total Volume",
|
||||||
"J1": "PDU Session Charging Information",
|
"J1": "Duration",
|
||||||
|
"K1": "Invocation Time",
|
||||||
|
"L1": "User Identifier",
|
||||||
|
"M1": "SSC Mode",
|
||||||
|
"N1": "DNN ID",
|
||||||
|
"O1": "PDU Type",
|
||||||
|
"P1": "RAT Type",
|
||||||
|
"Q1": "PDU IPv4 Address",
|
||||||
|
"R1": "Network Function IPv4",
|
||||||
|
"S1": "PDU IPv6 Address Swith Prefix",
|
||||||
|
"T1": "Record Network Function ID",
|
||||||
|
"U1": "Record Type",
|
||||||
|
"V1": "Record Opening Time",
|
||||||
}
|
}
|
||||||
// 从第二行开始的数据
|
// 从第二行开始的数据
|
||||||
dataCells := make([]map[string]any, 0)
|
dataCells := make([]map[string]any, 0)
|
||||||
|
|
||||||
for i, row := range rows {
|
for i, row := range rows {
|
||||||
idx := strconv.Itoa(i + 2)
|
idx := strconv.Itoa(i + 2)
|
||||||
// 解析 JSON 字符串为 map
|
// 解析 JSON 字符串为 map
|
||||||
@@ -158,12 +171,22 @@ func (s *SMFController) CDRExport(c *gin.Context) {
|
|||||||
subscriptionIDData = sub["subscriptionIDData"].(string)
|
subscriptionIDData = sub["subscriptionIDData"].(string)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 网络功能 IPv4 地址
|
||||||
|
networkFunctionIPv4Address := ""
|
||||||
|
if v, ok := cdrJSON["nFunctionConsumerInformation"]; ok && v != nil {
|
||||||
|
if conInfo, conInfoOk := v.(map[string]any); conInfoOk && conInfo != nil {
|
||||||
|
networkFunctionIPv4Address = conInfo["networkFunctionIPv4Address"].(string)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 数据量上行链路
|
// 数据量上行链路
|
||||||
dataVolumeUplink := []string{}
|
dataVolumeUplink := []string{}
|
||||||
// 数据量下行链路
|
// 数据量下行链路
|
||||||
dataVolumeDownlink := []string{}
|
dataVolumeDownlink := []string{}
|
||||||
// 数据总量
|
// 数据总量
|
||||||
dataTotalVolume := []string{}
|
dataTotalVolume := []string{}
|
||||||
|
|
||||||
if v, ok := cdrJSON["listOfMultipleUnitUsage"]; ok && v != nil {
|
if v, ok := cdrJSON["listOfMultipleUnitUsage"]; ok && v != nil {
|
||||||
usageList := v.([]any)
|
usageList := v.([]any)
|
||||||
if len(usageList) > 0 {
|
if len(usageList) > 0 {
|
||||||
@@ -198,32 +221,31 @@ func (s *SMFController) CDRExport(c *gin.Context) {
|
|||||||
invocationTimestamp = v.(string)
|
invocationTimestamp = v.(string)
|
||||||
}
|
}
|
||||||
// 记录打开时间
|
// 记录打开时间
|
||||||
pduSessionChargingInformation := ""
|
User_Identifier := ""
|
||||||
|
SSC_Mode := ""
|
||||||
|
RAT_Type := ""
|
||||||
|
DNN_ID := ""
|
||||||
|
PDU_Type := ""
|
||||||
|
PDU_IPv4 := ""
|
||||||
|
PDU_IPv6 := ""
|
||||||
if v, ok := cdrJSON["pDUSessionChargingInformation"]; ok && v != nil {
|
if v, ok := cdrJSON["pDUSessionChargingInformation"]; ok && v != nil {
|
||||||
pduInfo := v.(map[string]any)
|
pduInfo := v.(map[string]any)
|
||||||
|
|
||||||
User_Identifier := ""
|
|
||||||
if v, ok := pduInfo["userIdentifier"]; ok && v != nil {
|
if v, ok := pduInfo["userIdentifier"]; ok && v != nil {
|
||||||
User_Identifier = v.(string)
|
User_Identifier = v.(string)
|
||||||
}
|
}
|
||||||
SSC_Mode := ""
|
|
||||||
if v, ok := pduInfo["sSCMode"]; ok && v != nil {
|
if v, ok := pduInfo["sSCMode"]; ok && v != nil {
|
||||||
SSC_Mode = v.(string)
|
SSC_Mode = v.(string)
|
||||||
}
|
}
|
||||||
RAT_Type := ""
|
|
||||||
if v, ok := pduInfo["rATType"]; ok && v != nil {
|
if v, ok := pduInfo["rATType"]; ok && v != nil {
|
||||||
RAT_Type = v.(string)
|
RAT_Type = v.(string)
|
||||||
}
|
}
|
||||||
DNN_ID := ""
|
|
||||||
if v, ok := pduInfo["dNNID"]; ok && v != nil {
|
if v, ok := pduInfo["dNNID"]; ok && v != nil {
|
||||||
DNN_ID = v.(string)
|
DNN_ID = v.(string)
|
||||||
}
|
}
|
||||||
PDU_Type := ""
|
|
||||||
if v, ok := pduInfo["pDUType"]; ok && v != nil {
|
if v, ok := pduInfo["pDUType"]; ok && v != nil {
|
||||||
PDU_Type = v.(string)
|
PDU_Type = v.(string)
|
||||||
}
|
}
|
||||||
PDU_IPv4 := ""
|
|
||||||
PDU_IPv6 := ""
|
|
||||||
if v, ok := pduInfo["pDUAddress"]; ok && v != nil {
|
if v, ok := pduInfo["pDUAddress"]; ok && v != nil {
|
||||||
pDUAddress := v.(map[string]any)
|
pDUAddress := v.(map[string]any)
|
||||||
if addr, ok := pDUAddress["pDUIPv4Address"]; ok && addr != nil {
|
if addr, ok := pDUAddress["pDUIPv4Address"]; ok && addr != nil {
|
||||||
@@ -234,24 +256,54 @@ func (s *SMFController) CDRExport(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pduSessionChargingInformation = fmt.Sprintf(`User Identifier: %s
|
// pduSessionChargingInformation = fmt.Sprintf(`User Identifier: %s
|
||||||
SSC Mode: %s RAT Type: %s DNN ID: %s
|
// SSC Mode: %s RAT Type: %s DNN ID: %s
|
||||||
PDU Type: %s
|
// PDU Type: %s
|
||||||
PDU IPv4 Address: %s
|
// PDU IPv4 Address: %s
|
||||||
PDU IPv6 Addres Swith Prefix: %s`, User_Identifier, SSC_Mode, RAT_Type, DNN_ID, PDU_Type, PDU_IPv4, PDU_IPv6)
|
// PDU IPv6 Addres Swith Prefix: %s`, User_Identifier, SSC_Mode, RAT_Type, DNN_ID, PDU_Type, PDU_IPv4, PDU_IPv6)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 记录网络参数ID
|
||||||
|
recordNFID := ""
|
||||||
|
if v, ok := cdrJSON["recordingNetworkFunctionID"]; ok && v != nil {
|
||||||
|
recordNFID = v.(string)
|
||||||
|
}
|
||||||
|
|
||||||
|
//记录开始时间
|
||||||
|
recordOpeningTime := ""
|
||||||
|
if v, ok := cdrJSON["recordOpeningTime"]; ok && v != nil {
|
||||||
|
recordOpeningTime = v.(string)
|
||||||
|
}
|
||||||
|
|
||||||
|
//记录类型
|
||||||
|
recordType := ""
|
||||||
|
if v, ok := cdrJSON["recordType"]; ok && v != nil {
|
||||||
|
recordType = v.(string)
|
||||||
}
|
}
|
||||||
|
|
||||||
dataCells = append(dataCells, map[string]any{
|
dataCells = append(dataCells, map[string]any{
|
||||||
"A" + idx: row.ID,
|
"A" + idx: row.ID,
|
||||||
"B" + idx: chargingID,
|
"B" + idx: chargingID,
|
||||||
"C" + idx: subscriptionIDData,
|
"C" + idx: row.NeName,
|
||||||
"D" + idx: subscriptionIDType,
|
"D" + idx: row.RmUID,
|
||||||
"E" + idx: strings.Join(dataVolumeUplink, ","),
|
"E" + idx: subscriptionIDData,
|
||||||
"F" + idx: strings.Join(dataVolumeDownlink, ","),
|
"F" + idx: subscriptionIDType,
|
||||||
"G" + idx: strings.Join(dataTotalVolume, ","),
|
"G" + idx: strings.Join(dataVolumeUplink, ","),
|
||||||
"H" + idx: duration,
|
"H" + idx: strings.Join(dataVolumeDownlink, ","),
|
||||||
"I" + idx: invocationTimestamp,
|
"I" + idx: strings.Join(dataTotalVolume, ","),
|
||||||
"J" + idx: pduSessionChargingInformation,
|
"J" + idx: duration,
|
||||||
|
"K" + idx: invocationTimestamp,
|
||||||
|
"L" + idx: User_Identifier,
|
||||||
|
"M" + idx: SSC_Mode,
|
||||||
|
"N" + idx: DNN_ID,
|
||||||
|
"O" + idx: PDU_Type,
|
||||||
|
"P" + idx: RAT_Type,
|
||||||
|
"Q" + idx: PDU_IPv4,
|
||||||
|
"R" + idx: networkFunctionIPv4Address,
|
||||||
|
"S" + idx: PDU_IPv6,
|
||||||
|
"T" + idx: recordNFID,
|
||||||
|
"U" + idx: recordType,
|
||||||
|
"V" + idx: recordOpeningTime,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ func (s *UDMAuthController) Export(c *gin.Context) {
|
|||||||
|
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("udm_auth_user_export_%s_%d.%s", neId, time.Now().UnixMilli(), fileType)
|
fileName := fmt.Sprintf("udm_auth_user_export_%s_%d.%s", neId, time.Now().UnixMilli(), fileType)
|
||||||
filePath := fmt.Sprintf("%s/%s", file.ParseUploadFileDir(uploadsubpath.EXPORT), fileName)
|
filePath := filepath.Join(file.ParseUploadFileDir(uploadsubpath.EXPORT), fileName)
|
||||||
|
|
||||||
if fileType == "csv" {
|
if fileType == "csv" {
|
||||||
// 转换数据
|
// 转换数据
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
// 实例化控制层 UDMSubController 结构体
|
// 实例化控制层 UDMSubController 结构体
|
||||||
var NewUDMSub = &UDMSubController{
|
var NewUDMSub = &UDMSubController{
|
||||||
udmSubService: neDataService.NewUDMSub,
|
udmSubService: neDataService.NewUDMSubUser,
|
||||||
neInfoService: neService.NewNeInfo,
|
neInfoService: neService.NewNeInfo,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,7 +386,7 @@ func (s *UDMSubController) Export(c *gin.Context) {
|
|||||||
|
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("udm_sub_user_export_%s_%d.%s", neId, time.Now().UnixMilli(), fileType)
|
fileName := fmt.Sprintf("udm_sub_user_export_%s_%d.%s", neId, time.Now().UnixMilli(), fileType)
|
||||||
filePath := fmt.Sprintf("%s/%s", file.ParseUploadFileDir(uploadsubpath.EXPORT), fileName)
|
filePath := filepath.Join(file.ParseUploadFileDir(uploadsubpath.EXPORT), fileName)
|
||||||
|
|
||||||
if fileType == "csv" {
|
if fileType == "csv" {
|
||||||
// 转换数据
|
// 转换数据
|
||||||
|
|||||||
@@ -74,6 +74,13 @@ func (r *UDMAuthUser) SelectPage(query map[string]any) map[string]any {
|
|||||||
conditions = append(conditions, "ne_id = ?")
|
conditions = append(conditions, "ne_id = ?")
|
||||||
params = append(params, v)
|
params = append(params, v)
|
||||||
}
|
}
|
||||||
|
if v, ok := query["imsis"]; ok && v != "" {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(v.([]any)))
|
||||||
|
conditions = append(conditions, fmt.Sprintf("imsi in (%s)", placeholder))
|
||||||
|
for _, v := range v.([]any) {
|
||||||
|
params = append(params, v.(string))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
|
|||||||
@@ -110,6 +110,13 @@ func (r *UDMSubUser) SelectPage(query map[string]any) map[string]any {
|
|||||||
conditions = append(conditions, "ne_id = ?")
|
conditions = append(conditions, "ne_id = ?")
|
||||||
params = append(params, v)
|
params = append(params, v)
|
||||||
}
|
}
|
||||||
|
if v, ok := query["imsis"]; ok && v != "" {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(v.([]any)))
|
||||||
|
conditions = append(conditions, fmt.Sprintf("imsi in (%s)", placeholder))
|
||||||
|
for _, v := range v.([]any) {
|
||||||
|
params = append(params, v.(string))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 实例化服务层 UDMSubUser 结构体
|
// 实例化服务层 UDMSubUser 结构体
|
||||||
var NewUDMSub = &UDMSubUser{
|
var NewUDMSubUser = &UDMSubUser{
|
||||||
udmSubRepository: repository.NewUDMSub,
|
udmSubRepository: repository.NewUDMSub,
|
||||||
udmUserInfoRepository: repository.NewUDMUserInfo,
|
udmUserInfoRepository: repository.NewUDMUserInfo,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
|
|||||||
"capability": resData["capability"],
|
"capability": resData["capability"],
|
||||||
"sn": resData["serialNum"],
|
"sn": resData["serialNum"],
|
||||||
"expire": resData["expiryDate"],
|
"expire": resData["expiryDate"],
|
||||||
|
"hostname": resData["hostName"],
|
||||||
|
"os": resData["osInfo"],
|
||||||
"cpu": resData["cpuUsage"],
|
"cpu": resData["cpuUsage"],
|
||||||
"mem": resData["memUsage"],
|
"mem": resData["memUsage"],
|
||||||
"disk": resData["diskSpace"],
|
"disk": resData["diskSpace"],
|
||||||
|
|||||||
@@ -657,11 +657,40 @@ func (r *NeVersion) operateDome(action string, neVersion model.NeVersion) error
|
|||||||
if neInfo.NeId != neVersion.NeId {
|
if neInfo.NeId != neVersion.NeId {
|
||||||
return fmt.Errorf("error found neinfo")
|
return fmt.Errorf("error found neinfo")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========= 网元OAM配置文件 start ==========
|
// ========= 网元OAM配置文件 start ==========
|
||||||
if err := NewNeInfo.NeConfOAMWirteSync(neInfo, nil, true); err != nil {
|
if err := NewNeInfo.NeConfOAMWirteSync(neInfo, nil, true); err != nil {
|
||||||
return fmt.Errorf("error wirte OAM file info")
|
return fmt.Errorf("error wirte OAM file info")
|
||||||
}
|
}
|
||||||
// ========= 网元OAM配置文件 end ===========
|
// ========= 网元OAM配置文件 end ===========
|
||||||
|
|
||||||
|
// SMSC配置修改IMS和UDM 配置
|
||||||
|
if neInfo.NeType == "SMSC" {
|
||||||
|
para5GData := NewNeInfo.Para5GData
|
||||||
|
mnc_mcc := fmt.Sprintf("mnc%s.mcc%s", para5GData["MNC_DOMAIN"], para5GData["MCC"])
|
||||||
|
smscHost := fmt.Sprintf("%s smsc.ims.%s.3gppnetwork.org", para5GData["SMSC_IP"], mnc_mcc)
|
||||||
|
smscHostCMD := fmt.Sprintf("grep -qxF '%s' /etc/hosts || echo '%s' | sudo tee -a /etc/hosts \n", smscHost, smscHost)
|
||||||
|
smscIPCMD := fmt.Sprintf("grep -qxF '%s smsc' /etc/hosts || echo '%s smsc' | sudo tee -a /etc/hosts \n", para5GData["SMSC_IP"], para5GData["SMSC_IP"])
|
||||||
|
// IMS 配置
|
||||||
|
imsNEs := NewNeInfo.SelectList(model.NeInfo{NeType: "IMS"}, false, false)
|
||||||
|
for _, v := range imsNEs {
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "sudo sed -i '/^#!define WITH_SMS/ s/^/#/' /usr/local/etc/ims/vars.cfg")
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "ims-stop || true && ims-start")
|
||||||
|
}
|
||||||
|
// UDM 配置
|
||||||
|
smscASName := fmt.Sprintf("sudo sed -i '/- name: sms_as/{n;s|serverName: .*|serverName: sip:%s:5060|}' /usr/local/etc/udm/as.yaml", para5GData["SMSC_IP"])
|
||||||
|
smscASAddress := fmt.Sprintf("sudo sed -i '/- name: sms_as/{n;s|diameterAddress: .*|diameterAddress: smsc.ims.%s.3gppnetwork.org|}' /usr/local/etc/udm/as.yaml", mnc_mcc)
|
||||||
|
udmNEs := NewNeInfo.SelectList(model.NeInfo{NeType: "UDM"}, false, false)
|
||||||
|
for _, v := range udmNEs {
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscASName)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscASAddress)
|
||||||
|
NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "sudo service udm restart")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新Version
|
// 更新Version
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2410.3
|
VERSION = 2.2410.4
|
||||||
LIBDIR = be.ems/lib
|
LIBDIR = be.ems/lib
|
||||||
BINNAME = sshsvc
|
BINNAME = sshsvc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user