From cec34122daa9859d96f872ed4b90d68d5b4bb446 Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 29 Apr 2025 15:30:12 +0800 Subject: [PATCH] feat: add capability in ne_license --- database/install/ne_license.sql | 103 ++++++++++-------- database/upgrade/upg_ne_license.sql | 2 +- .../network_element/controller/ne_info.go | 6 + .../network_element/controller/ne_license.go | 1 + .../network_element/model/ne_license.go | 1 + .../network_element/repository/ne_license.go | 10 +- 6 files changed, 77 insertions(+), 46 deletions(-) diff --git a/database/install/ne_license.sql b/database/install/ne_license.sql index 9df0c78f..281bb2bb 100644 --- a/database/install/ne_license.sql +++ b/database/install/ne_license.sql @@ -1,44 +1,59 @@ -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- --- Table structure for table `ne_license` --- - - -DROP TABLE IF EXISTS `ne_license`; -CREATE TABLE `ne_license` ( - `id` int NOT NULL AUTO_INCREMENT, - `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型', - `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID', - `activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码', - `license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '激活授权文件', - `serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '序列号', - `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '许可证到期日期', - `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 0无效 1有效', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', - `create_time` bigint DEFAULT '0' COMMENT '创建时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', - `update_time` bigint DEFAULT '0' COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元授权激活信息'; - --- 初始数据对应网元 -INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); -INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); - -SET FOREIGN_KEY_CHECKS=1; +/* + Navicat Premium Data Transfer + + Source Server : omc@192.168.2.164 + Source Server Type : MariaDB + Source Server Version : 100528 (10.5.28-MariaDB) + Source Host : 192.168.2.164:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100528 (10.5.28-MariaDB) + File Encoding : 65001 + + Date: 29/04/2025 14:45:48 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_license +-- ---------------------------- +DROP TABLE IF EXISTS `ne_license`; +CREATE TABLE `ne_license` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型', + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID', + `activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码', + `license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '激活授权文件', + `serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '序列号', + `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '许可证到期日期', + `capability` int(11) NULL DEFAULT 0, + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态 0无效 1有效', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` bigint(20) NULL DEFAULT 0 COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` bigint(20) NULL DEFAULT 0 COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_type_id`(`ne_type`, `ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID' +) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网元授权激活信息' ROW_FORMAT = Dynamic; + +-- 初始数据对应网元 +INSERT INTO `ne_license` VALUES (1, 'OMC', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); +INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', 0, '0', '', 'supervisor', 1713928436971, '', 0); + +SET FOREIGN_KEY_CHECKS=1; diff --git a/database/upgrade/upg_ne_license.sql b/database/upgrade/upg_ne_license.sql index cf221fc6..998dc591 100644 --- a/database/upgrade/upg_ne_license.sql +++ b/database/upgrade/upg_ne_license.sql @@ -47,6 +47,6 @@ ALTER TABLE `ne_license` DROP COLUMN IF EXISTS `created_at`; ALTER TABLE `ne_license` DROP COLUMN IF EXISTS `updated_at`; ALTER TABLE `ne_license` DROP COLUMN IF EXISTS `deleted_at`; ALTER TABLE `ne_license` ADD UNIQUE INDEX IF NOT EXISTS `uk_type_id`(`ne_type` ASC, `ne_id` ASC) USING BTREE COMMENT '唯一网元类型和网元ID'; - +ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `capability` int NULL DEFAULT 0 AFTER `expiry_date`; SET FOREIGN_KEY_CHECKS=1; diff --git a/src/modules/network_element/controller/ne_info.go b/src/modules/network_element/controller/ne_info.go index eda83f76..048c5843 100644 --- a/src/modules/network_element/controller/ne_info.go +++ b/src/modules/network_element/controller/ne_info.go @@ -397,6 +397,9 @@ func (s *NeInfoController) Add(c *gin.Context) { neLicense.ExpiryDate = v.(string) neLicense.Status = "1" } + if v, ok := body.ServerState["capability"]; ok && v != nil { + neLicense.Capability = v.(string) + } } s.neVersionService.Insert(neVersion) @@ -492,6 +495,9 @@ func (s *NeInfoController) Edit(c *gin.Context) { neLicense.Status = "1" neLicense.UpdateBy = loginUserName } + if v, ok := body.ServerState["capability"]; ok && v != nil { + neLicense.Capability = v.(string) + } } if neVersion.ID != "" { diff --git a/src/modules/network_element/controller/ne_license.go b/src/modules/network_element/controller/ne_license.go index 22900c0d..cdc2cdbf 100644 --- a/src/modules/network_element/controller/ne_license.go +++ b/src/modules/network_element/controller/ne_license.go @@ -255,6 +255,7 @@ func (s *NeLicenseController) State(c *gin.Context) { neLicense.Status = "1" neLicense.SerialNum = fmt.Sprint(neState["sn"]) neLicense.ExpiryDate = fmt.Sprint(neState["expire"]) + neLicense.Capability = fmt.Sprint(neState["capability"]) code, licensePath := s.neLicenseService.ReadLicenseInfo(neLicense) neLicense.ActivationRequestCode = code neLicense.LicensePath = licensePath diff --git a/src/modules/network_element/model/ne_license.go b/src/modules/network_element/model/ne_license.go index 0a08802c..8ffe30ab 100644 --- a/src/modules/network_element/model/ne_license.go +++ b/src/modules/network_element/model/ne_license.go @@ -9,6 +9,7 @@ type NeLicense struct { LicensePath string `json:"licensePath" gorm:"license_path"` // 激活授权文件 SerialNum string `json:"serialNum" gorm:"serial_num"` // 序列号 ExpiryDate string `json:"expiryDate" gorm:"expiry_date"` // 许可证到期日期 + Capability string `json:"capability" gorm:"capability"` // 许可证用户容量 Status string `json:"status" gorm:"status"` // 状态 0无效 1有效 Remark string `json:"remark" gorm:"remark"` // 备注 CreateBy string `json:"createBy" gorm:"create_by"` // 创建者 diff --git a/src/modules/network_element/repository/ne_license.go b/src/modules/network_element/repository/ne_license.go index 1d506fec..02c9b4ab 100644 --- a/src/modules/network_element/repository/ne_license.go +++ b/src/modules/network_element/repository/ne_license.go @@ -14,7 +14,8 @@ import ( // 实例化数据层 NeLicense 结构体 var NewNeLicense = &NeLicense{ selectSql: `select - id, ne_type, ne_id, activation_request_code, license_path, serial_num, expiry_date, status, remark, create_by, create_time, update_by, update_time + id, ne_type, ne_id, activation_request_code, license_path, serial_num, + expiry_date, capability, status, remark, create_by, create_time, update_by, update_time from ne_license`, resultMap: map[string]string{ @@ -25,6 +26,7 @@ var NewNeLicense = &NeLicense{ "license_path": "LicensePath", "serial_num": "SerialNum", "expiry_date": "ExpiryDate", + "capability": "Capability", "status": "Status", "remark": "Remark", "create_by": "CreateBy", @@ -202,6 +204,9 @@ func (r *NeLicense) Insert(neLicense model.NeLicense) string { if neLicense.ExpiryDate != "" { params["expiry_date"] = neLicense.ExpiryDate } + if neLicense.Capability != "" { + params["capability"] = neLicense.Capability + } if neLicense.Status != "" { params["status"] = neLicense.Status } @@ -262,6 +267,9 @@ func (r *NeLicense) Update(neLicense model.NeLicense) int64 { if neLicense.ExpiryDate != "" { params["expiry_date"] = neLicense.ExpiryDate } + if neLicense.Capability != "" { + params["capability"] = neLicense.Capability + } if neLicense.Status != "" { params["status"] = neLicense.Status }