feat: support ims user, voip auth data and backup UE data

This commit is contained in:
zhangsz
2025-04-09 14:16:35 +08:00
parent ba6eea0365
commit 7e5a73ffa7
36 changed files with 3569 additions and 62 deletions

View File

@@ -13,7 +13,8 @@ import (
"be.ems/lib/dborm"
"be.ems/lib/log"
"be.ems/src/framework/cron"
networkdata "be.ems/src/modules/network_data"
ueService "be.ems/features/ue/service"
neService "be.ems/src/modules/network_data/service"
)
var NewProcessor = &BarProcessor{
@@ -103,7 +104,7 @@ func (s *BarProcessor) exportUEData(param BarParams) (map[string]any, error) {
for _, neID := range neIDs {
log.Trace("ne_id:", neID)
// 1. 加载最新数据, 如果数据服务存在,则重新加载数据
dataService, err := networkdata.GetService(param.ServiceName)
dataService, err := GetService(param.ServiceName)
if err != nil {
log.Warn("failed to get data service:", err)
} else if dataService != nil {
@@ -224,3 +225,33 @@ func (s *BarProcessor) exportData(query, filePath string, fileType string) (int6
return affected, nil
}
// ResettableService 接口定义
type ResettableService interface {
ResetData(neID string) int64
}
// 服务注册表
var serviceRegistry = make(map[string]ResettableService)
func RegisterService(name string, service ResettableService) {
serviceRegistry[name] = service
}
// 获取服务
func GetService(name string) (ResettableService, error) {
service, exists := serviceRegistry[name]
if !exists {
return nil, fmt.Errorf("service %s not found", name)
}
return service, nil
}
// 初始化注册表
func init() {
RegisterService("UDMAuthUser", neService.NewUDMAuthUser)
RegisterService("UDMSubUser", neService.NewUDMAuthUser)
RegisterService("UDMVoIPAuth", ueService.NewVoIPAuthService)
RegisterService("UDMIMSUser", ueService.NewIMSUserService)
// 这里注册更多服务
}

View File

@@ -9,7 +9,6 @@ import (
"be.ems/src/modules/network_data/service"
"github.com/gin-gonic/gin"
"fmt"
)
// 模块路由注册
@@ -324,34 +323,6 @@ func Setup(router *gin.Engine) {
}
}
// ResettableService 接口定义
type ResettableService interface {
ResetData(neID string) int64
}
// 服务注册表
var serviceRegistry = make(map[string]ResettableService)
func RegisterService(name string, service ResettableService) {
serviceRegistry[name] = service
}
// 获取服务
func GetService(name string) (ResettableService, error) {
service, exists := serviceRegistry[name]
if !exists {
return nil, fmt.Errorf("service %s not found", name)
}
return service, nil
}
// 初始化注册表
func init() {
RegisterService("UDMAuthUser", service.NewUDMAuthUser)
RegisterService("UDMSubUser", service.NewUDMSubUser)
// 这里注册更多服务
}
// InitLoad 初始参数
func InitLoad() {
// 启动时加载UPF上下行流量