优化用户信息接口和新增neId字段
This commit is contained in:
@@ -1,11 +1,15 @@
|
|||||||
package udmuser
|
package udmuser
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"ems.agt/features/udm_user/service"
|
"ems.agt/features/udm_user/service"
|
||||||
|
mmlclient "ems.agt/lib/core/mml_client"
|
||||||
"ems.agt/lib/core/utils/ctx"
|
"ems.agt/lib/core/utils/ctx"
|
||||||
"ems.agt/lib/core/vo/result"
|
"ems.agt/lib/core/vo/result"
|
||||||
|
"ems.agt/lib/dborm"
|
||||||
|
"ems.agt/lib/log"
|
||||||
"ems.agt/lib/services"
|
"ems.agt/lib/services"
|
||||||
"ems.agt/restagent/config"
|
"ems.agt/restagent/config"
|
||||||
)
|
)
|
||||||
@@ -21,25 +25,37 @@ func Routers() []services.RouterItem {
|
|||||||
rs := [...]services.RouterItem{
|
rs := [...]services.RouterItem{
|
||||||
{
|
{
|
||||||
Method: "GET",
|
Method: "GET",
|
||||||
Pattern: "/authUserList",
|
Pattern: "/auths",
|
||||||
Handler: apis.UdmAuthUserList,
|
Handler: apis.UdmAuthUserList,
|
||||||
Middleware: nil, //midware.Authorize(nil),
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Method: "POST",
|
Method: "POST",
|
||||||
Pattern: "/authUserSave",
|
Pattern: "/auth/getSave",
|
||||||
Handler: apis.UdmAuthUserSave,
|
Handler: apis.UdmAuthUserSave,
|
||||||
Middleware: nil, //midware.Authorize(nil),
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Method: "GET",
|
Method: "GET",
|
||||||
Pattern: "/subUserList",
|
Pattern: "/auth/{neId}/{imsi}",
|
||||||
|
Handler: apis.UdmAuthUserInfo,
|
||||||
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Method: "POST",
|
||||||
|
Pattern: "/auth",
|
||||||
|
Handler: apis.UdmAuthUserAdd,
|
||||||
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Method: "GET",
|
||||||
|
Pattern: "/subs",
|
||||||
Handler: apis.UdmSubUserList,
|
Handler: apis.UdmSubUserList,
|
||||||
Middleware: nil, //midware.Authorize(nil),
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Method: "POST",
|
Method: "POST",
|
||||||
Pattern: "/subUserSave",
|
Pattern: "/sub/getSave",
|
||||||
Handler: apis.UdmSubUserSave,
|
Handler: apis.UdmSubUserSave,
|
||||||
Middleware: nil, //midware.Authorize(nil),
|
Middleware: nil, //midware.Authorize(nil),
|
||||||
},
|
},
|
||||||
@@ -60,6 +76,16 @@ func Routers() []services.RouterItem {
|
|||||||
return rsPrefix
|
return rsPrefix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NeInfoByUDM 网元信息
|
||||||
|
func NeInfoByUDM(neId string) (*dborm.NeInfo, error) {
|
||||||
|
neInfo, err := dborm.XormGetNeInfo("UDM", neId)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("dborm.XormGetNeInfo is failed:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return neInfo, nil
|
||||||
|
}
|
||||||
|
|
||||||
// UDM 用户
|
// UDM 用户
|
||||||
//
|
//
|
||||||
// PATH /udmUserManage
|
// PATH /udmUserManage
|
||||||
@@ -70,7 +96,7 @@ type UdmUserApi struct {
|
|||||||
|
|
||||||
// UDM鉴权用户
|
// UDM鉴权用户
|
||||||
//
|
//
|
||||||
// GET /authUserList
|
// GET /auths
|
||||||
func (s *UdmUserApi) UdmAuthUserList(w http.ResponseWriter, r *http.Request) {
|
func (s *UdmUserApi) UdmAuthUserList(w http.ResponseWriter, r *http.Request) {
|
||||||
querys := ctx.QueryMap(r)
|
querys := ctx.QueryMap(r)
|
||||||
data := s.authUser.AuthUserList(querys)
|
data := s.authUser.AuthUserList(querys)
|
||||||
@@ -79,15 +105,51 @@ func (s *UdmUserApi) UdmAuthUserList(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
// UDM鉴权用户-获取全部保存数据库
|
// UDM鉴权用户-获取全部保存数据库
|
||||||
//
|
//
|
||||||
// POST /authUserSave
|
// POST /auth/getSave
|
||||||
func (s *UdmUserApi) UdmAuthUserSave(w http.ResponseWriter, r *http.Request) {
|
func (s *UdmUserApi) UdmAuthUserSave(w http.ResponseWriter, r *http.Request) {
|
||||||
data := s.authUser.AuthUserSave()
|
data := s.authUser.AuthUserSave("")
|
||||||
|
ctx.JSON(w, 200, result.OkData(data))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UDM鉴权用户-信息
|
||||||
|
//
|
||||||
|
// GET /{neId}/{imsi}
|
||||||
|
func (s *UdmUserApi) UdmAuthUserInfo(w http.ResponseWriter, r *http.Request) {
|
||||||
|
neId := ctx.Param(r, "neId")
|
||||||
|
imsi := ctx.Param(r, "imsi")
|
||||||
|
if neId == "" || imsi == "" {
|
||||||
|
ctx.JSON(w, 400, result.CodeMsg(400, "参数错误"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
neInfo, err := NeInfoByUDM(neId)
|
||||||
|
if err != nil {
|
||||||
|
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
msg := fmt.Sprintf("dsp authdat:imsi=%s", imsi)
|
||||||
|
|
||||||
|
// 发送MML
|
||||||
|
data, err := mmlclient.MMLSendMsgToMap(neInfo.Ip, msg)
|
||||||
|
if err != nil {
|
||||||
|
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ctx.JSON(w, 200, result.OkData(data))
|
||||||
|
}
|
||||||
|
|
||||||
|
// UDM鉴权用户-新增
|
||||||
|
//
|
||||||
|
// POST /auth
|
||||||
|
func (s *UdmUserApi) UdmAuthUserAdd(w http.ResponseWriter, r *http.Request) {
|
||||||
|
data := s.authUser.AuthUserSave("")
|
||||||
ctx.JSON(w, 200, result.OkData(data))
|
ctx.JSON(w, 200, result.OkData(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
// UDM签约用户
|
// UDM签约用户
|
||||||
//
|
//
|
||||||
// GET /subUserList
|
// GET /subs
|
||||||
func (s *UdmUserApi) UdmSubUserList(w http.ResponseWriter, r *http.Request) {
|
func (s *UdmUserApi) UdmSubUserList(w http.ResponseWriter, r *http.Request) {
|
||||||
querys := ctx.QueryMap(r)
|
querys := ctx.QueryMap(r)
|
||||||
data := s.subUser.SubUserList(querys)
|
data := s.subUser.SubUserList(querys)
|
||||||
@@ -96,8 +158,8 @@ func (s *UdmUserApi) UdmSubUserList(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
// UDM签约用户-获取全部保存数据库
|
// UDM签约用户-获取全部保存数据库
|
||||||
//
|
//
|
||||||
// POST /subUserSave
|
// POST /sub/getSave
|
||||||
func (s *UdmUserApi) UdmSubUserSave(w http.ResponseWriter, r *http.Request) {
|
func (s *UdmUserApi) UdmSubUserSave(w http.ResponseWriter, r *http.Request) {
|
||||||
data := s.subUser.SubUserSave()
|
data := s.subUser.SubUserSave("")
|
||||||
ctx.JSON(w, 200, result.OkData(data))
|
ctx.JSON(w, 200, result.OkData(data))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,4 +10,5 @@ type UdmAuthUser struct {
|
|||||||
Ki string `json:"ki" xorm:"ki"` // ki
|
Ki string `json:"ki" xorm:"ki"` // ki
|
||||||
AlgoIndex string `json:"algoIndex" xorm:"algo_index"` //
|
AlgoIndex string `json:"algoIndex" xorm:"algo_index"` //
|
||||||
Opc string `json:"opc" xorm:"opc"`
|
Opc string `json:"opc" xorm:"opc"`
|
||||||
|
NeID string `json:"neId" xorm:"ne_id"` // UDM网元标识-子系统
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,4 +13,5 @@ type UdmSubUser struct {
|
|||||||
CnType string `json:"cnType" xorm:"cn_type"`
|
CnType string `json:"cnType" xorm:"cn_type"`
|
||||||
SubData string `json:"subData" xorm:"sub_data"`
|
SubData string `json:"subData" xorm:"sub_data"`
|
||||||
Eps string `json:"eps" xorm:"eps"`
|
Eps string `json:"eps" xorm:"eps"`
|
||||||
|
NeID string `json:"neId" xorm:"ne_id"` // UDM网元标识-子系统
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
// 实例化数据层 RepoUdmAuthUser 结构体
|
// 实例化数据层 RepoUdmAuthUser 结构体
|
||||||
var NewRepoUdmAuthUser = &RepoUdmAuthUser{
|
var NewRepoUdmAuthUser = &RepoUdmAuthUser{
|
||||||
selectSql: `select
|
selectSql: `select
|
||||||
id, msisdn, imsi, amf, status, ki, algo_index, opc
|
id, msisdn, imsi, amf, status, ki, algo_index, opc, ne_id
|
||||||
from u_auth_user`,
|
from u_auth_user`,
|
||||||
|
|
||||||
resultMap: map[string]string{
|
resultMap: map[string]string{
|
||||||
@@ -24,6 +24,7 @@ var NewRepoUdmAuthUser = &RepoUdmAuthUser{
|
|||||||
"ki": "Ki",
|
"ki": "Ki",
|
||||||
"algo_index": "AlgoLndex",
|
"algo_index": "AlgoLndex",
|
||||||
"opc": "Opc",
|
"opc": "Opc",
|
||||||
|
"ne_id": "NeID",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,6 +60,10 @@ func (r *RepoUdmAuthUser) SelectPage(query map[string]any) map[string]any {
|
|||||||
conditions = append(conditions, "msisdn like concat(?, '%')")
|
conditions = append(conditions, "msisdn like concat(?, '%')")
|
||||||
params = append(params, v)
|
params = append(params, v)
|
||||||
}
|
}
|
||||||
|
if v, ok := query["neId"]; ok && v != "" {
|
||||||
|
conditions = append(conditions, "ne_id = ?")
|
||||||
|
params = append(params, v)
|
||||||
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
// 实例化数据层 RepoUdmSubUser 结构体
|
// 实例化数据层 RepoUdmSubUser 结构体
|
||||||
var NewRepoUdmSubUser = &RepoUdmSubUser{
|
var NewRepoUdmSubUser = &RepoUdmSubUser{
|
||||||
selectSql: `select
|
selectSql: `select
|
||||||
id, msisdn, imsi, sub_ue_ambr_temp, sub_snssai_temp, rai, forbidden_areas_temp, service_area_restrict_temp, cn_type, sub_data, eps
|
id, msisdn, imsi, sub_ue_ambr_temp, sub_snssai_temp, rai, forbidden_areas_temp, service_area_restrict_temp, cn_type, sub_data, eps, ne_id
|
||||||
from u_sub_user`,
|
from u_sub_user`,
|
||||||
|
|
||||||
resultMap: map[string]string{
|
resultMap: map[string]string{
|
||||||
@@ -27,6 +27,7 @@ var NewRepoUdmSubUser = &RepoUdmSubUser{
|
|||||||
"cn_type": "CnType",
|
"cn_type": "CnType",
|
||||||
"sub_data": "SubData",
|
"sub_data": "SubData",
|
||||||
"eps": "Eps",
|
"eps": "Eps",
|
||||||
|
"ne_id": "NeID",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,6 +67,10 @@ func (r *RepoUdmSubUser) SelectPage(query map[string]any) map[string]any {
|
|||||||
conditions = append(conditions, "imsi like concat(?, '%')")
|
conditions = append(conditions, "imsi like concat(?, '%')")
|
||||||
params = append(params, v)
|
params = append(params, v)
|
||||||
}
|
}
|
||||||
|
if v, ok := query["neId"]; ok && v != "" {
|
||||||
|
conditions = append(conditions, "ne_id = ?")
|
||||||
|
params = append(params, v)
|
||||||
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
|
|||||||
15
features/udm_user/service/service_ne_ifno.go
Normal file
15
features/udm_user/service/service_ne_ifno.go
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"ems.agt/lib/dborm"
|
||||||
|
"ems.agt/lib/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func UDMNeInfo(neId string) (*dborm.NeInfo, error) {
|
||||||
|
neInfo, err := dborm.XormGetNeInfo("UDM", neId)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("dborm.XormGetNeInfo is failed:", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return neInfo, nil
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@ type ServiceUdmAuthUser struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AuthUserSave UDM鉴权用户-获取全部保存数据库
|
// AuthUserSave UDM鉴权用户-获取全部保存数据库
|
||||||
func (r *ServiceUdmAuthUser) AuthUserSave() int64 {
|
func (r *ServiceUdmAuthUser) AuthUserSave(neID string) int64 {
|
||||||
var num int64 = 0
|
var num int64 = 0
|
||||||
authArr := redisUdmAuthUserList()
|
authArr := redisUdmAuthUserList()
|
||||||
// 有数据才清空
|
// 有数据才清空
|
||||||
@@ -25,7 +25,7 @@ func (r *ServiceUdmAuthUser) AuthUserSave() int64 {
|
|||||||
return num
|
return num
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := datasource.ExecDB("", "TRUNCATE TABLE u_auth_user", nil)
|
_, err := datasource.ExecDB("", "DELETE FROM u_auth_user WHERE ne_id = ?", []any{neID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("TRUNCATE err => %v", err)
|
log.Errorf("TRUNCATE err => %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ type ServiceUdmSubUser struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SubUserSave UDM签约用户-获取全部保存数据库
|
// SubUserSave UDM签约用户-获取全部保存数据库
|
||||||
func (r *ServiceUdmSubUser) SubUserSave() int64 {
|
func (r *ServiceUdmSubUser) SubUserSave(neID string) int64 {
|
||||||
var num int64 = 0
|
var num int64 = 0
|
||||||
subArr := redisUdmSubUserList()
|
subArr := redisUdmSubUserList()
|
||||||
// 有数据才清空
|
// 有数据才清空
|
||||||
@@ -27,7 +27,8 @@ func (r *ServiceUdmSubUser) SubUserSave() int64 {
|
|||||||
return num
|
return num
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := datasource.ExecDB("", "TRUNCATE TABLE u_sub_user", nil)
|
// _, err := datasource.ExecDB("", "TRUNCATE TABLE u_sub_user", nil)
|
||||||
|
_, err := datasource.ExecDB("", "DELETE FROM u_sub_user WHERE ne_id = ?", []any{neID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("TRUNCATE err => %v", err)
|
log.Errorf("TRUNCATE err => %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user