fix: UDM用户获取sql查询问题
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
|||||||
|
|
||||||
"ems.agt/features/udm_user/model"
|
"ems.agt/features/udm_user/model"
|
||||||
"ems.agt/features/udm_user/service"
|
"ems.agt/features/udm_user/service"
|
||||||
|
"ems.agt/lib/core/conf"
|
||||||
"ems.agt/lib/core/file"
|
"ems.agt/lib/core/file"
|
||||||
mmlclient "ems.agt/lib/core/mml_client"
|
mmlclient "ems.agt/lib/core/mml_client"
|
||||||
"ems.agt/lib/core/utils/ctx"
|
"ems.agt/lib/core/utils/ctx"
|
||||||
@@ -250,7 +251,6 @@ func (s *UdmUserApi) UdmAuthUserInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
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 = list[0]
|
||||||
ctx.JSON(w, 200, result.OkData(list[0]))
|
|
||||||
} else {
|
} else {
|
||||||
userInfo = model.UdmAuthUser{
|
userInfo = model.UdmAuthUser{
|
||||||
Imsi: imsi,
|
Imsi: imsi,
|
||||||
@@ -476,7 +476,7 @@ func (s *UdmUserApi) UdmAuthUserExport(w http.ResponseWriter, r *http.Request) {
|
|||||||
list := s.authUser.List(model.UdmAuthUser{NeID: neId})
|
list := s.authUser.List(model.UdmAuthUser{NeID: neId})
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("OMC_AUTH_USER_EXPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
fileName := fmt.Sprintf("OMC_AUTH_USER_EXPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
||||||
filePath := fmt.Sprintf("/usr/local/omc/upload/mml/%s", fileName)
|
filePath := fmt.Sprintf("%s/upload/mml/%s", conf.Get("ne.omcdir"), fileName)
|
||||||
// 转换数据
|
// 转换数据
|
||||||
data := [][]string{}
|
data := [][]string{}
|
||||||
data = append(data, []string{"imsi", "ki", "amf", "algo", "opc", "status"})
|
data = append(data, []string{"imsi", "ki", "amf", "algo", "opc", "status"})
|
||||||
@@ -510,8 +510,8 @@ func (s *UdmUserApi) UdmAuthUserImport(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("OMC_AUTH_USER_IMPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
fileName := fmt.Sprintf("OMC_AUTH_USER_IMPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
||||||
filePath := fmt.Sprintf("/usr/local/omc/upload/mml/%s", fileName)
|
filePath := fmt.Sprintf("%s/upload/mml/%s", conf.Get("ne.omcdir"), fileName)
|
||||||
dstPath := "/home/agtuser/"
|
dstPath := conf.Get("mml.upload").(string)
|
||||||
// 输出保存文件
|
// 输出保存文件
|
||||||
err = ctx.SaveUploadedFile(r, filePath)
|
err = ctx.SaveUploadedFile(r, filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -596,7 +596,6 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
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]
|
userInfo = list[0]
|
||||||
ctx.JSON(w, 200, result.OkData(list[0]))
|
|
||||||
} else {
|
} else {
|
||||||
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
|
||||||
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
|
||||||
@@ -614,6 +613,7 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
// 1,64,24,65,def_eps,1,2,010200000000,-
|
// 1,64,24,65,def_eps,1,2,010200000000,-
|
||||||
if v, ok := data["EPS-Data"]; ok {
|
if v, ok := data["EPS-Data"]; ok {
|
||||||
|
userInfo.EpsDat = v
|
||||||
arr := strings.Split(v, ",")
|
arr := strings.Split(v, ",")
|
||||||
userInfo.EpsFlag = arr[0]
|
userInfo.EpsFlag = arr[0]
|
||||||
userInfo.EpsOdb = arr[1]
|
userInfo.EpsOdb = arr[1]
|
||||||
@@ -980,7 +980,7 @@ func (s *UdmUserApi) UdmSubUserExport(w http.ResponseWriter, r *http.Request) {
|
|||||||
list := s.subUser.List(model.UdmSubUser{NeID: neId})
|
list := s.subUser.List(model.UdmSubUser{NeID: neId})
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("OMC_AUTH_USER_EXPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
fileName := fmt.Sprintf("OMC_AUTH_USER_EXPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
||||||
filePath := fmt.Sprintf("/usr/local/omc/upload/mml/%s", fileName)
|
filePath := fmt.Sprintf("%s/upload/mml/%s", conf.Get("ne.omcdir"), fileName)
|
||||||
// 转换数据
|
// 转换数据
|
||||||
data := [][]string{}
|
data := [][]string{}
|
||||||
data = append(data, []string{"imsi", "msisdn", "ambr", "arfb", "sar", "rat", "cn", "smf_sel", "sm_dat", "eps_dat"})
|
data = append(data, []string{"imsi", "msisdn", "ambr", "arfb", "sar", "rat", "cn", "smf_sel", "sm_dat", "eps_dat"})
|
||||||
@@ -1014,8 +1014,8 @@ func (s *UdmUserApi) UdmSubUserImport(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
// 文件名
|
// 文件名
|
||||||
fileName := fmt.Sprintf("OMC_SUB_USER_IMPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
fileName := fmt.Sprintf("OMC_SUB_USER_IMPORT_%s_%d.csv", neId, time.Now().UnixMilli())
|
||||||
filePath := fmt.Sprintf("/usr/local/omc/upload/mml/%s", fileName)
|
filePath := fmt.Sprintf("%s/upload/mml/%s", conf.Get("ne.omcdir"), fileName)
|
||||||
dstPath := "/home/agtuser/"
|
dstPath := conf.Get("mml.upload").(string)
|
||||||
// 输出保存文件
|
// 输出保存文件
|
||||||
err = ctx.SaveUploadedFile(r, filePath)
|
err = ctx.SaveUploadedFile(r, filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -25,5 +25,5 @@ type UdmSubUser struct {
|
|||||||
ApnContext string `json:"apnContext" xorm:"apn_context"`
|
ApnContext string `json:"apnContext" xorm:"apn_context"`
|
||||||
StaticIp string `json:"staticIp" xorm:"static_ip"`
|
StaticIp string `json:"staticIp" xorm:"static_ip"`
|
||||||
|
|
||||||
SubNum string `json:"subNum" xorm:"-"` // 批量数
|
SubNum string `json:"subNum,omitempty" xorm:"-"` // 批量数
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ func (r *RepoUdmAuthUser) SelectList(auth model.UdmAuthUser) []model.UdmAuthUser
|
|||||||
var conditions []string
|
var conditions []string
|
||||||
var params []any
|
var params []any
|
||||||
if auth.Imsi != "" {
|
if auth.Imsi != "" {
|
||||||
conditions = append(conditions, "msisdn like concat(?, '%')")
|
conditions = append(conditions, "imsi = ?")
|
||||||
params = append(params, auth.Imsi)
|
params = append(params, auth.Imsi)
|
||||||
}
|
}
|
||||||
if auth.NeID != "" {
|
if auth.NeID != "" {
|
||||||
@@ -207,8 +207,8 @@ func (r *RepoUdmAuthUser) Inserts(neID string, authUser model.UdmAuthUser, num s
|
|||||||
func (r *RepoUdmAuthUser) Update(neID string, authUser model.UdmAuthUser) int64 {
|
func (r *RepoUdmAuthUser) Update(neID string, authUser model.UdmAuthUser) int64 {
|
||||||
// 查询先
|
// 查询先
|
||||||
var user model.UdmAuthUser
|
var user model.UdmAuthUser
|
||||||
err := datasource.DefaultDB().Table("u_auth_user").Where("imsi = ? and ne_id = ?", authUser.Imsi, neID).Find(&user)
|
has, err := datasource.DefaultDB().Table("u_auth_user").Where("imsi = ? and ne_id = ?", authUser.Imsi, neID).Get(&user)
|
||||||
if err != nil {
|
if !has || err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ func (r *RepoUdmAuthUser) Update(neID string, authUser model.UdmAuthUser) int64
|
|||||||
user.Opc = authUser.Opc
|
user.Opc = authUser.Opc
|
||||||
}
|
}
|
||||||
|
|
||||||
results, err := datasource.DefaultDB().Table("u_auth_user").Update(user)
|
results, err := datasource.DefaultDB().Table("u_auth_user").Where("imsi = ? and ne_id = ?", user.Imsi, user.NeID).Update(user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ var NewRepoUdmSubUser = &RepoUdmSubUser{
|
|||||||
"msisdn": "Msisdn",
|
"msisdn": "Msisdn",
|
||||||
"imsi": "Imsi",
|
"imsi": "Imsi",
|
||||||
"ambr": "Ambr",
|
"ambr": "Ambr",
|
||||||
"nssai": "Assai",
|
"nssai": "Nssai",
|
||||||
"rat": "Rat",
|
"rat": "Rat",
|
||||||
"arfb": "Arfb",
|
"arfb": "Arfb",
|
||||||
"sar": "Sar",
|
"sar": "Sar",
|
||||||
@@ -130,7 +130,7 @@ func (r *RepoUdmSubUser) SelectList(auth model.UdmSubUser) []model.UdmSubUser {
|
|||||||
var conditions []string
|
var conditions []string
|
||||||
var params []any
|
var params []any
|
||||||
if auth.Imsi != "" {
|
if auth.Imsi != "" {
|
||||||
conditions = append(conditions, "msisdn like concat(?, '%')")
|
conditions = append(conditions, "imsi = ?")
|
||||||
params = append(params, auth.Imsi)
|
params = append(params, auth.Imsi)
|
||||||
}
|
}
|
||||||
if auth.NeID != "" {
|
if auth.NeID != "" {
|
||||||
@@ -257,8 +257,8 @@ func (r *RepoUdmSubUser) Insert4G(neID string, subUser model.UdmSubUser) int64 {
|
|||||||
func (r *RepoUdmSubUser) Update(neID string, authUser model.UdmSubUser) int64 {
|
func (r *RepoUdmSubUser) Update(neID string, authUser model.UdmSubUser) int64 {
|
||||||
// 查询先
|
// 查询先
|
||||||
var user model.UdmSubUser
|
var user model.UdmSubUser
|
||||||
err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", authUser.Imsi, neID).Find(&user)
|
has, err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", authUser.Imsi, neID).Get(&user)
|
||||||
if err != nil {
|
if !has || err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ func (r *RepoUdmSubUser) Update(neID string, authUser model.UdmSubUser) int64 {
|
|||||||
user.EpsDat = authUser.EpsDat
|
user.EpsDat = authUser.EpsDat
|
||||||
}
|
}
|
||||||
|
|
||||||
results, err := datasource.DefaultDB().Table("u_sub_user").Update(user)
|
results, err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", user.Imsi, user.NeID).Update(user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@@ -315,8 +315,8 @@ func (r *RepoUdmSubUser) Update4GIP(neID string, subUser model.UdmSubUser) int64
|
|||||||
|
|
||||||
// 查询先
|
// 查询先
|
||||||
var user model.UdmSubUser
|
var user model.UdmSubUser
|
||||||
err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", subUser.Imsi, neID).Find(&user)
|
has, err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", subUser.Imsi, neID).Get(&user)
|
||||||
if err == nil {
|
if has && err == nil {
|
||||||
// IP会自动递增
|
// IP会自动递增
|
||||||
parts := strings.Split(subUser.StaticIp, ".")
|
parts := strings.Split(subUser.StaticIp, ".")
|
||||||
lastPart := parts[3]
|
lastPart := parts[3]
|
||||||
@@ -354,8 +354,8 @@ func (r *RepoUdmSubUser) UpdateSmData(neID string, subUser model.UdmSubUser) int
|
|||||||
|
|
||||||
// 查询先
|
// 查询先
|
||||||
var user model.UdmSubUser
|
var user model.UdmSubUser
|
||||||
err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", subUser.Imsi, neID).Find(&user)
|
has, err := datasource.DefaultDB().Table("u_sub_user").Where("imsi = ? and ne_id = ?", subUser.Imsi, neID).Get(&user)
|
||||||
if err == nil {
|
if has && err == nil {
|
||||||
// IP会自动递增,需提前规划好DNN对应的IP;如dnn不需要绑定IP则不带此字段名
|
// IP会自动递增,需提前规划好DNN对应的IP;如dnn不需要绑定IP则不带此字段名
|
||||||
// parts := strings.Split(subUser.SmData, "&")
|
// parts := strings.Split(subUser.SmData, "&")
|
||||||
user.SmData = subUser.SmData
|
user.SmData = subUser.SmData
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ func redisUdmSubUserList() []model.UdmSubUser {
|
|||||||
a := model.UdmSubUser{
|
a := model.UdmSubUser{
|
||||||
Imsi: imsi,
|
Imsi: imsi,
|
||||||
Msisdn: m["gpsi"],
|
Msisdn: m["gpsi"],
|
||||||
|
SmfSel: m["smf-sel"],
|
||||||
SmData: m["sm-dat"], // 1-000001&cmnet&ims&3gnet
|
SmData: m["sm-dat"], // 1-000001&cmnet&ims&3gnet
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,6 +76,7 @@ func redisUdmSubUserList() []model.UdmSubUser {
|
|||||||
}
|
}
|
||||||
// 1,64,24,65,def_eps,1,2,010200000000,-
|
// 1,64,24,65,def_eps,1,2,010200000000,-
|
||||||
if v, ok := m["eps-dat"]; ok {
|
if v, ok := m["eps-dat"]; ok {
|
||||||
|
a.EpsDat = v
|
||||||
arr := strings.Split(v, ",")
|
arr := strings.Split(v, ",")
|
||||||
a.EpsFlag = arr[0]
|
a.EpsFlag = arr[0]
|
||||||
a.EpsOdb = arr[1]
|
a.EpsOdb = arr[1]
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
"ems.agt/lib/core/conf"
|
"ems.agt/lib/core/conf"
|
||||||
|
"ems.agt/lib/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 网元NE 文件复制到远程文件夹
|
// 网元NE 文件复制到远程文件夹
|
||||||
@@ -17,6 +18,6 @@ func FileNeSCP(neIp, filePath, dstPath string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println(out)
|
log.Infof("FileNeSCP %s", string(out))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user