From 302a0494a738929f2e175d6cbbd6ced74896082a Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 22 Sep 2025 18:26:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UDM=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=B7=BB=E5=8A=A0=E5=88=9B=E5=BB=BA=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=AD=97=E6=AE=B5datatime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/install/u_auth_user.sql | 1 + database/install/u_ims_user.sql | 2 ++ database/install/u_sub_user.sql | 2 ++ database/install/u_voip_auth.sql | 2 ++ database/upgrade/upg_u_auth_user.sql | 2 ++ database/upgrade/upg_u_ims_user.sql | 5 ++++ database/upgrade/upg_u_sub_user.sql | 4 +++ database/upgrade/upg_u_voip_auth.sql | 5 ++++ features/ue/model/ims_user.go | 2 ++ features/ue/model/voip_auth.go | 2 ++ features/ue/service/ims_user.go | 25 +++++++++++++---- features/ue/service/voip_auth.go | 21 ++++++++++++--- src/modules/network_data/model/udm_auth.go | 1 + src/modules/network_data/model/udm_sub.go | 2 ++ src/modules/network_data/model/udm_voip.go | 3 +++ .../network_data/model/udm_volte_ims.go | 6 +++-- src/modules/network_data/service/udm_auth.go | 7 ++++- src/modules/network_data/service/udm_sub.go | 27 ++++++++++++++----- src/modules/network_data/service/udm_voip.go | 21 ++++++++++++--- .../network_data/service/udm_volte_ims.go | 25 +++++++++++++---- 20 files changed, 140 insertions(+), 25 deletions(-) diff --git a/database/install/u_auth_user.sql b/database/install/u_auth_user.sql index 4ab0f5bd..74fdd439 100644 --- a/database/install/u_auth_user.sql +++ b/database/install/u_auth_user.sql @@ -14,6 +14,7 @@ CREATE TABLE `u_auth_user` ( `algo_index` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'algoIndex', `opc` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'OPC', `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uk_imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_neid唯一主键', KEY `idx_ne` (`ne_id`) USING BTREE COMMENT 'neid索引' diff --git a/database/install/u_ims_user.sql b/database/install/u_ims_user.sql index 1b097974..2ec52008 100755 --- a/database/install/u_ims_user.sql +++ b/database/install/u_ims_user.sql @@ -28,6 +28,8 @@ CREATE TABLE `u_ims_user` ( `msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', `tag` tinyint(4) NULL DEFAULT NULL COMMENT '0: VoIP, 1: VoLTE', `vni` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_imsi_msisdn_neid`(`imsi`, `msisdn`, `ne_id`) USING BTREE COMMENT 'imsi_msisdn_neid' diff --git a/database/install/u_sub_user.sql b/database/install/u_sub_user.sql index ca67e3a0..ef72084e 100644 --- a/database/install/u_sub_user.sql +++ b/database/install/u_sub_user.sql @@ -41,6 +41,8 @@ CREATE TABLE `u_sub_user` ( `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData', `smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel', `cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uk_imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_neid唯一主键', diff --git a/database/install/u_voip_auth.sql b/database/install/u_voip_auth.sql index 07fd2748..5c8dde4a 100755 --- a/database/install/u_voip_auth.sql +++ b/database/install/u_voip_auth.sql @@ -26,6 +26,8 @@ CREATE TABLE `u_voip_auth` ( `ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_name`(`user_name`) USING BTREE diff --git a/database/upgrade/upg_u_auth_user.sql b/database/upgrade/upg_u_auth_user.sql index 37203ef1..af257d54 100644 --- a/database/upgrade/upg_u_auth_user.sql +++ b/database/upgrade/upg_u_auth_user.sql @@ -12,6 +12,7 @@ CREATE TABLE IF NOT EXISTS `u_auth_user` ( `algo_index` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'algoIndex', `opc` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'OPC', `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_neid唯一主键' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='UDM鉴权用户'; @@ -26,5 +27,6 @@ ALTER TABLE `u_auth_user` MODIFY COLUMN IF EXISTS `ki` varchar(50) CHARACTER SET ALTER TABLE `u_auth_user` MODIFY COLUMN IF EXISTS `algo_index` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'algoIndex' AFTER `ki`; ALTER TABLE `u_auth_user` MODIFY COLUMN IF EXISTS `opc` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'OPC' AFTER `algo_index`; ALTER TABLE `u_auth_user` ADD COLUMN IF NOT EXISTS `create_time` bigint(20) NULL DEFAULT 0 COMMENT '创建时间' AFTER `opc`; +ALTER TABLE `u_auth_user` ADD COLUMN IF NOT EXISTS `created_at` datetime NULL DEFAULT current_timestamp() COMMENT '创建时间' AFTER `create_time`; ALTER TABLE `u_auth_user` DROP COLUMN IF EXISTS `msisdn`; ALTER TABLE `u_auth_user` ADD INDEX IF NOT EXISTS `idx_ne`(`ne_id`) USING BTREE COMMENT 'neid索引'; diff --git a/database/upgrade/upg_u_ims_user.sql b/database/upgrade/upg_u_ims_user.sql index a05a80de..d8c17a83 100755 --- a/database/upgrade/upg_u_ims_user.sql +++ b/database/upgrade/upg_u_ims_user.sql @@ -27,9 +27,14 @@ CREATE TABLE IF NOT EXISTS `u_ims_user` ( `msisdn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', `tag` tinyint(4) NULL DEFAULT NULL COMMENT '0: VoIP, 1: VoLTE', `vni` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_imsi_msisdn_neid`(`imsi`, `msisdn`, `ne_id`) USING BTREE COMMENT 'imsi_msisdn_neid' ) ENGINE = InnoDB AUTO_INCREMENT = 379066 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'UDM' ROW_FORMAT = Dynamic; +ALTER TABLE `u_ims_user` ADD COLUMN IF NOT EXISTS `create_time` bigint(20) NULL DEFAULT 0 COMMENT '创建时间' AFTER `vni`; +ALTER TABLE `u_ims_user` ADD COLUMN IF NOT EXISTS `created_at` datetime NULL DEFAULT current_timestamp() COMMENT '创建时间' AFTER `create_time`; + SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade/upg_u_sub_user.sql b/database/upgrade/upg_u_sub_user.sql index 140f161d..1815da5f 100644 --- a/database/upgrade/upg_u_sub_user.sql +++ b/database/upgrade/upg_u_sub_user.sql @@ -37,6 +37,8 @@ CREATE TABLE IF NOT EXISTS `u_sub_user` ( `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smData', `smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'smfSel', `cag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'CAG', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `imsi_ne` (`imsi`,`ne_id`) USING BTREE COMMENT 'imsi_ne唯一索引' @@ -72,6 +74,8 @@ ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `static_ip` varchar(50) CHARACT ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smData' AFTER `static_ip`; ALTER TABLE `u_sub_user` MODIFY COLUMN IF EXISTS `smf_sel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'smfSel' AFTER `sm_data`; ALTER TABLE `u_sub_user` DROP COLUMN IF EXISTS `cn`; +ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `create_time` bigint(20) NULL DEFAULT 0 COMMENT '创建时间' AFTER `cag`; +ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `created_at` datetime NULL DEFAULT current_timestamp() COMMENT '创建时间' AFTER `create_time`; -- multi-tenancy ALTER TABLE `u_sub_user` ADD COLUMN IF NOT EXISTS `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id' AFTER `cag`; diff --git a/database/upgrade/upg_u_voip_auth.sql b/database/upgrade/upg_u_voip_auth.sql index 687cfa89..5321fb38 100755 --- a/database/upgrade/upg_u_voip_auth.sql +++ b/database/upgrade/upg_u_voip_auth.sql @@ -25,9 +25,14 @@ CREATE TABLE IF NOT EXISTS `u_voip_auth` ( `ne_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `create_time` bigint(20) DEFAULT 0 COMMENT '创建时间', + `created_at` datetime NULL DEFAULT current_timestamp(), `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'multi-tenancy refer to sys_tenant.tenant_id', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_name`(`user_name`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 19570 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'UDM' ROW_FORMAT = Dynamic; +ALTER TABLE `u_voip_auth` ADD COLUMN IF NOT EXISTS `create_time` bigint(20) NULL DEFAULT 0 COMMENT '创建时间' AFTER `password`; +ALTER TABLE `u_voip_auth` ADD COLUMN IF NOT EXISTS `created_at` datetime NULL DEFAULT current_timestamp() COMMENT '创建时间' AFTER `create_time`; + SET FOREIGN_KEY_CHECKS = 1; diff --git a/features/ue/model/ims_user.go b/features/ue/model/ims_user.go index 280c58fb..df64ca4d 100644 --- a/features/ue/model/ims_user.go +++ b/features/ue/model/ims_user.go @@ -65,6 +65,8 @@ type IMSUser struct { Tag CallTag `json:"tag" gorm:"column:tag"` // tag: 0=VoIP, 1=VoLTE VNI string `json:"vni" gorm:"column:vni"` // VNI + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 TenantID string `json:"tenantID" gorm:"column:tenant_id"` TenantName string `json:"tenantName" gorm:"-"` } diff --git a/features/ue/model/voip_auth.go b/features/ue/model/voip_auth.go index 0467c9a2..94a29307 100644 --- a/features/ue/model/voip_auth.go +++ b/features/ue/model/voip_auth.go @@ -7,6 +7,8 @@ type VoIPAuth struct { UserName string `json:"userName" gorm:"column:user_name"` // SIM卡/USIM卡ID Password string `json:"password" gorm:"column:password"` // 用户电话号码 + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 TenantID string `json:"tenantID" gorm:"column:tenant_id"` TenantName string `json:"tenantName" gorm:"-"` } diff --git a/features/ue/service/ims_user.go b/features/ue/service/ims_user.go index 54ea45f5..fc618ba3 100644 --- a/features/ue/service/ims_user.go +++ b/features/ue/service/ims_user.go @@ -4,10 +4,12 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/features/ue/model" "be.ems/features/ue/repository" "be.ems/src/framework/database/redis" + "be.ems/src/framework/utils/date" neService "be.ems/src/modules/network_element/service" ) @@ -60,13 +62,26 @@ func (r *IMSUserService) dataByRedis(imsi, neId string) []model.IMSUser { if len(impiParts) > 1 { vni = impiParts[1] } + var createTime int64 = 0 + var createdAt string = "" + if v, ok := m["create_time"]; ok { + t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) + createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) + } else { + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) + } a := model.IMSUser{ - NeId: neId, - IMSI: keys[1], // volte:360000100000130:8612300000130 - MSISDN: keys[2], // 8612300000130 - Tag: model.ParseCallTag(m["tag"]), // volte = tag - VNI: vni, // ims.mnc001.mcc110.3gppnetwork.org + NeId: neId, + IMSI: keys[1], // volte:360000100000130:8612300000130 + MSISDN: keys[2], // 8612300000130 + Tag: model.ParseCallTag(m["tag"]), // volte = tag + VNI: vni, // ims.mnc001.mcc110.3gppnetwork.org + CreateTime: createTime, + CreatedAt: createdAt, } arr = append(arr, a) } diff --git a/features/ue/service/voip_auth.go b/features/ue/service/voip_auth.go index 0a68e8e3..a1e9e20c 100644 --- a/features/ue/service/voip_auth.go +++ b/features/ue/service/voip_auth.go @@ -4,10 +4,12 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/features/ue/model" "be.ems/features/ue/repository" "be.ems/src/framework/database/redis" + "be.ems/src/framework/utils/date" neService "be.ems/src/modules/network_element/service" ) @@ -53,11 +55,24 @@ func (r *VoIPAuthService) dataByRedis(userName, neId string) []model.VoIPAuth { if len(KeyParts) > 1 { userName = KeyParts[1] } + var createTime int64 = 0 + var createdAt string = "" + if v, ok := m["create_time"]; ok { + t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) + createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) + } else { + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) + } a := model.VoIPAuth{ - NeId: neId, - UserName: userName, // userName - Password: m["password"], // + NeId: neId, + UserName: userName, // userName + Password: m["password"], // + CreateTime: createTime, + CreatedAt: createdAt, } arr = append(arr, a) } diff --git a/src/modules/network_data/model/udm_auth.go b/src/modules/network_data/model/udm_auth.go index e516f392..0c1fa9af 100644 --- a/src/modules/network_data/model/udm_auth.go +++ b/src/modules/network_data/model/udm_auth.go @@ -10,6 +10,7 @@ type UDMAuthUser struct { AlgoIndex string `json:"algoIndex" gorm:"column:algo_index"` // algoIndex Opc string `json:"opc" gorm:"column:opc"` // OPC CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 } // TableName 表名称 diff --git a/src/modules/network_data/model/udm_sub.go b/src/modules/network_data/model/udm_sub.go index 1b65288d..1e995873 100644 --- a/src/modules/network_data/model/udm_sub.go +++ b/src/modules/network_data/model/udm_sub.go @@ -37,6 +37,8 @@ type UDMSubUser struct { SmfSel string `json:"smfSel" gorm:"column:smf_sel"` // smfSel Cag string `json:"cag" gorm:"column:cag"` // CAG + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 TenantID string `json:"tenantID" gorm:"column:tenant_id"` TenantName string `json:"tenantName" gorm:"-"` diff --git a/src/modules/network_data/model/udm_voip.go b/src/modules/network_data/model/udm_voip.go index 8b18112e..319918fc 100644 --- a/src/modules/network_data/model/udm_voip.go +++ b/src/modules/network_data/model/udm_voip.go @@ -7,6 +7,9 @@ type UDMVOIPUser struct { UserName string `json:"username" gorm:"column:user_name"` // 用户名 Password string `json:"password" gorm:"column:password"` // 密码 + + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 } // TableName 表名称 diff --git a/src/modules/network_data/model/udm_volte_ims.go b/src/modules/network_data/model/udm_volte_ims.go index acd19bb0..fbdc8e9b 100644 --- a/src/modules/network_data/model/udm_volte_ims.go +++ b/src/modules/network_data/model/udm_volte_ims.go @@ -7,8 +7,10 @@ type UDMVolteIMSUser struct { MSISDN string `json:"msisdn" gorm:"column:msisdn"` // 用户电话号码 NeId string `json:"neId" gorm:"column:ne_id"` // UDM网元标识 - Tag string `json:"tag" gorm:"column:tag"` // 0=VoIP, 1=VoLTE - VNI string `json:"vni" gorm:"column:vni"` // VNI + Tag string `json:"tag" gorm:"column:tag"` // 0=VoIP, 1=VoLTE + VNI string `json:"vni" gorm:"column:vni"` // VNI + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + CreatedAt string `json:"createdAt" gorm:"column:created_at"` // 创建时间 } // TableName 表名称 diff --git a/src/modules/network_data/service/udm_auth.go b/src/modules/network_data/service/udm_auth.go index 68a956bf..d08b5e60 100644 --- a/src/modules/network_data/service/udm_auth.go +++ b/src/modules/network_data/service/udm_auth.go @@ -66,11 +66,15 @@ func (r *UDMAuthUser) dataByRedis(imsi, neId string) []model.UDMAuthUser { amf = strings.Replace(v, "\r\n", "", 1) } var createTime int64 = 0 + var createdAt string = "" if v, ok := m["create_time"]; ok { t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) } else { - createTime = time.Now().UnixMilli() + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) } a := model.UDMAuthUser{ IMSI: imsi, @@ -80,6 +84,7 @@ func (r *UDMAuthUser) dataByRedis(imsi, neId string) []model.UDMAuthUser { Opc: m["opc"], NeId: neId, CreateTime: createTime, + CreatedAt: createdAt, } arr = append(arr, a) } diff --git a/src/modules/network_data/service/udm_sub.go b/src/modules/network_data/service/udm_sub.go index 972b07ea..034e3bdf 100644 --- a/src/modules/network_data/service/udm_sub.go +++ b/src/modules/network_data/service/udm_sub.go @@ -4,8 +4,10 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/src/framework/database/redis" + "be.ems/src/framework/utils/date" "be.ems/src/modules/network_data/model" "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" @@ -59,14 +61,27 @@ func (r *UDMSubUser) dataByRedis(imsi, neId string) []model.UDMSubUser { if strings.Contains(imsi, "-") || !hasPrefix { continue } + var createTime int64 = 0 + var createdAt string = "" + if v, ok := m["create_time"]; ok { + t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) + createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) + } else { + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) + } a := model.UDMSubUser{ - IMSI: imsi, // udm-sd:360000100000130 - MSISDN: m["gpsi"], // 8612300000130 - NeId: neId, - SmfSel: m["smf-sel"], // def_snssai - SmData: m["sm-dat"], // 1-000001&cmnet&ims&3gnet - Cag: m["cag"], // def_cag + IMSI: imsi, // udm-sd:360000100000130 + MSISDN: m["gpsi"], // 8612300000130 + NeId: neId, + SmfSel: m["smf-sel"], // def_snssai + SmData: m["sm-dat"], // 1-000001&cmnet&ims&3gnet + Cag: m["cag"], // def_cag + CreateTime: createTime, + CreatedAt: createdAt, } // def_ambr,def_nssai,0,def_arfb,def_sar,3,1,12000,1,1000,0,1,- diff --git a/src/modules/network_data/service/udm_voip.go b/src/modules/network_data/service/udm_voip.go index e042a6c6..679bb7cf 100644 --- a/src/modules/network_data/service/udm_voip.go +++ b/src/modules/network_data/service/udm_voip.go @@ -4,8 +4,10 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/src/framework/database/redis" + "be.ems/src/framework/utils/date" "be.ems/src/modules/network_data/model" "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" @@ -54,11 +56,24 @@ func (r UDMVOIPUser) dataByRedis(username, neId string) []model.UDMVOIPUser { if strings.Contains(username, "-") || !hasPrefix { continue } + var createTime int64 = 0 + var createdAt string = "" + if v, ok := m["create_time"]; ok { + t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) + createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) + } else { + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) + } a := model.UDMVOIPUser{ - NeId: neId, - UserName: username, - Password: m["password"], + NeId: neId, + UserName: username, + Password: m["password"], + CreateTime: createTime, + CreatedAt: createdAt, } arr = append(arr, a) } diff --git a/src/modules/network_data/service/udm_volte_ims.go b/src/modules/network_data/service/udm_volte_ims.go index 679f278d..e0aa7060 100644 --- a/src/modules/network_data/service/udm_volte_ims.go +++ b/src/modules/network_data/service/udm_volte_ims.go @@ -4,8 +4,10 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/src/framework/database/redis" + "be.ems/src/framework/utils/date" "be.ems/src/modules/network_data/model" "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" @@ -61,13 +63,26 @@ func (r UDMVolteIMSUser) dataByRedis(imsi, neId string) []model.UDMVolteIMSUser if len(impiParts) > 1 { vni = impiParts[1] } + var createTime int64 = 0 + var createdAt string = "" + if v, ok := m["create_time"]; ok { + t := date.ParseStrToDate(v, date.YYYY_MM_DDTHH_MM_SSZ) + createTime = t.UnixMilli() + createdAt = t.Format(date.YYYY_MM_DD_HH_MM_SS) + } else { + now := time.Now() + createTime = now.UnixMilli() + createdAt = now.Format(date.YYYY_MM_DD_HH_MM_SS) + } a := model.UDMVolteIMSUser{ - NeId: neId, - IMSI: keys[1], - MSISDN: keys[2], - Tag: m["tag"], // volte = tag - VNI: vni, + NeId: neId, + IMSI: keys[1], + MSISDN: keys[2], + Tag: m["tag"], // volte = tag + VNI: vni, + CreateTime: createTime, + CreatedAt: createdAt, } arr = append(arr, a) }