feat 签约用户4G接口

This commit is contained in:
TsMask
2023-09-12 11:11:27 +08:00
parent df5cc36de4
commit fc8f63fca6
4 changed files with 253 additions and 1 deletions

View File

@@ -123,7 +123,19 @@ func Routers() []services.RouterItem {
{
Method: "PUT",
Pattern: "/sub/{neId}",
Handler: apis.UdmAuthUserEdit,
Handler: apis.UdmSubUserEdit,
Middleware: nil, //midware.Authorize(nil),
},
{
Method: "PUT",
Pattern: "/sub4gIP/{neId}",
Handler: apis.UdmSubUser4GIP,
Middleware: nil, //midware.Authorize(nil),
},
{
Method: "PUT",
Pattern: "/subSmData/{neId}",
Handler: apis.UdmSubUserSmData,
Middleware: nil, //midware.Authorize(nil),
},
{
@@ -706,6 +718,45 @@ func (s *UdmUserApi) UdmSubUserAdds(w http.ResponseWriter, r *http.Request) {
ctx.JSON(w, 200, result.OkData(data))
}
// UDM签约用户-批量添加4G用户
//
// POST /sub4G/{neId}
func (s *UdmUserApi) UdmSubUserAdd4G(w http.ResponseWriter, r *http.Request) {
neId := ctx.Param(r, "neId")
if neId == "" {
ctx.JSON(w, 400, result.CodeMsg(400, "参数错误"))
return
}
var body model.UdmSubUser
err := ctx.ShouldBindJSON(r, &body)
if err != nil || body.Imsi == "" || body.SubNum == "" {
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("bmd udmuser:start_imsi=%s,sub_num=%s,eps_flag=%s", body.Imsi, body.SubNum, body.EpsFlag)
// 发送MML
data, err := mmlclient.MMLSendMsgToString(neInfo.Ip, msg)
if err != nil {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
// 命令ok时
if strings.Contains(data, "ok") {
s.subUser.Insert4G(neInfo.NeId, body)
}
ctx.JSON(w, 200, result.OkData(data))
}
// UDM签约用户-修改
//
// PUT /{neId}
@@ -773,6 +824,83 @@ func (s *UdmUserApi) UdmSubUserEdit(w http.ResponseWriter, r *http.Request) {
ctx.JSON(w, 200, result.OkData(data))
}
// UDM签约用户-批量修改4G IP
//
// PUT /sub4gIP/{neId}
func (s *UdmUserApi) UdmSubUser4GIP(w http.ResponseWriter, r *http.Request) {
neId := ctx.Param(r, "neId")
if neId == "" {
ctx.JSON(w, 400, result.CodeMsg(400, "参数错误"))
return
}
var body model.UdmSubUser
err := ctx.ShouldBindJSON(r, &body)
if err != nil || body.Imsi == "" || body.SubNum == "" || body.StaticIp == "" {
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("bmd udmuser:start_imsi=%s,sub_num=%s,static_ip=%s", body.Imsi, body.SubNum, body.StaticIp)
// 发送MML
data, err := mmlclient.MMLSendMsgToString(neInfo.Ip, msg)
if err != nil {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
// 命令ok时
if strings.Contains(data, "ok") {
s.subUser.Update4GIP(neId, body)
}
ctx.JSON(w, 200, result.OkData(data))
}
// UDM签约用户-批量修改sm-data
//
// PUT /subSmData/{neId}
func (s *UdmUserApi) UdmSubUserSmData(w http.ResponseWriter, r *http.Request) {
neId := ctx.Param(r, "neId")
if neId == "" {
ctx.JSON(w, 400, result.CodeMsg(400, "参数错误"))
return
}
var body model.UdmSubUser
err := ctx.ShouldBindJSON(r, &body)
if err != nil || body.Imsi == "" || body.SubNum == "" || body.SmData == "" {
ctx.JSON(w, 400, result.CodeMsg(400, "参数错误"))
return
}
neInfo, err := NeInfoByUDM(neId)
if err != nil {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
// 3-000003&internet-10.10.1.1&ims-10.11.1.1
msg := fmt.Sprintf("bmd udmuser:start_imsi=%s,sub_num=%s,sm_data=%s", body.Imsi, body.SubNum, body.SmData)
// 发送MML
data, err := mmlclient.MMLSendMsgToString(neInfo.Ip, msg)
if err != nil {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
// 命令ok时
if strings.Contains(data, "ok") {
s.subUser.UpdateSmData(neId, body)
}
ctx.JSON(w, 200, result.OkData(data))
}
// UDM签约用户-删除
//
// DELETE /{neId}/{imsi}