From 6c72cd2964c22562f15c897ed7d4f7b6e74fc27f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 14 Aug 2025 20:25:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UDM=E9=89=B4=E6=9D=83=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=8A=A0=E8=BD=BD=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/install/u_auth_user.sql | 1 + database/upgrade/upg_u_auth_user.sql | 2 ++ src/modules/network_data/model/udm_auth.go | 15 ++++++++------- .../network_data/repository/udm_auth.go | 19 ++++++++++--------- src/modules/network_data/service/udm_auth.go | 14 ++++++++------ 5 files changed, 29 insertions(+), 22 deletions(-) diff --git a/database/install/u_auth_user.sql b/database/install/u_auth_user.sql index 6e5450de..4ab0f5bd 100644 --- a/database/install/u_auth_user.sql +++ b/database/install/u_auth_user.sql @@ -13,6 +13,7 @@ CREATE TABLE `u_auth_user` ( `ki` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'ki', `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 '创建时间', 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/upgrade/upg_u_auth_user.sql b/database/upgrade/upg_u_auth_user.sql index be328fc5..37203ef1 100644 --- a/database/upgrade/upg_u_auth_user.sql +++ b/database/upgrade/upg_u_auth_user.sql @@ -11,6 +11,7 @@ CREATE TABLE IF NOT EXISTS `u_auth_user` ( `ki` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'ki', `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 '创建时间', 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鉴权用户'; @@ -24,5 +25,6 @@ ALTER TABLE `u_auth_user` MODIFY COLUMN IF EXISTS `status` varchar(50) CHARACTER ALTER TABLE `u_auth_user` MODIFY COLUMN IF EXISTS `ki` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'ki' AFTER `status`; 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` 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/src/modules/network_data/model/udm_auth.go b/src/modules/network_data/model/udm_auth.go index 8d233c50..e516f392 100644 --- a/src/modules/network_data/model/udm_auth.go +++ b/src/modules/network_data/model/udm_auth.go @@ -2,13 +2,14 @@ package model // UDMAuthUser UDM鉴权用户 u_auth_user type UDMAuthUser struct { - ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 默认ID - IMSI string `json:"imsi" gorm:"column:imsi"` // SIM卡/USIM卡ID - NeId string `json:"neId" gorm:"column:ne_id"` // UDM网元标识 - Amf string `json:"amf" gorm:"column:amf"` // AMF - Ki string `json:"ki" gorm:"column:ki"` // ki - AlgoIndex string `json:"algoIndex" gorm:"column:algo_index"` // algoIndex - Opc string `json:"opc" gorm:"column:opc"` // OPC + ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 默认ID + IMSI string `json:"imsi" gorm:"column:imsi"` // SIM卡/USIM卡ID + NeId string `json:"neId" gorm:"column:ne_id"` // UDM网元标识 + Amf string `json:"amf" gorm:"column:amf"` // AMF + Ki string `json:"ki" gorm:"column:ki"` // ki + 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"` // 创建时间 } // TableName 表名称 diff --git a/src/modules/network_data/repository/udm_auth.go b/src/modules/network_data/repository/udm_auth.go index 582e9573..a44c842a 100644 --- a/src/modules/network_data/repository/udm_auth.go +++ b/src/modules/network_data/repository/udm_auth.go @@ -13,17 +13,18 @@ import ( // 实例化数据层 UDMAuthUser 结构体 var NewUDMAuthUser = &UDMAuthUser{ - selectSql: `select id, imsi, ne_id, amf, status, ki, algo_index, opc from u_auth_user`, + selectSql: `select id, imsi, ne_id, amf, status, ki, algo_index, opc, create_time from u_auth_user`, resultMap: map[string]string{ - "id": "ID", - "imsi": "IMSI", - "ne_id": "NeId", - "amf": "Amf", - "status": "Status", - "ki": "Ki", - "algo_index": "AlgoIndex", - "opc": "Opc", + "id": "ID", + "imsi": "IMSI", + "ne_id": "NeId", + "amf": "Amf", + "status": "Status", + "ki": "Ki", + "algo_index": "AlgoIndex", + "opc": "Opc", + "create_time": "CreateTime", }, } diff --git a/src/modules/network_data/service/udm_auth.go b/src/modules/network_data/service/udm_auth.go index 80caf875..4a7ae7bf 100644 --- a/src/modules/network_data/service/udm_auth.go +++ b/src/modules/network_data/service/udm_auth.go @@ -4,6 +4,7 @@ import ( "fmt" "strconv" "strings" + "time" "be.ems/src/framework/database/redis" "be.ems/src/modules/network_data/model" @@ -64,12 +65,13 @@ func (r *UDMAuthUser) dataByRedis(imsi, neId string) []model.UDMAuthUser { amf = strings.Replace(v, "\r\n", "", 1) } a := model.UDMAuthUser{ - IMSI: imsi, - Amf: amf, - Ki: m["ki"], - AlgoIndex: m["algo"], - Opc: m["opc"], - NeId: neId, + IMSI: imsi, + Amf: amf, + Ki: m["ki"], + AlgoIndex: m["algo"], + Opc: m["opc"], + NeId: neId, + CreateTime: time.Now().UnixMilli(), } arr = append(arr, a) }