Merge branch 'main' of http://192.168.2.166:3180/OMC/ems_backend
This commit is contained in:
@@ -98,3 +98,7 @@ DELETE FROM ne_license WHERE file_name IS NULL;
|
|||||||
ALTER TABLE `omc_db`.`trace_data`
|
ALTER TABLE `omc_db`.`trace_data`
|
||||||
ADD COLUMN IF NOT EXISTS `length` int NULL AFTER `msg_direct`;
|
ADD COLUMN IF NOT EXISTS `length` int NULL AFTER `msg_direct`;
|
||||||
|
|
||||||
|
-- UDM签约存储长度不足
|
||||||
|
ALTER TABLE `omc_db`.`u_sub_user`
|
||||||
|
MODIFY COLUMN `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'smData' AFTER `cn`,
|
||||||
|
MODIFY COLUMN `eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Eps' AFTER `smf_sel`;
|
||||||
|
|||||||
@@ -98,3 +98,7 @@ DELETE FROM ne_license WHERE file_name IS NULL;
|
|||||||
ALTER TABLE `omc_db`.`trace_data`
|
ALTER TABLE `omc_db`.`trace_data`
|
||||||
ADD COLUMN IF NOT EXISTS `length` int NULL AFTER `msg_direct`;
|
ADD COLUMN IF NOT EXISTS `length` int NULL AFTER `msg_direct`;
|
||||||
|
|
||||||
|
-- UDM签约存储长度不足
|
||||||
|
ALTER TABLE `omc_db`.`u_sub_user`
|
||||||
|
MODIFY COLUMN `sm_data` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'smData' AFTER `cn`,
|
||||||
|
MODIFY COLUMN `eps_dat` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Eps' AFTER `smf_sel`;
|
||||||
|
|||||||
@@ -254,18 +254,26 @@ func (s *UdmUserApi) UdmAuthUserInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
|
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 返回查询的用户信息
|
|
||||||
userInfo := model.UdmAuthUser{
|
|
||||||
Imsi: imsi,
|
|
||||||
Amf: data["amf"],
|
|
||||||
AlgoIndex: data["algo"],
|
|
||||||
Opc: data["opc"],
|
|
||||||
Ki: data["ki"],
|
|
||||||
}
|
|
||||||
// 查询数据库是否存在并存入
|
// 查询数据库是否存在并存入
|
||||||
neId = ""
|
neId = ""
|
||||||
|
var userInfo model.UdmAuthUser
|
||||||
list := s.authUser.List(model.UdmAuthUser{NeID: neId, Imsi: imsi})
|
list := s.authUser.List(model.UdmAuthUser{NeID: neId, Imsi: imsi})
|
||||||
if len(list) == 0 {
|
if len(list) > 0 {
|
||||||
|
userInfo = list[0]
|
||||||
|
// 返回查询的用户信息
|
||||||
|
userInfo.Amf = data["amf"]
|
||||||
|
userInfo.AlgoIndex = data["algo"]
|
||||||
|
userInfo.Opc = data["opc"]
|
||||||
|
userInfo.Ki = data["ki"]
|
||||||
|
} else {
|
||||||
|
userInfo := model.UdmAuthUser{
|
||||||
|
Imsi: imsi,
|
||||||
|
Amf: data["amf"],
|
||||||
|
AlgoIndex: data["algo"],
|
||||||
|
Opc: data["opc"],
|
||||||
|
Ki: data["ki"],
|
||||||
|
}
|
||||||
s.authUser.Insert(neId, userInfo)
|
s.authUser.Insert(neId, userInfo)
|
||||||
}
|
}
|
||||||
ctx.JSON(w, 200, result.OkData(userInfo))
|
ctx.JSON(w, 200, result.OkData(userInfo))
|
||||||
@@ -653,39 +661,40 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回查询的用户信息
|
|
||||||
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
|
||||||
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
|
||||||
userInfo := model.UdmSubUser{
|
|
||||||
Imsi: imsi,
|
|
||||||
Msisdn: data["MSISDN"],
|
|
||||||
Ambr: data["AMBR"],
|
|
||||||
Arfb: data["AreaForbidden"],
|
|
||||||
Cn: fmt.Sprint(cnType),
|
|
||||||
SmData: data["SM-Data(snssai+dnn[1..n])"],
|
|
||||||
Sar: data["ServiceAreaRestriction"],
|
|
||||||
Nssai: data["NSSAI"],
|
|
||||||
SmfSel: data["Smf-Selection"],
|
|
||||||
Rat: fmt.Sprint(rat),
|
|
||||||
}
|
|
||||||
// 1,64,24,65,def_eps,1,2,010200000000,-
|
|
||||||
if v, ok := data["EPS-Data"]; ok {
|
|
||||||
userInfo.EpsDat = v
|
|
||||||
arr := strings.Split(v, ",")
|
|
||||||
userInfo.EpsFlag = arr[0]
|
|
||||||
userInfo.EpsOdb = arr[1]
|
|
||||||
userInfo.HplmnOdb = arr[2]
|
|
||||||
userInfo.Ard = arr[3]
|
|
||||||
userInfo.Epstpl = arr[4]
|
|
||||||
userInfo.ContextId = arr[5]
|
|
||||||
userInfo.ApnContext = arr[7]
|
|
||||||
userInfo.StaticIp = arr[8]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据库是否存在并存入
|
// 查询数据库是否存在并存入
|
||||||
neId = ""
|
neId = ""
|
||||||
|
var userInfo model.UdmSubUser
|
||||||
list := s.subUser.List(model.UdmSubUser{NeID: neId, Imsi: imsi})
|
list := s.subUser.List(model.UdmSubUser{NeID: neId, Imsi: imsi})
|
||||||
if len(list) == 0 {
|
if len(list) > 0 {
|
||||||
|
userInfo = list[0]
|
||||||
|
} else {
|
||||||
|
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
||||||
|
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
||||||
|
userInfo := model.UdmSubUser{
|
||||||
|
Imsi: imsi,
|
||||||
|
Msisdn: data["MSISDN"],
|
||||||
|
Ambr: data["AMBR"],
|
||||||
|
Arfb: data["AreaForbidden"],
|
||||||
|
Cn: fmt.Sprint(cnType),
|
||||||
|
SmData: data["SM-Data(snssai+dnn[1..n])"],
|
||||||
|
Sar: data["ServiceAreaRestriction"],
|
||||||
|
Nssai: data["NSSAI"],
|
||||||
|
SmfSel: data["Smf-Selection"],
|
||||||
|
Rat: fmt.Sprint(rat),
|
||||||
|
}
|
||||||
|
// 1,64,24,65,def_eps,1,2,010200000000,-
|
||||||
|
if v, ok := data["EPS-Data"]; ok {
|
||||||
|
userInfo.EpsDat = v
|
||||||
|
arr := strings.Split(v, ",")
|
||||||
|
userInfo.EpsFlag = arr[0]
|
||||||
|
userInfo.EpsOdb = arr[1]
|
||||||
|
userInfo.HplmnOdb = arr[2]
|
||||||
|
userInfo.Ard = arr[3]
|
||||||
|
userInfo.Epstpl = arr[4]
|
||||||
|
userInfo.ContextId = arr[5]
|
||||||
|
userInfo.ApnContext = arr[7]
|
||||||
|
userInfo.StaticIp = arr[8]
|
||||||
|
}
|
||||||
s.subUser.Insert(neId, userInfo)
|
s.subUser.Insert(neId, userInfo)
|
||||||
}
|
}
|
||||||
ctx.JSON(w, 200, result.OkData(userInfo))
|
ctx.JSON(w, 200, result.OkData(userInfo))
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ func (r *RepoUdmAuthUser) ClearAndInsert(neID string, authArr []model.UdmAuthUse
|
|||||||
// 调用 InsertMulti 函数将批量数据插入数据库
|
// 调用 InsertMulti 函数将批量数据插入数据库
|
||||||
results, err := datasource.DefaultDB().Table("u_auth_user").InsertMulti(batch)
|
results, err := datasource.DefaultDB().Table("u_auth_user").InsertMulti(batch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("InsertMulti err => %v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
num += results
|
num += results
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ func (r *RepoUdmSubUser) ClearAndInsert(neID string, subArr []model.UdmSubUser)
|
|||||||
// 调用 InsertMulti 函数将批量数据插入数据库
|
// 调用 InsertMulti 函数将批量数据插入数据库
|
||||||
results, err := datasource.DefaultDB().Table("u_sub_user").InsertMulti(batch)
|
results, err := datasource.DefaultDB().Table("u_sub_user").InsertMulti(batch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Errorf("InsertMulti err => %v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
num += results
|
num += results
|
||||||
|
|||||||
@@ -34,6 +34,13 @@ func LogOperate(options collectlogs.Options) func(http.Handler) http.Handler {
|
|||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
|
|
||||||
|
// 只对前端发送的数据进行记录
|
||||||
|
appCodeStr := r.Header.Get("X-App-Code")
|
||||||
|
if appCodeStr == "" {
|
||||||
|
next.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 函数名
|
// 函数名
|
||||||
funcName := runtime.FuncForPC(reflect.ValueOf(next).Pointer()).Name()
|
funcName := runtime.FuncForPC(reflect.ValueOf(next).Pointer()).Name()
|
||||||
lastDotIndex := strings.LastIndex(funcName, "/")
|
lastDotIndex := strings.LastIndex(funcName, "/")
|
||||||
|
|||||||
@@ -110,14 +110,14 @@ func init() {
|
|||||||
Register("DELETE", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseDeleteData, nil)
|
Register("DELETE", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseDeleteData, nil)
|
||||||
|
|
||||||
// alarm restful Register
|
// alarm restful Register
|
||||||
Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, midware.LogOperate(collectlogs.OptionNew("Alarm", collectlogs.BUSINESS_TYPE_UPDATE)))
|
Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, nil)
|
||||||
Register("Get", fm.UriAlarms, fm.GetAlarmFromNF, nil)
|
Register("Get", fm.UriAlarms, fm.GetAlarmFromNF, nil)
|
||||||
|
|
||||||
Register("POST", fm.CustomUriAlarms, fm.PostAlarmFromNF, nil)
|
Register("POST", fm.CustomUriAlarms, fm.PostAlarmFromNF, nil)
|
||||||
Register("Get", fm.CustomUriAlarms, fm.GetAlarmFromNF, nil)
|
Register("Get", fm.CustomUriAlarms, fm.GetAlarmFromNF, nil)
|
||||||
|
|
||||||
// performance restful Register
|
// performance restful Register
|
||||||
Register("POST", pm.PerformanceUri, pm.PostKPIReportFromNF, midware.LogOperate(collectlogs.OptionNew("KPIReport", collectlogs.BUSINESS_TYPE_INSERT)))
|
Register("POST", pm.PerformanceUri, pm.PostKPIReportFromNF, nil)
|
||||||
Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_INSERT)))
|
Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||||
Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_UPDATE)))
|
Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||||
Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_DELETE)))
|
Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_DELETE)))
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ func (r *MonitorImpl) SelectMonitorBase(query map[string]any) []model.MonitorBas
|
|||||||
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
||||||
}
|
}
|
||||||
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
||||||
err := dbConn.Order("create_time desc").Find(&bases).Error
|
err := dbConn.Order("create_time asc").Find(&bases).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("SelectMonitorBase %v", err)
|
logger.Errorf("SelectMonitorBase %v", err)
|
||||||
return bases
|
return bases
|
||||||
@@ -65,7 +65,7 @@ func (r *MonitorImpl) SelectMonitorIO(query map[string]any) []model.MonitorIO {
|
|||||||
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
||||||
}
|
}
|
||||||
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
||||||
err := dbConn.Order("create_time desc").Find(&ios).Error
|
err := dbConn.Order("create_time asc").Find(&ios).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("SelectMonitorIO %v", err)
|
logger.Errorf("SelectMonitorIO %v", err)
|
||||||
return ios
|
return ios
|
||||||
@@ -94,7 +94,7 @@ func (r *MonitorImpl) SelectMonitorNetwork(query map[string]any) []model.Monitor
|
|||||||
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
dbConn = dbConn.Where("ne_type = ? and ne_id = ?", query["neType"], query["neId"])
|
||||||
}
|
}
|
||||||
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
dbConn = dbConn.Where("create_time >= ? and create_time <= ?", query["startTime"], query["endTime"])
|
||||||
err := dbConn.Order("create_time desc").Find(&networks).Error
|
err := dbConn.Order("create_time asc").Find(&networks).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("SelectMonitorNetwork %v", err)
|
logger.Errorf("SelectMonitorNetwork %v", err)
|
||||||
return networks
|
return networks
|
||||||
|
|||||||
Reference in New Issue
Block a user