Compare commits
86 Commits
2.231214.9
...
2.2312.10-
| Author | SHA1 | Date | |
|---|---|---|---|
| b74d0059b8 | |||
|
|
bb8d367967 | ||
|
|
ef89bb4038 | ||
| 7facc301c4 | |||
| 1433964be1 | |||
| 845720a705 | |||
| 49c3e8ce6d | |||
| e1e10fba00 | |||
| 29d4458267 | |||
| 5de91843a8 | |||
| 28e3dff6b8 | |||
| f26a1d79e5 | |||
| a10f8c2a43 | |||
| 7f37df1337 | |||
| 0a243a5089 | |||
| c0046f421d | |||
| e9c125f632 | |||
|
|
9c37c7ff91 | ||
|
|
8e83397d2d | ||
| daa42b0182 | |||
| 079a697dd8 | |||
| 7f3d376715 | |||
| 93d5ed2d61 | |||
| 6462710d63 | |||
| d6b07f89d0 | |||
| 7c09325bf7 | |||
| 38ae580d6f | |||
| 0590566eae | |||
|
|
55893741ef | ||
|
|
cc9f779957 | ||
| 2b3785361a | |||
| c708ea4215 | |||
| 491456caa0 | |||
| 374fb9b8f3 | |||
| 562244d0db | |||
| a066bb3692 | |||
| 524c316da4 | |||
|
|
6a32def83e | ||
| 4a4c2a97c9 | |||
| 8e713e3e92 | |||
| c4bb89d28d | |||
| e8f1e96df7 | |||
| d4db688020 | |||
| b5812c0658 | |||
|
|
4165e8f224 | ||
| d29052e9d5 | |||
| a10ea8acf9 | |||
| 7efa200db4 | |||
| 208c443de0 | |||
| fc25280a36 | |||
|
|
89356af2c7 | ||
| 1234c56af8 | |||
| ea9c69ed0a | |||
| 95c178fa39 | |||
| af94dd7c3c | |||
| 6358bce10e | |||
| 62ba162e59 | |||
|
|
f5b88186dc | ||
|
|
cb699f29da | ||
|
|
cc9c42037f | ||
| 5440d2d22d | |||
| 17983d0b45 | |||
|
|
f5c852d801 | ||
|
|
509fdbba95 | ||
|
|
83722d630b | ||
| b40580105f | |||
| d021b09fa2 | |||
| 7714afa933 | |||
| 3bf54a22b1 | |||
| bc51fd0554 | |||
| 6f8617a81e | |||
| e8303f5a0c | |||
| e583a1ec4f | |||
| e48f745a3d | |||
| 4609a446af | |||
| f607662032 | |||
| 684283d761 | |||
| 2d607f903c | |||
| 433fcc19d0 | |||
| 519e0ee4f9 | |||
| de7b8c4bf1 | |||
|
|
472a5932e8 | ||
| 972c21395a | |||
| 97ae24f715 | |||
|
|
c5d0451293 | ||
| b2a2eb778e |
30
CHANGELOG.md
Normal file
30
CHANGELOG.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# 版本发布日志
|
||||||
|
|
||||||
|
## 2.2312.10-20231229
|
||||||
|
|
||||||
|
- 增加 OMC 与 NSSF 的 Available AMFs 和 Subscription 的查询接口代码, NSSF 的代码未完成,暂未联调,菜单未开放
|
||||||
|
- 确定序列号(SN)方案,增加网元状态在异常情况下可显示序列号和版本号(通过保存在 ne_state 的网元状态信息获取,且 ne_state 表中必须有 3 天内的网元状态数据)
|
||||||
|
- 调整优化获取网元状态命令的超时时长,优化网元状态主页的等待时间
|
||||||
|
- BA 需求:增加网元在新增和修改时配置数据同步至网元的开关功能
|
||||||
|
- 增加调度任务:删除过期网元状态信息
|
||||||
|
- 移植调度任务:原有 crontask 的周期获取网元状态信息
|
||||||
|
- 移植调度任务:原有 crontask 的检测网元状态异常并产生和消除告警的定时任务
|
||||||
|
- 开放 IMS 的 MML 命令
|
||||||
|
- 移除 installOMC.sh 脚本
|
||||||
|
- 新增 支持 UDM 用户数据删除多个 imsi
|
||||||
|
- 修复 调度任务日志查询记录数据重复问题
|
||||||
|
|
||||||
|
## 2.2312.9-20231222
|
||||||
|
|
||||||
|
- 新增 性能 KPI 统计数据获取接口
|
||||||
|
- 新增 网元日志列表获取接口
|
||||||
|
- 新增 PCF 用户策略控制交互接口
|
||||||
|
- 修复 UDM 用户数据导入 imsi 空值异常错误
|
||||||
|
- 修复 列表数据分页最大页面数导致的读取数据不全问题
|
||||||
|
- 修复 调度任务日志查询全部数据接口异常
|
||||||
|
- 优化 UDM 用户数据同步信息及时更新
|
||||||
|
- 优化 获取网元状态接口请求耗时过长
|
||||||
|
- 优化 用户管理导入支持预先分别角色权限
|
||||||
|
- 增加 setomc.sh 脚本,命令行格式:setomc.sh -m {install/upgrade/upgvue3} -c {BA/...}, -m 参数调用了 importdb.sh, -c 参数加"BA"表示设置 BA 的定制化 OMC 配置, 默认不执行定制化过程
|
||||||
|
- 暂时屏蔽 IMS 网元的 MML 命令
|
||||||
|
- UDM 签约用户数据增加/批量增加 MML 的字段 4G static IP 改为非必选
|
||||||
18
README.md
18
README.md
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
后端
|
后端
|
||||||
|
|
||||||
|
## 文件资源
|
||||||
|
|
||||||
|
| 路径 | 说明 |
|
||||||
|
| --------------------- | -------------------------- |
|
||||||
|
| /usr/local/omc/static | 网管静态资源文件路径 |
|
||||||
|
| /usr/local/omc/upload | 网管上传文件资源路径 |
|
||||||
|
| /tmp/omc | 存放从网元拉取到本地的文件 |
|
||||||
|
|
||||||
## redis 配置文件相关
|
## redis 配置文件相关
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
@@ -20,3 +28,13 @@ replica-read-only no
|
|||||||
## 版本发布空间
|
## 版本发布空间
|
||||||
|
|
||||||
\\192.168.1.205\share\release\omc
|
\\192.168.1.205\share\release\omc
|
||||||
|
192.168.1.120
|
||||||
|
altouser/a1t0U53r
|
||||||
|
|
||||||
|
## 打包
|
||||||
|
|
||||||
|
`` bash
|
||||||
|
go env -w GOOS=linux
|
||||||
|
go env -w GOOS=windows
|
||||||
|
go build -o restagent -v -ldflags "-X 'ems.agt/lib/global.Version=2.2311.8' -X 'ems.agt/lib/global.BuildTime=`date`' -X 'ems.agt/lib/global.GoVer=`go version`'"
|
||||||
|
``
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2312.8
|
VERSION = 2.2312.10
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ omc:
|
|||||||
vendor: ""
|
vendor: ""
|
||||||
dn: 4600
|
dn: 4600
|
||||||
chk2ne: false
|
chk2ne: false
|
||||||
sn: 13750650
|
sn: "-"
|
||||||
checksign: false
|
checksign: false
|
||||||
rootDir: /usr/local/omc
|
rootDir: /usr/local/omc
|
||||||
binDir: /usr/local/omc/bin
|
binDir: /usr/local/omc/bin
|
||||||
@@ -128,7 +128,7 @@ alarm:
|
|||||||
signName: XXX SMSC
|
signName: XXX SMSC
|
||||||
templateCode: 1000
|
templateCode: 1000
|
||||||
|
|
||||||
#User authorized information
|
# User authorized information
|
||||||
# crypt: mysql/md5/bcrypt
|
# crypt: mysql/md5/bcrypt
|
||||||
# token: true/false to check accessToken
|
# token: true/false to check accessToken
|
||||||
# expires for session, unit: second
|
# expires for session, unit: second
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ tasks:
|
|||||||
at: 00:30:00
|
at: 00:30:00
|
||||||
do: TaskDBBackupCSVGetBySQL
|
do: TaskDBBackupCSVGetBySQL
|
||||||
- name: handshake to NF
|
- name: handshake to NF
|
||||||
status: Active
|
status: Inactive
|
||||||
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState
|
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState
|
||||||
params:
|
params:
|
||||||
interval: 10
|
interval: 10
|
||||||
@@ -128,7 +128,7 @@ tasks:
|
|||||||
at: 00:30
|
at: 00:30
|
||||||
do: TaskGenLicenseAlarm
|
do: TaskGenLicenseAlarm
|
||||||
- name: Task of Generate NE system state alarm
|
- name: Task of Generate NE system state alarm
|
||||||
status: Active
|
status: Inactive
|
||||||
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
||||||
params: 10000
|
params: 10000
|
||||||
interval: 5
|
interval: 5
|
||||||
|
|||||||
Binary file not shown.
17
config/locales/sys_config.csv
Normal file
17
config/locales/sys_config.csv
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
config_id,config_name,config_key,config_value,config_type,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,config.sys.user.initPassword,sys.user.initPassword,Abcd@1234..,Y,supervisor,1.69811E+12,,0,config.sys.user.initPasswordRemark
|
||||||
|
2,config.sys.account.captchaEnabled,sys.account.captchaEnabled,false,Y,supervisor,1.69811E+12,,0,config.sys.account.captchaEnabledRemark
|
||||||
|
3,config.sys.account.registerUser,sys.account.registerUser,false,Y,supervisor,1.69811E+12,,0,config.sys.account.registerUserRemark
|
||||||
|
4,config.sys.user.maxRetryCount,sys.user.maxRetryCount,5,Y,supervisor,1.69811E+12,,0,config.sys.user.maxRetryCountRemark
|
||||||
|
5,config.sys.user.lockTime,sys.user.lockTime,10,Y,supervisor,1.69811E+12,,0,config.sys.user.lockTimeRemark
|
||||||
|
6,config.sys.officialUrl,sys.officialUrl,#,Y,supervisor,1.69811E+12,,0,config.sys.officialUrlRemark
|
||||||
|
7,config.sys.helpDoc,sys.helpDoc,/static/helpDoc/{language}_doc.pdf,Y,supervisor,1.69811E+12,,0,config.sys.helpDocRemark
|
||||||
|
10,config.monitor.sysResource.storeDays,monitor.sysResource.storeDays,30,Y,supervisor,1.69811E+12,,0,config.monitor.sysResource.storeDaysRemark
|
||||||
|
102,config.sys.logo.type,sys.logo.type,icon,Y,supervisor,1.69811E+12,,0,config.sys.logo.typeRemark
|
||||||
|
103,config.sys.logo.filePathIcon,sys.logo.filePathIcon,/static/logo/{language}_icon.png,Y,supervisor,1.69811E+12,,0,config.sys.logo.filePathIconRemark
|
||||||
|
104,config.sys.logo.filePathBrand,sys.logo.filePathBrand,/static/logo/{language}_brand.png,Y,supervisor,1.69811E+12,,0,config.sys.logo.filePathBrandRemark
|
||||||
|
105,config.sys.loginBackground,sys.loginBackground,#,Y,supervisor,1.69811E+12,,0,config.sys.loginBackgroundRemark
|
||||||
|
106,config.sys.title,sys.title,config.sys.titleValue,Y,supervisor,1.69811E+12,,0,config.sys.titleRemark
|
||||||
|
107,config.sys.copyright,sys.copyright,config.sys.copyrightValue,Y,supervisor,1.69811E+12,,0,config.sys.copyrightRemark
|
||||||
|
108,config.sys.i18nOpen,sys.i18n.open,true,Y,supervisor,1.69811E+12,,0,config.sys.i18nOpenRemark
|
||||||
|
109,config.sys.i18nDefault,sys.i18n.default,en_US,Y,supervisor,1.69811E+12,,0,config.sys.i18nDefaultRemark
|
||||||
|
3
config/locales/sys_dept.csv
Normal file
3
config/locales/sys_dept.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
dept_id,parent_id,ancestors,dept_name,order_num,leader,phone,email,status,del_flag,create_by,create_time,update_by,update_time
|
||||||
|
100,0,0,dept.root,0,supervisor,,,1,0,supervisor,1.69935E+12,,0
|
||||||
|
101,100,"0,100",dept.root.item1,1,supervisor,,,1,0,supervisor,1.69935E+12,,0
|
||||||
|
79
config/locales/sys_dict_data.csv
Normal file
79
config/locales/sys_dict_data.csv
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
dict_code,dict_sort,dict_label,dict_value,dict_type,tag_class,tag_type,status,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,1,dictData.sex.un,0,sys_user_sex,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
2,2,dictData.sex.male,1,sys_user_sex,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
3,3,dictData.sex.female,2,sys_user_sex,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
4,1,dictData.show,1,sys_show_hide,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
5,2,dictData.hide,0,sys_show_hide,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
6,1,dictData.normal,1,sys_normal_disable,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
7,2,dictData.disable,0,sys_normal_disable,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
8,1,dictData.yes,Y,sys_yes_no,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
9,2,dictData.no,N,sys_yes_no,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
10,1,dictData.success,1,sys_common_status,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
11,2,dictData.fail,0,sys_common_status,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
12,1,dictData.jobStatus.normal,1,sys_job_status,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
13,2,dictData.jobStatus.pause,0,sys_job_status,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
14,1,dictData.jobGroup.Default,DEFAULT,sys_job_group,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
15,2,dictData.jobGroup.System,SYSTEM,sys_job_group,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
16,1,dictData.operType.other,0,sys_oper_type,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
17,2,dictData.operType.add,1,sys_oper_type,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
18,3,dictData.operType.edit,2,sys_oper_type,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
19,4,dictData.operType.delete,3,sys_oper_type,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
20,5,dictData.operType.auth,4,sys_oper_type,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
21,6,dictData.operType.export,5,sys_oper_type,,warning,1,supervisor,1.69935E+12,,0,
|
||||||
|
22,7,dictData.operType.import,6,sys_oper_type,,warning,1,supervisor,1.69935E+12,,0,
|
||||||
|
23,8,dictData.operType.forced quit,7,sys_oper_type,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
24,9,dictData.operType.clear,8,sys_oper_type,,error,1,supervisor,1.69935E+12,,0,
|
||||||
|
25,1,dictData.trace.interface,Interface,trace_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
26,2,dictData.trace.device,Device,trace_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
27,3,dictData.trace.user,UE,trace_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
28,1,dictData.logType.download,DOWNLOAD,operation_log_type,,pink,1,supervisor,1.69935E+12,,0,
|
||||||
|
29,2,dictData.logType.activation,Activation,operation_log_type,,blue ,1,supervisor,1.69935E+12,,0,
|
||||||
|
30,3,dictData.logType.add,ADD,operation_log_type,,cyan,1,supervisor,1.69935E+12,,0,
|
||||||
|
31,4,dictData.logType.other,AUTO,operation_log_type,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
32,5,dictData.logType.back,BACK,operation_log_type,,blue ,1,supervisor,1.69935E+12,,0,
|
||||||
|
33,6,dictData.logType.delete,DELETE,operation_log_type,,red,1,supervisor,1.69935E+12,,0,
|
||||||
|
34,7,dictData.logType.distribute,Distribute,operation_log_type,,yellow,1,supervisor,1.69935E+12,,0,
|
||||||
|
35,8,dictData.logType.export,EXPORT,operation_log_type,,green,1,supervisor,1.69935E+12,,0,
|
||||||
|
36,9,dictData.logType.query,SELECT,operation_log_type,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
37,10,dictData.logType.setup,SET,operation_log_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
38,11,dictData.logType.update,UPDATE,operation_log_type,,magenta,1,supervisor,1.69935E+12,,0,
|
||||||
|
39,12,dictData.logType.upload,UPLOAD,operation_log_type,,yellow,1,supervisor,1.69935E+12,,0,
|
||||||
|
40,13,dictData.logType.view,View,operation_log_type,,purple,1,supervisor,1.69935E+12,,0,
|
||||||
|
41,14,dictData.logType.login,0,security_log_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
42,15,dictData.logType.logout,1,security_log_type,,cyan,1,supervisor,1.69935E+12,,0,
|
||||||
|
43,1,dictData.securityLogType.add,2,security_log_type,,green,1,supervisor,1.69935E+12,,0,
|
||||||
|
44,2,dictData.securityLogType.update,3,security_log_type,,lime,1,supervisor,1.69935E+12,,0,
|
||||||
|
45,3,dictData.securityLogType.delete,4,security_log_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
46,4,dictData.securityLogType.lock,5,security_log_type,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
47,5,dictData.securityLogType.unlock,6,security_log_type,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
48,6,dictData.securityLogType.reset,7,security_log_type,,cyan,1,supervisor,1.69935E+12,,0,
|
||||||
|
49,7,dictData.securityLogType.deactivate,8,security_log_type,,blue ,1,supervisor,1.69935E+12,,0,
|
||||||
|
50,8,dictData.jobSaveLog.no,0,sys_job_save_log,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
51,9,dictData.jobSaveLog.yes,1,sys_job_save_log,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
52,1,dictData.neVersionStatus.upload,Uploaded,ne_version_status,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
53,2,dictData.neVersionStatus.inactive,Inactive,ne_version_status,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
54,3,dictData.neVersionStatus.active,Active,ne_version_status,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
55,1,dictData.alarmStatus.history,0,alarm_status,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
56,2,dictData.alarmStatus.active,1,alarm_status,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
57,1,dictData.datascope.all,1,sys_role_datascope,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
58,2,dictData.datascope.custom,2,sys_role_datascope,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
59,3,dictData.datascope.dept,3,sys_role_datascope,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
60,4,dictData.datascope.deptAndChid,4,sys_role_datascope,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
61,5,dictData.datascope.self,5,sys_role_datascope,,,1,supervisor,1.69935E+12,,0,
|
||||||
|
62,1,dictData.active_alarm_type.communication,CommunicationAlarm,active_alarm_type,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
63,2,dictData.active_alarm_type.equipment,EquipmentAlarm,active_alarm_type,,cyan,1,supervisor,1.69935E+12,,0,
|
||||||
|
64,3,dictData.active_alarm_type.processing,ProcessingFailure,active_alarm_type,,blue ,1,supervisor,1.69935E+12,,0,
|
||||||
|
65,4,dictData.active_alarm_type.environmental,EnvironmentalAlarm,active_alarm_type,,yellow,1,supervisor,1.69935E+12,,0,
|
||||||
|
66,5,dictData.active_alarm_type.qualityOfService,QualityOfServiceAlarm,active_alarm_type,,purple,1,supervisor,1.69935E+12,,0,
|
||||||
|
67,0,dictData.active_clear_type.notCleared,0,active_clear_type,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
68,1,dictData.active_clear_type.auto,1,active_clear_type,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
69,2,dictData.active_clear_type.hand,2,active_clear_type,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
70,0,dictData.active_ack_state.unconfirmed,0,active_ack_state,,processing,1,supervisor,1.69935E+12,,0,
|
||||||
|
71,1,dictData.active_ack_state.confirmed,1,active_ack_state,,success,1,supervisor,1.69935E+12,,0,
|
||||||
|
72,1,dictData.active_alarm_severity.critical,Critical,active_alarm_severity,,gold,1,supervisor,1.69935E+12,,0,
|
||||||
|
73,2,dictData.active_alarm_severity.major,Major,active_alarm_severity,,cyan,1,supervisor,1.69935E+12,,0,
|
||||||
|
74,3,dictData.active_alarm_severity.minor,Minor,active_alarm_severity,,blue ,1,supervisor,1.69935E+12,,0,
|
||||||
|
75,4,dictData.active_alarm_severity.warning,Warning,active_alarm_severity,,yellow,1,supervisor,1.69935E+12,,0,
|
||||||
|
76,5,dictData.active_alarm_severity.event,Event,active_alarm_severity,,purple,1,supervisor,1.69935E+12,,0,
|
||||||
|
77,1,dictType.index_status.normal,normal,index_status,#91cc75,,1,supervisor,1.70202E+12,supervisor,1.70202E+12,
|
||||||
|
78,2,dictType.index_status.abnormal,abnormal,index_status,#ee6666,,1,supervisor,1.70202E+12,supervisor,1.70202E+12,
|
||||||
|
531
config/locales/sys_dict_data_en.csv
Normal file
531
config/locales/sys_dict_data_en.csv
Normal file
@@ -0,0 +1,531 @@
|
|||||||
|
dict_code,dict_sort,dict_label,dict_value,dict_type,tag_class,tag_type,status,create_by,create_time,update_by,update_time,remark
|
||||||
|
3000,3000,i18n,English,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
3001,3001,hello,Hello,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
3002,3002,menu.system,System,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3003,3003,menu.monitor,Monitor,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3004,3004,menu.tools,Tools,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3005,3005,menu.config,Configuration,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3006,3006,menu.ueUser,UE,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3007,3007,menu.systemRemark,System Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3008,3008,menu.monitorRemark,System Monitor Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3009,3009,menu.toolsRemark,System Tools Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3010,3010,menu.configRemark,OMC Configuration Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3011,3011,menu.ueUserRemark,Network Element Terminal Information Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3012,3012,menu.security.user,User Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3013,3013,menu.security.role,Role Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3014,3014,menu.security.roleUser,Assigning Roles,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3015,3015,menu.system.menu,Menu Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3016,3016,menu.security.dept,Department Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3017,3017,menu.security.post,Position Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3018,3018,menu.system.dictType,Dictionary Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3019,3019,menu.system.dictData,Dictionary Data,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3020,3020,menu.system.paramSet,Parameter Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3021,3021,menu.system.systemLog,System Log,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3022,3022,menu.system.systemInfo,System Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3023,3023,menu.system.cacheInfo,Cache Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3024,3024,menu.system.cache,Cache Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3025,3025,menu.security.onlineUser,Online Users,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3026,3026,menu.system.job,Scheduling Tasks,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3027,3027,menu.system.jobLog,Scheduling Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3028,3028,menu.tools.help,Help Documentation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3029,3029,menu.log.operat,Operation logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3030,3030,menu.log.login,Security logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3031,3031,menu.security.userRemark,User Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3032,3032,menu.security.roleRemark,Role Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3033,3033,menu.security.roleUserRemark,Assign Roles Embedded Hidden Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3034,3034,menu.system.menuRemark,Menu Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3035,3035,menu.security.deptRemark,Department management menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3036,3036,menu.security.postRemark,Job Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3037,3037,menu.system.dictTypeRemark,Dictionary management menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3038,3038,menu.system.dictDataRemark,Dictionary data embedded hidden menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3039,3039,menu.system.paramSetRemark,Parameter setting menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3040,3040,menu.system.systemLogRemark,System Log Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3041,3041,menu.system.systemInfoRemark,System information menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3042,3042,menu.system.cacheInfoRemark,Cache Information Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3043,3043,menu.system.cacheRemark,Cache List Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3044,3044,menu.security.onlineUserRemark,Online User Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3045,3045,menu.system.jobRemark,Scheduling Tasks menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3046,3046,menu.system.jobLogRemark,Scheduling Log Embedded Hidden Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3047,3047,menu.tools.helpRemark,Help file menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3048,3048,menu.log.operatRemark,Operation log menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3049,3049,menu.log.loginRemark,Login log menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3050,3050,menu.common.query,Inquiry,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3051,3051,menu.common.add,Add,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3052,3052,menu.common.edit,Modify,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3053,3053,menu.common.delete,Delete,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3054,3054,menu.common.export,Export,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3055,3055,menu.common.import,Import,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3056,3056,menu.common.reset,Reset,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3057,3057,menu.common.unlock,Account Unlock,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3058,3058,menu.forcedQuit.batch ,Batch Undo,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3059,3059,menu.forcedQuit.single,Individual Forced Retirement,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3060,3060,menu.ueUser.authUDM,UDM Authentication,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3061,3061,menu.ueUser.subUDM,UDM Subscribers,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3062,3062,menu.ueUser.authUDMRemark,UDM Authentication Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3063,3063,menu.ueUser.subUDMRemark,UDM Subscriber Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3064,3064,menu.config.neManage,NE Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3065,3065,menu.config.configNE,Parameter Configuration Original,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3066,3066,menu.config.neManageRemark,Network Element Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3067,3067,menu.config.configNERemark,Parameter Configuration Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3068,3068,menu.config.backupManage,Backup Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3069,3069,menu.config.softwareManage,Software Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3070,3070,menu.ueUser.onlineIMS,IMS Online Users,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3071,3071,menu.ueUser.onlineUE,UE Online Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3072,3072,menu.ueUser.base5G,NodeB Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3073,3073,menu.trace,Trace,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3074,3074,menu.trace.task,Trace Tasks,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3075,3075,menu.trace.analysis,Signaling Analysis,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3076,3076,menu.trace.pcap,Signaling Capture,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3077,3077,menu.fault,Monitor,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3078,3078,menu.config.backupManageRemark,Backup Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3079,3079,menu.config.softwareManageRemark,Software Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3080,3080,menu.ueUser.onlineIMSRemark,IMS Online User Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3081,3081,menu.ueUser.onlineUERemark,UE Online Information Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3082,3082,menu.ueUser.base5GRemark,5G Base Station Information Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3083,3083,menu.traceRemark,Tracking Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3084,3084,menu.trace.taskRemark,Tracking Task Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3085,3085,menu.trace.analysisRemark,Signaling Analysis Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3086,3086,menu.trace.pcapRemark,Signaling Capture Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3087,3087,menu.faultRemark,Fault Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3088,3088,menu.fault.active,Active Alarms,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3089,3089,menu.log,Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3090,3090,menu.log.operatOld,Operation Logs (old),i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3091,3091,menu.log.mml,MML Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3092,3092,menu.log.alarm,Alarm Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3093,3093,menu.log.securityOld,Security Logs (old),i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3094,3094,menu.log.forwarding,Alarm Forwarding Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3095,3095,menu.log.set,Log Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3096,3096,menu.monitor.sessionUser,User Sessions,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3097,3097,menu.fault.history,Historical Alarms,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3098,3098,menu.fault.set,Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3099,3099,menu.perf,Performance,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3100,3100,menu.fault.activemRemark,Active Alarm Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3101,3101,menu.logRemark,Log Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3102,3102,menu.log.operatOldRemark,Operation log old layui menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3103,3103,menu.log.mmlRemark,Operation MML Log,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3104,3104,menu.log.alarmRemark,Alarm Log Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3105,3105,menu.log.securityOldRemark,Security Log Old Layui Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3106,3106,menu.log.forwardingRemark,Alarm forward log menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3107,3107,menu.log.setRemark,Log Settings menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3108,3108,menu.monitor.sessionUserRemark,User Session Old Layui Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3109,3109,menu.fault.historyRemark,Alarm history menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3110,3110,menu.fault.setRemark,Fault General Setup Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3111,3111,menu.perfRemark,Performance Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3112,3112,menu.perf.task,Performance Tasks,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3113,3113,menu.perf.data,Performance Data,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3114,3114,menu.perf.report,Performance Reports,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3115,3115,menu.perf.threshold,Performance Thresholds,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3116,3116,menu.perf.kpi,Key Performance Indicators,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3117,3117,menu.perf.customTarget,Custom Metrics,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3118,3118,menu.perf.set,Performance General Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3119,3119,menu.mml,MML,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3120,3120,menu.mml.ne,NE Operation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3121,3121,menu.mml.udm,UDM Operation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3122,3122,menu.mml.set,MML Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3123,3123,menu.mml.omc,OMC Operation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3124,3124,menu.perf.taskRemark,Task Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3125,3125,menu.perf.dataRemark,Performance Data Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3126,3126,menu.perf.reportRemark,Performance Report Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3127,3127,menu.perf.thresholdRemark,Performance Threshold Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3128,3128,menu.perf.kpiRemark,Key Performance Indicator Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3129,3129,menu.perf.customTargetRemark,Custom Metrics Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3130,3130,menu.perf.setRemark,Performance General Settings Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3131,3131,menu.mmlRemark,MML Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3132,3132,menu.mml.neRemark,Network Element Operations Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3133,3133,menu.mml.udmRemark,Network Element UDM User Data Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3134,3134,menu.mml.setRemark,MML Setup Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3135,3135,menu.mml.omcRemark,OMC Operation Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3136,3136,menu.config.licenseManage,License Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3137,3137,menu.security,Security,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3138,3138,menu.system.systemSet,System Settings,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3139,3139,menu.system.systemResource,System Resources,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3140,3140,menu.config.configNEForm,Parameter Configuration Form,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3141,3141,menu.config.configNETree,Parameter Configuration Tree,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3142,3142,menu.config.configNETreeTable,Parameter Configuration,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3143,3143,menu.config.licenseManageRemark,License Management Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3144,3144,menu.securityRemark,Security Management Catalog,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3145,3145,menu.system.systemSetRemark,System Settings Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3146,3146,menu.system.systemResourceRemark,System Resources cpu io network menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3147,3147,menu.config.configNEFormRemark,Parameter Configuration Form Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3148,3148,menu.config.configNETreeRemark,Parameter Configuration Tree Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3149,3149,menu.config.configNETreeTableRemark,Configuring the TreeTable menu with parameters,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3150,3150,menu.noData,There is no accessible menu data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3151,3151,menu.errNameExists,"Failed to operate menu [{name}], menu name already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3152,3152,menu.errPathExists,"Failed to operate menu [{name}], menu routing address already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3153,3153,menu.errFramePath,"Failed to manipulate menu [{name}], non-internal address should start with http(s)://",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3154,3154,menu.errParentStatus,The parent menu is not enabled!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3155,3155,menu.errHasChildUse,"Operation menu [{name}] failed, number of submenus in use exists: {num}",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3156,3156,menu.errHasRoleUse,"Operation menu [{name}] failed, number of roles the menu has been assigned to: {num}",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3400,3400,dictData.sex.un,Not selected,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3401,3401,dictData.sex.male,Male,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3402,3402,dictData.sex.female,Female,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3403,3403,dictData.show,Show,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3404,3404,dictData.hide,Hide,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3405,3405,dictData.normal,Active,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3406,3406,dictData.disable,Inactive,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3407,3407,dictData.yes,Yes,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3408,3408,dictData.no,No,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3409,3409,dictData.success,Successful,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3410,3410,dictData.fail,Failed,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3411,3411,dictData.jobStatus.normal,Active,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3412,3412,dictData.jobStatus.pause,Inactive,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3413,3413,dictData.jobGroup.Default,Default,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3414,3414,dictData.jobGroup.System,System,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3415,3415,dictData.operType.other,Other,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3416,3416,dictData.operType.add,New,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3417,3417,dictData.operType.edit,Modify,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3418,3418,dictData.operType.delete,Delete,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3419,3419,dictData.operType.auth,Authorization,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3420,3420,dictData.operType.export,Export,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3421,3421,dictData.operType.import,Import,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3422,3422,dictData.operType.forced quit,Forced Retirement,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3423,3423,dictData.operType.clear,Clear,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3424,3424,dictData.trace.interface,Interface Tracing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3425,3425,dictData.trace.device,Device Tracing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3426,3426,dictData.trace.user,User Tracing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3427,3427,dictData.logType.download,Download,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3428,3428,dictData.logType.activation,Activation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3429,3429,dictData.logType.add,New,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3430,3430,dictData.logType.other,Other,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3431,3431,dictData.logType.back,Rollback,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3432,3432,dictData.logType.delete,Delete,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3433,3433,dictData.logType.distribute,Assign,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3434,3434,dictData.logType.export,Export,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3435,3435,dictData.logType.query,Query,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3436,3436,dictData.logType.setup,Setup,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3437,3437,dictData.logType.update,Update,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3438,3438,dictData.logType.upload,Upload,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3439,3439,dictData.logType.view,View,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3440,3440,dictData.logType.login,Login,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3441,3441,dictData.logType.logout,Logout,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3442,3442,dictData.securityLogType.add,New,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3443,3443,dictData.securityLogType.update,Update,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3444,3444,dictData.securityLogType.delete,Delete,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3445,3445,dictData.securityLogType.lock,Locked,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3446,3446,dictData.securityLogType.unlock,Unlock,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3447,3447,dictData.securityLogType.reset,Reset,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3448,3448,dictData.securityLogType.deactivate,Deactivate,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3449,3449,dictData.jobSaveLog.no,No Record,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3450,3450,dictData.jobSaveLog.yes,Recorded,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3451,3451,dictData.neVersionStatus.upload,Uploaded,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3452,3452,dictData.neVersionStatus.inactive,Inactivated,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3453,3453,dictData.neVersionStatus.active,Activated,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3454,3454,dictData.alarmStatus.history,Historical Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3455,3455,dictData.alarmStatus.active,Active Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3456,3456,dictData.export.code,Data Codes,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3457,3457,dictData.export.sort,Data Sorting,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3458,3458,dictData.export.label,Data Labeling,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3459,3459,dictData.export.value,Data Key,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3460,3460,dictData.export.type,Data Sorting,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3461,3461,dictData.export.status,Data Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3462,3462,dictData.datascope.all,All data permissions,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3463,3463,dictData.datascope.custom,Customized Data Rights,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3464,3464,dictData.datascope.dept,Departmental Data Permissions,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3465,3465,dictData.datascope.deptAndChid,Department and below,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3466,3466,dictData.datascope.self,Personal data access only,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3467,3467,dictData.noData,There is no accessible dictionary code data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3468,3468,dictData.errLabelExists,"Failed to manipulate data [{name}], tag name already exists under this dictionary type!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3500,3500,dictType.sys_user_sex,User Gender,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3501,3501,dictType.sys_show_hide,Menu Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3502,3502,dictType.sys_normal_disable,System switches,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3503,3503,dictType.sys_job_status,Task Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3504,3504,dictType.sys_job_group,Task Grouping,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3505,3505,dictType.sys_yes_no,System or not,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3506,3506,dictType.sys_oper_type,Operation Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3507,3507,dictType.sys_common_status,System Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3508,3508,dictType.trace_type,Trace Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3509,3509,dictType.operation_log_type,Operation Log Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3510,3510,dictType.alarm_status,Alarm Log Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3511,3511,dictType.security_log_type,Security Log Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3512,3512,dictType.ne_version_status,Network element software version status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3513,3513,dictType.i18n_en,Multi-language - English,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3514,3514,dictType.i18n_zh,Multi-language - Chinese,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3515,3515,dictType.sys_user_sex_remark,User gender list,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3516,3516,dictType.sys_show_hide_remark,Menu Status List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3517,3517,dictType.sys_normal_disable_remark,System switch list,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3518,3518,dictType.sys_job_status_remark,Task Status List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3519,3519,dictType.sys_job_group_remark,Task Grouping List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3520,3520,dictType.sys_yes_no_remark,System whether list,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3521,3521,dictType.sys_oper_type_remark,Operation type list,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3522,3522,dictType.sys_common_status_remark,Login Status List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3523,3523,dictType.trace_type_remark,Trace Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3524,3524,dictType.operation_log_type_remark,Operation log type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3525,3525,dictType.alarm_status_remark,alarm_status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3526,3526,dictType.security_log_type_remark,Security Log Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3527,3527,dictType.ne_version_status_remark,Network element software version status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3528,3528,dictType.i18n_en_remark,Internationalization - English,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3529,3529,dictType.i18n_zh_remark,Internationalization - Chinese,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3530,3530,dictType.export.id,Dictionary Code,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3531,3531,dictType.export.name,Dictionary Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3532,3532,dictType.export.type,Dictionary Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3533,3533,dictType.export.status,Dictionary Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3534,3534,dictType.sys_role_datascope,System Role Data Range,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3535,3535,dictType.sys_role_datascope_remark,System Role Data Range Mapping,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3536,3536,dictType.noData,There is no accessible dictionary type data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3537,3537,dictType.errNameExists,"Failed to manipulate dictionary [{name}], dictionary name already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3538,3538,dictType.errTypeExists,"Failed to manipulate dictionary [{name}], dictionary type already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3600,3600,dept.root,System Maintenance Department,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3601,3601,dept.root.item1,Operation and Maintenance Department One,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3602,3602,dept.noData,There is no accessible department data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3603,3603,dept.errParentDelFlag,The parent department [{name}] has been deleted and is not allowed to be added.,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3604,3604,dept.errParentStatus,"Parent department [{name}] is deactivated, additions are not allowed!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3605,3605,dept.errNameExists,"Manipulate department [{name}] failed, department name already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3606,3606,dept.errParentID,"Failed to operate department [{name}], the parent department cannot be itself.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3607,3607,dept.errHasChildUse,"Operation failed, the department contains undeactivated sub-departments number: {num}",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3608,3608,dept.errHasUserUse,"Deletion is not allowed, number of users the department has been assigned to: {num}",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3630,3630,config.sys.user.initPassword,User Management-Account Initial Password,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3631,3631,config.sys.account.captchaEnabled,Account self-help-Certification code switch,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3632,3632,config.sys.account.registerUser,Account self-service-Whether to enable the user registration function,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3633,3633,config.sys.user.maxRetryCount,User Management-Maximum number of password errors,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3634,3634,config.sys.user.lockTime,User Management-Password Lock Time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3635,3635,config.monitor.sysResource.storeDays,Monitor-System Resources-Data retention time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3636,3636,config.sys.logo.type,System Settings-Logo Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3637,3637,config.sys.logo.filePathIcon,System Settings-Logo File icon,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3638,3638,config.sys.logo.filePathBrand,System Settings-Logo File Brand,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3639,3639,config.sys.loginBackground,System Settings-Login Interface Background,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3640,3640,config.sys.title,System Settings-System Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3641,3641,config.sys.copyright,System Settings-Copyright Notice,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3642,3642,config.sys.user.initPasswordRemark,Import user initialization password 123456,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3643,3643,config.sys.account.captchaEnabledRemark,"Whether to enable the verification code function (true on, false off)",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3644,3644,config.sys.account.registerUserRemark,"Whether to enable the function of registered users (true on, false off)",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3645,3645,config.sys.user.maxRetryCountRemark,Maximum number of password errors,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3646,3646,config.sys.user.lockTimeRemark,Password lock time in minutes (default 10 minutes),i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3647,3647,config.monitor.sysResource.storeDaysRemark,"Monitor-System Resources-Data retention time, in days. According to the current date, delete the date data information that exceeds the retention time.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3648,3648,config.sys.logo.typeRemark,"Full image: brand
|
||||||
|
Small image: icon",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3649,3649,config.sys.logo.filePathIconRemark,File support for web address images and file paths for internal uploads,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3650,3650,config.sys.logo.filePathBrandRemark,File support for web address images and paths to internally uploaded files,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3651,3651,config.sys.loginBackgroundRemark,The file supports web address images and internal upload file paths with a # in the default background,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3652,3652,config.sys.titleRemark,System name length limit of 11-digit string,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3653,3653,config.sys.copyrightRemark,Footer fixing strip with copyright notice on the left side,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3654,3654,config..export.id,Parameter Code,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3655,3655,config..export.name,Parameter Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3656,3656,config..export.key,Parameter key name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3657,3657,config..export.value,Parameter Key Value,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3658,3658,config..export.type,System builtin,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3659,3659,config..export.remark,Parameter Description,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3660,3660,config.sys.titleValue,AGrandEMS,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3661,3661,config.sys.copyrightValue,"Copyright ©2023 AGrandTech",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3662,3662,config.noData,No parameter configuration data is accessible!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3663,3663,config.errKey,Invalid key,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3664,3664,config.errValueEq,Change state is equal to the old value!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3665,3665,config.errKeyExists,"Failed to manipulate parameter configuration [{name}], parameter key name already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3666,3666,config.errDelete,Deletion of parameter configuration information failed!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3667,3667,config.errType,The operation contains built-in parameters and deletion is prohibited!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3700,3700,job.monitor_sys_resource,Monitor-System Resources,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3701,3701,job.monitor_sys_resource_remark,"System Resource CPU/IO/Netword Collection
|
||||||
|
interval unit minutes, average minute resource situation
|
||||||
|
Note: Please pass the value of the parameter interva according to the time unit minutes of the cron expression",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3702,3702,job.delExpiredNeBackup,Delete expired NE etc backup file,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3703,3703,job.delExpiredNeBackupRemark,"Delete expired network element etc backup file, pass in the parameter to keep the backup file for {duration} days, default is 60 days.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3704,3704,job.deleteExpiredAlarmRecord,Delete expired historical alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3705,3705,job.deleteExpiredAlarmRecordRemark,"Delete expired history alarm records, pass in the parameter to keep the history alarm records for {duration} days.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3706,3706,job.deleteExpiredKpiRecord,Delete expired KPI records,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3707,3707,job.deleteExpiredKpiRecordRemark,KPI record retention for {duration} days,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3708,3708,job.backupEtcFromNE,Network Element Configuration Auto Backup Task,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3709,3709,job.backupEtcFromNERemark,Automatically backs up the configuration files in the network element's etc directory.,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3710,3710,job.export.jobID,Task Code,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3711,3711,job.export.jobName,Task name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3712,3712,job.export.jobGroupName,Task Group Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3713,3713,job.export.invokeTarget,Call target,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3714,3714,job.export.targetParams,Incoming Parameters,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3715,3715,job.export.cronExpression,cron expressions,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3716,3716,job.export.status,Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3717,3717,job.export.remark,Remarks Description,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3718,3718,job.export.jobLogID,Task log number,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3719,3719,job.export.jobLogStatus,Task log status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3720,3720,job.export.jobLogTime,Task log time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3721,3721,job.noData,There is no accessible scheduling task data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3722,3722,job.errTargetParams,Failed to operate scheduling task [{name}] with incorrect task incoming parameter json string!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3723,3723,job.errCronExpression,Scheduled task [{name}] failed with incorrect Cron expression!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3724,3724,job.errJobExists,"Failed to add a new task [{name}] to a scheduling task, same task name in the same task group",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3725,3725,job.statusEq,The change state is equal to the old value!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3750,3750,role.admin,Super Administrator,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3751,3751,role.adminAssign,Managers,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3752,3752,role.operator,Operators,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3753,3753,role.monitor,Monitor,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3754,3754,role.vistor,General Users,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3755,3755,role.adminRemark,"Super Administrator, cannot modify or delete",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3756,3756,role.adminAssignRemark,Administrators can perform any operation on the device,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3757,3757,role.operatorRemark,"Operation and maintenance personnel can read data from the device and configure the device, but cannot perform software upgrade operations on the device.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3758,3758,role.monitorRemark,"Monitoring personnel Can only read data from the device, but cannot make any settings on the device",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3759,3759,role.vistorRemark,Ordinary users can only see system-related information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3760,3760,role.export.id,Role ID,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3761,3761,role.export.name,Role Name ,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3762,3762,role.export.key,Role Key,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3763,3763,role.export.sort,Role Order,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3764,3764,role.export.dataScope,Role Data Range,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3765,3765,role.export.status,Role Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3766,3766,role.noData,There is no accessible role data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3767,3767,role.statusEq,The change status is equal to the old value!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3768,3768,role.errNameExists,"Manipulating role [{name}] failed, role name already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3769,3769,role.errKeyExists,"Failed to manipulate role [{name}], role key already exists!",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3800,3800,post.admin,Systems,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3801,3801,post.operator,Management,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3802,3802,post.monitor,Operation & Maintenance,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3803,3803,post.visitor,Monitoring,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3804,3804,post.export.id,Post ID ,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3805,3805,post.export.code,Position Code,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3806,3806,post.export.name,Position Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3807,3807,post.export.sort,Position Sort,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3808,3808,post.export.status,Position Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3809,3809,post.noData,There is no accessible post data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3810,3810,post.errNameExists,"Failed to manipulate post [{name}], post name already exists already exists",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3811,3811,post.errCodeExists,"Failed to manipulate role [{name}], role key already exists.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3830,3830,user.export.id,User ID,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3831,3831,user.export.name,Login Account,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3832,3832,user.export.nick,Nickname,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3833,3833,user.export.email,E-Mail,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3834,3834,user.export.phone,Cell phone number,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3835,3835,user.export.sex,Gender,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3836,3836,user.export.status,User Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3837,3837,user.export.deptID,Department number,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3838,3838,user.export.deptName,Department Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3839,3839,user.export.deptLeader,Department Head,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3840,3840,user.export.loginIP,User Login IP,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3841,3841,user.export.loginDate,User Login Time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3842,3842,user.noData,No accessible user data!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3843,3843,user.statusEq,The change status is equal to the old value!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3844,3844,user.errPasswdOld,"Change password failed, old password is wrong",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3845,3845,user.errPasswdEqOld,New password cannot be the same as the old one,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3846,3846,user.errPasswd,"Login password contains at least upper and lower case letters, numbers, special symbols, and not less than 6 digits.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3847,3847,user.errEmailFormat,"Failed to operate user [{name}], mailbox format error",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3848,3848,user.errEmailExists,"Failed to operate user [{name}], mailbox already exists.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3849,3849,user.errPhoneFormat,"Failed to operate user [{name}], cell phone number format is wrong.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3850,3850,user.errPhoneExists,"Failed to operate user [{name}], cell phone number already exists.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3851,3851,user.errNameExists,"Failed to operate user [{name}], login account already exists.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3852,3852,user.import.mustItem,"Required list item in form, {text}",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3853,3853,user.import.phoneExist,User ID: {id} cell phone number {phone} Existing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3854,3854,user.import.phoneFormat,User ID: {id} cell phone number {phone} Wrong format,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3855,3855,user.import.emailExist,User ID: {id} User Email: {email} Existing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3856,3856,user.import.emailFormat,User ID: {id} Email: {email} Wrong Format,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3857,3857,user.import.success,User ID:{id} Login name:{name} Imported successfully!,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3858,3858,user.import.fail,User ID: {id} Login name: {name} Import failed,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3859,3859,user.import.successUpdate,User ID: {id} Login name: {name} Update success,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3860,3860,user.import.failUpdate,User ID: {id} Login Name: {name} Update Failed,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3861,3861,user.import.failTip,"Sorry, the import failed! A total of {num} entries were not formatted correctly, the error is below:",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3862,3862,user.import.successTip,"Congratulations, the data has been imported successfully! There are {num} entries with the following data:",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3900,3900,app.common.err403,Unauthorized access {method} {requestURI},i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3901,3901,app.common.err401,Invalid authorization,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3902,3902,app.common.err400,Parameter error,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3903,3903,app.common.exportEmpty,Export data record is empty,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3904,3904,app.common.errOperateAdmin,Built-in users are not allowed to operate,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3905,3905,app.common.errOperateRole,Built-in roles are not allowed to be operated,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3906,3906,app.common.deleteSuccess,Deleted successfully: {num},i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3907,3907,app.common.loginSuccess,Login Success,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3908,3908,app.common.logoutSuccess,Logout Successful,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3909,3909,app.common.errUnlock,The user is not locked,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3910,3910,app.common.noLoginUser,Invalid login user information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3911,3911,app.common.rateLimitTip,"Access too often, please try again later",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3912,3912,log.operate.export.id,Operation Number,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3913,3913,log.operate.export.title,Module Name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3914,3914,log.operate.export.businessType,Operation Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3915,3915,log.operate.export.method,Operation Method,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3916,3916,log.operate.export.requestMethod,Request Method ,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3917,3917,log.operate.export.operatorType,Operation Type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3918,3918,log.operate.export.operName,Operator,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3919,3919,log.operate.export.deptName,Operator's department name,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3920,3920,log.operate.export.url,Request Link Address,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3921,3921,log.operate.export.ip,Requesting Host ,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3922,3922,log.operate.export.location,Request Address,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3923,3923,log.operate.export.param,Request Parameters,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3924,3924,log.operate.export.msg,Operation Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3925,3925,log.operate.export.status,Operation status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3926,3926,log.operate.export.costTime,Consumption time (ms),i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3927,3927,log.operate.export.operTime,Operation time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3928,3928,log.login.export.id,Record number,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3929,3929,log.login.export.userName,Login Account,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3930,3930,log.login.export.status,Login Status,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3931,3931,log.login.export.ip,Login Address,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3932,3932,log.login.export.location,Login Location,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3933,3933,log.login.export.browser,Browser,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3934,3934,log.login.export.os,Operating System,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3935,3935,log.login.export.msg,Login Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3936,3936,log.login.export.time,Login Time,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3937,3937,trace.tcpdump.noData,Can't find {type} {id} information of the corresponding network element.,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3938,3938,register.errUsername,"The account number cannot start with a number, but can contain upper and lower case letters, numbers, and not less than 5 digits.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3939,3939,register.errPasswd,"The password must contain at least 6 upper and lower case letters, numbers, and special symbols.",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3940,3940,register.errPasswdNotEq,User confirms password inconsistency,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3941,3941,register.success,Successful registration,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3942,3942,register.successMsg,{name} Register Successful {id},i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3943,3943,log.operate.title.sysJobLog,Scheduling Task Logs,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3944,3944,log.operate.title.sysJob,Scheduling Tasks,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3945,3945,log.operate.title.tcpdump,Signaling Capture,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3946,3946,log.operate.title.sysConfig,Parameter Configuration,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3947,3947,log.operate.title.sysDept,Sector,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3948,3948,log.operate.title.sysDictData,Dictionary Data,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3949,3949,log.operate.title.sysDictType,Dictionary type,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3950,3950,log.operate.title.sysMenu,Menu,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3951,3951,log.operate.title.sysPost,Positions,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3952,3952,log.operate.title.sysProfile,Personal Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3953,3953,log.operate.title.sysProfileAvatar,Personal avatar,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3954,3954,log.operate.title.sysRole,Roles,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3955,3955,log.operate.title.sysUser,User,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3956,3956,log.operate.title.sysLogOper,Operation Logging,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3957,3957,log.operate.title.sysLogLogin,Operation Logging,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3958,3958,login.errNameOrPasswd,User does not exist or password is wrong,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3959,3959,login.errDelFlag,"Sorry, your account has been deleted",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3960,3960,login.errStatus,"Sorry, your account has been disabled",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3961,3961,login.errRetryPasswd,"Password was entered incorrectly several times, account has been locked",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3962,3962,captcha.err,Captcha error,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3963,3963,captcha.errValid,Captcha is invalid,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3964,3964,app.common.noUaOsBrowser,Unknown Unknown,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3965,3965,app.common.noIPregion,Intranet,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3966,3966,app.common.unknown,Unknown,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3967,3967,app.common.noNEInfo,No matching network element information found,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3968,3968,ne.udm.errImportUserAuthFileFormat,"Please upload a file in the format of. csv or. txt. English comma separated txt format: imsi, ki, algo, amf, opc",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3969,3969,ne.udm.errExportType,Export file types support CSV and txt,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3970,3970,ne.udm.errImportUserSubFileFormat,"Please upload files in .csv or .txt format. English comma-separated txt format: imsi, msisdn, ambr, nssai, arfb, sar, rat, cn, smf_sel, sm_dat, eps_dat",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3971,3971,log.operate.title.udmAuth,UDM Authentication User,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3972,3972,log.operate.title.udmSub,UDM Subscribers,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3973,3973,dictType.active_alarm_type,Event Alarm Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3974,3974,dictType.active_alarm_type_remark,List of Active Alarm Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3975,3975,dictData.active_alarm_type.communication,Communication Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3976,3976,dictData.active_alarm_type.equipment,Equipment Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3977,3977,dictData.active_alarm_type.processing,Processing Failure Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3978,3978,dictData.active_alarm_type.environmental,Environmental Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3979,3979,dictData.active_alarm_type.qualityOfService,Quality of Service Alarm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3980,3980,dictType.active_clear_type,Alarm Clearing Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3981,3981,dictType.active_clear_type_remark,List of Alarm Clearing Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3982,3982,dictData.active_clear_type.notCleared,Alarm not cleared,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3983,3983,dictData.active_clear_type.hand,Manually cleared,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3984,3984,dictData.active_clear_type.auto,Automatically cleared,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3985,3985,dictType.active_ack_state,Alarm Acknowledgement Types,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3986,3986,dictType.active_ack_state_remark,Alarm Acknowledgement Type List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3987,3987,dictData.active_ack_state.unconfirmed,Not Confirm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3988,3988,dictData.active_ack_state.confirmed,Confirm,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3989,3989,dictType.active_alarm_severity,Severity,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3990,3990,dictType.active_alarm_severity_remark,Severity List,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3991,3991,dictData.active_alarm_severity.critical,Critical,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3992,3992,dictData.active_alarm_severity.major,Major,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3993,3993,dictData.active_alarm_severity.minor,Minor,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3994,3994,dictData.active_alarm_severity.warning,Warning,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3995,3995,dictData.active_alarm_severity.event,Event,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3996,3996,config.sys.officialUrl,System Settings - Official Website Links,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3997,3997,config.sys.helpDoc,System Settings-System Documentation,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3998,3998,config.sys.officialUrlRemark,Default no address with # sign,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
3999,3999,config.sys.helpDocRemark,"Static file directory address, use {language} to distinguish language files",i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4000,4000,log.operate.title.neAction,Network Element Processing,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4001,4001,log.operate.title.helpDoc,System Usage Documentation,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4002,4002,menu.ueUser.n3iwf,N3IWF Online User,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4003,4003,menu.ueUser.pcf,User PCC Information,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4004,4004,menu.system.user.editRole,Modifying user roles,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4005,4005,config.sys.i18nOpen,Internationalization Switching,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4006,4006,config.sys.i18nDefault,Internationalization Default Language,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4007,4007,user.export.role,UserRole,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4008,4008,menu.system.setting.i18n,Internationalization Switch,i18n_en,,,1,supervisor,1.7E+12,,0,
|
||||||
|
4009,4009,menu.system.setting.i18nRemark,Internationalized multilingual switching options,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4010,4010,dictType.index_status,Home Status,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4011,4011,dictType.index_status_remark,Network element status colors on the home page,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4012,4012,dictType.index_status.normal,Normal,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4013,4013,dictType.index_status.abnormal,Abnormal,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4014,4014,menu.log.neFile,NE Log File,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4015,4015,job.deleteExpiredNeStateRecord,Delete Expired NE State Record,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4016,4016,job.deleteExpiredNeStateRecordRemark,Delete expired NE state records regularly and keep them for {duration} days by default.,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4017,4017,job.getStateFromNE,Get state from NEs,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4018,4018,job.getStateFromNERemark,Get state information from all NEs,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4019,4019,job.genNeStateAlarm,Network Element Health Check,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4020,4020,job.genNeStateAlarmRemark,"Health status inspection of network elements, generating alarms in case of abnormalities.",i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4021,4021,menu.neUser.nssf,NSSF Subscription Info,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4022,4022,menu.neUser.nssfAmf,NSSF Available AMFs,i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
4023,4023,menu.monitor.topology,"NE Management Topology",i18n_en,,,1,supervisor,1700000000000,,0,
|
||||||
|
531
config/locales/sys_dict_data_zh.csv
Normal file
531
config/locales/sys_dict_data_zh.csv
Normal file
@@ -0,0 +1,531 @@
|
|||||||
|
dict_code,dict_sort,dict_label,dict_value,dict_type,tag_class,tag_type,status,create_by,create_time,update_by,update_time,remark
|
||||||
|
1000,1000,i18n,中文,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1001,1001,hello,你好,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1002,1002,menu.system,系统,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1003,1003,menu.monitor,监控,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1004,1004,menu.tools,工具,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1005,1005,menu.config,配置,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
1006,1006,menu.ueUser,终端,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1007,1007,menu.systemRemark,系统管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1008,1008,menu.monitorRemark,系统监控目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1009,1009,menu.toolsRemark,系统工具目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1010,1010,menu.configRemark,OMC配置管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1011,1011,menu.ueUserRemark,网元终端信息目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1012,1012,menu.security.user,用户管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1013,1013,menu.security.role,角色管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1014,1014,menu.security.roleUser,分配角色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1015,1015,menu.system.menu,菜单管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1016,1016,menu.security.dept,部门管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1017,1017,menu.security.post,岗位管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1018,1018,menu.system.dictType,字典管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1019,1019,menu.system.dictData,字典数据,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1020,1020,menu.system.paramSet,参数设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1021,1021,menu.system.systemLog,系统日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1022,1022,menu.system.systemInfo,系统信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1023,1023,menu.system.cacheInfo,缓存信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1024,1024,menu.system.cache,缓存管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1025,1025,menu.security.onlineUser,在线用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1026,1026,menu.system.job,调度任务,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1027,1027,menu.system.jobLog,调度日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1028,1028,menu.tools.help,帮助文档,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1029,1029,menu.log.operat,操作日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1030,1030,menu.log.login,安全日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1031,1031,menu.security.userRemark,用户管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1032,1032,menu.security.roleRemark,角色管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1033,1033,menu.security.roleUserRemark,分配角色内嵌隐藏菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1034,1034,menu.system.menuRemark,菜单管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1035,1035,menu.security.deptRemark,部门管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1036,1036,menu.security.postRemark,岗位管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1037,1037,menu.system.dictTypeRemark,字典管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1038,1038,menu.system.dictDataRemark,字典数据内嵌隐藏菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1039,1039,menu.system.paramSetRemark,参数设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1040,1040,menu.system.systemLogRemark,系统日志目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1041,1041,menu.system.systemInfoRemark,系统信息菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1042,1042,menu.system.cacheInfoRemark,缓存信息菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1043,1043,menu.system.cacheRemark,缓存列表菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1044,1044,menu.security.onlineUserRemark,在线用户菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1045,1045,menu.system.jobRemark,调度任务菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1046,1046,menu.system.jobLogRemark,调度日志内嵌隐藏菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1047,1047,menu.tools.helpRemark,帮助文档菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1048,1048,menu.log.operatRemark,操作日志菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1049,1049,menu.log.loginRemark,登录日志菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1050,1050,menu.common.query,查询,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1051,1051,menu.common.add,新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1052,1052,menu.common.edit,修改,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1053,1053,menu.common.delete,删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1054,1054,menu.common.export,导出,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1055,1055,menu.common.import,导入,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1056,1056,menu.common.reset,重置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1057,1057,menu.common.unlock,账户解锁,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1058,1058,menu.forcedQuit.batch ,批量强退,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1059,1059,menu.forcedQuit.single,单条强退,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1060,1060,menu.ueUser.authUDM,UDM鉴权用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1061,1061,menu.ueUser.subUDM,UDM签约用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1062,1062,menu.ueUser.authUDMRemark,UDM鉴权用户菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1063,1063,menu.ueUser.subUDMRemark,UDM签约用户菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1064,1064,menu.config.neManage,网元管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1065,1065,menu.config.configNE,参数配置Original,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1066,1066,menu.config.neManageRemark,网元管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1067,1067,menu.config.configNERemark,参数配置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1068,1068,menu.config.backupManage,备份管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1069,1069,menu.config.softwareManage,软件管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1070,1070,menu.ueUser.onlineIMS,IMS在线用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1071,1071,menu.ueUser.onlineUE,UE在线信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1072,1072,menu.ueUser.base5G,5G基站信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1073,1073,menu.trace,跟踪,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1074,1074,menu.trace.task,跟踪任务,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1075,1075,menu.trace.analysis,信令分析,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1076,1076,menu.trace.pcap,信令抓包,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1077,1077,menu.fault,监控,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1078,1078,menu.config.backupManageRemark,备份管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1079,1079,menu.config.softwareManageRemark,软件管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1080,1080,menu.ueUser.onlineIMSRemark,IMS在线用户菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1081,1081,menu.ueUser.onlineUERemark,UE在线信息菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1082,1082,menu.ueUser.base5GRemark,5G基站信息菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1083,1083,menu.traceRemark,跟踪管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1084,1084,menu.trace.taskRemark,跟踪任务菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1085,1085,menu.trace.analysisRemark,信令分析菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1086,1086,menu.trace.pcapRemark,信令抓包菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1087,1087,menu.faultRemark,故障管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1088,1088,menu.fault.active,活动告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1089,1089,menu.log,日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1090,1090,menu.log.operatOld,操作日志(旧),i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1091,1091,menu.log.mml,MML日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1092,1092,menu.log.alarm,告警日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1093,1093,menu.log.securityOld,安全日志(旧),i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1094,1094,menu.log.forwarding,告警前转日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1095,1095,menu.log.set,日志设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1096,1096,menu.monitor.sessionUser,用户会话,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1097,1097,menu.fault.history,历史告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1098,1098,menu.fault.set,设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1099,1099,menu.perf,性能,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1100,1100,menu.fault.activemRemark,活动告警菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1101,1101,menu.logRemark,日志管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1102,1102,menu.log.operatOldRemark,操作日志旧layui菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1103,1103,menu.log.mmlRemark,操作MML日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1104,1104,menu.log.alarmRemark,告警日志菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1105,1105,menu.log.securityOldRemark,安全日志旧layui菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1106,1106,menu.log.forwardingRemark,告警前转日志菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1107,1107,menu.log.setRemark,日志设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1108,1108,menu.monitor.sessionUserRemark,用户会话旧layui菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1109,1109,menu.fault.historyRemark,历史告警菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1110,1110,menu.fault.setRemark,故障通用设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1111,1111,menu.perfRemark,性能目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1112,1112,menu.perf.task,任务管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1113,1113,menu.perf.data,性能数据,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1114,1114,menu.perf.report,性能报表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1115,1115,menu.perf.threshold,性能门限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1116,1116,menu.perf.kpi,黄金指标,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1117,1117,menu.perf.customTarget,自定义指标,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1118,1118,menu.perf.set,性能通用设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1119,1119,menu.mml,MML,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1120,1120,menu.mml.ne,网元操作,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1121,1121,menu.mml.udm,UDM操作,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1122,1122,menu.mml.set,MML设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1123,1123,menu.mml.omc,OMC操作,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1124,1124,menu.perf.taskRemark,任务管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1125,1125,menu.perf.dataRemark,性能数据菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1126,1126,menu.perf.reportRemark,性能报表菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1127,1127,menu.perf.thresholdRemark,性能门限菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1128,1128,menu.perf.kpiRemark,黄金指标菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1129,1129,menu.perf.customTargetRemark,自定义指标菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1130,1130,menu.perf.setRemark,性能通用设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1131,1131,menu.mmlRemark,MML管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1132,1132,menu.mml.neRemark,网元操作菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1133,1133,menu.mml.udmRemark,网元UDM用户数据菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1134,1134,menu.mml.setRemark,MML设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1135,1135,menu.mml.omcRemark,OMC操作菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1136,1136,menu.config.licenseManage,许可证管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1137,1137,menu.security,安全,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1138,1138,menu.system.systemSet,系统设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1139,1139,menu.system.systemResource,系统资源,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1140,1140,menu.config.configNEForm,参数配置Form,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1141,1141,menu.config.configNETree,参数配置Tree,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1142,1142,menu.config.configNETreeTable,参数配置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1143,1143,menu.config.licenseManageRemark,许可证管理菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1144,1144,menu.securityRemark,安全管理目录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1145,1145,menu.system.systemSetRemark,系统设置菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1146,1146,menu.system.systemResourceRemark,系统资源 cpu io network菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1147,1147,menu.config.configNEFormRemark,参数配置Form菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1148,1148,menu.config.configNETreeRemark,参数配置Tree菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1149,1149,menu.config.configNETreeTableRemark,参数配置TreeTable菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1150,1150,menu.noData,没有可访问菜单数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1151,1151,menu.errNameExists,操作菜单【{name}】失败,菜单名称已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1152,1152,menu.errPathExists,操作菜单【{name}】失败,菜单路由地址已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1153,1153,menu.errFramePath,操作菜单【{name}】失败,非内部地址请以http(s)://开头,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1154,1154,menu.errParentStatus,上级菜单未启用!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1155,1155,menu.errHasChildUse,操作菜单【{name}】失败,存在使用子菜单数:{num},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1156,1156,menu.errHasRoleUse,操作菜单【{name}】失败,菜单已分配给角色数:{num},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1400,1400,dictData.sex.un,未选择,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1401,1401,dictData.sex.male,男,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1402,1402,dictData.sex.female,女,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1403,1403,dictData.show,显示,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1404,1404,dictData.hide,隐藏,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1405,1405,dictData.normal,正常,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1406,1406,dictData.disable,停用,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1407,1407,dictData.yes,是,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1408,1408,dictData.no,否,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1409,1409,dictData.success,成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1410,1410,dictData.fail,失败,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1411,1411,dictData.jobStatus.normal,正常,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1412,1412,dictData.jobStatus.pause,暂停,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1413,1413,dictData.jobGroup.Default,默认,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1414,1414,dictData.jobGroup.System,系统,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1415,1415,dictData.operType.other,其他,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1416,1416,dictData.operType.add,新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1417,1417,dictData.operType.edit,修改,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1418,1418,dictData.operType.delete,删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1419,1419,dictData.operType.auth,授权,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1420,1420,dictData.operType.export,导出,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1421,1421,dictData.operType.import,导入,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1422,1422,dictData.operType.forced quit,强退,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1423,1423,dictData.operType.clear,清空,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1424,1424,dictData.trace.interface,接口跟踪,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1425,1425,dictData.trace.device,设备跟踪,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1426,1426,dictData.trace.user,用户跟踪,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1427,1427,dictData.logType.download,下载,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1428,1428,dictData.logType.activation,激活,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1429,1429,dictData.logType.add,新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1430,1430,dictData.logType.other,其他,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1431,1431,dictData.logType.back,回退,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1432,1432,dictData.logType.delete,删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1433,1433,dictData.logType.distribute,分配,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1434,1434,dictData.logType.export,导出,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1435,1435,dictData.logType.query,查询,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1436,1436,dictData.logType.setup,设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1437,1437,dictData.logType.update,更新,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1438,1438,dictData.logType.upload,上传,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1439,1439,dictData.logType.view,查看,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1440,1440,dictData.logType.login,登录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1441,1441,dictData.logType.logout,登出,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1442,1442,dictData.securityLogType.add,新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1443,1443,dictData.securityLogType.update,更新,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1444,1444,dictData.securityLogType.delete,删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1445,1445,dictData.securityLogType.lock,锁定,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1446,1446,dictData.securityLogType.unlock,解锁,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1447,1447,dictData.securityLogType.reset,重置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1448,1448,dictData.securityLogType.deactivate,停用,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1449,1449,dictData.jobSaveLog.no,不记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1450,1450,dictData.jobSaveLog.yes,记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1451,1451,dictData.neVersionStatus.upload,已上传,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1452,1452,dictData.neVersionStatus.inactive,未激活,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1453,1453,dictData.neVersionStatus.active,已激活,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1454,1454,dictData.alarmStatus.history,历史告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1455,1455,dictData.alarmStatus.active,活动告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1456,1456,dictData.export.code,数据代码,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1457,1457,dictData.export.sort,数据排序,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1458,1458,dictData.export.label,数据标签,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1459,1459,dictData.export.value,数据键值,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1460,1460,dictData.export.type,数据排序,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1461,1461,dictData.export.status,数据状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1462,1462,dictData.datascope.all,全部数据权限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1463,1463,dictData.datascope.custom,自定数据权限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1464,1464,dictData.datascope.dept,部门数据权限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1465,1465,dictData.datascope.deptAndChid,部门及以下数据权限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1466,1466,dictData.datascope.self,仅本人数据权限,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1467,1467,dictData.noData,没有可访问字典编码数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1468,1468,dictData.errLabelExists,操作数据【{name}】失败,该字典类型下标签名已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1500,1500,dictType.sys_user_sex,用户性别,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1501,1501,dictType.sys_show_hide,菜单状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1502,1502,dictType.sys_normal_disable,系统开关,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1503,1503,dictType.sys_job_status,任务状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1504,1504,dictType.sys_job_group,任务分组,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1505,1505,dictType.sys_yes_no,系统是否,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1506,1506,dictType.sys_oper_type,操作类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1507,1507,dictType.sys_common_status,系统状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1508,1508,dictType.trace_type,跟踪类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1509,1509,dictType.operation_log_type,操作日志类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1510,1510,dictType.alarm_status,告警日志类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1511,1511,dictType.security_log_type,安全日志类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1512,1512,dictType.ne_version_status,网元软件版本状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1513,1513,dictType.i18n_en,多语言-英文,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1514,1514,dictType.i18n_zh,多语言-中文,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1515,1515,dictType.sys_user_sex_remark,用户性别列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1516,1516,dictType.sys_show_hide_remark,菜单状态列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1517,1517,dictType.sys_normal_disable_remark,系统开关列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1518,1518,dictType.sys_job_status_remark,任务状态列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1519,1519,dictType.sys_job_group_remark,任务分组列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1520,1520,dictType.sys_yes_no_remark,系统是否列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1521,1521,dictType.sys_oper_type_remark,操作类型列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1522,1522,dictType.sys_common_status_remark,登录状态列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1523,1523,dictType.trace_type_remark,跟踪类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1524,1524,dictType.operation_log_type_remark,操作日志类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1525,1525,dictType.alarm_status_remark,alarm_status,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1526,1526,dictType.security_log_type_remark,安全日志类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1527,1527,dictType.ne_version_status_remark,网元软件版本状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1528,1528,dictType.i18n_en_remark,Internationalization - English,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1529,1529,dictType.i18n_zh_remark,Internationalization - Chinese,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1530,1530,dictType.export.id,字典编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1531,1531,dictType.export.name,字典名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1532,1532,dictType.export.type,字典类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1533,1533,dictType.export.status,字典状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1534,1534,dictType.sys_role_datascope,系统角色数据范围,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1535,1535,dictType.sys_role_datascope_remark,系统角色数据范围映射,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1536,1536,dictType.noData,没有可访问字典类型数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1537,1537,dictType.errNameExists,操作字典【{name}】失败,字典名称已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1538,1538,dictType.errTypeExists,操作字典【{name}】失败,字典类型已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1600,1600,dept.root,系统维护部,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1601,1601,dept.root.item1,运维一部,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1602,1602,dept.noData,没有可访问部门数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1603,1603,dept.errParentDelFlag,上级部门【{name}】已删除,不允许新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1604,1604,dept.errParentStatus,上级部门【{name}】停用,不允许新增,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1605,1605,dept.errNameExists,操作部门【{name}】失败,部门名称已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1606,1606,dept.errParentID,操作部门【{name}】失败,上级部门不能是自己,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1607,1607,dept.errHasChildUse,操作失败,该部门包含未停用的子部门数量:{num},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1608,1608,dept.errHasUserUse,不允许删除,部门已分配给用户数:{num},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1630,1630,config.sys.user.initPassword,用户管理-账号初始密码,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1631,1631,config.sys.account.captchaEnabled,账号自助-验证码开关,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1632,1632,config.sys.account.registerUser,账号自助-是否开启用户注册功能,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1633,1633,config.sys.user.maxRetryCount,用户管理-密码最大错误次数,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1634,1634,config.sys.user.lockTime,用户管理-密码锁定时间,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1635,1635,config.monitor.sysResource.storeDays,监控-系统资源-数据保留时长,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1636,1636,config.sys.logo.type,系统设置-LOGO类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1637,1637,config.sys.logo.filePathIcon,系统设置-LOGO文件icon,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1638,1638,config.sys.logo.filePathBrand,系统设置-LOGO文件brand,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1639,1639,config.sys.loginBackground,系统设置-登录界面背景,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1640,1640,config.sys.title,系统设置-系统名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1641,1641,config.sys.copyright,系统设置-版权声明,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1642,1642,config.sys.user.initPasswordRemark,导入用户初始化密码 123456,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1643,1643,config.sys.account.captchaEnabledRemark,是否开启验证码功能(true开启,false关闭),i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1644,1644,config.sys.account.registerUserRemark,是否开启注册用户功能(true开启,false关闭),i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1645,1645,config.sys.user.maxRetryCountRemark,密码最大错误次数,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1646,1646,config.sys.user.lockTimeRemark,"密码锁定时间,单位分钟(默认10分钟)",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1647,1647,config.monitor.sysResource.storeDaysRemark,监控-系统资源-数据保留时长,单位天。根据当前日期,删除超过保留时长的日期数据信息。,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1648,1648,config.sys.logo.typeRemark,"全图:brand
|
||||||
|
小图:icon",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1649,1649,config.sys.logo.filePathIconRemark,文件支持网络地址图片和内部上传的文件路径,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1650,1650,config.sys.logo.filePathBrandRemark,文件支持网络地址图片和内部上传的文件路径,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1651,1651,config.sys.loginBackgroundRemark,文件支持网络地址图片和内部上传的文件路径,默认背景用#号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1652,1652,config.sys.titleRemark,系统名称长度限制11位字符串,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1653,1653,config.sys.copyrightRemark,底脚固定条,左侧放置版权声明,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1654,1654,config..export.id,参数编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1655,1655,config..export.name,参数名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1656,1656,config..export.key,参数键名,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1657,1657,config..export.value,参数键值,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1658,1658,config..export.type,系统内置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1659,1659,config..export.remark,参数说明,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1660,1660,config.sys.titleValue,AGrandEMS,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1661,1661,config.sys.copyrightValue,"Copyright ©2023 千通科技",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1662,1662,config.noData,"没有可访问参数配置数据!",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1663,1663,config.errKey,无效 key,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1664,1664,config.errValueEq,变更状态与旧值相等!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1665,1665,config.errKeyExists,操作参数配置【{name}】失败,参数键名已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1666,1666,config.errDelete,删除参数配置信息失败!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1667,1667,config.errType,操作含有内置参数,禁止删除!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1700,1700,job.monitor_sys_resource,监控-系统资源,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1701,1701,job.monitor_sys_resource_remark,"系统资源CPU/IO/Netword收集
|
||||||
|
interval单位分钟,平均分钟资源情况
|
||||||
|
注:请根据cron表达式的时间单位分钟,传入参数interva值",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1702,1702,job.delExpiredNeBackup,删除过期网元备份文件,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1703,1703,job.delExpiredNeBackupRemark,"删除过期网元etc备份文件, 传入参数表示保留{duration}天的备份文件, 默认60天",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1704,1704,job.deleteExpiredAlarmRecord,删除过期历史告警记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1705,1705,job.deleteExpiredAlarmRecordRemark,删除过期历史告警记录,传入参数表示保留{duration}天的历史告警记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1706,1706,job.deleteExpiredKpiRecord,删除过期黄金指标记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1707,1707,job.deleteExpiredKpiRecordRemark,黄金指标记录保留{duration}天,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1708,1708,job.backupEtcFromNE,网元配置自动备份任务,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1709,1709,job.backupEtcFromNERemark,自动备份网元etc目录下的配置文件,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1710,1710,job.export.jobID,任务编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1711,1711,job.export.jobName,任务名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1712,1712,job.export.jobGroupName,任务组名,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1713,1713,job.export.invokeTarget,调用目标,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1714,1714,job.export.targetParams,传入参数,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1715,1715,job.export.cronExpression,cron表达式,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1716,1716,job.export.status,状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1717,1717,job.export.remark,备注说明,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1718,1718,job.export.jobLogID,任务日志编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1719,1719,job.export.jobLogStatus,任务日志状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1720,1720,job.export.jobLogTime,任务日志时间,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1721,1721,job.noData,没有可访问调度任务数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1722,1722,job.errTargetParams,操作调度任务【{name}】失败,任务传入参数json字符串不正确,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1723,1723,job.errCronExpression,操作调度任务【{name}】失败,Cron表达式不正确,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1724,1724,job.errJobExists,调度任务新增【{name}】失败,同任务组内有相同任务名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1725,1725,job.statusEq,变更状态与旧值相等!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1750,1750,role.admin,超级管理员,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1751,1751,role.adminAssign,管理人员,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1752,1752,role.operator,运维人员,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1753,1753,role.monitor,监控人员,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1754,1754,role.vistor,普通用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1755,1755,role.adminRemark,超级管理员,无法修改删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1756,1756,role.adminAssignRemark,管理人员 可以对设备进行任何操作,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1757,1757,role.operatorRemark,运维人员 可以从设备读取数据,并对设备进行配置,但是不能对设备进行软件升级操作。,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1758,1758,role.monitorRemark,监控人员 只能从设备读取数据,而不能对设备进行任何设置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1759,1759,role.vistorRemark,普通用户 只可看系统相关信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1760,1760,role.export.id,角色编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1761,1761,role.export.name,角色名称 ,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1762,1762,role.export.key,角色键值,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1763,1763,role.export.sort,角色顺序,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1764,1764,role.export.dataScope,角色数据范围,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1765,1765,role.export.status,角色状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1766,1766,role.noData,没有可访问角色数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1767,1767,role.statusEq,变更状态与旧值相等!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1768,1768,role.errNameExists,操作角色【{name}】失败,角色名称已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1769,1769,role.errKeyExists,操作角色【{name}】失败,角色键值已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1800,1800,post.admin,系统,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1801,1801,post.operator,管理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1802,1802,post.monitor,运维,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1803,1803,post.visitor,监控,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1804,1804,post.export.id,岗位编号 ,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1805,1805,post.export.code,岗位编码,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1806,1806,post.export.name,岗位名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1807,1807,post.export.sort,岗位排序,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1808,1808,post.export.status,岗位状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1809,1809,post.noData,没有可访问岗位数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1810,1810,post.errNameExists,操作岗位【{name}】失败,岗位名称已存在已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1811,1811,post.errCodeExists,操作角色【{name}】失败,角色键值已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1830,1830,user.export.id,用户编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1831,1831,user.export.name,登录账号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1832,1832,user.export.nick,用户昵称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1833,1833,user.export.email,电子邮箱,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1834,1834,user.export.phone,手机号码,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1835,1835,user.export.sex,用户性别,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1836,1836,user.export.status,用户状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1837,1837,user.export.deptID,部门编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1838,1838,user.export.deptName,部门名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1839,1839,user.export.deptLeader,部门负责人,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1840,1840,user.export.loginIP,用户登录IP,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1841,1841,user.export.loginDate,用户登录时间,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1842,1842,user.noData,没有可访问用户数据!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1843,1843,user.statusEq,变更状态与旧值相等!,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1844,1844,user.errPasswdOld,修改密码失败,旧密码错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1845,1845,user.errPasswdEqOld,新密码不能与旧密码相同,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1846,1846,user.errPasswd,登录密码至少包含大小写字母、数字、特殊符号,且不少于6位,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1847,1847,user.errEmailFormat,操作用户【{name}】失败,邮箱格式错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1848,1848,user.errEmailExists,操作用户【{name}】失败,邮箱已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1849,1849,user.errPhoneFormat,操作用户【{name}】失败,手机号码格式错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1850,1850,user.errPhoneExists,操作用户【{name}】失败,手机号码已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1851,1851,user.errNameExists,操作用户【{name}】失败,登录账号已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1852,1852,user.import.mustItem,表格中必填列表项,{text},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1853,1853,user.import.phoneExist,用户编号:{id} 手机号码 {phone} 已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1854,1854,user.import.phoneFormat,用户编号:{id} 手机号码 {phone} 格式错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1855,1855,user.import.emailExist,用户编号:{id} 用户邮箱:{email} 已存在,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1856,1856,user.import.emailFormat,用户编号:{id} 用户邮箱:{email} 格式错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1857,1857,user.import.success,用户编号:{id} 登录名称:{name} 导入成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1858,1858,user.import.fail,用户编号:{id} 登录名称:{name} 导入失败,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1859,1859,user.import.successUpdate,用户编号:{id} 登录名称:{name} 更新成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1860,1860,user.import.failUpdate,用户编号:{id} 登录名称:{name} 更新失败,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1861,1861,user.import.failTip,很抱歉,导入失败!共 {num} 条数据格式不正确,错误如下:,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1862,1862,user.import.successTip,恭喜您,数据已全部导入成功!共 {num} 条,数据如下:,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1900,1900,app.common.err403,无权访问 {method} {requestURI},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1901,1901,app.common.err401,无效身份授权,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1902,1902,app.common.err400,参数错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1903,1903,app.common.exportEmpty,导出数据记录为空,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1904,1904,app.common.errOperateAdmin,不允许操作内置用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1905,1905,app.common.errOperateRole,不允许操作内置角色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1906,1906,app.common.deleteSuccess,删除成功:{num},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1907,1907,app.common.loginSuccess,登录成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1908,1908,app.common.logoutSuccess,注销成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1909,1909,app.common.errUnlock,该用户未被锁定,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1910,1910,app.common.noLoginUser,登录用户信息无效,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1911,1911,app.common.rateLimitTip,访问过于频繁,请稍候再试,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1912,1912,log.operate.export.id,操作编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1913,1913,log.operate.export.title,模块名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1914,1914,log.operate.export.businessType,业务类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1915,1915,log.operate.export.method,操作方法,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1916,1916,log.operate.export.requestMethod,请求方式 ,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1917,1917,log.operate.export.operatorType,操作类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1918,1918,log.operate.export.operName,操作人员,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1919,1919,log.operate.export.deptName,操作人员部门名称,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1920,1920,log.operate.export.url,请求链接地址,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1921,1921,log.operate.export.ip,请求主机 ,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1922,1922,log.operate.export.location,请求地址,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1923,1923,log.operate.export.param,请求参数,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1924,1924,log.operate.export.msg,操作信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1925,1925,log.operate.export.status,操作状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1926,1926,log.operate.export.costTime,消耗时间(毫秒),i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1927,1927,log.operate.export.operTime,操作时间,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1928,1928,log.login.export.id,记录编号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1929,1929,log.login.export.userName,登录账号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1930,1930,log.login.export.status,登录状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1931,1931,log.login.export.ip,登录地址,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1932,1932,log.login.export.location,登录地点,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1933,1933,log.login.export.browser,浏览器,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1934,1934,log.login.export.os,操作系统,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1935,1935,log.login.export.msg,登录信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1936,1936,log.login.export.time,登录时间,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1937,1937,trace.tcpdump.noData, 找不到 {type} {id} 对应网元信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1938,1938,register.errUsername,账号不能以数字开头,可包含大写小写字母,数字,且不少于5位,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1939,1939,register.errPasswd,登录密码至少包含大小写字母、数字、特殊符号,且不少于6位,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1940,1940,register.errPasswdNotEq,用户确认输入密码不一致,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1941,1941,register.success,注册成功,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1942,1942,register.successMsg,{name} 注册成功 {id},i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1943,1943,log.operate.title.sysJobLog,调度任务日志,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1944,1944,log.operate.title.sysJob,调度任务,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1945,1945,log.operate.title.tcpdump,信令抓包,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1946,1946,log.operate.title.sysConfig,参数配置,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1947,1947,log.operate.title.sysDept,部门,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1948,1948,log.operate.title.sysDictData,字典数据,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1949,1949,log.operate.title.sysDictType,字典类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1950,1950,log.operate.title.sysMenu,菜单,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1951,1951,log.operate.title.sysPost,岗位,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1952,1952,log.operate.title.sysProfile,个人信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1953,1953,log.operate.title.sysProfileAvatar,个人头像,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1954,1954,log.operate.title.sysRole,角色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1955,1955,log.operate.title.sysUser,用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1956,1956,log.operate.title.sysLogOper,操作日志记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1957,1957,log.operate.title.sysLogLogin,登录日志记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1958,1958,login.errNameOrPasswd,用户不存在或密码错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1959,1959,login.errDelFlag,对不起,您的账号已被删除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1960,1960,login.errStatus,对不起,您的帐户已被禁用,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1961,1961,login.errRetryPasswd,密码输入错误多次,帐户已被锁定,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1962,1962,captcha.err,验证码错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1963,1963,captcha.errValid,验证码已失效,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1964,1964,app.common.noUaOsBrowser,未知 未知,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1965,1965,app.common.noIPregion,内网,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1966,1966,app.common.unknown,未知,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1967,1967,app.common.noNEInfo,未找到匹配网元信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1968,1968,ne.udm.errImportUserAuthFileFormat,"请上传.csv或.txt的格式文件。英文逗号分割txt格式:imsi, ki, algo, amf, opc",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1969,1969,ne.udm.errExportType,导出文件类型支持CSV和txt,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1970,1970,ne.udm.errImportUserSubFileFormat,"请上传.csv或.txt的格式文件。英文逗号分割txt格式:imsi, msisdn, ambr, nssai, arfb, sar, rat, cn, smf_sel, sm_dat, eps_dat",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1971,1971,log.operate.title.udmAuth,UDM鉴权用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1972,1972,log.operate.title.udmSub,UDM签约用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1973,1973,dictType.active_alarm_type,活动告警类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1974,1974,dictType.active_alarm_type_remark,活动告警类型列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1975,1975,dictData.active_alarm_type.communication,通信告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1976,1976,dictData.active_alarm_type.equipment,设备告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1977,1977,dictData.active_alarm_type.processing,处理错误,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1978,1978,dictData.active_alarm_type.environmental,环境告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1979,1979,dictData.active_alarm_type.qualityOfService,服务质量,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1980,1980,dictType.active_clear_type,告警清除类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1981,1981,dictType.active_clear_type_remark,告警清除类型列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1982,1982,dictData.active_clear_type.notCleared,告警未清除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1983,1983,dictData.active_clear_type.hand,手动清除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1984,1984,dictData.active_clear_type.auto,自动清除,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1985,1985,dictType.active_ack_state,告警确认类型,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1986,1986,dictType.active_ack_state_remark,告警确认类型列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1987,1987,dictData.active_ack_state.unconfirmed,未确认,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1988,1988,dictData.active_ack_state.confirmed,已确认,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1989,1989,dictType.active_alarm_severity,严重程度,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1990,1990,dictType.active_alarm_severity_remark,严重程度列表,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1991,1991,dictData.active_alarm_severity.critical,严重告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1992,1992,dictData.active_alarm_severity.major,主要告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1993,1993,dictData.active_alarm_severity.minor,次要告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1994,1994,dictData.active_alarm_severity.warning,警告告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1995,1995,dictData.active_alarm_severity.event,事件告警,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1996,1996,config.sys.officialUrl,系统设置-官网链接,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1997,1997,config.sys.helpDoc,系统设置-系统使用文档,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1998,1998,config.sys.officialUrlRemark,默认无地址用#号,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
1999,1999,config.sys.helpDocRemark,静态文件目录地址,使用{language}区分语言文件,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2000,2000,log.operate.title.neAction,网元处理,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2001,2001,log.operate.title.helpDoc,系统使用文档,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2002,2002,menu.ueUser.n3iwf,N3IWF在线用户,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2003,2003,menu.ueUser.pcf,用户策略控制信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2004,2004,menu.system.user.editRole,修改用户角色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2005,2005,config.sys.i18nOpen,国际化切换,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2006,2006,config.sys.i18nDefault,国际化默认语言,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2007,2007,user.export.role,用户角色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2008,2008,menu.system.setting.i18n,国际化切换,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2009,2009,menu.system.setting.i18nRemark,国际化多语言的切换选择,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2010,2010,dictType.index_status,首页状态,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2011,2011,dictType.index_status_remark,首页的网元状态颜色,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2012,2012,dictType.index_status.normal,正常,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2013,2013,dictType.index_status.abnormal,异常,i18n_zh,,,1,supervisor,1702630000000,,0,
|
||||||
|
2014,2014,menu.log.neFile,网元日志文件,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2015,2015,job.deleteExpiredNeStateRecord,删除过期网元状态记录,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2016,2016,job.deleteExpiredNeStateRecordRemark,"定期删除过期的网元状态记录, 默认保留{duration}天",i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2017,2017,job.getStateFromNE,获取网元状态信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2018,2018,job.getStateFromNERemark,获取所有网元状态信息,i18n_zh,,,1,supervisor,1.70263E+12,,0,
|
||||||
|
2019,2019,job.genNeStateAlarm,网元健康状态巡检,i18n_zh,,,1,supervisor,1700000000000,,0,
|
||||||
|
2020,2020,job.genNeStateAlarmRemark,"网元健康状态巡检,异常时产生告警",i18n_zh,,,1,supervisor,1700000000000,,0,
|
||||||
|
2021,2021,menu.neUser.nssf,NSSF在线订阅数,i18n_zh,,,1,supervisor,1700000000000,,0,
|
||||||
|
2022,2022,menu.neUser.nssfAmf,NSSF可用的注册AMF,i18n_zh,,,1,supervisor,1700000000000,,0,
|
||||||
|
2023,2023,menu.monitor.topology,"网元管理拓扑",i18n_zh,,,1,supervisor,1700000000000,,0,
|
||||||
|
22
config/locales/sys_dict_type.csv
Normal file
22
config/locales/sys_dict_type.csv
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
dict_id,dict_name,dict_type,status,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,dictType.sys_user_sex,sys_user_sex,1,supervisor,1.69935E+12,,0,dictType.sys_user_sex_remark
|
||||||
|
2,dictType.sys_show_hide,sys_show_hide,1,supervisor,1.69935E+12,,0,dictType.sys_show_hide_remark
|
||||||
|
3,dictType.sys_normal_disable,sys_normal_disable,1,supervisor,1.69935E+12,,0,dictType.sys_normal_disable_remark
|
||||||
|
4,dictType.sys_job_status,sys_job_status,1,supervisor,1.69935E+12,,0,dictType.sys_job_status_remark
|
||||||
|
5,dictType.sys_job_group,sys_job_group,1,supervisor,1.69935E+12,,0,dictType.sys_job_group_remark
|
||||||
|
6,dictType.sys_yes_no,sys_yes_no,1,supervisor,1.69935E+12,,0,dictType.sys_yes_no_remark
|
||||||
|
9,dictType.sys_oper_type,sys_oper_type,1,supervisor,1.69935E+12,,0,dictType.sys_oper_type_remark
|
||||||
|
10,dictType.sys_common_status,sys_common_status,1,supervisor,1.69935E+12,,0,dictType.sys_common_status_remark
|
||||||
|
100,dictType.trace_type,trace_type,1,supervisor,1.69935E+12,,0,dictType.trace_type_remark
|
||||||
|
101,dictType.operation_log_type,operation_log_type,1,supervisor,1.69935E+12,,0,dictType.operation_log_type_remark
|
||||||
|
102,dictType.alarm_status,alarm_status,1,supervisor,1.69935E+12,,0,dictType.alarm_status_remark
|
||||||
|
103,dictType.security_log_type,security_log_type,1,supervisor,1.69935E+12,,0,dictType.security_log_type_remark
|
||||||
|
104,dictType.ne_version_status,ne_version_status,1,supervisor,1.69935E+12,,0,dictType.ne_version_status_remark
|
||||||
|
105,dictType.i18n_en,i18n_en,1,supervisor,1.69935E+12,,0,dictType.i18n_en_remark
|
||||||
|
106,dictType.i18n_zh,i18n_zh,1,supervisor,1.69935E+12,,0,dictType.i18n_zh_remark
|
||||||
|
107,dictType.sys_role_datascope,sys_role_datascope,1,supervisor,1.69935E+12,,0,dictType.sys_role_datascope_remark
|
||||||
|
108,dictType.active_alarm_type,active_alarm_type,1,supervisor,1.69935E+12,,0,dictType.active_alarm_type_remark
|
||||||
|
109,dictType.active_clear_type,active_clear_type,1,supervisor,1.69935E+12,,0,dictType.active_clear_type_remark
|
||||||
|
110,dictType.active_ack_state,active_ack_state,1,supervisor,1.69935E+12,,0,dictType.active_ack_state_remark
|
||||||
|
111,dictType.active_alarm_severity,active_alarm_severity,1,supervisor,1.69935E+12,,0,dictType.active_alarm_severity_remark
|
||||||
|
112,dictType.index_status,index_status,1,supervisor,1.70202E+12,,0,dictType.index_status_remark
|
||||||
|
6
config/locales/sys_job.csv
Normal file
6
config/locales/sys_job.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
job_id,job_name,job_group,invoke_target,target_params,cron_expression,misfire_policy,concurrent,status,save_log,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,job.monitor_sys_resource,SYSTEM,monitor_sys_resource,{"interval":5},0 0/5 * * * ?,3,0,1,0,supervisor,1.69848E+12,,0,job.monitor_sys_resource_remark
|
||||||
|
4,job.delExpiredNeBackup,SYSTEM,delExpiredNeBackup,{"duration":90},0 20 0 * * ?,3,0,1,1,supervisor,1.69848E+12,,0,job.delExpiredNeBackupRemark
|
||||||
|
5,job.deleteExpiredAlarmRecord,SYSTEM,deleteExpiredRecord,"{""duration"":34,""tableName"":""alarm"",""colName"":""event_time"",""extras"":""alarm_status='0'""}",0 10 0 * * ?,3,0,1,1,supervisor,1.69848E+12,,0,job.deleteExpiredAlarmRecordRemark
|
||||||
|
6,job.deleteExpiredKpiRecord,SYSTEM,deleteExpiredRecord,"{""duration"":39,""tableName"":""gold_kpi"",""colName"":""date""}",0 15 0 * * ?,3,0,1,1,supervisor,1.69848E+12,,0,job.deleteExpiredKpiRecordRemark
|
||||||
|
7,job.backupEtcFromNE,SYSTEM,backupEtcFromNE,,0 30 0 * * ?,3,0,1,1,supervisor,1.69848E+12,,0,job.backupEtcFromNERemark
|
||||||
|
Can't render this file because it contains an unexpected character in line 2 and column 57.
|
199
config/locales/sys_menu.csv
Normal file
199
config/locales/sys_menu.csv
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
menu_id,menu_name,parent_id,menu_sort,path,component,is_frame,is_cache,menu_type,visible,status,perms,icon,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,menu.system,0,16,system,,1,1,D,1,1,,icon-xiangmu,supervisor,1.69892E+12,,0,menu.systemRemark
|
||||||
|
2,menu.monitor,0,2,monitor,,1,1,D,0,0,,icon-wenjian,supervisor,1.69892E+12,,0,menu.monitorRemark
|
||||||
|
3,menu.tools,0,15,tool,,1,1,D,1,1,,icon-wenjian,supervisor,1.69892E+12,,0,menu.toolsRemark
|
||||||
|
4,menu.config,0,3,configManage,,1,0,D,1,1,,icon-huizhiguize,supervisor,1.69892E+12,,0,menu.configRemark
|
||||||
|
5,menu.ueUser,0,7,neUser,,1,0,D,1,1,,icon-wocanyu,supervisor,1.69892E+12,,0,menu.ueUserRemark
|
||||||
|
6,<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>,0,50,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,1.69468E+12,<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
7,<EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>,0,550,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
8,<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>,0,551,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
9,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>,0,552,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>
|
||||||
|
10,<EFBFBD><EFBFBD><EFBFBD>ٹ<EFBFBD><EFBFBD><EFBFBD>,0,553,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,1.69408E+12,<EFBFBD><EFBFBD><EFBFBD>ٹ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
11,<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,554,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
12,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,555,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
13,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,556,page,,1,0,D,0,0,page,fa fa-home,admin,1.69303E+12,admin,1.69354E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
14,ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,557,page,,1,0,D,0,1,page,fa fa-home,admin,1.69303E+12,admin,0,ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
15,<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>,0,558,page,,1,0,D,0,0,page,fa fa-home,admin,1.69303E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
100,menu.security.user,2113,1,user,system/user/index,1,1,M,1,1,system:user:list,icon-wocanyu,supervisor,1.69892E+12,,0,menu.security.userRemark
|
||||||
|
101,menu.security.role,2113,3,role,system/role/index,1,1,M,1,1,system:role:list,icon-anzhuo,supervisor,1.69892E+12,,0,menu.security.roleRemark
|
||||||
|
102,menu.security.roleUser,2113,3,role/inline/auth-user/:roleId,system/role/auth-user,1,1,M,0,1,system:role:auth,#,supervisor,1.69892E+12,,0,menu.security.roleUserRemark
|
||||||
|
103,menu.system.menu,1,4,menu,system/menu/index,1,1,M,1,1,system:menu:list,icon-wofaqi,supervisor,1.69892E+12,,0,menu.system.menuRemark
|
||||||
|
104,menu.security.dept,2113,5,dept,system/dept/index,1,1,M,1,1,system:dept:list,icon-yuzhanghao1,supervisor,1.69892E+12,,0,menu.security.deptRemark
|
||||||
|
105,menu.security.post,2113,6,post,system/post/index,1,1,M,1,1,system:post:list,icon-gonggaodayi,supervisor,1.69892E+12,,0,menu.security.postRemark
|
||||||
|
106,menu.system.dictType,1,7,dict,system/dict/index,1,1,M,1,1,system:dict:list,icon-tubiaoku,supervisor,1.69892E+12,,0,menu.system.dictTypeRemark
|
||||||
|
107,menu.system.dictData,1,8,dict/inline/data/:dictId,system/dict/data,1,1,M,0,1,system:dict:data,#,supervisor,1.69892E+12,,0,menu.system.dictDataRemark
|
||||||
|
108,menu.system.paramSet,1,9,config,system/config/index,1,1,M,1,1,system:config:list,icon-gongnengjieshao,supervisor,1.69892E+12,,0,menu.system.paramSetRemark
|
||||||
|
111,menu.system.systemLog,1,11,log,,1,1,D,0,0,,#,supervisor,1.69892E+12,,0,menu.system.systemLogRemark
|
||||||
|
112,menu.system.systemInfo,1,3,system-info,monitor/system/info,1,1,M,1,1,monitor:system:info,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.system.systemInfoRemark
|
||||||
|
113,menu.system.cacheInfo,1,2,cache-info,monitor/cache/info,1,1,M,0,1,monitor:cache:info,icon-gongnengjieshao,supervisor,1.69892E+12,,0,menu.system.cacheInfoRemark
|
||||||
|
114,menu.system.cache,1,3,cache,monitor/cache/index,1,1,M,0,1,monitor:cache:list,icon-tubiaoku,supervisor,1.69892E+12,,0,menu.system.cacheRemark
|
||||||
|
115,menu.security.onlineUser,2113,2,online,monitor/online/index,1,1,M,1,1,monitor:online:list,icon-xiangmuchengyuan,supervisor,1.69892E+12,,0,menu.security.onlineUserRemark
|
||||||
|
116,menu.system.job,1,1,job,monitor/job/index,1,1,M,1,1,monitor:job:list,icon-lishi,supervisor,1.69892E+12,,0,menu.system.jobRemark
|
||||||
|
117,menu.system.jobLog,1,2,/system/job/inline/log/:jobId,monitor/job/log,1,1,M,0,1,monitor:job:log,#,supervisor,1.69892E+12,,0,menu.system.jobLogRemark
|
||||||
|
118,menu.tools.help,3,1,help,tool/help/index,1,1,M,1,1,monitor:help:list,#,supervisor,1.69892E+12,,0,menu.tools.helpRemark
|
||||||
|
500,menu.log.operat,2089,1,operate,system/log/operate/index,1,1,M,1,1,system:log:operate:list,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.log.operatRemark
|
||||||
|
501,menu.log.login,2089,2,login,system/log/login/index,1,1,M,1,1,system:log:login:list,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.log.loginRemark
|
||||||
|
1000,menu.common.query,100,1,,,1,1,B,1,1,system:user:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1001,menu.common.add,100,2,,,1,1,B,1,1,system:user:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1002,menu.common.edit,100,3,,,1,1,B,1,1,system:user:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1003,menu.common.delete,100,4,,,1,1,B,1,1,system:user:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1004,menu.common.export,100,5,,,1,1,B,1,1,system:user:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1005,menu.common.import,100,6,,,1,1,B,1,1,system:user:import,#,supervisor,1.69892E+12,,0,
|
||||||
|
1006,menu.common.reset,100,7,,,1,1,B,1,1,system:user:resetPwd,#,supervisor,1.69892E+12,,0,
|
||||||
|
1007,menu.common.query,101,1,,,1,1,B,1,1,system:role:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1008,menu.common.add,101,2,,,1,1,B,1,1,system:role:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1009,menu.common.edit,101,3,,,1,1,B,1,1,system:role:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1010,menu.common.delete,101,4,,,1,1,B,1,1,system:role:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1011,menu.common.export,101,5,,,1,1,B,1,1,system:role:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1012,menu.common.query,103,1,,,1,1,B,1,1,system:menu:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1013,menu.common.add,103,2,,,1,1,B,1,1,system:menu:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1014,menu.common.edit,103,3,,,1,1,B,1,1,system:menu:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1015,menu.common.delete,103,4,,,1,1,B,1,1,system:menu:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1016,menu.common.query,104,1,,,1,1,B,1,1,system:dept:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1017,menu.common.add,104,2,,,1,1,B,1,1,system:dept:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1018,menu.common.edit,104,3,,,1,1,B,1,1,system:dept:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1019,menu.common.delete,104,4,,,1,1,B,1,1,system:dept:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1020,menu.common.query,105,1,,,1,1,B,1,1,system:post:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1021,menu.common.add,105,2,,,1,1,B,1,1,system:post:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1022,menu.common.edit,105,3,,,1,1,B,1,1,system:post:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1023,menu.common.delete,105,4,,,1,1,B,1,1,system:post:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1024,menu.common.export,105,5,,,1,1,B,1,1,system:post:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1025,menu.common.query,106,1,#,,1,1,B,1,1,system:dict:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1026,menu.common.add,106,2,#,,1,1,B,1,1,system:dict:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1027,menu.common.edit,106,3,#,,1,1,B,1,1,system:dict:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1028,menu.common.delete,106,4,#,,1,1,B,1,1,system:dict:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1029,menu.common.export,106,5,#,,1,1,B,1,1,system:dict:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1030,menu.common.query,108,1,#,,1,1,B,1,1,system:config:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1031,menu.common.add,108,2,#,,1,1,B,1,1,system:config:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1032,menu.common.edit,108,3,#,,1,1,B,1,1,system:config:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1033,menu.common.delete,108,4,#,,1,1,B,1,1,system:config:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1034,menu.common.export,108,5,#,,1,1,B,1,1,system:config:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1039,menu.common.query,500,1,#,,1,1,B,1,1,system:log:operate:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1040,menu.common.delete,500,2,#,,1,1,B,1,1,system:log:operate:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1041,menu.common.export,500,3,#,,1,1,B,1,1,system:log:operate:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1042,menu.common.query,501,1,#,,1,1,B,1,1,system:log:login:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1043,menu.common.delete,501,2,#,,1,1,B,1,1,system:log:login:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1044,menu.common.export,501,3,#,,1,1,B,1,1,system:log:login:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
1045,menu.common.unlock,501,4,#,,1,1,B,1,1,system:log:login:unlock,#,supervisor,1.69892E+12,,0,
|
||||||
|
1046,menu.common.query,114,1,#,,1,1,B,1,1,monitor:cache:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1047,menu.common.delete,114,2,#,,1,1,B,1,1,monitor:cache:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1048,menu.common.query,115,1,#,,1,1,B,1,1,monitor:online:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1049,menu.forcedQuit.batch ,115,2,#,,1,1,B,1,1,monitor:online:batchLogout,#,supervisor,1.69892E+12,,0,
|
||||||
|
1050,menu.forcedQuit.single,115,3,#,,1,1,B,1,1,monitor:online:forceLogout,#,supervisor,1.69892E+12,,0,
|
||||||
|
1051,menu.common.query,116,1,#,,1,1,B,1,1,monitor:job:query,#,supervisor,1.69892E+12,,0,
|
||||||
|
1052,menu.common.add,116,2,#,,1,1,B,1,1,monitor:job:add,#,supervisor,1.69892E+12,,0,
|
||||||
|
1053,menu.common.edit,116,3,#,,1,1,B,1,1,monitor:job:edit,#,supervisor,1.69892E+12,,0,
|
||||||
|
1054,menu.common.delete,116,4,#,,1,1,B,1,1,monitor:job:remove,#,supervisor,1.69892E+12,,0,
|
||||||
|
1055,menu.common.edit,116,5,#,,1,1,B,1,1,monitor:job:changeStatus,#,supervisor,1.69892E+12,,0,
|
||||||
|
1056,menu.common.export,116,6,#,,1,1,B,1,1,monitor:job:export,#,supervisor,1.69892E+12,,0,
|
||||||
|
2009,menu.ueUser.authUDM,5,1,auth,neUser/auth/index,1,1,M,1,1,neUser:auth:index,icon-xiangmuchengyuan,supervisor,1.69892E+12,,0,menu.ueUser.authUDMRemark
|
||||||
|
2010,menu.ueUser.subUDM,5,2,sub,neUser/sub/index,1,1,M,1,1,neUser:sub:index,icon-xiangmuchengyuan,supervisor,1.69892E+12,,0,menu.ueUser.subUDMRemark
|
||||||
|
2011,<EFBFBD><EFBFBD>澯,6,1,,page/alarm/alarmListDown.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,1.69468E+12,<EFBFBD><EFBFBD>澯
|
||||||
|
2012,<EFBFBD><EFBFBD>ʷ<EFBFBD>澯,6,2,,page/alarm/AlarmListHistory.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>ʷ<EFBFBD>澯
|
||||||
|
2013,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,6,3,,page/alarm/alarmInfoConfig.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2014,<EFBFBD><EFBFBD>ʱͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,6,4,,page/alarm/synchronous.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD>ʱͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2015,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,6,5,,page/alarm/healthCheck.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2016,<EFBFBD>澯ǰת,6,6,,page/alarm/alarmForwarding.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>澯ǰת
|
||||||
|
2017,<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,7,1,,page/nfManage/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2018,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,7,2,,page/configParam/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2019,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,7,3,,page/softwareManage/softwareManage.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2020,<EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD>,7,5,,page/softwareManage/backupManage.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2021,<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,7,6,,page/configParam/configParamSet.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2022,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,8,1,,page/task/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2023,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,8,2,,page/repair/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2024,<EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD>,8,3,,page/task/perfReport.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2025,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,8,4,,page/task/threshold.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2026,<EFBFBD>ƽ<EFBFBD>ָ<EFBFBD><EFBFBD>,8,5,,page/gold/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>ƽ<EFBFBD>ָ<EFBFBD><EFBFBD>
|
||||||
|
2027,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,8,7,,page/task/perfReportSet.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2028,<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>,8,8,,page/indicators/list.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
||||||
|
2029,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>,8,8,,page/objectTemplate/list.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
|
||||||
|
2030,<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,8,9,,page/indicators/measuringData.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2031,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ,15,1,,page/topology/topologyList.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
|
||||||
|
2032,ϵͳά<EFBFBD><EFBFBD>,14,1,,page/systemManage/systemOperation.html,1,0,M,1,1,page,#,admin,1.69345E+12,admin,0,ϵͳά<EFBFBD><EFBFBD>
|
||||||
|
2033,<EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>б<EFBFBD>,14,2,,page/systemManage/stabilityEvents.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>б<EFBFBD>
|
||||||
|
2034,<EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>,14,3,,page/systemManage/stabilityReports.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2035,ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,14,4,,page/systemManage/systemBackup.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2036,ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ,14,5,,page/systemManage/systemExtended.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,"""ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ"
|
||||||
|
2037,֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,14,6,,page/systemManage/certificateManage.html,1,0,M,1,0,page,#,admin,1.69345E+12,admin,1.69354E+12,֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2038,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־,13,0,,page/log/nbiOperLogList.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||||
|
2039,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯<EFBFBD><EFBFBD>־,13,2,,page/log/nbiAlarmLog.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澯<EFBFBD><EFBFBD>־
|
||||||
|
2040,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,13,3,,page/log/nbiSet.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2041,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,12,1,,page/user/list.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2042,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬,12,2,,page/user/online.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||||
|
2043,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,12,2,,page/group/list.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2044,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,12,3,,page/user/securityPolicy.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2045,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־,11,1,,page/log/operLogList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||||
|
2046,mml<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־,11,2,,page/log/mmlOperLogList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,mml<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||||
|
2047,<EFBFBD>澯<EFBFBD><EFBFBD>־,11,3,,page/log/alarmLogList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>澯<EFBFBD><EFBFBD>־
|
||||||
|
2048,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>־,11,4,,page/log/securityLogList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>־
|
||||||
|
2049,<EFBFBD>澯ǰת<EFBFBD><EFBFBD>־,11,7,,page/log/forwardingLog.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>澯ǰת<EFBFBD><EFBFBD>־
|
||||||
|
2050,<EFBFBD><EFBFBD>־ͨ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>,11,8,,page/log/logSet.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>־ͨ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2051,ϵͳ<EFBFBD><EFBFBD>־,11,9,,page/log/systemLog.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,ϵͳ<EFBFBD><EFBFBD>־
|
||||||
|
2052,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,10,1,,page/trace/taskList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,1.69408E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2053,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,10,2,,page/trace/traceShow.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,1.69408E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2054,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,9,0,,page/mml/poolList.html,1,0,M,0,0,page,#,admin,1.69345E+12,admin,1.69354E+12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2055,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>MML,9,1,,page/mml/omcList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>MML
|
||||||
|
2056,<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MML,9,3,,page/mml/list.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MML
|
||||||
|
2057,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MML,9,4,,page/mml/udmList.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MML
|
||||||
|
2058,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,9,5,,page/mml/mmlSet.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2059,<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,12,6,,page/role/list.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2060,<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,12,7,,page/menu/list.html,1,0,M,0,1,page,#,admin,1.69345E+12,admin,0,<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2065,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URL<EFBFBD><EFBFBD>ѯ,0,10011,,,1,1,B,0,0,page,#,admin,1.69381E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2066,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,10012,,,1,1,B,0,0,page,#,admin,1.69381E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2067,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0,10013,,,1,1,B,0,0,page,#,admin,1.69381E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
2068,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URLɾ<EFBFBD><EFBFBD>,0,10014,,,1,1,B,0,0,page,#,admin,1.69381E+12,admin,0,<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>URLɾ<EFBFBD><EFBFBD>
|
||||||
|
2069,<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ϣ,0,559,page,,1,0,D,0,1,page,fa fa-home,admin,1.69409E+12,admin,1.69417E+12,
|
||||||
|
2070,UDM<EFBFBD><EFBFBD>Ȩ<EFBFBD>û<EFBFBD>,2069,1,,page/nfUserInfo/authList.html,1,0,M,1,1,page,#,admin,1.69409E+12,admin,1.6945E+12,
|
||||||
|
2071,5G<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD>Ϣ,2069,4,,page/nfUserInfo/5gBase.html,1,0,M,1,1,page,#,admin,1.69414E+12,admin,1.6945E+12,
|
||||||
|
2072,IMS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>,2069,3,,page/baseInfo/imsOnline.html,1,0,M,1,1,page,#,admin,1.69443E+12,admin,1.69458E+12,
|
||||||
|
2073,UDMǩԼ<EFBFBD>û<EFBFBD>,2069,2,,page/nfUserInfo/subsList.html,1,0,M,1,1,page,#,admin,1.6945E+12,admin,1.6945E+12,
|
||||||
|
2074,UE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ,2069,4,,page/baseInfo/ueInfoList.html,1,0,M,1,1,page,#,admin,1.6946E+12,admin,1.6946E+12,
|
||||||
|
2075,menu.config.neManage,4,1,neManage,configManage/neManage/index,1,1,M,1,1,configManage:neManage:index,icon-biaoqing,supervisor,1.69892E+12,,0,menu.config.neManageRemark
|
||||||
|
2076,menu.config.configNE,4,2,configParam,configManage/configParam/index,1,1,M,1,1,configManage:configParam:index,icon-piliang,supervisor,1.69892E+12,,0,menu.config.configNERemark
|
||||||
|
2077,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD>,10,3,,page/trace/pcap.html,1,0,M,1,1,page,#,admin,1.69483E+12,admin,0,tcpdumpץ<EFBFBD><EFBFBD>pcap<EFBFBD>ļ<EFBFBD>
|
||||||
|
2078,menu.config.backupManage,4,3,backupManage,configManage/backupManage/index,1,1,M,1,1,configManage:backupManage:index,icon-soutubiao,supervisor,1.69892E+12,,0,menu.config.backupManageRemark
|
||||||
|
2079,menu.config.softwareManage,4,4,softwareManage,configManage/softwareManage/index,1,1,M,1,1,configManage:softwareManage:index,icon-huidingbu,supervisor,1.69892E+12,,0,menu.config.softwareManageRemark
|
||||||
|
2080,menu.ueUser.onlineIMS,5,4,ims,neUser/ims/index,1,1,M,1,1,neUser:ims:index,icon-xiangmuchengyuan,supervisor,1.69892E+12,,0,menu.ueUser.onlineIMSRemark
|
||||||
|
2081,menu.ueUser.onlineUE,5,6,ue,neUser/ue/index,1,1,M,1,1,neUser:ue:index,icon-xiangmuchengyuan,supervisor,1.69892E+12,,0,menu.ueUser.onlineUERemark
|
||||||
|
2082,menu.ueUser.base5G,5,7,base5G,neUser/base5G/index,1,1,M,1,1,neUser:base5G:index,icon-paixu,supervisor,1.69892E+12,,0,menu.ueUser.base5GRemark
|
||||||
|
2083,menu.trace,0,6,traceManage,,1,0,D,1,1,,icon-paixu,supervisor,1.69892E+12,,0,menu.traceRemark
|
||||||
|
2084,menu.trace.task,2083,1,task,traceManage/task/index,1,1,M,1,1,traceManage:task:index,icon-chexiao,supervisor,1.69892E+12,,0,menu.trace.taskRemark
|
||||||
|
2085,menu.trace.analysis,2083,1,analysis,traceManage/analysis/index,1,1,M,1,1,traceManage:analysis:index,icon-gongnengjieshao,supervisor,1.69892E+12,,0,menu.trace.analysisRemark
|
||||||
|
2086,menu.trace.pcap,2083,3,pcap,traceManage/pcap/index,1,1,M,1,1,traceManage:pcap:index,icon-soutubiao,supervisor,1.69892E+12,,0,menu.trace.pcapRemark
|
||||||
|
2087,menu.fault,0,2,faultManage,,1,0,D,1,1,,icon-jinggao,supervisor,1.69892E+12,,0,menu.faultRemark
|
||||||
|
2088,menu.fault.active,2087,1,active-alarm,faultManage/active-alarm/index,1,1,M,1,1,faultManage:active-alarm:index,icon-wenjian,supervisor,1.69892E+12,,0,menu.fault.activemRemark
|
||||||
|
2089,menu.log,0,9,logManage,,1,0,D,1,1,,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.logRemark
|
||||||
|
2090,menu.log.operatOld,2089,1,operation,logManage/operation/index,1,0,M,0,0,logManage:operation:index,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.log.operatOldRemark
|
||||||
|
2091,menu.log.mml,2089,2,mml,logManage/mml/index,1,1,M,1,1,logManage:mml:index,icon-wocanyu,supervisor,1.69892E+12,,0,menu.log.mmlRemark
|
||||||
|
2092,menu.log.alarm,2089,3,alarm-log,logManage/alarm/index,1,1,M,1,1,logManage:alarm:index,icon-fuzhidaima,supervisor,1.69892E+12,,0,menu.log.alarmRemark
|
||||||
|
2093,menu.log.securityOld,2089,6,security-log,logManage/security/index,1,0,M,0,0,logManage/security/index,icon-gongnengjieshao,supervisor,1.69892E+12,,0,menu.log.securityOldRemark
|
||||||
|
2094,menu.log.forwarding,2089,7,forwarding,logManage/forwarding/index,1,0,M,1,1,logManage:forwarding:index,icon-huizhiguize,supervisor,1.69892E+12,,0,menu.log.forwardingRemark
|
||||||
|
2095,menu.log.set,2089,15,logSet,logManage/logSet/index,1,0,M,1,1,logManage:logSet:index,icon-you,supervisor,1.69892E+12,,0,menu.log.setRemark
|
||||||
|
2096,menu.monitor.sessionUser,2,10,session,monitor/session/index,1,0,M,0,0,monitor:session:index,icon-gerenzhanghu,supervisor,1.69892E+12,,0,menu.monitor.sessionUserRemark
|
||||||
|
2097,menu.fault.history,2087,2,history-alarm,faultManage/history-alarm/index,1,1,M,1,1,faultManage/history-alarm/index,icon-huizhiguize,supervisor,1.69892E+12,,0,menu.fault.historyRemark
|
||||||
|
2098,menu.fault.set,2087,3,fault-setting,faultManage/fault-setting/index,1,0,M,1,1,faultManage/fault-setting/index,icon-gonggaodayi,supervisor,1.69892E+12,,0,menu.fault.setRemark
|
||||||
|
2099,menu.perf,0,5,perfManage,,1,0,D,1,1,,icon-soutubiao,supervisor,1.69892E+12,,0,menu.perfRemark
|
||||||
|
2100,menu.perf.task,2099,1,taskManage,perfManage/taskManage/index,1,1,M,1,1,perfManage:taskManage:index,icon-wofaqi,supervisor,1.69892E+12,,0,menu.perf.taskRemark
|
||||||
|
2101,menu.perf.data,2099,2,perfData,perfManage/perfData/index,1,1,M,1,1,perfManage:perfData:index,icon-soutubiao,supervisor,1.69892E+12,,0,menu.perf.dataRemark
|
||||||
|
2102,menu.perf.report,2099,3,perfReport,perfManage/perfReport/index,1,0,M,0,0,perfManage:perfReport:index,icon-gonggaodayi,supervisor,1.69892E+12,,0,menu.perf.reportRemark
|
||||||
|
2103,menu.perf.threshold,2099,4,perfThreshold,perfManage/perfThreshold/index,1,0,M,1,1,perfManage:perfThreshold:index,icon-zhuanrang,supervisor,1.69892E+12,,0,menu.perf.thresholdRemark
|
||||||
|
2104,menu.perf.kpi,2099,5,goldTarget,perfManage/goldTarget/index,1,1,M,1,1,perfManage:goldTarget:index,icon-soutubiao,supervisor,1.69892E+12,,0,menu.perf.kpiRemark
|
||||||
|
2105,menu.perf.customTarget,2099,6,customTarget,perfManage/customTarget/index,1,1,M,0,0,perfManage:customTarget:index,icon-fanhui1,supervisor,1.69892E+12,,0,menu.perf.customTargetRemark
|
||||||
|
2106,menu.perf.set,2099,7,perfSet,perfManage/perfSet/index,1,0,M,0,0,perfManage:perfSet:index,icon-gonggao,supervisor,1.69892E+12,,0,menu.perf.setRemark
|
||||||
|
2107,menu.mml,0,8,mmlManage,,1,0,D,1,1,,icon-zhizuoliucheng,supervisor,1.69892E+12,,0,menu.mmlRemark
|
||||||
|
2108,menu.mml.ne,2107,1,neOperate,mmlManage/neOperate/index,1,1,M,1,1,mmlManage:neOperate:index,icon-huizhiguize,supervisor,1.69892E+12,,0,menu.mml.neRemark
|
||||||
|
2109,menu.mml.udm,2107,2,udmOperate,mmlManage/udmOperate/index,1,1,M,1,1,mmlManage:udmOperate:index,icon-gonggaodayi,supervisor,1.69892E+12,,0,menu.mml.udmRemark
|
||||||
|
2110,menu.mml.set,2107,4,mmlSet,mmlManage/mmlSet/index,1,1,M,1,1,mmlManage:mmlSet:index,icon-wofaqi,supervisor,1.69892E+12,,0,menu.mml.setRemark
|
||||||
|
2111,menu.mml.omc,2107,3,omcOperate,mmlManage/omcOperate/index,1,1,M,1,1,mmlManage:omcOperate:index,icon-huizhiguize,supervisor,1.69892E+12,,0,menu.mml.omcRemark
|
||||||
|
2112,menu.config.licenseManage,4,5,license,configManage/license/index,1,1,M,1,1,configManage/license/index,icon-shang,supervisor,1.69892E+12,,0,menu.config.licenseManageRemark
|
||||||
|
2113,menu.security,0,14,security,,1,0,D,1,1,,icon-suofang,supervisor,1.69892E+12,,0,menu.securityRemark
|
||||||
|
2114,menu.system.systemSet,1,12,setting,system/setting/index,1,1,M,1,1,system:setting:index,icon-piliang,supervisor,1.69892E+12,,0,menu.system.systemSetRemark
|
||||||
|
2115,menu.system.systemResource,1,13,monitor,monitor/monitor/index,1,1,M,1,1,monitor:monitor:info,icon-soutubiao,supervisor,1.69892E+12,,0,menu.system.systemResourceRemark
|
||||||
|
2116,menu.config.configNEForm,4,2,configParamForm,configManage/configParamForm/index,1,0,M,1,1,configManage:configParam:index,icon-wofaqi,supervisor,1.69892E+12,,0,menu.config.configNEFormRemark
|
||||||
|
2117,menu.config.configNETree,4,2,configParamTree,configManage/configParamTree/index,1,0,M,1,1,configManage:configParam:index,icon-wofaqi,supervisor,1.69892E+12,,0,menu.config.configNETreeRemark
|
||||||
|
2118,menu.config.configNETreeTable,4,2,configNETreeTable,configManage/configParamTreeTable/index,1,0,M,1,1,configManage:configParam:index,icon-wofaqi,supervisor,1.69892E+12,,0,menu.config.configNETreeTableRemark
|
||||||
|
2119,menu.ueUser.n3iwf,5,8,n3iwf,neUser/n3iwf/index,1,0,M,1,1,neUser:n3iwf:index,icon-paixu,supervisor,1.70124E+12,,0,
|
||||||
|
2120,menu.ueUser.pcf,5,9,pcf,neUser/pcf/index,1,0,M,1,1,neUser:pcf:index,icon-paixu,supervisor,1.70124E+12,,0,
|
||||||
|
2121,menu.system.user.editRole,100,8,,,1,1,B,1,1,system:user:editRole,#,supervisor,1.70143E+12,,0,
|
||||||
|
2122,menu.system.setting.i18n,2114,1,,,1,1,B,1,1,system:setting:i18n,#,supervisor,1.70183E+12,supervisor,1.7023E+12,menu.system.setting.i18nRemark
|
||||||
|
2123,menu.log.neFile,2089,9,neFile,logManage/neFile/index,1,0,M,1,1,logManage:neFile:index,icon-tubiaohuizhi,supervisor,1.70238E+12,,0,
|
||||||
|
5
config/locales/sys_post.csv
Normal file
5
config/locales/sys_post.csv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
post_id,post_code,post_name,post_sort,status,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,administator,post.admin,1,1,supervisor,1.69711E+12,,0,
|
||||||
|
2,operator,post.operator,2,1,supervisor,1.69711E+12,,0,
|
||||||
|
3,monitor,post.monitor,3,1,supervisor,1.69711E+12,,0,
|
||||||
|
4,visitor,post.visitor,4,1,supervisor,1.69711E+12,,0,
|
||||||
|
6
config/locales/sys_role.csv
Normal file
6
config/locales/sys_role.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
role_id,role_name,role_key,role_sort,data_scope,menu_check_strictly,dept_check_strictly,status,del_flag,create_by,create_time,update_by,update_time,remark
|
||||||
|
1,role.admin,supervisor,1,1,1,1,1,0,supervisor,1.69709E+12,,0,role.adminRemark
|
||||||
|
2,role.adminAssign,administrator,2,1,1,1,1,0,supervisor,1.69849E+12,,0,role.adminAssignRemark
|
||||||
|
3,role.operator,operator,3,1,1,1,1,0,supervisor,1.69849E+12,,0,role.operatorRemark
|
||||||
|
4,role.monitor,monitor,4,1,1,1,1,0,supervisor,1.69849E+12,,0,role.monitorRemark
|
||||||
|
5,role.vistor,vistor,5,1,1,1,1,0,supervisor,1.69849E+12,,0,role.vistorRemark
|
||||||
|
@@ -211,8 +211,7 @@ udm:
|
|||||||
comment: ""
|
comment: ""
|
||||||
- name: "static_ip"
|
- name: "static_ip"
|
||||||
type: "string"
|
type: "string"
|
||||||
value: "-"
|
optional: "true"
|
||||||
optional: "false"
|
|
||||||
filter: ""
|
filter: ""
|
||||||
display: "4G Static IP"
|
display: "4G Static IP"
|
||||||
comment: "Specify mobile phone static IP address, and '-' indicates the use of dynamic IP address"
|
comment: "Specify mobile phone static IP address, and '-' indicates the use of dynamic IP address"
|
||||||
@@ -452,8 +451,7 @@ udm:
|
|||||||
comment: ""
|
comment: ""
|
||||||
- name: "static_ip"
|
- name: "static_ip"
|
||||||
type: "string"
|
type: "string"
|
||||||
value: "-"
|
optional: "true"
|
||||||
optional: "false"
|
|
||||||
filter: ""
|
filter: ""
|
||||||
display: "4G Static IP"
|
display: "4G Static IP"
|
||||||
comment: "Specify mobile phone static IP address, and '-' indicates the use of dynamic IP address"
|
comment: "Specify mobile phone static IP address, and '-' indicates the use of dynamic IP address"
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ ims:
|
|||||||
- operation: "help"
|
- operation: "help"
|
||||||
object: ""
|
object: ""
|
||||||
display: "List IMS MML CMD"
|
display: "List IMS MML CMD"
|
||||||
|
status: "Active"
|
||||||
params:
|
params:
|
||||||
|
|||||||
@@ -212,14 +212,7 @@
|
|||||||
{
|
{
|
||||||
"name": "orig_severity",
|
"name": "orig_severity",
|
||||||
"display": "Original severity",
|
"display": "Original severity",
|
||||||
"length": 11,
|
"length": 11
|
||||||
"alias": [
|
|
||||||
"Critical",
|
|
||||||
"Major",
|
|
||||||
"Minor",
|
|
||||||
"Warning",
|
|
||||||
"Event"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pv_flag",
|
"name": "pv_flag",
|
||||||
@@ -239,7 +232,7 @@
|
|||||||
"retFmt": "GetDB",
|
"retFmt": "GetDB",
|
||||||
"retMsg": "RetCode = %d operation succeeded\n\n",
|
"retMsg": "RetCode = %d operation succeeded\n\n",
|
||||||
"errMsg": "ErrorCode = %d operation failed: %s\n\n",
|
"errMsg": "ErrorCode = %d operation failed: %s\n\n",
|
||||||
"title": "Alarm Information",
|
"title": "Performance Task Information",
|
||||||
"singleList": true,
|
"singleList": true,
|
||||||
"sepSpaceNum": 2,
|
"sepSpaceNum": 2,
|
||||||
"alignmentM": "Left",
|
"alignmentM": "Left",
|
||||||
|
|||||||
@@ -114,6 +114,20 @@ ims:
|
|||||||
filter: ''
|
filter: ''
|
||||||
display: "Dispatch System IPv4"
|
display: "Dispatch System IPv4"
|
||||||
comment: ""
|
comment: ""
|
||||||
|
- name: "internalSMSInd"
|
||||||
|
type: "bool"
|
||||||
|
value: 'false'
|
||||||
|
access: "read-write"
|
||||||
|
filter: 'false;true;'
|
||||||
|
display: "Internal SMS Indicator"
|
||||||
|
comment: ""
|
||||||
|
- name: "pcfIP"
|
||||||
|
type: "ipv4"
|
||||||
|
value: "172.16.5.140"
|
||||||
|
access: "read-write"
|
||||||
|
filter: ''
|
||||||
|
display: "PCF IP Address"
|
||||||
|
comment: ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -97,17 +97,17 @@ udm:
|
|||||||
display: "Name"
|
display: "Name"
|
||||||
comment: "1~32"
|
comment: "1~32"
|
||||||
- name: "uplink"
|
- name: "uplink"
|
||||||
type: "string"
|
type: "regex"
|
||||||
value: '1Gbps'
|
value: '1Gbps'
|
||||||
access: "read-write"
|
access: "read-write"
|
||||||
filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$'
|
filter: '^\d+(\.\d+)?( )(bps|Kbps|Mbps|Gbps|Tbps)$'
|
||||||
display: "Uplink"
|
display: "Uplink"
|
||||||
comment: ""
|
comment: ""
|
||||||
- name: "downlink"
|
- name: "downlink"
|
||||||
type: "string"
|
type: "regex"
|
||||||
value: '2Gbps'
|
value: '2Gbps'
|
||||||
access: "read-write"
|
access: "read-write"
|
||||||
filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$'
|
filter: '^\d+(\.\d+)?( )(bps|Kbps|Mbps|Gbps|Tbps)$'
|
||||||
display: "Downlink"
|
display: "Downlink"
|
||||||
comment: ""
|
comment: ""
|
||||||
subsNssais:
|
subsNssais:
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ func XormGetNeInfoByType(neType string, nes *[]NeInfo) (*[]NeInfo, error) {
|
|||||||
log.Debug("XormGetNeInfoByType processing... ")
|
log.Debug("XormGetNeInfoByType processing... ")
|
||||||
|
|
||||||
ne := new(NeInfo)
|
ne := new(NeInfo)
|
||||||
rows, err := dbClient.xEngine.Table("ne_info").Where("status=0 and ne_type =?", neType).Rows(ne)
|
rows, err := dbClient.xEngine.Table("ne_info").Where("status in ('0','3') and ne_type =?", neType).Rows(ne)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get table ne_info from database:", err)
|
log.Error("Failed to get table ne_info from database:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -139,7 +139,7 @@ type NeState struct {
|
|||||||
Id int `json:"id" xorm:"pk 'id' autoincr"`
|
Id int `json:"id" xorm:"pk 'id' autoincr"`
|
||||||
NeType string `json:"neType" xorm:"ne_type"`
|
NeType string `json:"neType" xorm:"ne_type"`
|
||||||
NeId string `json:"neId" xorm:"ne_id"`
|
NeId string `json:"neId" xorm:"ne_id"`
|
||||||
Version string `json:"version" xorm:"version"`
|
Version string `json:"version" xorm:"column 'version' VARCHAR(16)"`
|
||||||
Capability uint32 `json:"capability" xorm:"capability"`
|
Capability uint32 `json:"capability" xorm:"capability"`
|
||||||
SerialNum string `json:"serialNum" xorm:"serial_num"`
|
SerialNum string `json:"serialNum" xorm:"serial_num"`
|
||||||
ExpiryDate string `json:"expiryDate" xorm:"expiry_date"`
|
ExpiryDate string `json:"expiryDate" xorm:"expiry_date"`
|
||||||
@@ -157,7 +157,13 @@ func XormInsertNeState(neState *NeState) (int64, error) {
|
|||||||
session := dbClient.xEngine.NewSession()
|
session := dbClient.xEngine.NewSession()
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
affected, err := session.InsertOne(neState)
|
affected, err := session.InsertOne(neState)
|
||||||
session.Commit()
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
err = session.Commit()
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
return affected, err
|
return affected, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ tasks:
|
|||||||
at: 00:30:00
|
at: 00:30:00
|
||||||
do: TaskDBBackupCSVGetBySQL
|
do: TaskDBBackupCSVGetBySQL
|
||||||
- name: handshake to NF
|
- name: handshake to NF
|
||||||
status: Active
|
status: Inactive
|
||||||
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState
|
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState
|
||||||
params:
|
params:
|
||||||
interval: 10
|
interval: 10
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2312.8
|
VERSION = 2.2312.10
|
||||||
LIBDIR = ems.agt/lib
|
LIBDIR = ems.agt/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.2312.8
|
VERSION = 2.2312.10
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
|
|||||||
@@ -1,18 +1,383 @@
|
|||||||
SET FOREIGN_KEY_CHECKS=0;
|
SET FOREIGN_KEY_CHECKS=0;
|
||||||
|
|
||||||
INSERT IGNORE INTO `omc_db`.`user` (`id`,`account_id`, `name`, `real_name`, `sn`, `gender`, `email`, `id_card_number`, `description`, `telephone_number`, `phone`, `mobile`, `employee_number`, `employee_type`, `organize`, `supporter_corp_name`, `start_time`, `end_time`, `password`, `password_sha512`, `change_password_flag`, `password_expiration`, `status`, `user_expiration`, `group_name`, `profile`) VALUES (1, 'admin', 'admin', 'administrator', '', '', 'admin@aa.com', NULL, NULL, NULL, '312', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$QgIcp6yuOEGrEU0TNU12K.uQRLbcufesEU7hiRYlRSSdUO7OAkoTq', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'admin', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}');
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`user` (
|
||||||
|
`id`,
|
||||||
|
`account_id`,
|
||||||
|
`name`,
|
||||||
|
`real_name`,
|
||||||
|
`sn`,
|
||||||
|
`gender`,
|
||||||
|
`email`,
|
||||||
|
`id_card_number`,
|
||||||
|
`description`,
|
||||||
|
`telephone_number`,
|
||||||
|
`phone`,
|
||||||
|
`mobile`,
|
||||||
|
`employee_number`,
|
||||||
|
`employee_type`,
|
||||||
|
`organize`,
|
||||||
|
`supporter_corp_name`,
|
||||||
|
`start_time`,
|
||||||
|
`end_time`,
|
||||||
|
`password`,
|
||||||
|
`password_sha512`,
|
||||||
|
`change_password_flag`,
|
||||||
|
`password_expiration`,
|
||||||
|
`status`,
|
||||||
|
`user_expiration`,
|
||||||
|
`group_name`,
|
||||||
|
`profile`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
1,
|
||||||
|
'admin',
|
||||||
|
'admin',
|
||||||
|
'administrator',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'admin@aa.com',
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
'312',
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
'$2a$10$QgIcp6yuOEGrEU0TNU12K.uQRLbcufesEU7hiRYlRSSdUO7OAkoTq',
|
||||||
|
'324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048',
|
||||||
|
0000,
|
||||||
|
NULL,
|
||||||
|
'Active',
|
||||||
|
NULL,
|
||||||
|
'admin',
|
||||||
|
'{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}'
|
||||||
|
);
|
||||||
|
|
||||||
-- add default ne info
|
-- add default ne info
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (1, 'OMC', '001', '4400HX101', 'OMC_001', '172.16.5.100', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
INSERT
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (2, 'IMS', '001', '4400HX1IMS001', 'IMS_001', '172.16.5.110', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (3, 'AMF', '001', '4400HX1AMF001', 'AMF_001', '172.16.5.120', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`id`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (4, 'AUSF', '001', '4400HX1AUF001', 'AUSF_001', '172.16.5.130', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`ne_type`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (5, 'UDM', '001', '4400HX1UDM001', 'UDM_001', '172.16.5.140', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`ne_id`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (6, 'SMF', '001', '4400HX1SMF001', 'SMF_001', '172.16.5.150', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`rm_uid`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (7, 'PCF', '001', '4400HX1PCF001', 'PCF_001', '172.16.5.160', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`ne_name`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (8, 'NSSF', '001', '4400HX1NSF001', 'NSSF_001', '172.16.5.170', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`ip`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (9, 'NRF', '001', '4400HX1NRF001', 'NRF_001', '172.16.5.180', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`port`,
|
||||||
INSERT IGNORE INTO `omc_db`.`ne_info` (`id`, `ne_type`, `ne_id`, `rm_uid`, `ne_name`, `ip`, `port`, `pv_flag`, `province`, `vendor_name`, `dn`, `ne_address`, `status`) VALUES (10, 'UPF', '001', '4400HX1UPF001', 'UPF_001', '172.16.5.190', 3030, 'PNF', '-', 'AGrandTech', '-', '-', 0);
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
1,
|
||||||
|
'OMC',
|
||||||
|
'001',
|
||||||
|
'4400HX101',
|
||||||
|
'OMC_001',
|
||||||
|
'172.16.5.100',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
2,
|
||||||
|
'IMS',
|
||||||
|
'001',
|
||||||
|
'4400HX1IMS001',
|
||||||
|
'IMS_001',
|
||||||
|
'172.16.5.110',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
3,
|
||||||
|
'AMF',
|
||||||
|
'001',
|
||||||
|
'4400HX1AMF001',
|
||||||
|
'AMF_001',
|
||||||
|
'172.16.5.120',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
4,
|
||||||
|
'AUSF',
|
||||||
|
'001',
|
||||||
|
'4400HX1AUF001',
|
||||||
|
'AUSF_001',
|
||||||
|
'172.16.5.130',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
5,
|
||||||
|
'UDM',
|
||||||
|
'001',
|
||||||
|
'4400HX1UDM001',
|
||||||
|
'UDM_001',
|
||||||
|
'172.16.5.140',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
6,
|
||||||
|
'SMF',
|
||||||
|
'001',
|
||||||
|
'4400HX1SMF001',
|
||||||
|
'SMF_001',
|
||||||
|
'172.16.5.150',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
7,
|
||||||
|
'PCF',
|
||||||
|
'001',
|
||||||
|
'4400HX1PCF001',
|
||||||
|
'PCF_001',
|
||||||
|
'172.16.5.160',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
8,
|
||||||
|
'NSSF',
|
||||||
|
'001',
|
||||||
|
'4400HX1NSF001',
|
||||||
|
'NSSF_001',
|
||||||
|
'172.16.5.170',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
9,
|
||||||
|
'NRF',
|
||||||
|
'001',
|
||||||
|
'4400HX1NRF001',
|
||||||
|
'NRF_001',
|
||||||
|
'172.16.5.180',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
|
`id`,
|
||||||
|
`ne_type`,
|
||||||
|
`ne_id`,
|
||||||
|
`rm_uid`,
|
||||||
|
`ne_name`,
|
||||||
|
`ip`,
|
||||||
|
`port`,
|
||||||
|
`pv_flag`,
|
||||||
|
`province`,
|
||||||
|
`vendor_name`,
|
||||||
|
`dn`,
|
||||||
|
`ne_address`,
|
||||||
|
`status`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
10,
|
||||||
|
'UPF',
|
||||||
|
'001',
|
||||||
|
'4400HX1UPF001',
|
||||||
|
'UPF_001',
|
||||||
|
'172.16.5.190',
|
||||||
|
3030,
|
||||||
|
'PNF',
|
||||||
|
'-',
|
||||||
|
'AGrandTech',
|
||||||
|
'-',
|
||||||
|
'-',
|
||||||
|
0
|
||||||
|
);
|
||||||
INSERT
|
INSERT
|
||||||
IGNORE INTO `omc_db`.`ne_info` (
|
IGNORE INTO `omc_db`.`ne_info` (
|
||||||
`id`,
|
`id`,
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ SET FOREIGN_KEY_CHECKS=0;
|
|||||||
ALTER TABLE
|
ALTER TABLE
|
||||||
`omc_db`.`sys_config` MODIFY COLUMN `config_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值' AFTER `config_key`;
|
`omc_db`.`sys_config` MODIFY COLUMN `config_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值' AFTER `config_key`;
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
@@ -31,8 +31,8 @@ VALUES (
|
|||||||
'config.sys.user.initPasswordRemark'
|
'config.sys.user.initPasswordRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
@@ -57,8 +57,8 @@ VALUES (
|
|||||||
'config.sys.account.captchaEnabledRemark'
|
'config.sys.account.captchaEnabledRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
@@ -83,8 +83,8 @@ VALUES (
|
|||||||
'config.sys.account.registerUserRemark'
|
'config.sys.account.registerUserRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
@@ -109,8 +109,8 @@ VALUES (
|
|||||||
'config.sys.user.maxRetryCountRemark'
|
'config.sys.user.maxRetryCountRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
@@ -135,8 +135,8 @@ VALUES (
|
|||||||
'config.sys.user.lockTimeRemark'
|
'config.sys.user.lockTimeRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT
|
REPLACE
|
||||||
IGNORE INTO `omc_db`.`sys_config` (
|
INTO `omc_db`.`sys_config` (
|
||||||
`config_id`,
|
`config_id`,
|
||||||
`config_name`,
|
`config_name`,
|
||||||
`config_key`,
|
`config_key`,
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ ADD
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of sys_job
|
-- Records of sys_job
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT IGNORE INTO
|
REPLACE INTO
|
||||||
`omc_db`.`sys_job` (
|
`omc_db`.`sys_job` (
|
||||||
`job_id`,
|
`job_id`,
|
||||||
`job_name`,
|
`job_name`,
|
||||||
@@ -67,7 +67,7 @@ INSERT IGNORE INTO
|
|||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
1,
|
1,
|
||||||
'监控-系统资源',
|
'job.monitor_sys_resource',
|
||||||
'SYSTEM',
|
'SYSTEM',
|
||||||
'monitor_sys_resource',
|
'monitor_sys_resource',
|
||||||
'{\"interval\":5}',
|
'{\"interval\":5}',
|
||||||
@@ -76,14 +76,14 @@ VALUES (
|
|||||||
'0',
|
'0',
|
||||||
'1',
|
'1',
|
||||||
'0',
|
'0',
|
||||||
'admin',
|
'supervisor',
|
||||||
1698478134839,
|
1698478134839,
|
||||||
'admin',
|
'supervisor',
|
||||||
1698483081920,
|
1700571615807,
|
||||||
'系统资源CPU/IO/Netword收集,interval单位分钟,0 0/5 * * * ? 表示平均interva5分钟资源情况'
|
'job.monitor_sys_resource_remark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT IGNORE INTO
|
REPLACE INTO
|
||||||
`omc_db`.`sys_job` (
|
`omc_db`.`sys_job` (
|
||||||
`job_id`,
|
`job_id`,
|
||||||
`job_name`,
|
`job_name`,
|
||||||
@@ -103,7 +103,7 @@ INSERT IGNORE INTO
|
|||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
4,
|
4,
|
||||||
'删除过期网元备份文件',
|
'job.delExpiredNeBackup',
|
||||||
'SYSTEM',
|
'SYSTEM',
|
||||||
'delExpiredNeBackup',
|
'delExpiredNeBackup',
|
||||||
'{\"duration\":60}',
|
'{\"duration\":60}',
|
||||||
@@ -112,14 +112,14 @@ VALUES (
|
|||||||
'0',
|
'0',
|
||||||
'1',
|
'1',
|
||||||
'1',
|
'1',
|
||||||
'admin',
|
'supervisor',
|
||||||
1697091151529,
|
1698478134840,
|
||||||
'admin',
|
NULL,
|
||||||
1698134207967,
|
0,
|
||||||
'删除过期网元etc备份文件, 传入参数表示保留{duration}天的备份文件, 默认60天'
|
'job.delExpiredNeBackupRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT IGNORE INTO
|
REPLACE INTO
|
||||||
`omc_db`.`sys_job` (
|
`omc_db`.`sys_job` (
|
||||||
`job_id`,
|
`job_id`,
|
||||||
`job_name`,
|
`job_name`,
|
||||||
@@ -139,7 +139,7 @@ INSERT IGNORE INTO
|
|||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
5,
|
5,
|
||||||
'删除过期历史告警记录',
|
'job.deleteExpiredAlarmRecord',
|
||||||
'SYSTEM',
|
'SYSTEM',
|
||||||
'deleteExpiredRecord',
|
'deleteExpiredRecord',
|
||||||
'{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}',
|
'{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}',
|
||||||
@@ -148,14 +148,14 @@ VALUES (
|
|||||||
'0',
|
'0',
|
||||||
'1',
|
'1',
|
||||||
'1',
|
'1',
|
||||||
'admin',
|
'supervisor',
|
||||||
1698150591601,
|
1698478134841,
|
||||||
'admin',
|
NULL,
|
||||||
1698197292003,
|
0,
|
||||||
'删除过期历史告警记录,传入参数表示保留{duration}天的历史告警记录'
|
'job.deleteExpiredAlarmRecordRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT IGNORE INTO
|
REPLACE INTO
|
||||||
`omc_db`.`sys_job` (
|
`omc_db`.`sys_job` (
|
||||||
`job_id`,
|
`job_id`,
|
||||||
`job_name`,
|
`job_name`,
|
||||||
@@ -175,7 +175,7 @@ INSERT IGNORE INTO
|
|||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
6,
|
6,
|
||||||
'删除过期黄金指标记录',
|
'job.deleteExpiredKpiRecord',
|
||||||
'SYSTEM',
|
'SYSTEM',
|
||||||
'deleteExpiredRecord',
|
'deleteExpiredRecord',
|
||||||
'{\"duration\":15,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}',
|
'{\"duration\":15,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}',
|
||||||
@@ -184,14 +184,14 @@ VALUES (
|
|||||||
'0',
|
'0',
|
||||||
'1',
|
'1',
|
||||||
'1',
|
'1',
|
||||||
'admin',
|
'supervisor',
|
||||||
1698197983126,
|
1698478134842,
|
||||||
'admin',
|
'supervisor',
|
||||||
1698198074872,
|
1700570673113,
|
||||||
'黄金指标记录保留{duration}天'
|
'job.deleteExpiredKpiRecordRemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT IGNORE INTO
|
REPLACE INTO
|
||||||
`omc_db`.`sys_job` (
|
`omc_db`.`sys_job` (
|
||||||
`job_id`,
|
`job_id`,
|
||||||
`job_name`,
|
`job_name`,
|
||||||
@@ -211,118 +211,128 @@ INSERT IGNORE INTO
|
|||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
7,
|
7,
|
||||||
'网元配置自动备份任务',
|
'job.backupEtcFromNE',
|
||||||
'SYSTEM',
|
'SYSTEM',
|
||||||
'backupEtcFromNE',
|
'backupEtcFromNE',
|
||||||
'',
|
NULL,
|
||||||
'0 30 0 * * ?',
|
'0 30 0 * * ?',
|
||||||
'3',
|
'3',
|
||||||
'0',
|
'0',
|
||||||
'1',
|
'1',
|
||||||
'1',
|
'1',
|
||||||
'admin',
|
'supervisor',
|
||||||
1698223216479,
|
1698478134843,
|
||||||
'',
|
NULL,
|
||||||
0,
|
0,
|
||||||
'自动备份网元etc目录下的配置文件'
|
'job.backupEtcFromNERemark'
|
||||||
);
|
);
|
||||||
|
|
||||||
UPDATE `omc_db`.`sys_job`
|
REPLACE INTO
|
||||||
SET
|
`omc_db`.`sys_job` (
|
||||||
`invoke_target` = 'monitor_sys_resource',
|
`job_id`,
|
||||||
`job_name` = 'job.monitor_sys_resource',
|
`job_name`,
|
||||||
`target_params` = '{\"interval\":5}',
|
`job_group`,
|
||||||
`cron_expression` = '0 0/5 * * * ?',
|
`invoke_target`,
|
||||||
`misfire_policy` = '3',
|
`target_params`,
|
||||||
`concurrent` = '0',
|
`cron_expression`,
|
||||||
`status` = '1',
|
`misfire_policy`,
|
||||||
`save_log` = '0',
|
`concurrent`,
|
||||||
`create_by` = 'supervisor',
|
`status`,
|
||||||
`create_time` = 1698478134839,
|
`save_log`,
|
||||||
`update_by` = 'supervisor',
|
`create_by`,
|
||||||
`update_time` = 1700566657587,
|
`create_time`,
|
||||||
`remark` = 'job.monitor_sys_resource_remark'
|
`update_by`,
|
||||||
WHERE
|
`update_time`,
|
||||||
`job_id` = 1
|
`remark`
|
||||||
AND `job_group` = 'SYSTEM';
|
)
|
||||||
|
VALUES (
|
||||||
|
8,
|
||||||
|
'job.deleteExpiredNeStateRecord',
|
||||||
|
'SYSTEM',
|
||||||
|
'deleteExpiredRecord',
|
||||||
|
'{\"duration\":3,\"tableName\":\"ne_state\",\"colName\":\"timestamp\"}',
|
||||||
|
'0 25 0 * * ?',
|
||||||
|
'3',
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'1',
|
||||||
|
'supervisor',
|
||||||
|
1698478134842,
|
||||||
|
'admin',
|
||||||
|
1703668901929,
|
||||||
|
'job.deleteExpiredNeStateRecordRemark'
|
||||||
|
);
|
||||||
|
|
||||||
UPDATE `omc_db`.`sys_job`
|
REPLACE INTO
|
||||||
SET
|
`omc_db`.`sys_job` (
|
||||||
`invoke_target` = 'delExpiredNeBackup',
|
`job_id`,
|
||||||
`job_name` = 'job.delExpiredNeBackup',
|
`job_name`,
|
||||||
`target_params` = '{\"duration\":60}',
|
`job_group`,
|
||||||
`cron_expression` = '0 20 0 * * ?',
|
`invoke_target`,
|
||||||
`misfire_policy` = '3',
|
`target_params`,
|
||||||
`concurrent` = '0',
|
`cron_expression`,
|
||||||
`status` = '1',
|
`misfire_policy`,
|
||||||
`save_log` = '1',
|
`concurrent`,
|
||||||
`create_by` = 'supervisor',
|
`status`,
|
||||||
`create_time` = 1698478134840,
|
`save_log`,
|
||||||
`update_by` = NULL,
|
`create_by`,
|
||||||
`update_time` = 0,
|
`create_time`,
|
||||||
`remark` = 'job.delExpiredNeBackupRemark'
|
`update_by`,
|
||||||
WHERE
|
`update_time`,
|
||||||
`job_id` = 4
|
`remark`
|
||||||
AND `job_group` = 'SYSTEM';
|
)
|
||||||
|
VALUES (
|
||||||
|
9,
|
||||||
|
'job.getStateFromNE',
|
||||||
|
'SYSTEM',
|
||||||
|
'getStateFromNE',
|
||||||
|
'',
|
||||||
|
'0/10 * * * * ?',
|
||||||
|
'3',
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'0',
|
||||||
|
'supervisor',
|
||||||
|
1698478134842,
|
||||||
|
'admin',
|
||||||
|
1703669877919,
|
||||||
|
'job.getStateFromNERemark'
|
||||||
|
);
|
||||||
|
|
||||||
UPDATE `omc_db`.`sys_job`
|
REPLACE INTO
|
||||||
SET
|
`omc_db`.`sys_job` (
|
||||||
`invoke_target` = 'deleteExpiredRecord',
|
`job_id`,
|
||||||
`job_name` = 'job.deleteExpiredAlarmRecord',
|
`job_name`,
|
||||||
`target_params` = '{\"duration\":90,\"tableName\":\"alarm\",\"colName\":\"event_time\",\"extras\":\"alarm_status=\'0\'\"}',
|
`job_group`,
|
||||||
`cron_expression` = '0 10 0 * * ?',
|
`invoke_target`,
|
||||||
`misfire_policy` = '3',
|
`target_params`,
|
||||||
`concurrent` = '0',
|
`cron_expression`,
|
||||||
`status` = '1',
|
`misfire_policy`,
|
||||||
`save_log` = '1',
|
`concurrent`,
|
||||||
`create_by` = 'supervisor',
|
`status`,
|
||||||
`create_time` = 1698478134841,
|
`save_log`,
|
||||||
`update_by` = NULL,
|
`create_by`,
|
||||||
`update_time` = 0,
|
`create_time`,
|
||||||
`remark` = 'job.deleteExpiredAlarmRecordRemark'
|
`update_by`,
|
||||||
WHERE
|
`update_time`,
|
||||||
`job_id` = 5
|
`remark`
|
||||||
AND `job_group` = 'SYSTEM';
|
)
|
||||||
|
VALUES (
|
||||||
UPDATE `omc_db`.`sys_job`
|
10,
|
||||||
SET
|
'job.genNeStateAlarm',
|
||||||
`invoke_target` = 'deleteExpiredRecord',
|
'SYSTEM',
|
||||||
`job_name` = 'job.deleteExpiredKpiRecord',
|
'genNeStateAlarm',
|
||||||
`target_params` = '{\"duration\":15,\"tableName\":\"gold_kpi\",\"colName\":\"date\"}',
|
'{\"AlarmID\":\"HXEMSSM10000\",\"alarmCode\":\"10000\",\"alarmTitle\":\"The system state is abnormal\",\"neType\":\"OMC\",\"alarmType\":\"EquipmentAlarm\",\"origSeverity\": \"Major\",\"objectName\":\"EMS;SystemManagement;Heartbeat\",\"objectType\":\"SystemState\",\"specificProblem\":\"Alarm cause: the system state of target NE has not been received for {threshold} seconds\", \"specificProblemID\":\"AC10000\",\"threshold\":30}',
|
||||||
`cron_expression` = '0 15 0 * * ?',
|
'0/5 * * * * ?',
|
||||||
`misfire_policy` = '3',
|
'3',
|
||||||
`concurrent` = '0',
|
'0',
|
||||||
`status` = '1',
|
'1',
|
||||||
`save_log` = '1',
|
'0',
|
||||||
`create_by` = 'supervisor',
|
'supervisor',
|
||||||
`create_time` = 1698478134842,
|
1698478134842,
|
||||||
`update_by` = NULL,
|
'admin',
|
||||||
`update_time` = 0,
|
1703768623188,
|
||||||
`remark` = 'job.deleteExpiredKpiRecordRemark'
|
'Health status inspection of network elements, generating alarms in case of abnormalities.'
|
||||||
WHERE
|
);
|
||||||
`job_id` = 6
|
|
||||||
AND `job_group` = 'SYSTEM';
|
|
||||||
|
|
||||||
UPDATE `omc_db`.`sys_job`
|
|
||||||
SET
|
|
||||||
`invoke_target` = 'backupEtcFromNE',
|
|
||||||
`job_name` = 'job.backupEtcFromNE',
|
|
||||||
`target_params` = NULL,
|
|
||||||
`cron_expression` = '0 30 0 * * ?',
|
|
||||||
`misfire_policy` = '3',
|
|
||||||
`concurrent` = '0',
|
|
||||||
`status` = '1',
|
|
||||||
`save_log` = '1',
|
|
||||||
`create_by` = 'supervisor',
|
|
||||||
`create_time` = 1698478134843,
|
|
||||||
`update_by` = NULL,
|
|
||||||
`update_time` = 0,
|
|
||||||
`remark` = 'job.backupEtcFromNERemark'
|
|
||||||
WHERE
|
|
||||||
`job_id` = 7
|
|
||||||
AND `job_group` = 'SYSTEM';
|
|
||||||
|
|
||||||
-- 调度任务记录日志字段
|
|
||||||
UPDATE `omc_db`.`sys_job` SET `save_log` = '1';
|
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
@@ -323,7 +323,112 @@ WHERE
|
|||||||
`job_id` = 7
|
`job_id` = 7
|
||||||
AND `job_group` = 'SYSTEM';
|
AND `job_group` = 'SYSTEM';
|
||||||
|
|
||||||
-- 调度任务记录日志字段
|
REPLACE
|
||||||
UPDATE `omc_db`.`sys_job` SET `save_log` = '1';
|
INTO `omc_db`.`sys_job` (
|
||||||
|
`job_id`,
|
||||||
|
`job_name`,
|
||||||
|
`job_group`,
|
||||||
|
`invoke_target`,
|
||||||
|
`target_params`,
|
||||||
|
`cron_expression`,
|
||||||
|
`misfire_policy`,
|
||||||
|
`concurrent`,
|
||||||
|
`status`,
|
||||||
|
`save_log`,
|
||||||
|
`create_by`,
|
||||||
|
`create_time`,
|
||||||
|
`update_by`,
|
||||||
|
`update_time`,
|
||||||
|
`remark`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
8,
|
||||||
|
'job.deleteExpiredNeStateRecord',
|
||||||
|
'SYSTEM',
|
||||||
|
'deleteExpiredRecord',
|
||||||
|
'{\"duration\":3,\"tableName\":\"ne_state\",\"colName\":\"timestamp\"}',
|
||||||
|
'0 25 0 * * ?',
|
||||||
|
'3',
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'1',
|
||||||
|
'supervisor',
|
||||||
|
1698478134842,
|
||||||
|
'admin',
|
||||||
|
1703668901929,
|
||||||
|
'job.deleteExpiredNeStateRecordRemark'
|
||||||
|
);
|
||||||
|
|
||||||
|
REPLACE
|
||||||
|
INTO `omc_db`.`sys_job` (
|
||||||
|
`job_id`,
|
||||||
|
`job_name`,
|
||||||
|
`job_group`,
|
||||||
|
`invoke_target`,
|
||||||
|
`target_params`,
|
||||||
|
`cron_expression`,
|
||||||
|
`misfire_policy`,
|
||||||
|
`concurrent`,
|
||||||
|
`status`,
|
||||||
|
`save_log`,
|
||||||
|
`create_by`,
|
||||||
|
`create_time`,
|
||||||
|
`update_by`,
|
||||||
|
`update_time`,
|
||||||
|
`remark`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
9,
|
||||||
|
'job.getStateFromNE',
|
||||||
|
'SYSTEM',
|
||||||
|
'getStateFromNE',
|
||||||
|
'',
|
||||||
|
'0/10 * * * * ?',
|
||||||
|
'3',
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'0',
|
||||||
|
'supervisor',
|
||||||
|
1698478134842,
|
||||||
|
'admin',
|
||||||
|
1703669877919,
|
||||||
|
'job.getStateFromNERemark'
|
||||||
|
);
|
||||||
|
|
||||||
|
REPLACE
|
||||||
|
INTO `omc_db`.`sys_job` (
|
||||||
|
`job_id`,
|
||||||
|
`job_name`,
|
||||||
|
`job_group`,
|
||||||
|
`invoke_target`,
|
||||||
|
`target_params`,
|
||||||
|
`cron_expression`,
|
||||||
|
`misfire_policy`,
|
||||||
|
`concurrent`,
|
||||||
|
`status`,
|
||||||
|
`save_log`,
|
||||||
|
`create_by`,
|
||||||
|
`create_time`,
|
||||||
|
`update_by`,
|
||||||
|
`update_time`,
|
||||||
|
`remark`
|
||||||
|
)
|
||||||
|
VALUES (
|
||||||
|
10,
|
||||||
|
'job.genNeStateAlarm',
|
||||||
|
'SYSTEM',
|
||||||
|
'genNeStateAlarm',
|
||||||
|
'{\"AlarmID\":\"HXEMSSM10000\",\"alarmCode\":\"10000\",\"alarmTitle\":\"The system state is abnormal\",\"neType\":\"OMC\",\"alarmType\":\"EquipmentAlarm\",\"origSeverity\": \"Major\",\"objectName\":\"EMS;SystemManagement;Heartbeat\",\"objectType\":\"SystemState\",\"specificProblem\":\"Alarm cause: the system state of target NE has not been received for {threshold} seconds\", \"specificProblemID\":\"AC10000\",\"threshold\":30}',
|
||||||
|
'0/5 * * * * ?',
|
||||||
|
'3',
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
'0',
|
||||||
|
'supervisor',
|
||||||
|
1698478134842,
|
||||||
|
'admin',
|
||||||
|
1703768623188,
|
||||||
|
'Health status inspection of network elements, generating alarms in case of abnormalities.'
|
||||||
|
);
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
@@ -43,8 +43,28 @@ var (
|
|||||||
CustomUriNeInstance = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/instance/{action}"
|
CustomUriNeInstance = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/instance/{action}"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
const (
|
||||||
|
NEStatusActive = 0
|
||||||
|
NEStatusOffline = 1
|
||||||
|
NEStatusStandby = 2
|
||||||
|
NEStatusMaintain = 3
|
||||||
|
)
|
||||||
|
|
||||||
|
var client = resty.New()
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
/*
|
||||||
|
client.
|
||||||
|
SetTimeout(10 * time.Second).
|
||||||
|
SetRetryCount(1).
|
||||||
|
SetRetryWaitTime(1 * time.Second).
|
||||||
|
SetRetryMaxWaitTime(2 * time.Second).
|
||||||
|
SetRetryAfter(func(client *resty.Client, resp *resty.Response) (time.Duration, error) {
|
||||||
|
return 0, errors.New("quota exceeded")
|
||||||
|
})
|
||||||
|
*/
|
||||||
|
client.
|
||||||
|
SetTimeout(time.Duration(1 * time.Second))
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetNeInfo(w http.ResponseWriter, r *http.Request) {
|
func GetNeInfo(w http.ResponseWriter, r *http.Request) {
|
||||||
@@ -69,7 +89,7 @@ func GetNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("dborm.XormGetNeInfo is failed:", err)
|
log.Error("dborm.XormGetNeInfo is failed:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,9 +125,10 @@ func PostNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
services.ResponseNotFound404UriNotExist(w, r)
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
syncFlag := services.GetUriParamString(r, "sync2ne", ",", false, false)
|
||||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("io.ReadAll is failed:", err)
|
log.Error("Failed to o.ReadAll:", err)
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -123,41 +144,13 @@ func PostNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo.UpdateTime = time.Now().Format(time.DateTime)
|
neInfo.UpdateTime = time.Now().Format(time.DateTime)
|
||||||
log.Debug("NE info:", neInfo)
|
log.Debug("NE info:", neInfo)
|
||||||
|
|
||||||
hostUri := global.CombineHostUri(neInfo.Ip, neInfo.Port)
|
//if !config.GetYamlConfig().OMC.Chk2Ne {
|
||||||
//hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
if syncFlag == "false" {
|
||||||
apiUri := fmt.Sprintf(UriParamOmcNeConfig, strings.ToLower(neInfo.NeType))
|
neInfo.Status = NEStatusMaintain
|
||||||
requestURI2NF := fmt.Sprintf("%s%s", hostUri, apiUri)
|
|
||||||
log.Debug("requestURI2NF:", requestURI2NF)
|
|
||||||
|
|
||||||
omcNeConfig := &OmcNeConfig{
|
|
||||||
NeId: neInfo.NeId,
|
|
||||||
RmUID: neInfo.RmUID,
|
|
||||||
NeName: neInfo.NeName,
|
|
||||||
PvFlag: neInfo.PvFlag,
|
|
||||||
Province: neInfo.Province,
|
|
||||||
VendorName: neInfo.VendorName,
|
|
||||||
Dn: neInfo.Dn,
|
|
||||||
}
|
|
||||||
body, _ = json.Marshal(omcNeConfig)
|
|
||||||
client := resty.New()
|
|
||||||
response, err := client.R().
|
|
||||||
EnableTrace().
|
|
||||||
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
|
||||||
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
|
||||||
SetBody(body).
|
|
||||||
Put(requestURI2NF)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to Put:", err)
|
|
||||||
services.ResponseInternalServerError500NFConnectRefused(w)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Info("StatusCode: ", response.StatusCode())
|
|
||||||
|
|
||||||
if !config.GetYamlConfig().OMC.Chk2Ne {
|
|
||||||
affected, err := dborm.XormInsertNeInfo(neInfo)
|
affected, err := dborm.XormInsertNeInfo(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to insert Ne info:", err)
|
log.Error("Failed to insert Ne info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,13 +160,43 @@ func PostNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
services.ResponseWithJson(w, http.StatusOK, mapRow)
|
services.ResponseWithJson(w, http.StatusOK, mapRow)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
hostUri := global.CombineHostUri(neInfo.Ip, neInfo.Port)
|
||||||
|
//hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
||||||
|
apiUri := fmt.Sprintf(UriParamOmcNeConfig, strings.ToLower(neInfo.NeType))
|
||||||
|
requestURI2NF := fmt.Sprintf("%s%s", hostUri, apiUri)
|
||||||
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
|
omcNeConfig := &OmcNeConfig{
|
||||||
|
NeId: neInfo.NeId,
|
||||||
|
RmUID: neInfo.RmUID,
|
||||||
|
NeName: neInfo.NeName,
|
||||||
|
PvFlag: neInfo.PvFlag,
|
||||||
|
Province: neInfo.Province,
|
||||||
|
VendorName: neInfo.VendorName,
|
||||||
|
Dn: neInfo.Dn,
|
||||||
|
}
|
||||||
|
body, _ = json.Marshal(omcNeConfig)
|
||||||
|
response, err := client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
SetBody(body).
|
||||||
|
Put(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to Put:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Info("StatusCode: ", response.StatusCode())
|
||||||
|
|
||||||
respMsg := make(map[string]interface{})
|
respMsg := make(map[string]interface{})
|
||||||
switch response.StatusCode() {
|
switch response.StatusCode() {
|
||||||
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
||||||
|
neInfo.Status = NEStatusActive
|
||||||
affected, err := dborm.XormInsertNeInfo(neInfo)
|
affected, err := dborm.XormInsertNeInfo(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to dborm.XormInsertNeInfo:", err)
|
log.Error("Failed to dborm.XormInsertNeInfo:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
} else if affected <= 0 {
|
} else if affected <= 0 {
|
||||||
log.Infof("Not record affected to insert ne_info")
|
log.Infof("Not record affected to insert ne_info")
|
||||||
@@ -208,9 +231,10 @@ func PutNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
services.ResponseNotFound404UriNotExist(w, r)
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
syncFlag := services.GetUriParamString(r, "sync2ne", ",", false, false)
|
||||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("io.ReadAll is failed:", err)
|
log.Error("Failed to io.ReadAll:", err)
|
||||||
services.ResponseNotFound404UriNotExist(w, r)
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -221,41 +245,13 @@ func PutNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo.UpdateTime = time.Now().Format(time.DateTime)
|
neInfo.UpdateTime = time.Now().Format(time.DateTime)
|
||||||
log.Debug("NE info:", neInfo)
|
log.Debug("NE info:", neInfo)
|
||||||
|
|
||||||
hostUri := global.CombineHostUri(neInfo.Ip, neInfo.Port)
|
//if !config.GetYamlConfig().OMC.Chk2Ne {
|
||||||
//hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
if syncFlag == "false" {
|
||||||
apiUri := fmt.Sprintf(UriParamOmcNeConfig, strings.ToLower(neType))
|
neInfo.Status = NEStatusMaintain
|
||||||
requestURI2NF := fmt.Sprintf("%s%s", hostUri, apiUri)
|
|
||||||
log.Debug("requestURI2NF:", requestURI2NF)
|
|
||||||
|
|
||||||
omcNeConfig := &OmcNeConfig{
|
|
||||||
NeId: neInfo.NeId,
|
|
||||||
RmUID: neInfo.RmUID,
|
|
||||||
NeName: neInfo.NeName,
|
|
||||||
PvFlag: neInfo.PvFlag,
|
|
||||||
Province: neInfo.Province,
|
|
||||||
VendorName: neInfo.VendorName,
|
|
||||||
Dn: neInfo.Dn,
|
|
||||||
}
|
|
||||||
body, _ = json.Marshal(omcNeConfig)
|
|
||||||
client := resty.New()
|
|
||||||
response, err := client.R().
|
|
||||||
EnableTrace().
|
|
||||||
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
|
||||||
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
|
||||||
SetBody(body).
|
|
||||||
Put(requestURI2NF)
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to Put:", err)
|
|
||||||
services.ResponseInternalServerError500NFConnectRefused(w)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Info("StatusCode: ", response.StatusCode())
|
|
||||||
|
|
||||||
if !config.GetYamlConfig().OMC.Chk2Ne {
|
|
||||||
affected, err := dborm.XormUpdateNeInfo(neInfo)
|
affected, err := dborm.XormUpdateNeInfo(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to update Ne info:", err)
|
log.Error("Failed to update Ne info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,13 +261,43 @@ func PutNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
services.ResponseWithJson(w, http.StatusOK, mapRow)
|
services.ResponseWithJson(w, http.StatusOK, mapRow)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
hostUri := global.CombineHostUri(neInfo.Ip, neInfo.Port)
|
||||||
|
//hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
||||||
|
apiUri := fmt.Sprintf(UriParamOmcNeConfig, strings.ToLower(neType))
|
||||||
|
requestURI2NF := fmt.Sprintf("%s%s", hostUri, apiUri)
|
||||||
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
|
omcNeConfig := &OmcNeConfig{
|
||||||
|
NeId: neInfo.NeId,
|
||||||
|
RmUID: neInfo.RmUID,
|
||||||
|
NeName: neInfo.NeName,
|
||||||
|
PvFlag: neInfo.PvFlag,
|
||||||
|
Province: neInfo.Province,
|
||||||
|
VendorName: neInfo.VendorName,
|
||||||
|
Dn: neInfo.Dn,
|
||||||
|
}
|
||||||
|
body, _ = json.Marshal(omcNeConfig)
|
||||||
|
response, err := client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
SetBody(body).
|
||||||
|
Put(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to Put:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Info("StatusCode: ", response.StatusCode())
|
||||||
|
|
||||||
respMsg := make(map[string]interface{})
|
respMsg := make(map[string]interface{})
|
||||||
switch response.StatusCode() {
|
switch response.StatusCode() {
|
||||||
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
||||||
|
neInfo.Status = NEStatusActive
|
||||||
affected, err := dborm.XormUpdateNeInfo(neInfo)
|
affected, err := dborm.XormUpdateNeInfo(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to dborm.XormUpdateNeInfo:", err)
|
log.Error("Failed to dborm.XormUpdateNeInfo:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
} else if affected <= 0 {
|
} else if affected <= 0 {
|
||||||
log.Infof("Not record affected to insert ne_info")
|
log.Infof("Not record affected to insert ne_info")
|
||||||
@@ -321,7 +347,7 @@ func DeleteNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err = dborm.XormGetNeInfo(neInfo.NeType, neInfo.NeId)
|
neInfo, err = dborm.XormGetNeInfo(neInfo.NeType, neInfo.NeId)
|
||||||
if err != nil || neInfo == nil {
|
if err != nil || neInfo == nil {
|
||||||
log.Error("Failed to delete Ne info:", err)
|
log.Error("Failed to delete Ne info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Debug("NE info:", neInfo)
|
log.Debug("NE info:", neInfo)
|
||||||
@@ -331,7 +357,7 @@ func DeleteNeInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
affected, err := dborm.XormDeleteNeInfo(neInfo)
|
affected, err := dborm.XormDeleteNeInfo(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to delete Ne info:", err)
|
log.Error("Failed to delete Ne info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,7 +379,6 @@ func IsActiveNF(neInfo *dborm.NeInfo) bool {
|
|||||||
requestURI := fmt.Sprintf(config.UriPrefix+"/systemManagement/v1/elementType/%s/objectType/systemState",
|
requestURI := fmt.Sprintf(config.UriPrefix+"/systemManagement/v1/elementType/%s/objectType/systemState",
|
||||||
strings.ToLower(neInfo.NeType))
|
strings.ToLower(neInfo.NeType))
|
||||||
|
|
||||||
client := resty.New()
|
|
||||||
response, err := client.R().
|
response, err := client.R().
|
||||||
EnableTrace().
|
EnableTrace().
|
||||||
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
@@ -361,6 +386,7 @@ func IsActiveNF(neInfo *dborm.NeInfo) bool {
|
|||||||
Get(hostUri + requestURI)
|
Get(hostUri + requestURI)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to Get:", err)
|
log.Error("Failed to Get:", err)
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
switch response.StatusCode() {
|
switch response.StatusCode() {
|
||||||
@@ -395,7 +421,7 @@ func ExportCmFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Failed to get ne_info:", err)
|
log.Errorf("Failed to get ne_info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Debug("neInfo:", neInfo)
|
log.Debug("neInfo:", neInfo)
|
||||||
@@ -561,7 +587,7 @@ func ImportCmToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Failed to get ne_info:", err)
|
log.Errorf("Failed to get ne_info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Debug("neInfo:", neInfo)
|
log.Debug("neInfo:", neInfo)
|
||||||
@@ -802,7 +828,7 @@ func PostNeServiceAction(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get ne_info:", err)
|
log.Error("Failed to get ne_info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Debug("neInfo:", neInfo)
|
log.Debug("neInfo:", neInfo)
|
||||||
@@ -888,7 +914,7 @@ func PostNeInstanceAction(w http.ResponseWriter, r *http.Request) {
|
|||||||
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Failed to get ne_info:", err)
|
log.Errorf("Failed to get ne_info:", err)
|
||||||
services.ResponseInternalServerError500DatabaseOperationFailed(w)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Debug("neInfo:", neInfo)
|
log.Debug("neInfo:", neInfo)
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ func UploadSoftwareMultiFile(w http.ResponseWriter, r *http.Request) {
|
|||||||
//fileName, err := services.HandleUploadFile(r, softwarePath, "")
|
//fileName, err := services.HandleUploadFile(r, softwarePath, "")
|
||||||
|
|
||||||
// 解析multipart/form-data请求
|
// 解析multipart/form-data请求
|
||||||
err = r.ParseMultipartForm(200 << 20) // 200MB
|
err = r.ParseMultipartForm(1000 << 20) // 1000MB
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Faile to ParseMultipartForm:", err)
|
log.Error("Faile to ParseMultipartForm:", err)
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
|||||||
@@ -23,8 +23,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
AlarmStatusClear = 0
|
AlarmStatusClear = 0
|
||||||
AlarmStatusActive = 1
|
AlarmStatusActive = 1
|
||||||
|
AlarmStatusClearString = "0"
|
||||||
|
AlarmStatusActiveString = "1"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -264,6 +264,80 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// mmlResult = append(mmlResult, "COMMAND OK\n")
|
// mmlResult = append(mmlResult, "COMMAND OK\n")
|
||||||
}
|
}
|
||||||
case "ims":
|
case "ims":
|
||||||
|
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
||||||
|
conn, err := net.Dial("tcp", hostMML)
|
||||||
|
if err != nil {
|
||||||
|
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
|
||||||
|
log.Error(errMsg)
|
||||||
|
mmlResult = append(mmlResult, errMsg)
|
||||||
|
response := Response{mmlResult}
|
||||||
|
services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer conn.Close()
|
||||||
|
|
||||||
|
// localAddr := conn.LocalAddr()
|
||||||
|
// remoteAddr := conn.RemoteAddr()
|
||||||
|
// if localAddr == nil || remoteAddr == nil {
|
||||||
|
// errMsg := fmt.Sprintf("connect invalid: localAddr=%v, remoteAddr=%v", localAddr, remoteAddr)
|
||||||
|
// log.Error(errMsg)
|
||||||
|
// mmlResult = append(mmlResult, errMsg)
|
||||||
|
// response := Response{mmlResult}
|
||||||
|
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
conn.SetDeadline(time.Now().Add(10 * time.Second))
|
||||||
|
|
||||||
|
_, err = conn.Write([]byte(config.GetYamlConfig().MML.User + "\r\n"))
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to write:", err)
|
||||||
|
mmlResult = append(mmlResult, err.Error())
|
||||||
|
response := Response{mmlResult}
|
||||||
|
services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||||
|
|
||||||
|
n, err = conn.Read(buf[0:])
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to read:", err)
|
||||||
|
mmlResult = append(mmlResult, err.Error())
|
||||||
|
response := Response{mmlResult}
|
||||||
|
services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Debug(string(buf[0:n]))
|
||||||
|
|
||||||
|
_, err = conn.Write([]byte(config.GetYamlConfig().MML.Password + "\r\n"))
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to write:", err)
|
||||||
|
mmlResult = append(mmlResult, err.Error())
|
||||||
|
response := Response{mmlResult}
|
||||||
|
services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||||
|
|
||||||
|
// loginStr := fmt.Sprintf("%s\r\n%s\r\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
||||||
|
// _, err = conn.Write([]byte(loginStr))
|
||||||
|
// if err != nil {
|
||||||
|
// log.Error("Failed to write:", err)
|
||||||
|
// mmlResult = append(mmlResult, err.Error())
|
||||||
|
// response := Response{mmlResult}
|
||||||
|
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||||
|
|
||||||
|
n, err = conn.Read(buf[0:])
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to read:", err)
|
||||||
|
mmlResult = append(mmlResult, err.Error())
|
||||||
|
response := Response{mmlResult}
|
||||||
|
services.ResponseWithJson(w, http.StatusOK, response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Trace(string(buf[0 : n-len(neType)-2]))
|
||||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("io.ReadAll is failed:", err)
|
log.Error("io.ReadAll is failed:", err)
|
||||||
@@ -276,81 +350,7 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = json.Unmarshal(body, mmlRequest)
|
_ = json.Unmarshal(body, mmlRequest)
|
||||||
|
|
||||||
for _, mml := range mmlRequest.MML {
|
for _, mml := range mmlRequest.MML {
|
||||||
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
mmlCommand := fmt.Sprintf("%s\r\n", mml)
|
||||||
conn, err := net.Dial("tcp", hostMML)
|
|
||||||
if err != nil {
|
|
||||||
errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
|
|
||||||
log.Error(errMsg)
|
|
||||||
mmlResult = append(mmlResult, errMsg)
|
|
||||||
response := Response{mmlResult}
|
|
||||||
services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
// localAddr := conn.LocalAddr()
|
|
||||||
// remoteAddr := conn.RemoteAddr()
|
|
||||||
// if localAddr == nil || remoteAddr == nil {
|
|
||||||
// errMsg := fmt.Sprintf("connect invalid: localAddr=%v, remoteAddr=%v", localAddr, remoteAddr)
|
|
||||||
// log.Error(errMsg)
|
|
||||||
// mmlResult = append(mmlResult, errMsg)
|
|
||||||
// response := Response{mmlResult}
|
|
||||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
conn.SetDeadline(time.Now().Add(10 * time.Second))
|
|
||||||
|
|
||||||
_, err = conn.Write([]byte(config.GetYamlConfig().MML.User + "\n"))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
mmlResult = append(mmlResult, err.Error())
|
|
||||||
response := Response{mmlResult}
|
|
||||||
services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
mmlResult = append(mmlResult, err.Error())
|
|
||||||
response := Response{mmlResult}
|
|
||||||
services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Debug(string(buf[0:n]))
|
|
||||||
|
|
||||||
_, err = conn.Write([]byte(config.GetYamlConfig().MML.Password + "\n"))
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to write:", err)
|
|
||||||
mmlResult = append(mmlResult, err.Error())
|
|
||||||
response := Response{mmlResult}
|
|
||||||
services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
|
||||||
|
|
||||||
// loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
|
||||||
// _, err = conn.Write([]byte(loginStr))
|
|
||||||
// if err != nil {
|
|
||||||
// log.Error("Failed to write:", err)
|
|
||||||
// mmlResult = append(mmlResult, err.Error())
|
|
||||||
// response := Response{mmlResult}
|
|
||||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
n, err = conn.Read(buf[0:])
|
|
||||||
if err != nil {
|
|
||||||
log.Error("Failed to read:", err)
|
|
||||||
mmlResult = append(mmlResult, err.Error())
|
|
||||||
response := Response{mmlResult}
|
|
||||||
services.ResponseWithJson(w, http.StatusOK, response)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.Trace(string(buf[0 : n-len(neType)-2]))
|
|
||||||
|
|
||||||
mmlCommand := fmt.Sprintf("%s\n", mml)
|
|
||||||
log.Debug("mml command:", mmlCommand)
|
log.Debug("mml command:", mmlCommand)
|
||||||
_, err = conn.Write([]byte(mmlCommand))
|
_, err = conn.Write([]byte(mmlCommand))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -377,11 +377,9 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
re2 := regexp.MustCompile(`[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x1B]`) // 匹配空字符和包含␛的控制字符
|
re2 := regexp.MustCompile(`[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x1B]`) // 匹配空字符和包含␛的控制字符
|
||||||
//re := regexp.MustCompile(`[\x00-\x1F\x7F]`)
|
//re := regexp.MustCompile(`[\x00-\x1F\x7F]`)
|
||||||
// upf telnet buffer只能读取一次,需要去掉前面的多余字符
|
// upf telnet buffer只能读取一次,需要去掉前面的多余字符
|
||||||
//result := re1.ReplaceAllString(string(buf[0:n-len(neType)-2]), "")
|
result := re1.ReplaceAllString(string(buf[0:n-len(neType)-2]), "")
|
||||||
result := re1.ReplaceAllString(string(buf[0:]), "")
|
|
||||||
result = re2.ReplaceAllString(result, "")
|
result = re2.ReplaceAllString(result, "")
|
||||||
mmlResult = append(mmlResult, result)
|
mmlResult = append(mmlResult, result)
|
||||||
conn.Close()
|
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
|
||||||
|
|||||||
@@ -154,7 +154,12 @@ func init() {
|
|||||||
return 0, errors.New("quota exceeded")
|
return 0, errors.New("quota exceeded")
|
||||||
})
|
})
|
||||||
*/
|
*/
|
||||||
client.SetTimeout(3 * time.Second)
|
client.
|
||||||
|
SetTimeout(time.Duration(400 * time.Millisecond))
|
||||||
|
// SetRetryCount(1).
|
||||||
|
// SetRetryWaitTime(time.Duration(1 * time.Second)).
|
||||||
|
// SetRetryMaxWaitTime(time.Duration(2 * time.Second))
|
||||||
|
//client.SetTimeout(2 * time.Second)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NeStatusEnumToStr(intStatus int) string {
|
func NeStatusEnumToStr(intStatus int) string {
|
||||||
@@ -216,7 +221,7 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
if neType != omcNeTypeLower {
|
if neType != omcNeTypeLower {
|
||||||
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
|
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
|
||||||
var requestURI2NF string
|
var requestURI2NF string
|
||||||
if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(neType) != "udm" {
|
if config.GetYamlConfig().OMC.TestMode && strings.ToLower(neType) != "udm" {
|
||||||
var udmNEs []dborm.NeInfo
|
var udmNEs []dborm.NeInfo
|
||||||
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -245,7 +250,7 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
Get(requestURI2NF)
|
Get(requestURI2NF)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Get system state from NF is failed:", err)
|
log.Error("Failed to get system state:", err)
|
||||||
services.ResponseInternalServerError500ProcessError(w, err)
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
@@ -266,6 +271,9 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
//neItem := strings.ToUpper(neType) + "/" + neId
|
//neItem := strings.ToUpper(neType) + "/" + neId
|
||||||
result, err = global.ToMap(*licenseInfo, "json")
|
result, err = global.ToMap(*licenseInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
systemState := GetEMSState(neInfo.Ip)
|
systemState := GetEMSState(neInfo.Ip)
|
||||||
@@ -279,6 +287,9 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
ExpiryDate: systemState.ExpiryDate,
|
ExpiryDate: systemState.ExpiryDate,
|
||||||
}
|
}
|
||||||
result, err = global.ToMap(*licenseInfo, "json")
|
result, err = global.ToMap(*licenseInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
// neItem := strings.ToUpper(neType) + "/" + neId
|
// neItem := strings.ToUpper(neType) + "/" + neId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
}
|
}
|
||||||
@@ -306,6 +317,11 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
var neList []dborm.NeInfo
|
var neList []dborm.NeInfo
|
||||||
_, err = dborm.XormGetAllNeInfo(&neList)
|
_, err = dborm.XormGetAllNeInfo(&neList)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to XormGetAllNeInfo:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
omcNeTypeLower := "omc"
|
omcNeTypeLower := "omc"
|
||||||
if config.GetYamlConfig().OMC.NeType != "" {
|
if config.GetYamlConfig().OMC.NeType != "" {
|
||||||
omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType)
|
omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType)
|
||||||
@@ -321,7 +337,7 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
|
// requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
|
||||||
// hostUri, strings.ToLower(ne.NeType))
|
// hostUri, strings.ToLower(ne.NeType))
|
||||||
var requestURI2NF string
|
var requestURI2NF string
|
||||||
if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(ne.NeType) != "udm" {
|
if config.GetYamlConfig().OMC.TestMode && strings.ToLower(ne.NeType) != "udm" {
|
||||||
var udmNEs []dborm.NeInfo
|
var udmNEs []dborm.NeInfo
|
||||||
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -342,7 +358,7 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
log.Debug("requestURI2NF:", requestURI2NF)
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
resp, err := client.R().
|
resp, err := client.SetTimeout(time.Duration(1 * time.Second)).R().
|
||||||
EnableTrace().
|
EnableTrace().
|
||||||
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
||||||
SetHeaders(map[string]string{"accessToken": token}).
|
SetHeaders(map[string]string{"accessToken": token}).
|
||||||
@@ -369,6 +385,9 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
ExpiryDate: systemState.ExpiryDate,
|
ExpiryDate: systemState.ExpiryDate,
|
||||||
}
|
}
|
||||||
result, err = global.ToMap(*licenseInfo, "json")
|
result, err = global.ToMap(*licenseInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
}
|
}
|
||||||
@@ -384,6 +403,9 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
ExpiryDate: systemState.ExpiryDate,
|
ExpiryDate: systemState.ExpiryDate,
|
||||||
}
|
}
|
||||||
result, err = global.ToMap(*licenseInfo, "json")
|
result, err = global.ToMap(*licenseInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
}
|
}
|
||||||
@@ -441,7 +463,7 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
if neType != omcNeTypeLower {
|
if neType != omcNeTypeLower {
|
||||||
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
|
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
|
||||||
var requestURI2NF string
|
var requestURI2NF string
|
||||||
if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(neType) != "udm" {
|
if config.GetYamlConfig().OMC.TestMode && strings.ToLower(neType) != "udm" {
|
||||||
var udmNEs []dborm.NeInfo
|
var udmNEs []dborm.NeInfo
|
||||||
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -515,6 +537,9 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
//neItem := strings.ToUpper(neType) + "/" + neId
|
//neItem := strings.ToUpper(neType) + "/" + neId
|
||||||
result, err = global.ToMap(*sysInfo, "json")
|
result, err = global.ToMap(*sysInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
systemState := GetEMSState(neInfo.Ip)
|
systemState := GetEMSState(neInfo.Ip)
|
||||||
@@ -533,6 +558,9 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
Status: NeStatusEnumToStr(neInfo.Status),
|
Status: NeStatusEnumToStr(neInfo.Status),
|
||||||
}
|
}
|
||||||
result, err = global.ToMap(*sysInfo, "json")
|
result, err = global.ToMap(*sysInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
// neItem := strings.ToUpper(neType) + "/" + neId
|
// neItem := strings.ToUpper(neType) + "/" + neId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
}
|
}
|
||||||
@@ -560,6 +588,11 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
var neList []dborm.NeInfo
|
var neList []dborm.NeInfo
|
||||||
_, err = dborm.XormGetAllNeInfo(&neList)
|
_, err = dborm.XormGetAllNeInfo(&neList)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to XormGetAllNeInfo:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
omcNeTypeLower := "omc"
|
omcNeTypeLower := "omc"
|
||||||
if config.GetYamlConfig().OMC.NeType != "" {
|
if config.GetYamlConfig().OMC.NeType != "" {
|
||||||
omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType)
|
omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType)
|
||||||
@@ -575,7 +608,7 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
|
// requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
|
||||||
// hostUri, strings.ToLower(ne.NeType))
|
// hostUri, strings.ToLower(ne.NeType))
|
||||||
var requestURI2NF string
|
var requestURI2NF string
|
||||||
if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(ne.NeType) != "udm" {
|
if config.GetYamlConfig().OMC.TestMode && strings.ToLower(ne.NeType) != "udm" {
|
||||||
var udmNEs []dborm.NeInfo
|
var udmNEs []dborm.NeInfo
|
||||||
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -596,7 +629,7 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
log.Debug("requestURI2NF:", requestURI2NF)
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
resp, err := client.R().
|
resp, err := client.SetTimeout(time.Duration(1 * time.Second)).R().
|
||||||
EnableTrace().
|
EnableTrace().
|
||||||
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
||||||
SetHeaders(map[string]string{"accessToken": token}).
|
SetHeaders(map[string]string{"accessToken": token}).
|
||||||
@@ -651,6 +684,9 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
result, err = global.ToMap(*sysInfo, "json")
|
result, err = global.ToMap(*sysInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
port, _ := strconv.Atoi(ne.Port)
|
port, _ := strconv.Atoi(ne.Port)
|
||||||
@@ -672,6 +708,9 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
// neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId
|
||||||
// result[neItem] = sysInfo
|
// result[neItem] = sysInfo
|
||||||
result, err = global.ToMap(*sysInfo, "json")
|
result, err = global.ToMap(*sysInfo, "json")
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("Failed to map:", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
data = append(data, result)
|
data = append(data, result)
|
||||||
@@ -785,6 +824,9 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused",
|
ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused",
|
||||||
}
|
}
|
||||||
result["error"] = errorMessage
|
result["error"] = errorMessage
|
||||||
|
SN, Version, _ := dborm.XormGetNEStateInfo(ne.NeType, ne.NeId)
|
||||||
|
result["serialNum"] = SN
|
||||||
|
result["version"] = Version
|
||||||
} else {
|
} else {
|
||||||
systemState := make(map[string]interface{})
|
systemState := make(map[string]interface{})
|
||||||
_ = json.Unmarshal(resp.Body(), &systemState)
|
_ = json.Unmarshal(resp.Body(), &systemState)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"ems.agt/lib/dborm"
|
"ems.agt/lib/dborm"
|
||||||
@@ -79,6 +80,8 @@ var (
|
|||||||
UriPCFUserM = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}"
|
UriPCFUserM = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}"
|
||||||
UriPCFUserFileImport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import"
|
UriPCFUserFileImport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import"
|
||||||
UriPCFUserFileExport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export"
|
UriPCFUserFileExport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export"
|
||||||
|
UriNSSFAvailableAMFs = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/availableAMFs"
|
||||||
|
UriNSSFSubscriptions = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/subscriptions"
|
||||||
|
|
||||||
CustomUriNBInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
CustomUriNBInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
||||||
CustomUriUEInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
CustomUriUEInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
||||||
@@ -87,6 +90,8 @@ var (
|
|||||||
CustomUriPCFUserM = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}"
|
CustomUriPCFUserM = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}"
|
||||||
CustomUriPCFUserFileImport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import"
|
CustomUriPCFUserFileImport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import"
|
||||||
CustomUriPCFUserFileExport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export"
|
CustomUriPCFUserFileExport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export"
|
||||||
|
CustomUriNSSFAvailableAMFs = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/availableAMFs"
|
||||||
|
CustomUriNSSFSubscriptions = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/subscriptions"
|
||||||
)
|
)
|
||||||
|
|
||||||
var client = resty.New()
|
var client = resty.New()
|
||||||
@@ -105,6 +110,134 @@ func init() {
|
|||||||
client.SetTimeout(3 * time.Second)
|
client.SetTimeout(3 * time.Second)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get AvailableAMFs from NSSF
|
||||||
|
func GetAvailableAMFsFromNSSF(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Info("GetAvailableAMFsFromNSSF processing... ")
|
||||||
|
|
||||||
|
vars := mux.Vars(r)
|
||||||
|
neType := vars["elementTypeValue"]
|
||||||
|
if strings.ToLower(neType) != "nssf" {
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//neTypeLower := strings.ToLower(neType)
|
||||||
|
var neId string
|
||||||
|
neIds := services.GetParamsArrByName("neId", r)
|
||||||
|
if len(neIds) == 1 {
|
||||||
|
neId = neIds[0]
|
||||||
|
} else {
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
token, err := services.CheckFrontValidRequest(w, r)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Request error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Debug("token:", token)
|
||||||
|
|
||||||
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to XormGetNeInfo:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else if neInfo == nil {
|
||||||
|
err := global.ErrCMNotFoundTargetNE
|
||||||
|
log.Error(global.ErrCMNotFoundTargetNE)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Trace("neInfo:", neInfo)
|
||||||
|
|
||||||
|
hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
||||||
|
requestURI2NF := fmt.Sprintf("%s%s", hostUri, r.RequestURI)
|
||||||
|
|
||||||
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
|
resp, err := client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
||||||
|
SetHeaders(map[string]string{"accessToken": token}).
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
Get(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Get system state from NF is failed:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
var response services.MapResponse
|
||||||
|
_ = json.Unmarshal(resp.Body(), &response)
|
||||||
|
services.ResponseWithJson(w, resp.StatusCode(), response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get Subscriptions from NSSF
|
||||||
|
func GetSubscriptionsFromNSSF(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Info("GetSubscriptionsFromNSSF processing... ")
|
||||||
|
|
||||||
|
vars := mux.Vars(r)
|
||||||
|
neType := vars["elementTypeValue"]
|
||||||
|
if strings.ToLower(neType) != "nssf" {
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//neTypeLower := strings.ToLower(neType)
|
||||||
|
var neId string
|
||||||
|
neIds := services.GetParamsArrByName("neId", r)
|
||||||
|
if len(neIds) == 1 {
|
||||||
|
neId = neIds[0]
|
||||||
|
} else {
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
token, err := services.CheckFrontValidRequest(w, r)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Request error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Debug("token:", token)
|
||||||
|
|
||||||
|
neInfo, err := dborm.XormGetNeInfo(neType, neId)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to XormGetNeInfo:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else if neInfo == nil {
|
||||||
|
err := global.ErrCMNotFoundTargetNE
|
||||||
|
log.Error(global.ErrCMNotFoundTargetNE)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Trace("neInfo:", neInfo)
|
||||||
|
|
||||||
|
hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port)
|
||||||
|
requestURI2NF := fmt.Sprintf("%s%s", hostUri, r.RequestURI)
|
||||||
|
|
||||||
|
log.Debug("requestURI2NF:", requestURI2NF)
|
||||||
|
|
||||||
|
resp, err := client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}).
|
||||||
|
SetHeaders(map[string]string{"accessToken": token}).
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
Get(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Get system state from NF is failed:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
var response services.MapResponse
|
||||||
|
_ = json.Unmarshal(resp.Body(), &response)
|
||||||
|
services.ResponseWithJson(w, resp.StatusCode(), response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get UEInfo from NF/NFs
|
// Get UEInfo from NF/NFs
|
||||||
func GetUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
func GetUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
||||||
log.Info("GetUEInfoFromNF processing... ")
|
log.Info("GetUEInfoFromNF processing... ")
|
||||||
|
|||||||
19
go.mod
19
go.mod
@@ -11,7 +11,6 @@ require (
|
|||||||
github.com/go-admin-team/go-admin-core/sdk v1.5.1
|
github.com/go-admin-team/go-admin-core/sdk v1.5.1
|
||||||
github.com/go-resty/resty/v2 v2.7.0
|
github.com/go-resty/resty/v2 v2.7.0
|
||||||
github.com/go-sql-driver/mysql v1.7.1
|
github.com/go-sql-driver/mysql v1.7.1
|
||||||
github.com/go-xorm/xorm v0.7.9
|
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0
|
github.com/golang-jwt/jwt/v5 v5.0.0
|
||||||
github.com/gorilla/mux v1.8.0
|
github.com/gorilla/mux v1.8.0
|
||||||
github.com/gorilla/websocket v1.5.0
|
github.com/gorilla/websocket v1.5.0
|
||||||
@@ -43,21 +42,8 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/KyleBanks/depth v1.2.1 // indirect
|
github.com/creack/pty v1.1.9 // indirect
|
||||||
github.com/PuerkitoBio/purell v1.2.1 // indirect
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
|
|
||||||
github.com/go-admin-team/go-admin-core v1.3.12-0.20221121065133-27b7dbe27a8f // indirect
|
github.com/go-admin-team/go-admin-core v1.3.12-0.20221121065133-27b7dbe27a8f // indirect
|
||||||
github.com/go-openapi/jsonpointer v0.20.0 // indirect
|
|
||||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
|
||||||
github.com/go-openapi/spec v0.20.11 // indirect
|
|
||||||
github.com/go-openapi/swag v0.22.4 // indirect
|
|
||||||
github.com/josharian/intern v1.0.0 // indirect
|
|
||||||
github.com/mailru/easyjson v0.7.7 // indirect
|
|
||||||
github.com/swaggo/swag v1.16.2 // indirect
|
|
||||||
github.com/urfave/cli/v2 v2.26.0 // indirect
|
|
||||||
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e // indirect
|
|
||||||
sigs.k8s.io/yaml v1.4.0 // indirect
|
|
||||||
xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb // indirect
|
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
@@ -125,7 +111,6 @@ require (
|
|||||||
github.com/richardlehane/msoleps v1.0.3 // indirect
|
github.com/richardlehane/msoleps v1.0.3 // indirect
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
|
||||||
github.com/spf13/cast v1.5.1 // indirect
|
github.com/spf13/cast v1.5.1 // indirect
|
||||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5
|
github.com/spf13/pflag v1.0.5
|
||||||
@@ -145,7 +130,7 @@ require (
|
|||||||
golang.org/x/image v0.5.0 // indirect
|
golang.org/x/image v0.5.0 // indirect
|
||||||
golang.org/x/net v0.19.0
|
golang.org/x/net v0.19.0
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
golang.org/x/sys v0.15.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/text v0.14.0
|
||||||
golang.org/x/tools v0.16.1 // indirect
|
golang.org/x/tools v0.16.1 // indirect
|
||||||
google.golang.org/protobuf v1.30.0 // indirect
|
google.golang.org/protobuf v1.30.0 // indirect
|
||||||
gopkg.in/AlecAivazis/survey.v1 v1.8.5 // indirect
|
gopkg.in/AlecAivazis/survey.v1 v1.8.5 // indirect
|
||||||
|
|||||||
88
go.sum
88
go.sum
@@ -1,6 +1,5 @@
|
|||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
|
|
||||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||||
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
||||||
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
||||||
@@ -44,15 +43,9 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
|
|||||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw=
|
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw=
|
||||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
||||||
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
|
|
||||||
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
|
|
||||||
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
|
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
|
||||||
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw=
|
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw=
|
||||||
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc=
|
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc=
|
||||||
github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28=
|
|
||||||
github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
|
||||||
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
||||||
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
|
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
|
||||||
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
|
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
|
||||||
@@ -75,7 +68,9 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce
|
|||||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||||
github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0=
|
github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0=
|
||||||
|
github.com/bsm/ginkgo/v2 v2.9.5/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||||
github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y=
|
github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y=
|
||||||
|
github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
|
||||||
github.com/bsm/redislock v0.8.2 h1:W0aDRjt6FNmAZovbG2fPyjl1YZZdlqMkCKKCffJew1o=
|
github.com/bsm/redislock v0.8.2 h1:W0aDRjt6FNmAZovbG2fPyjl1YZZdlqMkCKKCffJew1o=
|
||||||
github.com/bsm/redislock v0.8.2/go.mod h1:tC0JZxZCdJN4DCB31cGxgjgf/ye1R4LLNJQd5ecjg08=
|
github.com/bsm/redislock v0.8.2/go.mod h1:tC0JZxZCdJN4DCB31cGxgjgf/ye1R4LLNJQd5ecjg08=
|
||||||
github.com/bytedance/go-tagexpr/v2 v2.7.12 h1:qL2f0j11S8DHQsUWUA6aacLNBcbPTbNKuzVjaW4kF/M=
|
github.com/bytedance/go-tagexpr/v2 v2.7.12 h1:qL2f0j11S8DHQsUWUA6aacLNBcbPTbNKuzVjaW4kF/M=
|
||||||
@@ -116,18 +111,15 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7
|
|||||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
|
github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/creack/pty v1.1.7 h1:6pwm8kMQKCmgUg0ZHTm5+/YvRK0s3THD/28+T6/kk4A=
|
|
||||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||||
|
github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM=
|
|
||||||
github.com/denisenkom/go-mssqldb v0.10.0 h1:QykgLZBorFE95+gO3u9esLd0BmbvpWp0/waNNZfHBM8=
|
|
||||||
github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
|
github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
|
||||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
||||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
@@ -156,6 +148,7 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF
|
|||||||
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
|
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
|
||||||
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
|
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
|
||||||
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
|
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
|
||||||
|
github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||||
@@ -188,22 +181,8 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
|
|||||||
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
|
|
||||||
github.com/go-openapi/jsonpointer v0.20.0 h1:ESKJdU9ASRfaPNOPRx12IUyA1vn3R9GiE3KYD14BXdQ=
|
|
||||||
github.com/go-openapi/jsonpointer v0.20.0/go.mod h1:6PGzBjjIIumbLYysB73Klnms1mwnU4G3YHOECG3CedA=
|
|
||||||
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
|
|
||||||
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
|
|
||||||
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
|
|
||||||
github.com/go-openapi/spec v0.20.11 h1:J/TzFDLTt4Rcl/l1PmyErvkqlJDncGvPTMnCI39I4gY=
|
|
||||||
github.com/go-openapi/spec v0.20.11/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
|
|
||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
|
||||||
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
|
|
||||||
github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
|
|
||||||
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
|
|
||||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||||
|
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
||||||
@@ -218,16 +197,12 @@ github.com/go-redis/redis/v9 v9.0.0-rc.1/go.mod h1:8et+z03j0l8N+DvsVnclzjf3Dl/pF
|
|||||||
github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
|
github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
|
||||||
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
|
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
|
||||||
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
|
||||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||||
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
||||||
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
|
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
|
||||||
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
||||||
github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:56xuuqnHyryaerycW3BfssRdxQstACi0Epw/yC5E2xM=
|
|
||||||
github.com/go-xorm/xorm v0.7.9 h1:LZze6n1UvRmM5gpL9/U9Gucwqo6aWlFVlfcHKH10qA0=
|
|
||||||
github.com/go-xorm/xorm v0.7.9/go.mod h1:XiVxrMMIhFkwSkh96BW7PACl7UhLtx2iJIHMdmjh5sQ=
|
|
||||||
github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||||
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
|
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
|
||||||
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||||
@@ -241,7 +216,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP
|
|||||||
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
||||||
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
|
||||||
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA=
|
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
@@ -257,6 +231,7 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
|
|||||||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||||
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
||||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||||
|
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
@@ -374,7 +349,6 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod
|
|||||||
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
|
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
|
||||||
github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
||||||
github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
||||||
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
|
|
||||||
github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA=
|
github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA=
|
||||||
github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE=
|
github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE=
|
||||||
github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s=
|
github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s=
|
||||||
@@ -406,7 +380,6 @@ github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkAL
|
|||||||
github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ=
|
github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ=
|
||||||
github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE=
|
github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE=
|
||||||
github.com/jackc/pgtype v1.8.0/go.mod h1:PqDKcEBtllAtk/2p6z6SHdXW5UB+MhE75tUol2OKexE=
|
github.com/jackc/pgtype v1.8.0/go.mod h1:PqDKcEBtllAtk/2p6z6SHdXW5UB+MhE75tUol2OKexE=
|
||||||
github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
|
|
||||||
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
|
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
|
||||||
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
|
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
|
||||||
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
|
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
|
||||||
@@ -431,8 +404,6 @@ github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/
|
|||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
||||||
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
||||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
|
||||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
|
||||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
@@ -458,6 +429,7 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB
|
|||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||||
|
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
|
github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
|
||||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||||
@@ -476,7 +448,6 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
|||||||
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||||
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||||
github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8=
|
|
||||||
github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||||
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
|
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
|
||||||
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
||||||
@@ -485,11 +456,6 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2
|
|||||||
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
|
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
|
||||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||||
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
|
||||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
|
||||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
|
||||||
github.com/matoous/go-nanoid v1.5.0/go.mod h1:zyD2a71IubI24efhpvkJz+ZwfwagzgSO6UNiFsZKN7U=
|
github.com/matoous/go-nanoid v1.5.0/go.mod h1:zyD2a71IubI24efhpvkJz+ZwfwagzgSO6UNiFsZKN7U=
|
||||||
github.com/matoous/go-nanoid/v2 v2.0.0 h1:d19kur2QuLeHmJBkvYkFdhFBzLoo1XVm2GgTpL+9Tj0=
|
github.com/matoous/go-nanoid/v2 v2.0.0 h1:d19kur2QuLeHmJBkvYkFdhFBzLoo1XVm2GgTpL+9Tj0=
|
||||||
github.com/matoous/go-nanoid/v2 v2.0.0/go.mod h1:FtS4aGPVfEkxKxhdWPAspZpZSh1cOjtM7Ej/So3hR0g=
|
github.com/matoous/go-nanoid/v2 v2.0.0/go.mod h1:FtS4aGPVfEkxKxhdWPAspZpZSh1cOjtM7Ej/So3hR0g=
|
||||||
@@ -511,9 +477,9 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k
|
|||||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||||
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
|
||||||
github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||||
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
github.com/mattn/goveralls v0.0.2 h1:7eJB6EqsPhRVxvwEXGnqdO2sJI0PTsrWoTMXEk9/OQc=
|
github.com/mattn/goveralls v0.0.2 h1:7eJB6EqsPhRVxvwEXGnqdO2sJI0PTsrWoTMXEk9/OQc=
|
||||||
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
@@ -554,7 +520,6 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE
|
|||||||
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
||||||
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
||||||
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
|
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
|
||||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
|
||||||
github.com/nsqio/go-nsq v1.0.8 h1:3L2F8tNLlwXXlp2slDUrUWSBn2O3nMh8R1/KEDFTHPk=
|
github.com/nsqio/go-nsq v1.0.8 h1:3L2F8tNLlwXXlp2slDUrUWSBn2O3nMh8R1/KEDFTHPk=
|
||||||
github.com/nsqio/go-nsq v1.0.8/go.mod h1:vKq36oyeVXgsS5Q8YEO7WghqidAVXQlcFxzQbQTuDEY=
|
github.com/nsqio/go-nsq v1.0.8/go.mod h1:vKq36oyeVXgsS5Q8YEO7WghqidAVXQlcFxzQbQTuDEY=
|
||||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||||
@@ -580,6 +545,7 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
|
|||||||
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
|
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
|
||||||
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
|
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
|
||||||
github.com/onsi/gomega v1.21.1 h1:OB/euWYIExnPBohllTicTHmGTrMaqJ67nIu80j0/uEM=
|
github.com/onsi/gomega v1.21.1 h1:OB/euWYIExnPBohllTicTHmGTrMaqJ67nIu80j0/uEM=
|
||||||
|
github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc=
|
||||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
||||||
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
|
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
|
||||||
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
|
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
|
||||||
@@ -646,10 +612,10 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG
|
|||||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
||||||
|
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||||
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
|
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
|
||||||
github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
|
github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
|
||||||
github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
|
github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
|
||||||
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
|
||||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
@@ -668,7 +634,6 @@ github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnj
|
|||||||
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
|
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
|
||||||
github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
|
github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
|
||||||
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
|
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
@@ -715,8 +680,6 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
|
|||||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
|
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
|
||||||
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
|
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
|
||||||
github.com/swaggo/swag v1.16.2 h1:28Pp+8DkQoV+HLzLx8RGJZXNGKbFqnuvSbAAtoxiY04=
|
|
||||||
github.com/swaggo/swag v1.16.2/go.mod h1:6YzXnDcpr0767iOejs318CwYkCQqyGer6BizOg03f+E=
|
|
||||||
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
|
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
|
||||||
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
|
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
|
||||||
github.com/tebeka/strftime v0.1.5 h1:1NQKN1NiQgkqd/2moD6ySP/5CoZQsKa1d3ZhJ44Jpmg=
|
github.com/tebeka/strftime v0.1.5 h1:1NQKN1NiQgkqd/2moD6ySP/5CoZQsKa1d3ZhJ44Jpmg=
|
||||||
@@ -738,11 +701,7 @@ github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZ
|
|||||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||||
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
|
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
|
||||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
github.com/urfave/cli/v2 v2.26.0 h1:3f3AMg3HpThFNT4I++TKOejZO8yU55t3JnnSr4S4QEI=
|
|
||||||
github.com/urfave/cli/v2 v2.26.0/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
|
|
||||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e h1:+SOyEddqYF09QP7vr7CgJ1eti3pY9Fn3LHO1M1r/0sI=
|
|
||||||
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
|
|
||||||
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 h1:6932x8ltq1w4utjmfMPVj09jdMlkY0aiA6+Skbtl3/c=
|
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 h1:6932x8ltq1w4utjmfMPVj09jdMlkY0aiA6+Skbtl3/c=
|
||||||
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
|
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
|
||||||
github.com/xuri/excelize/v2 v2.7.1 h1:gm8q0UCAyaTt3MEF5wWMjVdmthm2EHAWesGSKS9tdVI=
|
github.com/xuri/excelize/v2 v2.7.1 h1:gm8q0UCAyaTt3MEF5wWMjVdmthm2EHAWesGSKS9tdVI=
|
||||||
@@ -759,7 +718,6 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t
|
|||||||
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
|
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
|
||||||
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||||
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
||||||
github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
|
|
||||||
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
|
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
|
||||||
github.com/ziutek/telnet v0.0.0-20180329124119-c3b780dc415b h1:VfPXB/wCGGt590QhD1bOpv2J/AmC/RJNTg/Q59HKSB0=
|
github.com/ziutek/telnet v0.0.0-20180329124119-c3b780dc415b h1:VfPXB/wCGGt590QhD1bOpv2J/AmC/RJNTg/Q59HKSB0=
|
||||||
github.com/ziutek/telnet v0.0.0-20180329124119-c3b780dc415b/go.mod h1:IZpXDfkJ6tWD3PhBK5YzgQT+xJWh7OsdwiG8hA2MkO4=
|
github.com/ziutek/telnet v0.0.0-20180329124119-c3b780dc415b/go.mod h1:IZpXDfkJ6tWD3PhBK5YzgQT+xJWh7OsdwiG8hA2MkO4=
|
||||||
@@ -808,8 +766,6 @@ golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
|
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
|
||||||
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
|
|
||||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
|
||||||
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
||||||
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
@@ -849,8 +805,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
|||||||
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
|
|
||||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
|
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
|
||||||
|
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
@@ -898,8 +855,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
|||||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
||||||
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
|
||||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
|
||||||
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
@@ -995,8 +950,6 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
|
|
||||||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||||
@@ -1004,8 +957,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn
|
|||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
|
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
|
||||||
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
|
|
||||||
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
|
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
@@ -1018,8 +969,6 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
|
|
||||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
|
||||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
@@ -1085,7 +1034,6 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f
|
|||||||
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
|
|
||||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||||
golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
|
golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
|
||||||
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
|
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
|
||||||
@@ -1119,14 +1067,12 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
|
|||||||
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
|
||||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
@@ -1204,9 +1150,7 @@ gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gG
|
|||||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
|
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||||
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
|
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
|
||||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||||
@@ -1231,7 +1175,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|||||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
|
||||||
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
@@ -1362,13 +1305,8 @@ rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
|||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
|
|
||||||
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
|
|
||||||
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
|
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
|
||||||
xorm.io/builder v0.3.6/go.mod h1:LEFAPISnRzG+zxaxj2vPicRwz67BdhFreKg8yv8/TgU=
|
|
||||||
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978 h1:bvLlAPW1ZMTWA32LuZMBEGHAUOcATZjzHcotf3SWweM=
|
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978 h1:bvLlAPW1ZMTWA32LuZMBEGHAUOcATZjzHcotf3SWweM=
|
||||||
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
|
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
|
||||||
xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb h1:msX3zG3BPl8Ti+LDzP33/9K7BzO/WqFXk610K1kYKfo=
|
|
||||||
xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=
|
|
||||||
xorm.io/xorm v1.3.2 h1:uTRRKF2jYzbZ5nsofXVUx6ncMaek+SHjWYtCXyZo1oM=
|
xorm.io/xorm v1.3.2 h1:uTRRKF2jYzbZ5nsofXVUx6ncMaek+SHjWYtCXyZo1oM=
|
||||||
xorm.io/xorm v1.3.2/go.mod h1:9NbjqdnjX6eyjRRhh01GHm64r6N9shTb/8Ak3YRt8Nw=
|
xorm.io/xorm v1.3.2/go.mod h1:9NbjqdnjX6eyjRRhh01GHm64r6N9shTb/8Ak3YRt8Nw=
|
||||||
|
|||||||
@@ -200,12 +200,12 @@ func XormGetNeInfo(neType string, neId string) (*NeInfo, error) {
|
|||||||
log.Debug("XormGetNeInfo processing... ")
|
log.Debug("XormGetNeInfo processing... ")
|
||||||
|
|
||||||
neInfo := new(NeInfo)
|
neInfo := new(NeInfo)
|
||||||
has, err := xEngine.Where("status='0' and ne_type=? and ne_id=?", strings.ToUpper(neType), neId).Get(neInfo)
|
has, err := xEngine.Where("status in ('0','3') and ne_type=? and ne_id=?", strings.ToUpper(neType), neId).Get(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get table ne_info from database:", err)
|
log.Error("Failed to get table ne_info from database:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if has == false {
|
} else if !has {
|
||||||
log.Infof("Not found ne_info from database, status='0', neType=%s, neId=%s", neType, neId)
|
log.Infof("Not found ne_info from database, status in ('0','3'), neType=%s, neId=%s", neType, neId)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,11 +217,11 @@ func XormGetNeInfoByRmUID(neType string, rmUID string) (*NeInfo, error) {
|
|||||||
log.Debug("XormGetNeInfoByRmUID processing... ")
|
log.Debug("XormGetNeInfoByRmUID processing... ")
|
||||||
|
|
||||||
neInfo := new(NeInfo)
|
neInfo := new(NeInfo)
|
||||||
has, err := xEngine.Where("status='0' and ne_type=? and rm_uid=?", strings.ToUpper(neType), rmUID).Get(neInfo)
|
has, err := xEngine.Where("status in ('0','3') and ne_type=? and rm_uid=?", strings.ToUpper(neType), rmUID).Get(neInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get table ne_info from database:", err)
|
log.Error("Failed to get table ne_info from database:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
} else if has == false {
|
} else if !has {
|
||||||
log.Infof("Not found ne_info from database, status='0', neType=%s, neId=%s", neType, rmUID)
|
log.Infof("Not found ne_info from database, status='0', neType=%s, neId=%s", neType, rmUID)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ func XormGetAllNeInfo(nes *[]NeInfo) (*[]NeInfo, error) {
|
|||||||
log.Debug("XormGetAllNeInfo processing... ")
|
log.Debug("XormGetAllNeInfo processing... ")
|
||||||
|
|
||||||
ne := new(NeInfo)
|
ne := new(NeInfo)
|
||||||
rows, err := xEngine.Table("ne_info").Where("status='0'").Rows(ne)
|
rows, err := xEngine.Table("ne_info").Where("status in ('0','3')").Rows(ne)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get table ne_info from database:", err)
|
log.Error("Failed to get table ne_info from database:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -256,7 +256,7 @@ func XormGetNeInfoByNeType(neType string, nes *[]NeInfo) error {
|
|||||||
log.Debug("XormGetNeInfoByNeType processing... ")
|
log.Debug("XormGetNeInfoByNeType processing... ")
|
||||||
|
|
||||||
ne := new(NeInfo)
|
ne := new(NeInfo)
|
||||||
rows, err := xEngine.Table("ne_info").Where("status='0' and ne_type=?", neType).Rows(ne)
|
rows, err := xEngine.Table("ne_info").Where("status in ('0','3') and ne_type=?", neType).Rows(ne)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to get table ne_info from database:", err)
|
log.Error("Failed to get table ne_info from database:", err)
|
||||||
return err
|
return err
|
||||||
@@ -283,7 +283,7 @@ func XormInsertNeInfo(neInfo *NeInfo) (int64, error) {
|
|||||||
xSession := xEngine.NewSession()
|
xSession := xEngine.NewSession()
|
||||||
defer xSession.Close()
|
defer xSession.Close()
|
||||||
ex, _ := xEngine.Table("ne_info").Where("status = '1' and ne_type = ? and ne_id = ?", neInfo.NeType, neInfo.NeId).Exist()
|
ex, _ := xEngine.Table("ne_info").Where("status = '1' and ne_type = ? and ne_id = ?", neInfo.NeType, neInfo.NeId).Exist()
|
||||||
if ex == true {
|
if ex {
|
||||||
neInfo.Status = 0
|
neInfo.Status = 0
|
||||||
affected, err = xSession.Where("ne_type = ? and ne_id = ?", neInfo.NeType, neInfo.NeId).Update(neInfo)
|
affected, err = xSession.Where("ne_type = ? and ne_id = ?", neInfo.NeType, neInfo.NeId).Update(neInfo)
|
||||||
} else {
|
} else {
|
||||||
@@ -298,7 +298,7 @@ func XormUpdateNeInfo(neInfo *NeInfo) (int64, error) {
|
|||||||
|
|
||||||
xSession := xEngine.NewSession()
|
xSession := xEngine.NewSession()
|
||||||
defer xSession.Close()
|
defer xSession.Close()
|
||||||
affected, err := xSession.ID(neInfo.Id).Update(neInfo)
|
affected, err := xSession.ID(neInfo.Id).MustCols("status").Update(neInfo)
|
||||||
xSession.Commit()
|
xSession.Commit()
|
||||||
return affected, err
|
return affected, err
|
||||||
}
|
}
|
||||||
@@ -1124,7 +1124,9 @@ type Alarm struct {
|
|||||||
PVFlag string `json:"pvFlag" xorm:"pv_flag"`
|
PVFlag string `json:"pvFlag" xorm:"pv_flag"`
|
||||||
NeName string `json:"neName"`
|
NeName string `json:"neName"`
|
||||||
NeType string `json:"neType"`
|
NeType string `json:"neType"`
|
||||||
|
ObjectUid string `json:"objectUid" xorm:"object_uid"`
|
||||||
ObjectName string `json:"objectName" xorm:"object_name"`
|
ObjectName string `json:"objectName" xorm:"object_name"`
|
||||||
|
ObjectType string `json:"objectType" xorm:"object_type"`
|
||||||
LocationInfo string `json:"locationInfo"`
|
LocationInfo string `json:"locationInfo"`
|
||||||
Province string `json:"province"`
|
Province string `json:"province"`
|
||||||
AlarmStatus int `json:"alarmStatus"`
|
AlarmStatus int `json:"alarmStatus"`
|
||||||
@@ -1820,3 +1822,80 @@ func XormGetTraceRawMsg(id int) (int64, []byte, error) {
|
|||||||
|
|
||||||
return timestamp, rawMsg, nil
|
return timestamp, rawMsg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func XormGetNEStateInfo(neType, neID string) (string, string, error) {
|
||||||
|
SN := "-"
|
||||||
|
Version := "-"
|
||||||
|
_, err := xEngine.Table("ne_state").
|
||||||
|
Where("ne_type=? and ne_id=?", neType, neID).
|
||||||
|
Desc("timestamp").
|
||||||
|
Cols("serial_num", "version").
|
||||||
|
Limit(1).
|
||||||
|
Get(&SN, &Version)
|
||||||
|
return SN, Version, err
|
||||||
|
}
|
||||||
|
|
||||||
|
type NeState struct {
|
||||||
|
Id int `json:"id" xorm:"pk 'id' autoincr"`
|
||||||
|
NeType string `json:"neType" xorm:"ne_type"`
|
||||||
|
NeId string `json:"neId" xorm:"ne_id"`
|
||||||
|
Version string `json:"version" xorm:"column 'version' VARCHAR(16)"`
|
||||||
|
Capability uint32 `json:"capability" xorm:"capability"`
|
||||||
|
SerialNum string `json:"serialNum" xorm:"serial_num"`
|
||||||
|
ExpiryDate string `json:"expiryDate" xorm:"expiry_date"`
|
||||||
|
CpuUsage string `json:"cpuUsage" xorm:"cpu_usage"`
|
||||||
|
MemUsage string `json:"memUsage" xorm:"mem_usage"`
|
||||||
|
DiskSpace string `json:"diskSpace" xorm:"disk_space"`
|
||||||
|
Timestamp string `json:"timestamp" xorm:"-" `
|
||||||
|
}
|
||||||
|
|
||||||
|
func XormInsertNeState(neState *NeState) (int64, error) {
|
||||||
|
log.Debug("XormInsertNeState processing... ")
|
||||||
|
|
||||||
|
var affected int64 = 0
|
||||||
|
|
||||||
|
session := xEngine.NewSession()
|
||||||
|
defer session.Close()
|
||||||
|
affected, err := session.InsertOne(neState)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
err = session.Commit()
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
return affected, err
|
||||||
|
}
|
||||||
|
|
||||||
|
type AlarmDefine struct {
|
||||||
|
AlarmId string `json:"alarmId" xorm:"alarm_id"`
|
||||||
|
AlarmCode int `json:"alarmCode" xorm:"alarm_code"`
|
||||||
|
AlarmTitle string `json:"alarmTitle" xorm:"alarm_title"`
|
||||||
|
NeType string `json:"neType" xorm:"ne_type"`
|
||||||
|
AlarmType string `json:"alarmType" xorm:"alarm_type"`
|
||||||
|
OrigSeverity string `json:"origSeverity" xorm:"orig_severity"`
|
||||||
|
ObjectUid string `json:"objectUid" xorm:"object_uid"`
|
||||||
|
ObjectName string `json:"objectName" xorm:"object_name"`
|
||||||
|
ObjectType string `json:"objectType" xorm:"object_type"`
|
||||||
|
LocationInfo string `json:"locationInfo"`
|
||||||
|
SpecificProblem string `json:"specificProblem"`
|
||||||
|
SpecificProblemId string `json:"specificProblemId" xorm:"specific_problem_id"`
|
||||||
|
AddInfo string `json:"addInfo" xorm:"add_info"`
|
||||||
|
Threshold int64 `json:"threshold" xorm:"threshold"`
|
||||||
|
Status string `json:"status" xorm:"status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func XormGetAlarmDefine(alarmCode string) (*AlarmDefine, error) {
|
||||||
|
log.Debug("XormGetAlarmDefine processing... ")
|
||||||
|
|
||||||
|
alarmDefine := new(AlarmDefine)
|
||||||
|
_, err := xEngine.
|
||||||
|
Where("alarm_code=? and status='Active'", alarmCode).
|
||||||
|
Get(alarmDefine)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to get table alarm_define from database:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return alarmDefine, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -287,6 +287,14 @@ func init() {
|
|||||||
Register("GET", ue.UriNBInfo, ue.GetNBInfoFromNF, nil)
|
Register("GET", ue.UriNBInfo, ue.GetNBInfoFromNF, nil)
|
||||||
Register("GET", ue.CustomUriNBInfo, ue.GetNBInfoFromNF, nil)
|
Register("GET", ue.CustomUriNBInfo, ue.GetNBInfoFromNF, nil)
|
||||||
|
|
||||||
|
// NSSF AvailableAMFs
|
||||||
|
Register("GET", ue.UriNSSFAvailableAMFs, ue.GetAvailableAMFsFromNSSF, nil)
|
||||||
|
Register("GET", ue.CustomUriNSSFAvailableAMFs, ue.GetAvailableAMFsFromNSSF, nil)
|
||||||
|
|
||||||
|
// NSSF Subscriptions
|
||||||
|
Register("GET", ue.UriNSSFSubscriptions, ue.GetSubscriptionsFromNSSF, nil)
|
||||||
|
Register("GET", ue.CustomUriNSSFSubscriptions, ue.GetSubscriptionsFromNSSF, nil)
|
||||||
|
|
||||||
// 进程网络
|
// 进程网络
|
||||||
Register("GET", psnet.UriWs, psnet.ProcessWs, nil)
|
Register("GET", psnet.UriWs, psnet.ProcessWs, nil)
|
||||||
Register("POST", psnet.UriStop, psnet.StopProcess, nil)
|
Register("POST", psnet.UriStop, psnet.StopProcess, nil)
|
||||||
|
|||||||
6
makefile
6
makefile
@@ -3,7 +3,7 @@
|
|||||||
ProjectL = omc
|
ProjectL = omc
|
||||||
ProjectU = OMC
|
ProjectU = OMC
|
||||||
PROJECT = $(ProjectL)
|
PROJECT = $(ProjectL)
|
||||||
VERSION = 2.2312.8
|
VERSION = 2.2312.10
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
@@ -52,9 +52,9 @@ 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)
|
||||||
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
#DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).$(PLATFORM).deb
|
||||||
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)_u22.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.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)_u18.deb
|
DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
.PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) $(Data2htmlBin)
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ case "$1" in
|
|||||||
echo "Execute SQL script: ${SQL} ..."
|
echo "Execute SQL script: ${SQL} ..."
|
||||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||||
done
|
done
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
upgvue3)
|
upgvue3)
|
||||||
@@ -96,7 +97,3 @@ case "$1" in
|
|||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,191 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "-------------------please input-------------------"
|
|
||||||
#please input the new nf ip
|
|
||||||
read -p "please input your OMC IP: " OMCIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your IMS IP: " IMSIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your AMF IP: " AMFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your AUSF IP: " AUSFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your UDM IP: " UDMIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your SMF IP: " SMFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your PCF IP: " PCFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your NSSF IP: " NSSFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your NRF IP: " NRFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your UPF IP: " UPFIP
|
|
||||||
|
|
||||||
echo "-----------------please continue to enter-----------------"
|
|
||||||
read -p "please input your MME IP: " MMEIP
|
|
||||||
|
|
||||||
echo "------------please continue to enter Vm account-------------"
|
|
||||||
read -p "please input your username: " username
|
|
||||||
|
|
||||||
echo "------------please continue to enter Vm password-------------"
|
|
||||||
read -p "please input your passwd: " passwd
|
|
||||||
|
|
||||||
cd /home/agtuser
|
|
||||||
|
|
||||||
#Creating a local source
|
|
||||||
tar -xzvf omcpkg*.tar.gz
|
|
||||||
|
|
||||||
mv /etc/apt/sources.list /etc/apt/sources.list-bak
|
|
||||||
|
|
||||||
echo "deb [trusted=yes] file:/home/agtuser/omcpkg archives/" > /etc/apt/sources.list
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
apt update
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
#Database installation
|
|
||||||
apt install -y net-tools software-properties-common
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
apt-key add mariadb_release_signing_key.asc
|
|
||||||
|
|
||||||
apt install -y mariadb-server
|
|
||||||
|
|
||||||
systemctl start mariadb
|
|
||||||
|
|
||||||
mysql --version
|
|
||||||
|
|
||||||
sudo mysql_secure_installation <<-EOF
|
|
||||||
1000omc@kp!
|
|
||||||
y
|
|
||||||
n
|
|
||||||
y
|
|
||||||
y
|
|
||||||
y
|
|
||||||
y
|
|
||||||
EOF
|
|
||||||
|
|
||||||
#You need to enter the password manually:1000omc@kp!
|
|
||||||
|
|
||||||
systemctl enable mariadb
|
|
||||||
|
|
||||||
systemctl restart mariadb
|
|
||||||
|
|
||||||
#Modify mysql datebase root password
|
|
||||||
|
|
||||||
#You need to run the following command
|
|
||||||
mysql -u root <<-EOF
|
|
||||||
use mysql
|
|
||||||
ALTER USER root@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD("1000omc@kp!");
|
|
||||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1000omc@kp!';
|
|
||||||
flush privileges;
|
|
||||||
quit
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
|
|
||||||
echo "port=33066" >> /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
|
|
||||||
sed -i "s/127.0.0.1/0.0.0.0/g" /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
|
|
||||||
systemctl restart mariadb
|
|
||||||
|
|
||||||
#Install WEB server
|
|
||||||
apt update
|
|
||||||
|
|
||||||
apt install -y nginx
|
|
||||||
|
|
||||||
systemctl enable nginx
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl start nginx
|
|
||||||
|
|
||||||
#Install and config OMC
|
|
||||||
dpkg -i omc*.deb
|
|
||||||
|
|
||||||
cp /usr/local/omc/htdocs/front/default/config.js /usr/local/omc/htdocs/front/
|
|
||||||
|
|
||||||
sed -i "s/192.168.8.100/${OMCIP}/g" /usr/local/omc/htdocs/front/config.js
|
|
||||||
|
|
||||||
cp /usr/local/omc/etc/default/* /usr/local/omc/etc
|
|
||||||
|
|
||||||
sed -i "76s/user: root/user: ${username}/" /usr/local/omc/etc/restconf.yaml
|
|
||||||
|
|
||||||
#Database configuration
|
|
||||||
/usr/local/omc/bin/importdb.sh <<-EOF
|
|
||||||
Install
|
|
||||||
EOF
|
|
||||||
|
|
||||||
#Configure the trusted gateway of the managed NE
|
|
||||||
apt install -y expect
|
|
||||||
|
|
||||||
echo "${OMCIP} ${username} ${passwd}" > /usr/local/omc/bin/nehosts
|
|
||||||
echo "${IMSIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${AMFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${AUSFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${UDMIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${SMFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${PCFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${NSSFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${NRFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${UPFIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
echo "${MMEIP} ${username} ${passwd}" >> /usr/local/omc/bin/nehosts
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
cd /usr/local/omc/bin
|
|
||||||
/usr/local/omc/bin/cpsshkey.sh
|
|
||||||
|
|
||||||
cd /home/agtuser
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
#adb server configuration
|
|
||||||
cp /usr/local/db/bin/conf/default/redis.conf /usr/local/db/bin/conf/redis.conf
|
|
||||||
|
|
||||||
sed -i "s/172.16.5.140/${UDMIP}/g" /usr/local/db/bin/conf/redis.conf
|
|
||||||
|
|
||||||
#Modifying User Rights
|
|
||||||
sudo echo "agtuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
||||||
sudo echo "agtuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
||||||
|
|
||||||
sudo scp /etc/sudoers ${username}@${IMSIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${AMFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${AUSFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${UDMIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${SMFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${PCFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${NSSFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${NRFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${UPFIP}:/home/agtuser
|
|
||||||
sudo scp /etc/sudoers ${username}@${MMEIP}:/home/agtuser
|
|
||||||
|
|
||||||
#Run the following commands on each NE VM:
|
|
||||||
#cp sudoers /etc/sudoers
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
#Service initiation
|
|
||||||
systemctl enable restagent.service
|
|
||||||
systemctl enable crontask.service
|
|
||||||
systemctl daemon-reload
|
|
||||||
|
|
||||||
/usr/local/omc/bin//omcsvc.sh restart
|
|
||||||
|
|
||||||
systemctl restart nginx
|
|
||||||
|
|
||||||
|
|
||||||
echo "-----------------config complete------------"
|
|
||||||
58
misc/setomc.sh
Normal file
58
misc/setomc.sh
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
C_ARG="*"
|
||||||
|
M_ARG="*"
|
||||||
|
|
||||||
|
check_args() {
|
||||||
|
while getopts "c:m:" option; do
|
||||||
|
case $option in
|
||||||
|
c)
|
||||||
|
C_ARG=$OPTARG
|
||||||
|
;;
|
||||||
|
|
||||||
|
m)
|
||||||
|
M_ARG=$OPTARG
|
||||||
|
;;
|
||||||
|
|
||||||
|
\?)
|
||||||
|
echo "Invalid option: -$OPTARG" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
USER="root"
|
||||||
|
PASSWORD="1000omc@kp!"
|
||||||
|
PORT="33066"
|
||||||
|
DBNAME="omc_db"
|
||||||
|
OMCBinDir=/usr/local/omc/bin
|
||||||
|
UpgradeSQLDir=/usr/local/omc/etc/db/upgrade
|
||||||
|
Upgvue3SQLDir=/usr/local/omc/etc/db/upgvue3
|
||||||
|
InstallSQLDir=/usr/local/omc/etc/db/install
|
||||||
|
OMCStaticDir=/usr/local/omc/static
|
||||||
|
CustomizedDirBA=${OMCStaticDir}/ba.d
|
||||||
|
|
||||||
|
check_args "$@"
|
||||||
|
|
||||||
|
case "${M_ARG}" in
|
||||||
|
install | upgrade | upgvue3)
|
||||||
|
${OMCBinDir}/importdb.sh ${M_ARG}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
${OMCBinDir}/importdb.sh
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$C_ARG" in
|
||||||
|
BA | ba | Ba | bA)
|
||||||
|
echo "Setting BA customized OMC ..."
|
||||||
|
for SQL in ${CustomizedDirBA}/db/*.sql; do
|
||||||
|
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||||
|
done
|
||||||
|
cp -rf ${CustomizedDirBA}/logo/* ${OMCStaticDir}/logo
|
||||||
|
rm -f ${OMCStaticDir}/helpDoc/*.pdf
|
||||||
|
cp -rf ${CustomizedDirBA}/doc/* ${OMCStaticDir}/helpDoc
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
6
mkpkg.sh
6
mkpkg.sh
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
ProcList="restagent crontask sshsvc captrace data2html"
|
ProcList="restagent crontask sshsvc captrace data2html"
|
||||||
ProjectL=omc
|
ProjectL=omc
|
||||||
VERSION=2.2312.8
|
VERSION=2.2312.10
|
||||||
RelDate=`date +%Y%m%d`
|
RelDate=`date +%Y%m%d`
|
||||||
Release=${RelDate}
|
Release=${RelDate}
|
||||||
RelVer=${VERSION}-${RelDate}
|
RelVer=${VERSION}-${RelDate}
|
||||||
Ky10Arch=ky10.aarch64
|
Ky10Arch=ky10.aarch64
|
||||||
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
|
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
|
||||||
RpmPkgRename=${ProjectL}-r${RelVer}_ky10.rpm
|
RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm
|
||||||
DebPkgName=${ProjectL}-r${RelVer}_u*.deb
|
DebPkgName=${ProjectL}-r${RelVer}-ub*.deb
|
||||||
GitLocalRoot=${HOME}/local.git
|
GitLocalRoot=${HOME}/local.git
|
||||||
EmsBEDir=${GitLocalRoot}/ems.agt
|
EmsBEDir=${GitLocalRoot}/ems.agt
|
||||||
EmsBuildRoot=${GitLocalRoot}/build.ems
|
EmsBuildRoot=${GitLocalRoot}/build.ems
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ omc:
|
|||||||
vendor: ""
|
vendor: ""
|
||||||
dn: 4600
|
dn: 4600
|
||||||
chk2ne: false
|
chk2ne: false
|
||||||
sn: 13750650
|
sn: "-"
|
||||||
checksign: false
|
checksign: false
|
||||||
rootDir: ./
|
rootDir: ./
|
||||||
binDir: ./bin
|
binDir: ./bin
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2312.8
|
VERSION = 2.2312.10
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -197,7 +197,15 @@ func main() {
|
|||||||
} else {
|
} else {
|
||||||
go HttpListen(listen, app)
|
go HttpListen(listen, app)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if rest.IPv4 != "0.0.0.0" {
|
||||||
|
// 默认启动localhost侦听
|
||||||
|
listenLocal := "127.0.0.1" + ":" + strconv.Itoa(int(rest.Port))
|
||||||
|
if strings.ToLower(rest.Scheme) == "https" {
|
||||||
|
go HttpListenTLS(listenLocal, rest.CaFile, rest.CertFile, rest.KeyFile, app)
|
||||||
|
} else {
|
||||||
|
go HttpListen(listenLocal, app)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// ipv6 goroutines
|
// ipv6 goroutines
|
||||||
if rest.IPv6 != "" {
|
if rest.IPv6 != "" {
|
||||||
@@ -208,6 +216,16 @@ func main() {
|
|||||||
go HttpListen(listenv6, app)
|
go HttpListen(listenv6, app)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if rest.IPv6 != "::" {
|
||||||
|
// // 默认启动localhost侦听
|
||||||
|
// listenv6Local := "[" + "::1" + "]" + ":" + strconv.Itoa(int(rest.Port))
|
||||||
|
// if strings.ToLower(rest.Scheme) == "https" {
|
||||||
|
// go HttpListenTLS(listenv6Local, rest.CaFile, rest.CertFile, rest.KeyFile, app)
|
||||||
|
// } else {
|
||||||
|
// go HttpListen(listenv6Local, app)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
if conf.WebServer.Enabled {
|
if conf.WebServer.Enabled {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 项目信息
|
# 项目信息
|
||||||
framework:
|
framework:
|
||||||
name: "CN EMS"
|
name: "CN EMS"
|
||||||
version: "2.2312.9"
|
version: "2.2312.10"
|
||||||
|
|
||||||
# 应用服务配置
|
# 应用服务配置
|
||||||
server:
|
server:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
/**无Token可访问白名单 */
|
/**无Token可访问白名单 */
|
||||||
var URL_WHITE_LIST = []string{"/performanceManagement", "/faultManagement"}
|
var URL_WHITE_LIST = []string{"/performanceManagement", "/faultManagement", "/systemState"}
|
||||||
|
|
||||||
// PreAuthorize 用户身份授权认证校验
|
// PreAuthorize 用户身份授权认证校验
|
||||||
//
|
//
|
||||||
|
|||||||
243
src/framework/utils/fetch/fetch.go
Normal file
243
src/framework/utils/fetch/fetch.go
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
package fetch
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"mime/multipart"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Get 发送 GET 请求
|
||||||
|
// timeout 超时时间(秒)
|
||||||
|
func Get(url string, headers map[string]string, timeout uint8) ([]byte, error) {
|
||||||
|
if timeout < 1 || timeout > 180 {
|
||||||
|
timeout = 1
|
||||||
|
}
|
||||||
|
client := &http.Client{
|
||||||
|
Timeout: time.Duration(timeout) * time.Second, // 设置超时时间为 5 秒
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("GET", url, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, errors.New(resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return body, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Post 发送 POST 请求
|
||||||
|
func Post(url string, data url.Values, headers map[string]string) ([]byte, error) {
|
||||||
|
client := &http.Client{}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("POST", url, strings.NewReader(data.Encode()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, errors.New(resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return body, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// PostJSON 发送 POST 请求,并将请求体序列化为 JSON 格式
|
||||||
|
func PostJSON(url string, data any, headers map[string]string) ([]byte, error) {
|
||||||
|
client := &http.Client{}
|
||||||
|
|
||||||
|
jsonData, err := json.Marshal(data)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("POST", url, bytes.NewReader(jsonData))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req.Header.Set("Content-Type", "application/json")
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, errors.New(resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return body, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// UploadFile 上传文件函数,接收 URL 地址、表单参数和文件对象,返回响应内容或错误信息
|
||||||
|
func PostUploadFile(url string, params map[string]string, file *os.File) ([]byte, error) {
|
||||||
|
body := &bytes.Buffer{}
|
||||||
|
writer := multipart.NewWriter(body)
|
||||||
|
|
||||||
|
part, err := writer.CreateFormFile("file", file.Name())
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to create form file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = io.Copy(part, file)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to copy file content: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range params {
|
||||||
|
err = writer.WriteField(key, value)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to write form field: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = writer.Close()
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to close writer: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("POST", url, body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to create HTTP request: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req.Header.Set("Content-Type", writer.FormDataContentType())
|
||||||
|
|
||||||
|
client := &http.Client{}
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("HTTP request failed: %v", err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, fmt.Errorf("HTTP request returned status: %s", resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
responseBody, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to read response body: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return responseBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// PutJSON 发送 PUT 请求,并将请求体序列化为 JSON 格式
|
||||||
|
func PutJSON(url string, data any, headers map[string]string) ([]byte, error) {
|
||||||
|
client := &http.Client{}
|
||||||
|
|
||||||
|
jsonData, err := json.Marshal(data)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("PUT", url, bytes.NewReader(jsonData))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, errors.New(resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return body, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete 发送 DELETE 请求
|
||||||
|
func Delete(url string, headers map[string]string) ([]byte, error) {
|
||||||
|
client := &http.Client{}
|
||||||
|
|
||||||
|
req, err := http.NewRequest("DELETE", url, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, errors.New(resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return body, nil
|
||||||
|
}
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"ems.agt/lib/global"
|
||||||
|
"ems.agt/src/framework/config"
|
||||||
systemService "ems.agt/src/modules/system/service"
|
systemService "ems.agt/src/modules/system/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -21,6 +25,12 @@ type CommontImpl struct {
|
|||||||
// SystemConfigInfo 系统配置信息
|
// SystemConfigInfo 系统配置信息
|
||||||
func (s *CommontImpl) SystemConfigInfo() map[string]string {
|
func (s *CommontImpl) SystemConfigInfo() map[string]string {
|
||||||
infoMap := map[string]string{}
|
infoMap := map[string]string{}
|
||||||
|
// 获取打包注入的全局变量信息
|
||||||
|
infoMap["version"] = global.Version
|
||||||
|
infoMap["buildTime"] = global.BuildTime
|
||||||
|
infoMap["goVer"] = global.GoVer
|
||||||
|
// 序列号
|
||||||
|
infoMap["serialNum"] = fmt.Sprint(config.Get("omc.sn"))
|
||||||
// 获取LOGO类型
|
// 获取LOGO类型
|
||||||
logoType := s.sysConfigService.SelectConfigValueByKey("sys.logo.type")
|
logoType := s.sysConfigService.SelectConfigValueByKey("sys.logo.type")
|
||||||
infoMap["logoType"] = logoType
|
infoMap["logoType"] = logoType
|
||||||
|
|||||||
@@ -0,0 +1,309 @@
|
|||||||
|
package genNeStateAlarm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"ems.agt/features/fm"
|
||||||
|
"ems.agt/lib/dborm"
|
||||||
|
"ems.agt/lib/global"
|
||||||
|
"ems.agt/lib/log"
|
||||||
|
"ems.agt/restagent/config"
|
||||||
|
"ems.agt/src/framework/cron"
|
||||||
|
"github.com/go-resty/resty/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
var NewProcessor = &BarProcessor{
|
||||||
|
progress: 0,
|
||||||
|
count: 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
// bar 队列任务处理
|
||||||
|
type BarProcessor struct {
|
||||||
|
// 任务进度
|
||||||
|
progress int
|
||||||
|
// 执行次数
|
||||||
|
count int
|
||||||
|
}
|
||||||
|
type BarParams struct {
|
||||||
|
AlarmID string `json:"alarmID"`
|
||||||
|
AlarmCode int `json:"alarmCode"`
|
||||||
|
AlarmTitle string `json:"alarmTitle"`
|
||||||
|
AlarmType string `json:"alarmType"`
|
||||||
|
OrigSeverity string `json:"origSeverity"`
|
||||||
|
ObjectUID string `json:"objectUID"`
|
||||||
|
ObjectName string `json:"objectName"`
|
||||||
|
ObjectType string `json:"objectType"`
|
||||||
|
SpecificProblem string `json:"specificProblem"`
|
||||||
|
SpecificProblemID string `json:"specificProblemID"`
|
||||||
|
AddInfo string `json:"AddInfo"`
|
||||||
|
Threshold int64 `json:"threshold"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// type BarParams struct {
|
||||||
|
// Duration int `json:"duration"`
|
||||||
|
// }
|
||||||
|
|
||||||
|
type Alarm struct {
|
||||||
|
Id int `json:"-" xorm:"pk 'id' autoincr"`
|
||||||
|
AlarmSeq int `json:"alarmSeq"`
|
||||||
|
AlarmId string `json:"alarmId" xorm:"alarm_id"`
|
||||||
|
NeId string `json:"neId"`
|
||||||
|
AlarmCode int `json:"alarmCode"`
|
||||||
|
AlarmTitle string `json:"alarmTitle"`
|
||||||
|
EventTime string `json:"eventTime"`
|
||||||
|
AlarmType string `json:"alarmType"`
|
||||||
|
OrigSeverity string `json:"origSeverity"`
|
||||||
|
PerceivedSeverity string `json:"perceivedSeverity"`
|
||||||
|
PVFlag string `json:"pvFlag" xorm:"pv_flag"`
|
||||||
|
NeName string `json:"neName"`
|
||||||
|
NeType string `json:"neType"`
|
||||||
|
ObjectUid string `json:"objectUid" xorm:"object_uid"`
|
||||||
|
ObjectName string `json:"objectName" xorm:"object_name"`
|
||||||
|
ObjectType string `json:"objectType" xorm:"object_type"`
|
||||||
|
LocationInfo string `json:"locationInfo"`
|
||||||
|
Province string `json:"province"`
|
||||||
|
AlarmStatus int `json:"alarmStatus" xorm:"alarm_status"`
|
||||||
|
SpecificProblem string `json:"specificProblem"`
|
||||||
|
SpecificProblemID string `json:"specificProblemID" xorm:"specific_problem_id"`
|
||||||
|
AddInfo string `json:"addInfo"`
|
||||||
|
|
||||||
|
// ClearType int `json:"-" xorm:"clear_type"` // 0: Unclear, 1: Auto clear, 2: Manual clear
|
||||||
|
// ClearTime sql.NullTime `json:"-" xorm:"clear_time"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var client = resty.New()
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
client.
|
||||||
|
SetTimeout(time.Duration(400 * time.Millisecond))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *BarProcessor) Execute(data any) (any, error) {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
s.count++
|
||||||
|
options := data.(cron.JobData)
|
||||||
|
sysJob := options.SysJob
|
||||||
|
var alarmDefine BarParams
|
||||||
|
|
||||||
|
err = json.Unmarshal([]byte(sysJob.TargetParams), &alarmDefine)
|
||||||
|
if err == nil {
|
||||||
|
log.Error("Failed to Unmarshal:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var nes []dborm.NeInfo
|
||||||
|
_, err = dborm.XormGetAllNeInfo(&nes)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to get all ne info:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
succActiveAlarmNum := 0
|
||||||
|
failActiveAlarmNum := 0
|
||||||
|
succClearAlarmNum := 0
|
||||||
|
failClearAlarmNum := 0
|
||||||
|
|
||||||
|
for _, ne := range nes {
|
||||||
|
//log.Debug("ne:", ne)
|
||||||
|
|
||||||
|
sql := fmt.Sprintf("select * from ne_state where ne_type = '%s' and ne_id = '%s' order by timestamp desc limit 1", ne.NeType, ne.NeId)
|
||||||
|
neState, err := dborm.XormGetDataBySQL(sql)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to get ne_state:", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if len(*neState) == 0 {
|
||||||
|
log.Warn("Not found record in ne_state:")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
//log.Debug("neState:", *neState)
|
||||||
|
|
||||||
|
// params := "10000"
|
||||||
|
|
||||||
|
// alarmDefine, err := dborm.XormGetAlarmDefine(params)
|
||||||
|
// if err != nil {
|
||||||
|
// log.Error("Failed to get alarm_define:", err)
|
||||||
|
// continue
|
||||||
|
// } else if alarmDefine == nil {
|
||||||
|
// log.Error("Not found data from alarm_define")
|
||||||
|
// continue
|
||||||
|
// }
|
||||||
|
|
||||||
|
// log.Debug("alarmDefine:", alarmDefine)
|
||||||
|
|
||||||
|
sql = fmt.Sprintf("select * from alarm where alarm_id = '%s' and ne_type='%s' and ne_id = '%s' order by event_time desc limit 1",
|
||||||
|
alarmDefine.AlarmID, ne.NeType, ne.RmUID)
|
||||||
|
alarm, err := dborm.XormGetDataBySQL(sql)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to get alarm:", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
//log.Debug("alarm:", *alarm)
|
||||||
|
|
||||||
|
var timestamp string
|
||||||
|
if len(*neState) == 0 {
|
||||||
|
log.Infof("Not found ne_state neType:%s, neId:%s", ne.NeType, ne.NeId)
|
||||||
|
timestamp = ne.UpdateTime
|
||||||
|
} else {
|
||||||
|
timestamp = (*neState)[0]["timestamp"]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析日期时间字符串为时间对象
|
||||||
|
seconds, err := global.GetSecondsSinceDatetime(timestamp)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to GetSecondsSinceDatetime:", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
log.Debugf("timestamp:%s seconds:%d", timestamp, seconds)
|
||||||
|
|
||||||
|
if seconds <= alarmDefine.Threshold {
|
||||||
|
if len(*alarm) == 0 || (*alarm)[0]["alarm_status"] == fm.AlarmStatusClearString {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// clear alarm, todo
|
||||||
|
var alarmSeq int = 1
|
||||||
|
threshold := strconv.FormatInt(alarmDefine.Threshold, 10)
|
||||||
|
SpecificProblem := strings.ReplaceAll(alarmDefine.SpecificProblem, "{threshold}", threshold)
|
||||||
|
locationInfo := fmt.Sprintf("SystemManagement.State: NE heartbeat timestamp=%s,threshold=%v", timestamp, alarmDefine.Threshold)
|
||||||
|
alarmData := &Alarm{
|
||||||
|
AlarmSeq: alarmSeq,
|
||||||
|
AlarmId: alarmDefine.AlarmID,
|
||||||
|
NeId: ne.RmUID,
|
||||||
|
NeType: ne.NeType,
|
||||||
|
NeName: ne.NeName,
|
||||||
|
Province: ne.Province,
|
||||||
|
PVFlag: ne.PvFlag,
|
||||||
|
AlarmCode: alarmDefine.AlarmCode,
|
||||||
|
AlarmTitle: alarmDefine.AlarmTitle,
|
||||||
|
AlarmType: alarmDefine.AlarmType,
|
||||||
|
AlarmStatus: fm.AlarmStatusClear,
|
||||||
|
OrigSeverity: alarmDefine.OrigSeverity,
|
||||||
|
ObjectUid: alarmDefine.ObjectUID,
|
||||||
|
ObjectName: alarmDefine.ObjectName,
|
||||||
|
ObjectType: alarmDefine.ObjectType,
|
||||||
|
LocationInfo: locationInfo,
|
||||||
|
SpecificProblem: SpecificProblem,
|
||||||
|
SpecificProblemID: alarmDefine.SpecificProblemID,
|
||||||
|
AddInfo: alarmDefine.AddInfo,
|
||||||
|
EventTime: time.Now().Local().Format(time.RFC3339),
|
||||||
|
}
|
||||||
|
|
||||||
|
alarmArray := &[]Alarm{*alarmData}
|
||||||
|
body, _ := json.Marshal(alarmArray)
|
||||||
|
//log.Debug("body: ", string(body))
|
||||||
|
|
||||||
|
var response *resty.Response
|
||||||
|
requestURI := fmt.Sprintf("/api/rest/faultManagement/v1/elementType/%s/objectType/alarms", ne.NeType)
|
||||||
|
restHost := fmt.Sprintf("http://127.0.0.1:%d", config.GetYamlConfig().Rest[0].Port)
|
||||||
|
requestURL := fmt.Sprintf("%s%s", restHost, requestURI)
|
||||||
|
log.Debug("requestURL: POST ", requestURL)
|
||||||
|
response, err = client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
SetBody(body).
|
||||||
|
Post(requestURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to post:", err)
|
||||||
|
failClearAlarmNum++
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Debug("StatusCode: ", response.StatusCode())
|
||||||
|
switch response.StatusCode() {
|
||||||
|
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
body := new(map[string]interface{})
|
||||||
|
_ = json.Unmarshal(response.Body(), &body)
|
||||||
|
succClearAlarmNum++
|
||||||
|
default:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
body := new(map[string]interface{})
|
||||||
|
_ = json.Unmarshal(response.Body(), &body)
|
||||||
|
failClearAlarmNum++
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var alarmSeq int = 1
|
||||||
|
if len(*alarm) > 0 && (*alarm)[0]["alarm_status"] == fm.AlarmStatusActiveString {
|
||||||
|
log.Info("System state alarm has exist")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
threshold := strconv.FormatInt(alarmDefine.Threshold, 10)
|
||||||
|
SpecificProblem := strings.ReplaceAll(alarmDefine.SpecificProblem, "{threshold}", threshold)
|
||||||
|
locationInfo := fmt.Sprintf("SystemManagement.State: NE heartbeat timestamp=%s,threshold=%v", timestamp, alarmDefine.Threshold)
|
||||||
|
alarmData := &Alarm{
|
||||||
|
AlarmSeq: alarmSeq,
|
||||||
|
AlarmId: alarmDefine.AlarmID,
|
||||||
|
NeId: ne.RmUID,
|
||||||
|
NeType: ne.NeType,
|
||||||
|
NeName: ne.NeName,
|
||||||
|
Province: ne.Province,
|
||||||
|
PVFlag: ne.PvFlag,
|
||||||
|
AlarmCode: alarmDefine.AlarmCode,
|
||||||
|
AlarmTitle: alarmDefine.AlarmTitle,
|
||||||
|
AlarmType: alarmDefine.AlarmType,
|
||||||
|
AlarmStatus: fm.AlarmStatusActive,
|
||||||
|
OrigSeverity: alarmDefine.OrigSeverity,
|
||||||
|
ObjectUid: alarmDefine.ObjectUID,
|
||||||
|
ObjectName: alarmDefine.ObjectName,
|
||||||
|
ObjectType: alarmDefine.ObjectType,
|
||||||
|
LocationInfo: locationInfo,
|
||||||
|
SpecificProblem: SpecificProblem,
|
||||||
|
SpecificProblemID: alarmDefine.SpecificProblemID,
|
||||||
|
AddInfo: alarmDefine.AddInfo,
|
||||||
|
EventTime: time.Now().Local().Format(time.RFC3339),
|
||||||
|
}
|
||||||
|
|
||||||
|
alarmArray := &[]Alarm{*alarmData}
|
||||||
|
body, _ := json.Marshal(alarmArray)
|
||||||
|
//log.Debug("body: ", string(body))
|
||||||
|
|
||||||
|
var response *resty.Response
|
||||||
|
requestURI := fmt.Sprintf("/api/rest/faultManagement/v1/elementType/%s/objectType/alarms", ne.NeType)
|
||||||
|
restHost := fmt.Sprintf("http://127.0.0.1:%d", config.GetYamlConfig().Rest[0].Port)
|
||||||
|
requestURL := fmt.Sprintf("%s%s", restHost, requestURI)
|
||||||
|
log.Debug("requestURL: POST ", requestURL)
|
||||||
|
response, err = client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
SetBody(body).
|
||||||
|
Post(requestURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to post:", err)
|
||||||
|
failActiveAlarmNum++
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Debug("StatusCode: ", response.StatusCode())
|
||||||
|
switch response.StatusCode() {
|
||||||
|
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
body := new(map[string]interface{})
|
||||||
|
_ = json.Unmarshal(response.Body(), &body)
|
||||||
|
succActiveAlarmNum++
|
||||||
|
default:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
body := new(map[string]interface{})
|
||||||
|
_ = json.Unmarshal(response.Body(), &body)
|
||||||
|
failActiveAlarmNum++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 返回结果,用于记录执行结果
|
||||||
|
return map[string]any{
|
||||||
|
"succActiveAlarmNum": succActiveAlarmNum,
|
||||||
|
"failActiveAlarmNum": failActiveAlarmNum,
|
||||||
|
"succClearAlarmNum": succClearAlarmNum,
|
||||||
|
"failClearAlarmNum": failClearAlarmNum,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
167
src/modules/crontask/processor/getStateFromNE/getStateFromNE.go
Normal file
167
src/modules/crontask/processor/getStateFromNE/getStateFromNE.go
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
package getStateFromNE
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"ems.agt/lib/dborm"
|
||||||
|
"ems.agt/lib/log"
|
||||||
|
"ems.agt/restagent/config"
|
||||||
|
"github.com/go-resty/resty/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
var NewProcessor = &BarProcessor{
|
||||||
|
progress: 0,
|
||||||
|
count: 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
// bar 队列任务处理
|
||||||
|
type BarProcessor struct {
|
||||||
|
// 任务进度
|
||||||
|
progress int
|
||||||
|
// 执行次数
|
||||||
|
count int
|
||||||
|
}
|
||||||
|
|
||||||
|
type BarParams struct {
|
||||||
|
Duration int `json:"duration"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CpuUsage struct {
|
||||||
|
NfCpuUsage uint16 `json:"nfCpuUsage"`
|
||||||
|
SysCpuUsage uint16 `json:"sysCpuUsage"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type MemUsage struct {
|
||||||
|
TotalMem uint32 `json:"totalMem"`
|
||||||
|
NfUsedMem uint32 `json:"nfUsedMem"`
|
||||||
|
SysMemUsage uint16 `json:"sysMemUsage"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PartitionInfo struct {
|
||||||
|
Total uint32 `json:"total"` // MB
|
||||||
|
Used uint32 `json:"used"` // MB
|
||||||
|
}
|
||||||
|
|
||||||
|
type DiskSpace struct {
|
||||||
|
PartitionNum uint8 `json:"partitionNum"`
|
||||||
|
|
||||||
|
PartitionInfo []PartitionInfo `json:"partitionInfo"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SystemState struct {
|
||||||
|
Version string `json:"version"`
|
||||||
|
Capability uint32 `json:"capability"`
|
||||||
|
SerialNum string `json:"serialNum"`
|
||||||
|
ExpiryDate string `json:"expiryDate"`
|
||||||
|
//Timestamp string `json:"timestamp"`
|
||||||
|
|
||||||
|
CpuUsage CpuUsage `json:"cpuUsage"`
|
||||||
|
MemUsage MemUsage `json:"memUsage"`
|
||||||
|
|
||||||
|
DiskSpace DiskSpace `json:"diskSpace"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var client = resty.New()
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
/*
|
||||||
|
client.
|
||||||
|
SetTimeout(10 * time.Second).
|
||||||
|
SetRetryCount(1).
|
||||||
|
SetRetryWaitTime(1 * time.Second).
|
||||||
|
SetRetryMaxWaitTime(2 * time.Second).
|
||||||
|
SetRetryAfter(func(client *resty.Client, resp *resty.Response) (time.Duration, error) {
|
||||||
|
return 0, errors.New("quota exceeded")
|
||||||
|
})
|
||||||
|
*/
|
||||||
|
client.
|
||||||
|
SetTimeout(time.Duration(400 * time.Millisecond))
|
||||||
|
// SetRetryCount(1).
|
||||||
|
// SetRetryWaitTime(time.Duration(1 * time.Second)).
|
||||||
|
// SetRetryMaxWaitTime(time.Duration(2 * time.Second))
|
||||||
|
//client.SetTimeout(2 * time.Second)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *BarProcessor) Execute(data any) (any, error) {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
s.count++
|
||||||
|
// options := data.(cron.JobData)
|
||||||
|
// // sysJob := options.SysJob
|
||||||
|
// // var params BarParams
|
||||||
|
|
||||||
|
// // // err := json.Unmarshal([]byte(sysJob.TargetParams), ¶ms)
|
||||||
|
// // // if err == nil {
|
||||||
|
// // // duration = params.Duration
|
||||||
|
// // // }
|
||||||
|
|
||||||
|
var nes []dborm.NeInfo
|
||||||
|
_, err = dborm.XormGetAllNeInfo(&nes)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to get all ne info:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
failNum := 0
|
||||||
|
succNum := 0
|
||||||
|
for _, ne := range nes {
|
||||||
|
requestURI := fmt.Sprintf("/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", strings.ToLower(ne.NeType))
|
||||||
|
requestURL := fmt.Sprintf("http://%s:%s%s", ne.Ip, ne.Port, requestURI)
|
||||||
|
log.Debug("requestURL: Get", requestURL)
|
||||||
|
client := resty.New()
|
||||||
|
response, err := client.R().
|
||||||
|
EnableTrace().
|
||||||
|
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}).
|
||||||
|
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
|
||||||
|
Get(requestURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to Get:", err)
|
||||||
|
failNum++
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Debug("StatusCode: ", response.StatusCode())
|
||||||
|
switch response.StatusCode() {
|
||||||
|
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
state := new(SystemState)
|
||||||
|
_ = json.Unmarshal(response.Body(), &state)
|
||||||
|
neState := new(dborm.NeState)
|
||||||
|
neState.NeType = ne.NeType
|
||||||
|
neState.NeId = ne.NeId
|
||||||
|
neState.Version = state.Version
|
||||||
|
neState.Capability = state.Capability
|
||||||
|
neState.SerialNum = state.SerialNum
|
||||||
|
neState.ExpiryDate = state.ExpiryDate
|
||||||
|
cu, _ := json.Marshal(state.CpuUsage)
|
||||||
|
neState.CpuUsage = string(cu)
|
||||||
|
mu, _ := json.Marshal(state.MemUsage)
|
||||||
|
neState.MemUsage = string(mu)
|
||||||
|
ds, _ := json.Marshal(state.DiskSpace)
|
||||||
|
neState.DiskSpace = string(ds)
|
||||||
|
log.Debug("neState:", neState)
|
||||||
|
_, err := dborm.XormInsertNeState(neState)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to insert ne_state:", err)
|
||||||
|
failNum++
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
succNum++
|
||||||
|
default:
|
||||||
|
log.Debug("response body:", string(response.Body()))
|
||||||
|
body := new(map[string]interface{})
|
||||||
|
_ = json.Unmarshal(response.Body(), &body)
|
||||||
|
failNum++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 返回结果,用于记录执行结果
|
||||||
|
return map[string]any{
|
||||||
|
"succNum": succNum,
|
||||||
|
"failNum": failNum,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
@@ -5,6 +5,8 @@ import (
|
|||||||
"ems.agt/src/modules/crontask/processor/backupEtcFromNE"
|
"ems.agt/src/modules/crontask/processor/backupEtcFromNE"
|
||||||
"ems.agt/src/modules/crontask/processor/delExpiredNeBackup"
|
"ems.agt/src/modules/crontask/processor/delExpiredNeBackup"
|
||||||
"ems.agt/src/modules/crontask/processor/deleteExpiredRecord"
|
"ems.agt/src/modules/crontask/processor/deleteExpiredRecord"
|
||||||
|
"ems.agt/src/modules/crontask/processor/genNeStateAlarm"
|
||||||
|
"ems.agt/src/modules/crontask/processor/getStateFromNE"
|
||||||
monitorsysresource "ems.agt/src/modules/crontask/processor/monitor_sys_resource"
|
monitorsysresource "ems.agt/src/modules/crontask/processor/monitor_sys_resource"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -16,4 +18,6 @@ func InitCronQueue() {
|
|||||||
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
||||||
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
||||||
cron.CreateQueue("backupEtcFromNE", backupEtcFromNE.NewProcessor)
|
cron.CreateQueue("backupEtcFromNE", backupEtcFromNE.NewProcessor)
|
||||||
|
cron.CreateQueue("getStateFromNE", getStateFromNE.NewProcessor)
|
||||||
|
cron.CreateQueue("genNeStateAlarm", genNeStateAlarm.NewProcessor)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,22 +43,9 @@ func (s *SysJobLogController) List(c *gin.Context) {
|
|||||||
querys := ctx.QueryMap(c)
|
querys := ctx.QueryMap(c)
|
||||||
data := s.sysJobLogService.SelectJobLogPage(querys)
|
data := s.sysJobLogService.SelectJobLogPage(querys)
|
||||||
|
|
||||||
language := ctx.AcceptLanguage(c)
|
|
||||||
|
|
||||||
// 反查多语言key
|
|
||||||
querys["jobName"] = i18n.ValueKey(language, querys["jobName"].(string))
|
|
||||||
dataI18n := s.sysJobLogService.SelectJobLogPage(querys)
|
|
||||||
totalI18n := parse.Number(dataI18n["total"])
|
|
||||||
if totalI18n != 0 {
|
|
||||||
rows := data["rows"].([]model.SysJobLog)
|
|
||||||
total := parse.Number(data["total"])
|
|
||||||
rowsI18n := dataI18n["rows"].([]model.SysJobLog)
|
|
||||||
data["rows"] = append(rows, rowsI18n...)
|
|
||||||
data["total"] = total + totalI18n
|
|
||||||
}
|
|
||||||
|
|
||||||
rows := data["rows"].([]model.SysJobLog)
|
rows := data["rows"].([]model.SysJobLog)
|
||||||
// 闭包函数处理多语言
|
// 闭包函数处理多语言
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
converI18n := func(language string, arr *[]model.SysJobLog) {
|
converI18n := func(language string, arr *[]model.SysJobLog) {
|
||||||
for i := range *arr {
|
for i := range *arr {
|
||||||
(*arr)[i].JobName = i18n.TKey(language, (*arr)[i].JobName)
|
(*arr)[i].JobName = i18n.TKey(language, (*arr)[i].JobName)
|
||||||
|
|||||||
@@ -234,9 +234,7 @@ func (r *SysJobImpl) InsertJob(sysJob model.SysJob) string {
|
|||||||
if sysJob.InvokeTarget != "" {
|
if sysJob.InvokeTarget != "" {
|
||||||
params["invoke_target"] = sysJob.InvokeTarget
|
params["invoke_target"] = sysJob.InvokeTarget
|
||||||
}
|
}
|
||||||
if sysJob.TargetParams != "" {
|
params["target_params"] = sysJob.TargetParams
|
||||||
params["target_params"] = sysJob.TargetParams
|
|
||||||
}
|
|
||||||
if sysJob.CronExpression != "" {
|
if sysJob.CronExpression != "" {
|
||||||
params["cron_expression"] = sysJob.CronExpression
|
params["cron_expression"] = sysJob.CronExpression
|
||||||
}
|
}
|
||||||
@@ -252,9 +250,7 @@ func (r *SysJobImpl) InsertJob(sysJob model.SysJob) string {
|
|||||||
if sysJob.SaveLog != "" {
|
if sysJob.SaveLog != "" {
|
||||||
params["save_log"] = sysJob.SaveLog
|
params["save_log"] = sysJob.SaveLog
|
||||||
}
|
}
|
||||||
if sysJob.Remark != "" {
|
params["remark"] = sysJob.Remark
|
||||||
params["remark"] = sysJob.Remark
|
|
||||||
}
|
|
||||||
if sysJob.CreateBy != "" {
|
if sysJob.CreateBy != "" {
|
||||||
params["create_by"] = sysJob.CreateBy
|
params["create_by"] = sysJob.CreateBy
|
||||||
params["create_time"] = time.Now().UnixMilli()
|
params["create_time"] = time.Now().UnixMilli()
|
||||||
@@ -300,9 +296,7 @@ func (r *SysJobImpl) UpdateJob(sysJob model.SysJob) int64 {
|
|||||||
if sysJob.InvokeTarget != "" {
|
if sysJob.InvokeTarget != "" {
|
||||||
params["invoke_target"] = sysJob.InvokeTarget
|
params["invoke_target"] = sysJob.InvokeTarget
|
||||||
}
|
}
|
||||||
if sysJob.TargetParams != "" {
|
params["target_params"] = sysJob.TargetParams
|
||||||
params["target_params"] = sysJob.TargetParams
|
|
||||||
}
|
|
||||||
if sysJob.CronExpression != "" {
|
if sysJob.CronExpression != "" {
|
||||||
params["cron_expression"] = sysJob.CronExpression
|
params["cron_expression"] = sysJob.CronExpression
|
||||||
}
|
}
|
||||||
@@ -318,9 +312,7 @@ func (r *SysJobImpl) UpdateJob(sysJob model.SysJob) int64 {
|
|||||||
if sysJob.SaveLog != "" {
|
if sysJob.SaveLog != "" {
|
||||||
params["save_log"] = sysJob.SaveLog
|
params["save_log"] = sysJob.SaveLog
|
||||||
}
|
}
|
||||||
if sysJob.Remark != "" {
|
params["remark"] = sysJob.Remark
|
||||||
params["remark"] = sysJob.Remark
|
|
||||||
}
|
|
||||||
if sysJob.UpdateBy != "" {
|
if sysJob.UpdateBy != "" {
|
||||||
params["update_by"] = sysJob.UpdateBy
|
params["update_by"] = sysJob.UpdateBy
|
||||||
params["update_time"] = time.Now().UnixMilli()
|
params["update_time"] = time.Now().UnixMilli()
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ package controller
|
|||||||
import (
|
import (
|
||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
|
"ems.agt/src/framework/utils/parse"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
|
"ems.agt/src/modules/network_element/model"
|
||||||
neService "ems.agt/src/modules/network_element/service"
|
neService "ems.agt/src/modules/network_element/service"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -21,22 +23,86 @@ type NeInfoController struct {
|
|||||||
neInfoService neService.INeInfo
|
neInfoService neService.INeInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 网元状态
|
||||||
|
//
|
||||||
|
// GET /state
|
||||||
|
func (s *NeInfoController) NeState(c *gin.Context) {
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
|
var querys struct {
|
||||||
|
NeType string `form:"neType" binding:"required"`
|
||||||
|
NeID string `form:"neId" binding:"required"`
|
||||||
|
}
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||||
|
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||||
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 网元直连
|
||||||
|
resData, err := neService.NeState(neInfo)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, result.ErrMsg("connection failure"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.JSON(200, result.OkData(resData))
|
||||||
|
}
|
||||||
|
|
||||||
// 网元neType和neID查询
|
// 网元neType和neID查询
|
||||||
//
|
//
|
||||||
// GET /info
|
// GET /info
|
||||||
func (s *NeInfoController) NeTypeAndID(c *gin.Context) {
|
func (s *NeInfoController) NeTypeAndID(c *gin.Context) {
|
||||||
language := ctx.AcceptLanguage(c)
|
language := ctx.AcceptLanguage(c)
|
||||||
neType := c.Query("neType")
|
var querys struct {
|
||||||
neId := c.Query("neId")
|
NeType string `form:"neType" binding:"required"`
|
||||||
if neType == "" || neId == "" {
|
NeID string `form:"neId" binding:"required"`
|
||||||
|
}
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(neType, neId)
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||||
if neInfo.NeId != neId || neInfo.IP == "" {
|
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c.JSON(200, result.OkData(neInfo))
|
c.JSON(200, result.OkData(neInfo))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 网元列表
|
||||||
|
//
|
||||||
|
// GET /list
|
||||||
|
func (s *NeInfoController) NeList(c *gin.Context) {
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
|
var querys struct {
|
||||||
|
NeType string `form:"neType"`
|
||||||
|
NeId string `form:"neId"`
|
||||||
|
BandStatus string `form:"bandStatus"`
|
||||||
|
}
|
||||||
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询实体参数
|
||||||
|
ne := model.NeInfo{}
|
||||||
|
if querys.NeType != "" {
|
||||||
|
ne.NeType = querys.NeType
|
||||||
|
}
|
||||||
|
if querys.NeId != "" {
|
||||||
|
ne.NeId = querys.NeId
|
||||||
|
}
|
||||||
|
bandStatus := parse.Boolean(querys.BandStatus)
|
||||||
|
neList := s.neInfoService.SelectNeList(ne, bandStatus)
|
||||||
|
if len(neList) == 0 {
|
||||||
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.JSON(200, result.OkData(neList))
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
|
"ems.agt/src/modules/network_element/model"
|
||||||
neService "ems.agt/src/modules/network_element/service"
|
neService "ems.agt/src/modules/network_element/service"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -30,13 +31,7 @@ type PerfKPIController struct {
|
|||||||
// GET /data
|
// GET /data
|
||||||
func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
||||||
language := ctx.AcceptLanguage(c)
|
language := ctx.AcceptLanguage(c)
|
||||||
var querys struct {
|
var querys model.GoldKPIQuery
|
||||||
NeType string `form:"neType" binding:"required"`
|
|
||||||
NeID string `form:"neId" binding:"required"`
|
|
||||||
StartTime string `form:"startTime" binding:"required"`
|
|
||||||
EndTime string `form:"endTime" binding:"required"`
|
|
||||||
Interval int64 `form:"interval" binding:"required"`
|
|
||||||
}
|
|
||||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
return
|
return
|
||||||
@@ -47,12 +42,10 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
|||||||
if startTime.IsZero() {
|
if startTime.IsZero() {
|
||||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
}
|
}
|
||||||
startTimeStr := startTime.Format(date.YYYY_MM_DD_HH_MM_SS)
|
|
||||||
endTime := date.ParseStrToDate(querys.EndTime, date.YYYY_MM_DD_HH_MM_SS)
|
endTime := date.ParseStrToDate(querys.EndTime, date.YYYY_MM_DD_HH_MM_SS)
|
||||||
if startTime.IsZero() {
|
if endTime.IsZero() {
|
||||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
}
|
}
|
||||||
endTimeStr := endTime.Format(date.YYYY_MM_DD_HH_MM_SS)
|
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||||
@@ -60,16 +53,10 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
|||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
querys.RmUID = neInfo.RmUID
|
||||||
// 获取数据指标id
|
|
||||||
var kpiIds []string
|
|
||||||
kpiTitles := s.perfKPIService.SelectGoldKPITitle(neInfo.NeType)
|
|
||||||
for _, kpiId := range kpiTitles {
|
|
||||||
kpiIds = append(kpiIds, kpiId.KPIID)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
kpiData := s.perfKPIService.SelectGoldKPI(neInfo.RmUID, neInfo.NeType, startTimeStr, endTimeStr, kpiIds, querys.Interval)
|
kpiData := s.perfKPIService.SelectGoldKPI(querys)
|
||||||
c.JSON(200, result.OkData(kpiData))
|
c.JSON(200, result.OkData(kpiData))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import (
|
|||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
"ems.agt/src/framework/utils/file"
|
"ems.agt/src/framework/utils/file"
|
||||||
|
"ems.agt/src/framework/utils/parse"
|
||||||
"ems.agt/src/framework/utils/ssh"
|
"ems.agt/src/framework/utils/ssh"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
"ems.agt/src/modules/network_element/model"
|
"ems.agt/src/modules/network_element/model"
|
||||||
@@ -89,6 +90,11 @@ func (s *UDMAuthController) Info(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(data) == 0 {
|
||||||
|
c.JSON(200, result.ErrMsg("No Auth Data"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询数据库是否存在并存入
|
// 查询数据库是否存在并存入
|
||||||
neId = ""
|
neId = ""
|
||||||
var userInfo model.UDMAuth
|
var userInfo model.UDMAuth
|
||||||
@@ -265,6 +271,14 @@ func (s *UDMAuthController) Remove(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理字符转id数组后去重
|
||||||
|
imsiArr := strings.Split(imsi, ",")
|
||||||
|
uniqueIDs := parse.RemoveDuplicates(imsiArr)
|
||||||
|
if len(uniqueIDs) <= 0 {
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID("UDM", neId)
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID("UDM", neId)
|
||||||
if neInfo.NeId != neId || neInfo.IP == "" {
|
if neInfo.NeId != neId || neInfo.IP == "" {
|
||||||
@@ -272,21 +286,24 @@ func (s *UDMAuthController) Remove(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := fmt.Sprintf("del authdat:imsi=%s", imsi)
|
resultData := map[string]string{}
|
||||||
|
for _, imsi := range uniqueIDs {
|
||||||
|
msg := fmt.Sprintf("del authdat:imsi=%s", imsi)
|
||||||
|
|
||||||
// 发送MML
|
// 发送MML
|
||||||
data, err := mmlclient.MMLSendMsgToString(neInfo.IP, msg)
|
data, err := mmlclient.MMLSendMsgToString(neInfo.IP, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, result.ErrMsg(err.Error()))
|
resultData[imsi] = err.Error()
|
||||||
return
|
}
|
||||||
|
// 命令ok时
|
||||||
|
if strings.Contains(data, "ok") {
|
||||||
|
neId = ""
|
||||||
|
s.udmAuthService.Delete(neId, imsi)
|
||||||
|
resultData[imsi] = data
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 命令ok时
|
c.JSON(200, result.OkData(resultData))
|
||||||
if strings.Contains(data, "ok") {
|
|
||||||
neId = ""
|
|
||||||
s.udmAuthService.Delete(neId, imsi)
|
|
||||||
}
|
|
||||||
c.JSON(200, result.OkData(data))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UDM鉴权用户-批量删除
|
// UDM鉴权用户-批量删除
|
||||||
@@ -342,7 +359,7 @@ func (s *UDMAuthController) Export(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !(body.Type == "csv" || body.Type == "txt") {
|
if !(body.Type == "csv" || body.Type == "txt") {
|
||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "ne.udm.errImportFileFormat")))
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "ne.udm.errImportUserAuthFileFormat")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import (
|
|||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
"ems.agt/src/framework/utils/file"
|
"ems.agt/src/framework/utils/file"
|
||||||
|
"ems.agt/src/framework/utils/parse"
|
||||||
"ems.agt/src/framework/utils/ssh"
|
"ems.agt/src/framework/utils/ssh"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
"ems.agt/src/modules/network_element/model"
|
"ems.agt/src/modules/network_element/model"
|
||||||
@@ -90,6 +91,11 @@ func (s *UDMSubController) Info(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(data) == 0 {
|
||||||
|
c.JSON(200, result.ErrMsg("No Subs Data"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 解析返回的数据
|
// 解析返回的数据
|
||||||
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
||||||
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
||||||
@@ -341,6 +347,14 @@ func (s *UDMSubController) Remove(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理字符转id数组后去重
|
||||||
|
imsiArr := strings.Split(imsi, ",")
|
||||||
|
uniqueIDs := parse.RemoveDuplicates(imsiArr)
|
||||||
|
if len(uniqueIDs) <= 0 {
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID("UDM", neId)
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID("UDM", neId)
|
||||||
if neInfo.NeId != neId || neInfo.IP == "" {
|
if neInfo.NeId != neId || neInfo.IP == "" {
|
||||||
@@ -348,21 +362,24 @@ func (s *UDMSubController) Remove(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := fmt.Sprintf("del udmuser:imsi=%s", imsi)
|
resultData := map[string]string{}
|
||||||
|
for _, imsi := range uniqueIDs {
|
||||||
|
msg := fmt.Sprintf("del udmuser:imsi=%s", imsi)
|
||||||
|
|
||||||
// 发送MML
|
// 发送MML
|
||||||
data, err := mmlclient.MMLSendMsgToString(neInfo.IP, msg)
|
data, err := mmlclient.MMLSendMsgToString(neInfo.IP, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, result.ErrMsg(err.Error()))
|
resultData[imsi] = err.Error()
|
||||||
return
|
}
|
||||||
|
// 命令ok时
|
||||||
|
if strings.Contains(data, "ok") {
|
||||||
|
neId = ""
|
||||||
|
s.udmSubService.Delete(neId, imsi)
|
||||||
|
resultData[imsi] = data
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 命令ok时
|
c.JSON(200, result.OkData(resultData))
|
||||||
if strings.Contains(data, "ok") {
|
|
||||||
neId = ""
|
|
||||||
s.udmSubService.Delete(neId, imsi)
|
|
||||||
}
|
|
||||||
c.JSON(200, result.OkData(data))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UDM签约用户-批量删除
|
// UDM签约用户-批量删除
|
||||||
@@ -418,7 +435,7 @@ func (s *UDMSubController) Export(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !(body.Type == "csv" || body.Type == "txt") {
|
if !(body.Type == "csv" || body.Type == "txt") {
|
||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "ne.udm.errImportFileFormat")))
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "ne.udm.errImportUserSubFileFormat")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,4 +16,9 @@ type NeInfo struct {
|
|||||||
NeAddress string `json:"neAddress"`
|
NeAddress string `json:"neAddress"`
|
||||||
Status string `json:"status"` // 0: 在线 1: 下线 2: 备用 3: 工程
|
Status string `json:"status"` // 0: 在线 1: 下线 2: 备用 3: 工程
|
||||||
UpdateTime string `json:"updateTime"`
|
UpdateTime string `json:"updateTime"`
|
||||||
|
|
||||||
|
// ====== 非数据库字段属性 ======
|
||||||
|
|
||||||
|
// 服务状态
|
||||||
|
ServerState map[string]any `json:"serverState,omitempty"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,3 +9,15 @@ type GoldKPITitle struct {
|
|||||||
CnTitle string `json:"cnTitle" gorm:"column:cn_title"`
|
CnTitle string `json:"cnTitle" gorm:"column:cn_title"`
|
||||||
EnTitle string `json:"enTitle" gorm:"column:en_title"`
|
EnTitle string `json:"enTitle" gorm:"column:en_title"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GoldKPIQuery 黄金指标查询参数结构体
|
||||||
|
type GoldKPIQuery struct {
|
||||||
|
NeType string `form:"neType" binding:"required"`
|
||||||
|
NeID string `form:"neId" binding:"required"`
|
||||||
|
StartTime string `form:"startTime" binding:"required"`
|
||||||
|
EndTime string `form:"endTime" binding:"required"`
|
||||||
|
Interval int64 `form:"interval" binding:"required"`
|
||||||
|
RmUID string `form:"rmUID"`
|
||||||
|
SortField string `form:"sortField" binding:"omitempty,oneof=timeGroup"`
|
||||||
|
SortOrder string `form:"sortOrder" binding:"omitempty,oneof=asc desc"`
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,14 @@ func Setup(router *gin.Engine) {
|
|||||||
middleware.PreAuthorize(nil),
|
middleware.PreAuthorize(nil),
|
||||||
controller.NewNeInfo.NeTypeAndID,
|
controller.NewNeInfo.NeTypeAndID,
|
||||||
)
|
)
|
||||||
|
neGroup.GET("/state",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
controller.NewNeInfo.NeState,
|
||||||
|
)
|
||||||
|
neGroup.GET("/list",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
controller.NewNeInfo.NeList,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 网元处理
|
// 网元处理
|
||||||
|
|||||||
@@ -8,4 +8,7 @@ import (
|
|||||||
type INeInfo interface {
|
type INeInfo interface {
|
||||||
// SelectNeInfoByNeTypeAndNeID 通过ne_type和ne_id查询网元信息
|
// SelectNeInfoByNeTypeAndNeID 通过ne_type和ne_id查询网元信息
|
||||||
SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo
|
SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo
|
||||||
|
|
||||||
|
// SelectNeList 查询网元列表
|
||||||
|
SelectNeList(ne model.NeInfo) []model.NeInfo
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,33 @@
|
|||||||
package repository
|
package repository
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"ems.agt/src/framework/datasource"
|
"ems.agt/src/framework/datasource"
|
||||||
"ems.agt/src/framework/logger"
|
"ems.agt/src/framework/logger"
|
||||||
"ems.agt/src/framework/utils/repo"
|
"ems.agt/src/framework/utils/repo"
|
||||||
"ems.agt/src/modules/network_element/model"
|
"ems.agt/src/modules/network_element/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// neListSort 网元列表预设排序
|
||||||
|
var neListSort = []string{
|
||||||
|
"OMC",
|
||||||
|
"MME",
|
||||||
|
"AMF",
|
||||||
|
"AUSF",
|
||||||
|
"UDM",
|
||||||
|
"SMF",
|
||||||
|
"PCF",
|
||||||
|
"UPF",
|
||||||
|
"NRF",
|
||||||
|
"NSSF",
|
||||||
|
"IMS",
|
||||||
|
"N3IWF",
|
||||||
|
"NEF",
|
||||||
|
"LMF",
|
||||||
|
}
|
||||||
|
|
||||||
// 实例化数据层 NeInfoImpl 结构体
|
// 实例化数据层 NeInfoImpl 结构体
|
||||||
var NewNeInfoImpl = &NeInfoImpl{
|
var NewNeInfoImpl = &NeInfoImpl{
|
||||||
selectSql: `select id, ne_type, ne_id, rm_uid, ne_name, ip, port, pv_flag, province, vendor_name, dn, ne_address, status, update_time from ne_info`,
|
selectSql: `select id, ne_type, ne_id, rm_uid, ne_name, ip, port, pv_flag, province, vendor_name, dn, ne_address, status, update_time from ne_info`,
|
||||||
@@ -49,6 +70,31 @@ func (r *NeInfoImpl) convertResultRows(rows []map[string]any) []model.NeInfo {
|
|||||||
}
|
}
|
||||||
arr = append(arr, item)
|
arr = append(arr, item)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
sort.Slice(arr, func(i, j int) bool {
|
||||||
|
// 前一个
|
||||||
|
after := arr[i]
|
||||||
|
afterIndex := 0
|
||||||
|
for i, v := range neListSort {
|
||||||
|
if after.NeType == v {
|
||||||
|
afterIndex = i
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 后一个
|
||||||
|
befter := arr[j]
|
||||||
|
befterIndex := 0
|
||||||
|
for i, v := range neListSort {
|
||||||
|
if befter.NeType == v {
|
||||||
|
befterIndex = i
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 升序
|
||||||
|
return afterIndex < befterIndex
|
||||||
|
})
|
||||||
|
|
||||||
return arr
|
return arr
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,3 +113,34 @@ func (r *NeInfoImpl) SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeIn
|
|||||||
}
|
}
|
||||||
return model.NeInfo{}
|
return model.NeInfo{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SelectNeList 查询网元列表
|
||||||
|
func (r *NeInfoImpl) SelectNeList(ne model.NeInfo) []model.NeInfo {
|
||||||
|
// 查询条件拼接
|
||||||
|
var conditions []string
|
||||||
|
var params []any
|
||||||
|
if ne.NeType != "" {
|
||||||
|
conditions = append(conditions, "ne_type = ?")
|
||||||
|
params = append(params, ne.NeType)
|
||||||
|
}
|
||||||
|
if ne.NeId != "" {
|
||||||
|
conditions = append(conditions, "ne_id = ?")
|
||||||
|
params = append(params, ne.NeId)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建查询条件语句
|
||||||
|
whereSql := ""
|
||||||
|
if len(conditions) > 0 {
|
||||||
|
whereSql += " where " + strings.Join(conditions, " and ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数据
|
||||||
|
querySql := r.selectSql + whereSql + " order by ne_type asc "
|
||||||
|
results, err := datasource.RawDB("", querySql, params)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("query err => %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转换实体
|
||||||
|
return r.convertResultRows(results)
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import "ems.agt/src/modules/network_element/model"
|
|||||||
|
|
||||||
// 性能统计 数据层接口
|
// 性能统计 数据层接口
|
||||||
type IPerfKPI interface {
|
type IPerfKPI interface {
|
||||||
// SelectGoldKPI 通过ne_type和ne_id查询网元信息
|
// SelectGoldKPI 通过网元指标数据信息
|
||||||
SelectGoldKPI(rmUID, neType string, startTime, endTime string, kpiIds []string, interval int64) []map[string]any
|
SelectGoldKPI(query model.GoldKPIQuery, kpiIds []string) []map[string]any
|
||||||
|
|
||||||
// SelectGoldKPITitle
|
// SelectGoldKPITitle
|
||||||
SelectGoldKPITitle(neType string) []model.GoldKPITitle
|
SelectGoldKPITitle(neType string) []model.GoldKPITitle
|
||||||
|
|||||||
@@ -16,25 +16,25 @@ var NewPerfKPIImpl = &PerfKPIImpl{}
|
|||||||
type PerfKPIImpl struct{}
|
type PerfKPIImpl struct{}
|
||||||
|
|
||||||
// SelectGoldKPI 通过网元指标数据信息
|
// SelectGoldKPI 通过网元指标数据信息
|
||||||
func (r *PerfKPIImpl) SelectGoldKPI(rmUID, neType string, startTime, endTime string, kpiIds []string, interval int64) []map[string]any {
|
func (r *PerfKPIImpl) SelectGoldKPI(query model.GoldKPIQuery, kpiIds []string) []map[string]any {
|
||||||
// 查询条件拼接
|
// 查询条件拼接
|
||||||
var conditions []string
|
var conditions []string
|
||||||
var params []any
|
var params []any
|
||||||
if rmUID != "" {
|
if query.RmUID != "" {
|
||||||
conditions = append(conditions, "gk.rm_uid = ?")
|
conditions = append(conditions, "gk.rm_uid = ?")
|
||||||
params = append(params, rmUID)
|
params = append(params, query.RmUID)
|
||||||
}
|
}
|
||||||
if neType != "" {
|
if query.NeType != "" {
|
||||||
conditions = append(conditions, "gk.ne_type = ?")
|
conditions = append(conditions, "gk.ne_type = ?")
|
||||||
params = append(params, neType)
|
params = append(params, query.NeType)
|
||||||
}
|
}
|
||||||
if startTime != "" {
|
if query.StartTime != "" {
|
||||||
conditions = append(conditions, "gk.start_time >= ?")
|
conditions = append(conditions, "gk.start_time >= ?")
|
||||||
params = append(params, startTime)
|
params = append(params, query.StartTime)
|
||||||
}
|
}
|
||||||
if endTime != "" {
|
if query.EndTime != "" {
|
||||||
conditions = append(conditions, "gk.start_time <= ?")
|
conditions = append(conditions, "gk.start_time <= ?")
|
||||||
params = append(params, endTime)
|
params = append(params, query.EndTime)
|
||||||
}
|
}
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
@@ -44,7 +44,7 @@ func (r *PerfKPIImpl) SelectGoldKPI(rmUID, neType string, startTime, endTime str
|
|||||||
|
|
||||||
// 查询字段列
|
// 查询字段列
|
||||||
timeFormat := "DATE_FORMAT(gk.start_time, '%Y-%m-%d %H:')"
|
timeFormat := "DATE_FORMAT(gk.start_time, '%Y-%m-%d %H:')"
|
||||||
minuteGroup := fmt.Sprintf("LPAD(FLOOR(MINUTE(gk.start_time) / %d) * %d, 2, '0')", interval, interval)
|
minuteGroup := fmt.Sprintf("LPAD(FLOOR(MINUTE(gk.start_time) / %d) * %d, 2, '0')", query.Interval, query.Interval)
|
||||||
groupByField := fmt.Sprintf("CONCAT( %s, %s ) AS timeGroup", timeFormat, minuteGroup)
|
groupByField := fmt.Sprintf("CONCAT( %s, %s ) AS timeGroup", timeFormat, minuteGroup)
|
||||||
var fields = []string{
|
var fields = []string{
|
||||||
groupByField,
|
groupByField,
|
||||||
@@ -58,7 +58,14 @@ func (r *PerfKPIImpl) SelectGoldKPI(rmUID, neType string, startTime, endTime str
|
|||||||
fieldsSql := strings.Join(fields, ",")
|
fieldsSql := strings.Join(fields, ",")
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
querySql := fmt.Sprintf("SELECT %s FROM gold_kpi gk %s GROUP BY timeGroup", fieldsSql, whereSql)
|
if query.SortField == "" {
|
||||||
|
query.SortField = "timeGroup"
|
||||||
|
}
|
||||||
|
if query.SortOrder == "" {
|
||||||
|
query.SortOrder = "desc"
|
||||||
|
}
|
||||||
|
orderSql := fmt.Sprintf(" order by %s %s", query.SortField, query.SortOrder)
|
||||||
|
querySql := fmt.Sprintf("SELECT %s FROM gold_kpi gk %s GROUP BY timeGroup %s", fieldsSql, whereSql, orderSql)
|
||||||
results, err := datasource.RawDB("", querySql, params)
|
results, err := datasource.RawDB("", querySql, params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("query err => %v", err)
|
logger.Errorf("query err => %v", err)
|
||||||
|
|||||||
44
src/modules/network_element/service/ne_direct_link.go
Normal file
44
src/modules/network_element/service/ne_direct_link.go
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"ems.agt/src/framework/logger"
|
||||||
|
"ems.agt/src/framework/utils/fetch"
|
||||||
|
"ems.agt/src/modules/network_element/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NeState 获取网元端服务状态
|
||||||
|
func NeState(neInfo model.NeInfo) (map[string]any, error) {
|
||||||
|
// 网元直连
|
||||||
|
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
|
||||||
|
resBytes, err := fetch.Get(neUrl, nil, 1)
|
||||||
|
if err != nil {
|
||||||
|
logger.Warnf("NeState %s", err.Error())
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 序列化结果
|
||||||
|
var resData map[string]any
|
||||||
|
err = json.Unmarshal(resBytes, &resData)
|
||||||
|
if err != nil {
|
||||||
|
logger.Warnf("NeState Unmarshal %s", err.Error())
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return map[string]any{
|
||||||
|
"neType": neInfo.NeType,
|
||||||
|
"neId": neInfo.NeId,
|
||||||
|
"neName": neInfo.NeName,
|
||||||
|
"refreshTime": time.Now().UnixMilli(), // 获取时间
|
||||||
|
"version": resData["version"],
|
||||||
|
"capability": resData["capability"],
|
||||||
|
"sn": resData["serialNum"],
|
||||||
|
"expire": resData["expiryDate"],
|
||||||
|
"cpu": resData["cpuUsage"],
|
||||||
|
"mem": resData["memUsage"],
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
@@ -6,4 +6,7 @@ import "ems.agt/src/modules/network_element/model"
|
|||||||
type INeInfo interface {
|
type INeInfo interface {
|
||||||
// SelectNeInfoByNeTypeAndNeID 通过ne_type和ne_id查询网元信息
|
// SelectNeInfoByNeTypeAndNeID 通过ne_type和ne_id查询网元信息
|
||||||
SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo
|
SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo
|
||||||
|
|
||||||
|
// SelectNeList 查询网元列表
|
||||||
|
SelectNeList(ne model.NeInfo, bandStatus bool) []model.NeInfo
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,3 +20,24 @@ type NeInfoImpl struct {
|
|||||||
func (r *NeInfoImpl) SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo {
|
func (r *NeInfoImpl) SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo {
|
||||||
return r.NeInfoRepository.SelectNeInfoByNeTypeAndNeID(neType, neID)
|
return r.NeInfoRepository.SelectNeInfoByNeTypeAndNeID(neType, neID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SelectNeList 查询网元列表
|
||||||
|
func (r *NeInfoImpl) SelectNeList(ne model.NeInfo, bandStatus bool) []model.NeInfo {
|
||||||
|
list := r.NeInfoRepository.SelectNeList(ne)
|
||||||
|
|
||||||
|
// 网元直连读取网元服务状态
|
||||||
|
if bandStatus {
|
||||||
|
neList := &list
|
||||||
|
for i := range *neList {
|
||||||
|
v := (*neList)[i]
|
||||||
|
result, err := NeState(v)
|
||||||
|
if err != nil {
|
||||||
|
(*neList)[i].ServerState = map[string]any{}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
(*neList)[i].ServerState = result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import "ems.agt/src/modules/network_element/model"
|
|||||||
|
|
||||||
// 性能统计 数据层接口
|
// 性能统计 数据层接口
|
||||||
type IPerfKPI interface {
|
type IPerfKPI interface {
|
||||||
// SelectGoldKPI 通过ne_type和ne_id查询网元信息
|
// SelectGoldKPI 通过网元指标数据信息
|
||||||
SelectGoldKPI(rmUID, neType string, startTime, endTime string, kpiIds []string, interval int64) []map[string]any
|
SelectGoldKPI(query model.GoldKPIQuery) []map[string]any
|
||||||
|
|
||||||
// SelectGoldKPITitle
|
// SelectGoldKPITitle
|
||||||
SelectGoldKPITitle(neType string) []model.GoldKPITitle
|
SelectGoldKPITitle(neType string) []model.GoldKPITitle
|
||||||
|
|||||||
@@ -17,8 +17,15 @@ type PerfKPIImpl struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SelectGoldKPI 通过网元指标数据信息
|
// SelectGoldKPI 通过网元指标数据信息
|
||||||
func (r *PerfKPIImpl) SelectGoldKPI(rmUID, neType string, startTime, endTime string, kpiIds []string, interval int64) []map[string]any {
|
func (r *PerfKPIImpl) SelectGoldKPI(query model.GoldKPIQuery) []map[string]any {
|
||||||
data := r.perfKPIRepository.SelectGoldKPI(rmUID, neType, startTime, endTime, kpiIds, interval)
|
// 获取数据指标id
|
||||||
|
var kpiIds []string
|
||||||
|
kpiTitles := r.perfKPIRepository.SelectGoldKPITitle(query.NeType)
|
||||||
|
for _, kpiId := range kpiTitles {
|
||||||
|
kpiIds = append(kpiIds, kpiId.KPIID)
|
||||||
|
}
|
||||||
|
|
||||||
|
data := r.perfKPIRepository.SelectGoldKPI(query, kpiIds)
|
||||||
if data == nil {
|
if data == nil {
|
||||||
return []map[string]any{}
|
return []map[string]any{}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,12 +62,8 @@ func (r *UDMAuthImpl) authDataByRedis(imsi, neID string) []model.UDMAuth {
|
|||||||
|
|
||||||
// Save UDM鉴权用户-获取redis全部保存数据库
|
// Save UDM鉴权用户-获取redis全部保存数据库
|
||||||
func (r *UDMAuthImpl) Save(neID string) int64 {
|
func (r *UDMAuthImpl) Save(neID string) int64 {
|
||||||
var num int64 = 0
|
|
||||||
authArr := r.authDataByRedis("*", neID)
|
authArr := r.authDataByRedis("*", neID)
|
||||||
// 有数据才清空
|
// 数据清空后添加
|
||||||
if len(authArr) == 0 {
|
|
||||||
return num
|
|
||||||
}
|
|
||||||
go r.udmAuthRepository.ClearAndInsert(neID, authArr)
|
go r.udmAuthRepository.ClearAndInsert(neID, authArr)
|
||||||
return int64(len(authArr))
|
return int64(len(authArr))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,12 +78,8 @@ func (r *UDMSubImpl) subDataByRedis(imsi, neID string) []model.UDMSub {
|
|||||||
|
|
||||||
// Save UDM签约用户-获取redis全部保存数据库
|
// Save UDM签约用户-获取redis全部保存数据库
|
||||||
func (r *UDMSubImpl) Save(neID string) int64 {
|
func (r *UDMSubImpl) Save(neID string) int64 {
|
||||||
var num int64 = 0
|
|
||||||
subArr := r.subDataByRedis("*", neID)
|
subArr := r.subDataByRedis("*", neID)
|
||||||
// 有数据才清空
|
// 数据清空后添加
|
||||||
if len(subArr) == 0 {
|
|
||||||
return num
|
|
||||||
}
|
|
||||||
go r.udmSubRepository.ClearAndInsert(neID, subArr)
|
go r.udmSubRepository.ClearAndInsert(neID, subArr)
|
||||||
return int64(len(subArr))
|
return int64(len(subArr))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,12 +57,10 @@ func (r *SysRoleImpl) SelectRoleById(roleId string) model.SysRole {
|
|||||||
// UpdateRole 修改角色信息
|
// UpdateRole 修改角色信息
|
||||||
func (r *SysRoleImpl) UpdateRole(sysRole model.SysRole) int64 {
|
func (r *SysRoleImpl) UpdateRole(sysRole model.SysRole) int64 {
|
||||||
rows := r.sysRoleRepository.UpdateRole(sysRole)
|
rows := r.sysRoleRepository.UpdateRole(sysRole)
|
||||||
if rows > 0 {
|
if rows > 0 && len(sysRole.MenuIds) > 0 {
|
||||||
// 删除角色与菜单关联
|
// 删除角色与菜单关联
|
||||||
r.sysRoleMenuRepository.DeleteRoleMenu([]string{sysRole.RoleID})
|
r.sysRoleMenuRepository.DeleteRoleMenu([]string{sysRole.RoleID})
|
||||||
if len(sysRole.MenuIds) > 0 {
|
r.insertRoleMenu(sysRole.RoleID, sysRole.MenuIds)
|
||||||
r.insertRoleMenu(sysRole.RoleID, sysRole.MenuIds)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2312.8
|
VERSION = 2.2312.10
|
||||||
LIBDIR = ems.agt/lib
|
LIBDIR = ems.agt/lib
|
||||||
BINNAME = sshsvc
|
BINNAME = sshsvc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user