feat: license信息添加用户数/基站数字段记录

This commit is contained in:
TsMask
2025-08-29 16:23:03 +08:00
parent a7abd4e142
commit 066b9d41c9
7 changed files with 73 additions and 20 deletions

View File

@@ -15,6 +15,8 @@ CREATE TABLE `ne_license` (
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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 '序列号', `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 '许可证到期日期', `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-' COMMENT '许可证到期日期',
`ue_number` bigint DEFAULT '0' COMMENT '用户容量',
`nb_number` bigint DEFAULT '0' COMMENT '基站容量',
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 0无效 1有效', `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 '备注', `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_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
@@ -26,19 +28,19 @@ CREATE TABLE `ne_license` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='网元授权激活信息'; ) 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 (1, 'OMC', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (2, 'IMS', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (3, 'AMF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (4, 'AUSF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (5, 'UDM', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (6, 'SMF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (7, 'PCF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (8, 'NSSF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (9, 'NRF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (10, 'UPF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (11, 'LMF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (12, 'NEF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (13, 'MME', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', '0', '', 'supervisor', 1713928436971, '', 0); INSERT INTO `ne_license` VALUES (14, 'N3IWF', '001', '', '', '', '', 0, 0, '0', '', 'supervisor', 1713928436971, '', 0);
SET FOREIGN_KEY_CHECKS=1; SET FOREIGN_KEY_CHECKS=1;

View File

@@ -27,6 +27,8 @@ ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `activation_request_code` varc
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '激活授权文件' AFTER `activation_request_code`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '激活授权文件' AFTER `activation_request_code`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '序列号' AFTER `license_path`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '序列号' AFTER `license_path`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '许可证到期日期' AFTER `serial_num`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '-' COMMENT '许可证到期日期' AFTER `serial_num`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `ue_number` bigint NULL DEFAULT 0 COMMENT '用户容量' AFTER `expiry_date`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `nb_number` bigint NULL DEFAULT 0 COMMENT '基站容量' AFTER `ue_number`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注' AFTER `status`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注' AFTER `status`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者' AFTER `remark`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者' AFTER `remark`;
ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `create_time` bigint NULL DEFAULT 0 COMMENT '创建时间' AFTER `create_by`; ALTER TABLE `ne_license` ADD COLUMN IF NOT EXISTS `create_time` bigint NULL DEFAULT 0 COMMENT '创建时间' AFTER `create_by`;

View File

@@ -397,6 +397,12 @@ func (s *NeInfoController) Add(c *gin.Context) {
neLicense.ExpiryDate = v.(string) neLicense.ExpiryDate = v.(string)
neLicense.Status = "1" neLicense.Status = "1"
} }
if v, ok := body.ServerState["ueNumber"]; ok && v != nil {
neLicense.UeNumber = parse.Number(v)
}
if v, ok := body.ServerState["nbNumber"]; ok && v != nil {
neLicense.NbNumber = parse.Number(v)
}
} }
s.neVersionService.Insert(neVersion) s.neVersionService.Insert(neVersion)
@@ -492,6 +498,12 @@ func (s *NeInfoController) Edit(c *gin.Context) {
neLicense.Status = "1" neLicense.Status = "1"
neLicense.UpdateBy = loginUserName neLicense.UpdateBy = loginUserName
} }
if v, ok := body.ServerState["ueNumber"]; ok && v != nil {
neLicense.UeNumber = parse.Number(v)
}
if v, ok := body.ServerState["nbNumber"]; ok && v != nil {
neLicense.NbNumber = parse.Number(v)
}
} }
if neVersion.ID != "" { if neVersion.ID != "" {

View File

@@ -8,6 +8,7 @@ import (
"be.ems/src/framework/i18n" "be.ems/src/framework/i18n"
"be.ems/src/framework/utils/ctx" "be.ems/src/framework/utils/ctx"
"be.ems/src/framework/utils/parse"
"be.ems/src/framework/vo/result" "be.ems/src/framework/vo/result"
neFetchlink "be.ems/src/modules/network_element/fetch_link" neFetchlink "be.ems/src/modules/network_element/fetch_link"
"be.ems/src/modules/network_element/model" "be.ems/src/modules/network_element/model"
@@ -154,6 +155,8 @@ func (s *NeLicenseController) Code(c *gin.Context) {
} else { } else {
neLicense.SerialNum = "" neLicense.SerialNum = ""
neLicense.ExpiryDate = "" neLicense.ExpiryDate = ""
neLicense.UeNumber = 0
neLicense.NbNumber = 0
neLicense.Status = "0" neLicense.Status = "0"
} }
neLicense.UpdateBy = ctx.LoginUserToUserName(c) neLicense.UpdateBy = ctx.LoginUserToUserName(c)
@@ -256,6 +259,8 @@ func (s *NeLicenseController) State(c *gin.Context) {
neLicense.Status = "1" neLicense.Status = "1"
neLicense.SerialNum = fmt.Sprint(neState["sn"]) neLicense.SerialNum = fmt.Sprint(neState["sn"])
neLicense.ExpiryDate = fmt.Sprint(neState["expire"]) neLicense.ExpiryDate = fmt.Sprint(neState["expire"])
neLicense.UeNumber = parse.Number(neState["ueNumber"])
neLicense.NbNumber = parse.Number(neState["nbNumber"])
} else { } else {
neLicense.Status = "0" neLicense.Status = "0"
} }
@@ -271,9 +276,11 @@ func (s *NeLicenseController) State(c *gin.Context) {
s.neLicenseService.Update(neLicense) s.neLicenseService.Update(neLicense)
if neLicense.Status == "1" { if neLicense.Status == "1" {
c.JSON(200, result.OkData(map[string]string{ c.JSON(200, result.OkData(map[string]any{
"sn": neLicense.SerialNum, "sn": neLicense.SerialNum,
"expire": neLicense.ExpiryDate, "expire": neLicense.ExpiryDate,
"ueNumber": neLicense.UeNumber,
"nbNumber": neLicense.NbNumber,
})) }))
return return
} }

View File

@@ -8,6 +8,7 @@ import (
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/framework/utils/fetch" "be.ems/src/framework/utils/fetch"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_element/model" "be.ems/src/modules/network_element/model"
) )
@@ -39,7 +40,7 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
} }
} }
return map[string]any{ info := map[string]any{
"neType": neInfo.NeType, "neType": neInfo.NeType,
"neId": neInfo.NeId, "neId": neInfo.NeId,
"neName": neInfo.NeName, "neName": neInfo.NeName,
@@ -55,5 +56,18 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
"cpu": resData["cpuUsage"], "cpu": resData["cpuUsage"],
"mem": resData["memUsage"], "mem": resData["memUsage"],
"disk": resData["diskSpace"], "disk": resData["diskSpace"],
}, nil }
if ueNumber, ok := resData["capability"]; ok {
info["ueNumber"] = parse.Number(ueNumber)
} else {
info["ueNumber"] = 0
}
if nbNumber, ok := resData["nbNumber"]; ok {
info["nbNumber"] = parse.Number(nbNumber)
} else {
info["nbNumber"] = 0
}
return info, nil
} }

View File

@@ -9,6 +9,8 @@ type NeLicense struct {
LicensePath string `json:"licensePath" gorm:"license_path"` // 激活授权文件 LicensePath string `json:"licensePath" gorm:"license_path"` // 激活授权文件
SerialNum string `json:"serialNum" gorm:"serial_num"` // 序列号 SerialNum string `json:"serialNum" gorm:"serial_num"` // 序列号
ExpiryDate string `json:"expiryDate" gorm:"expiry_date"` // 许可证到期日期 ExpiryDate string `json:"expiryDate" gorm:"expiry_date"` // 许可证到期日期
UeNumber int64 `json:"ueNumber" gorm:"ue_number"` // 用户容量
NbNumber int64 `json:"nbNumber" gorm:"nb_number"` // 基站容量
Status string `json:"status" gorm:"status"` // 状态 0无效 1有效 Status string `json:"status" gorm:"status"` // 状态 0无效 1有效
Remark string `json:"remark" gorm:"remark"` // 备注 Remark string `json:"remark" gorm:"remark"` // 备注
CreateBy string `json:"createBy" gorm:"create_by"` // 创建者 CreateBy string `json:"createBy" gorm:"create_by"` // 创建者

View File

@@ -14,7 +14,7 @@ import (
// 实例化数据层 NeLicense 结构体 // 实例化数据层 NeLicense 结构体
var NewNeLicense = &NeLicense{ var NewNeLicense = &NeLicense{
selectSql: `select 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, ue_number, nb_number, status, remark, create_by, create_time, update_by, update_time
from ne_license`, from ne_license`,
resultMap: map[string]string{ resultMap: map[string]string{
@@ -25,6 +25,8 @@ var NewNeLicense = &NeLicense{
"license_path": "LicensePath", "license_path": "LicensePath",
"serial_num": "SerialNum", "serial_num": "SerialNum",
"expiry_date": "ExpiryDate", "expiry_date": "ExpiryDate",
"ue_number": "UeNumber",
"nb_number": "NbNumber",
"status": "Status", "status": "Status",
"remark": "Remark", "remark": "Remark",
"create_by": "CreateBy", "create_by": "CreateBy",
@@ -202,6 +204,12 @@ func (r *NeLicense) Insert(neLicense model.NeLicense) string {
if neLicense.ExpiryDate != "" { if neLicense.ExpiryDate != "" {
params["expiry_date"] = neLicense.ExpiryDate params["expiry_date"] = neLicense.ExpiryDate
} }
if neLicense.UeNumber > 0 {
params["ue_number"] = neLicense.UeNumber
}
if neLicense.NbNumber > 0 {
params["nb_number"] = neLicense.NbNumber
}
if neLicense.Status != "" { if neLicense.Status != "" {
params["status"] = neLicense.Status params["status"] = neLicense.Status
} }
@@ -262,6 +270,12 @@ func (r *NeLicense) Update(neLicense model.NeLicense) int64 {
if neLicense.ExpiryDate != "" { if neLicense.ExpiryDate != "" {
params["expiry_date"] = neLicense.ExpiryDate params["expiry_date"] = neLicense.ExpiryDate
} }
if neLicense.UeNumber > 0 {
params["ue_number"] = neLicense.UeNumber
}
if neLicense.NbNumber > 0 {
params["nb_number"] = neLicense.NbNumber
}
if neLicense.Status != "" { if neLicense.Status != "" {
params["status"] = neLicense.Status params["status"] = neLicense.Status
} }