fix: UDM-IMS数据批量新增/批量删除命令调整
This commit is contained in:
@@ -100,6 +100,7 @@ func (s *UDMVolteIMSController) Info(c *gin.Context) {
|
|||||||
neId := c.Param("neId")
|
neId := c.Param("neId")
|
||||||
imsi := c.Param("imsi")
|
imsi := c.Param("imsi")
|
||||||
msisdn := c.Query("msisdn")
|
msisdn := c.Query("msisdn")
|
||||||
|
volte := c.Query("volte")
|
||||||
if neId == "" || imsi == "" {
|
if neId == "" || imsi == "" {
|
||||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: neId or imsi is empty"))
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: neId or imsi is empty"))
|
||||||
return
|
return
|
||||||
@@ -108,6 +109,10 @@ func (s *UDMVolteIMSController) Info(c *gin.Context) {
|
|||||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: msisdn is required"))
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: msisdn is required"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if volte == "" || !(volte == "0" || volte == "1") {
|
||||||
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: volte is required"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
||||||
@@ -124,7 +129,7 @@ func (s *UDMVolteIMSController) Info(c *gin.Context) {
|
|||||||
defer telnetClient.Close()
|
defer telnetClient.Close()
|
||||||
|
|
||||||
// 发送MML
|
// 发送MML
|
||||||
cmd := fmt.Sprintf("dsp imsuser:imsi=%s,msisdn=%s", imsi, msisdn)
|
cmd := fmt.Sprintf("dsp imsuser:imsi=%s,msisdn=%s,volte=%s", imsi, msisdn, volte)
|
||||||
data, err := telnet.ConvertToMap(telnetClient, cmd)
|
data, err := telnet.ConvertToMap(telnetClient, cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||||
@@ -297,13 +302,16 @@ func (s *UDMVolteIMSController) Adds(c *gin.Context) {
|
|||||||
func (s *UDMVolteIMSController) Remove(c *gin.Context) {
|
func (s *UDMVolteIMSController) Remove(c *gin.Context) {
|
||||||
language := reqctx.AcceptLanguage(c)
|
language := reqctx.AcceptLanguage(c)
|
||||||
neId := c.Param("neId")
|
neId := c.Param("neId")
|
||||||
imsi := c.Param("imsi")
|
imsi_msisdn := c.Param("imsi")
|
||||||
msisdn := c.Query("msisdn")
|
volte := c.Query("volte")
|
||||||
if neId == "" || imsi == "" {
|
if neId == "" || imsi_msisdn == "" {
|
||||||
c.JSON(400, resp.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, resp.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
imsiArr := strings.Split(imsi, ",")
|
if volte == "" || !(volte == "0" || volte == "1") {
|
||||||
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: volte is required"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
||||||
@@ -319,46 +327,34 @@ func (s *UDMVolteIMSController) Remove(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
defer telnetClient.Close()
|
defer telnetClient.Close()
|
||||||
|
|
||||||
// 精确msisdn删除
|
imsiArr := strings.Split(imsi_msisdn, ",")
|
||||||
if msisdn != "" {
|
// 处理字符转id数组后去重
|
||||||
|
uniqueIDs := parse.RemoveDuplicates(imsiArr)
|
||||||
|
if len(uniqueIDs) <= 0 {
|
||||||
|
c.JSON(200, resp.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resultData := map[string]string{}
|
||||||
|
for _, im := range uniqueIDs {
|
||||||
|
imArr := strings.SplitN(im, "_", 2)
|
||||||
|
if len(imArr) != 2 {
|
||||||
|
resultData[im] = "format should be imsi_msisdn"
|
||||||
|
continue
|
||||||
|
}
|
||||||
// 发送MML
|
// 发送MML
|
||||||
cmd := fmt.Sprintf("del imsuser:imsi=%s,msisdn=%s", imsiArr[0], msisdn)
|
cmd := fmt.Sprintf("del imsuser:imsi=%s,msisdn=%s,volte=%s", imArr[0], imArr[1], volte)
|
||||||
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
resultData[im] = err.Error()
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
// 命令ok时
|
// 命令ok时
|
||||||
if strings.Contains(data, "ok") {
|
if strings.Contains(data, "ok") {
|
||||||
s.udmVolteIMSService.Delete(imsi, neId)
|
s.udmVolteIMSService.Delete(imArr[0], neId)
|
||||||
}
|
}
|
||||||
c.JSON(200, resp.OkData(data))
|
resultData[im] = data
|
||||||
return
|
|
||||||
} else {
|
|
||||||
// 处理字符转id数组后去重
|
|
||||||
uniqueIDs := parse.RemoveDuplicates(imsiArr)
|
|
||||||
if len(uniqueIDs) <= 0 {
|
|
||||||
c.JSON(200, resp.Err(nil))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
resultData := map[string]string{}
|
|
||||||
for _, imsi := range uniqueIDs {
|
|
||||||
// 发送MML
|
|
||||||
cmd := fmt.Sprintf("del imsuser:imsi=%s", imsi)
|
|
||||||
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
|
||||||
if err != nil {
|
|
||||||
resultData[imsi] = err.Error()
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// 命令ok时
|
|
||||||
if strings.Contains(data, "ok") {
|
|
||||||
s.udmVolteIMSService.Delete(imsi, neId)
|
|
||||||
}
|
|
||||||
resultData[imsi] = data
|
|
||||||
}
|
|
||||||
c.JSON(200, resp.OkData(resultData))
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
c.JSON(200, resp.OkData(resultData))
|
||||||
}
|
}
|
||||||
|
|
||||||
// UDMVolteIMS用户批量删除
|
// UDMVolteIMS用户批量删除
|
||||||
@@ -379,12 +375,17 @@ func (s *UDMVolteIMSController) Remove(c *gin.Context) {
|
|||||||
func (s *UDMVolteIMSController) Removes(c *gin.Context) {
|
func (s *UDMVolteIMSController) Removes(c *gin.Context) {
|
||||||
language := reqctx.AcceptLanguage(c)
|
language := reqctx.AcceptLanguage(c)
|
||||||
neId := c.Param("neId")
|
neId := c.Param("neId")
|
||||||
imsi := c.Param("imsi")
|
imsi_msisdn := c.Param("imsi")
|
||||||
num := c.Param("num")
|
num := c.Param("num")
|
||||||
if neId == "" || imsi == "" || num == "" {
|
volte := c.Query("volte")
|
||||||
|
if neId == "" || imsi_msisdn == "" || num == "" {
|
||||||
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: neId/imsi/num is empty"))
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: neId/imsi/num is empty"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if volte == "" || !(volte == "0" || volte == "1") {
|
||||||
|
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: volte is required"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
// 查询网元获取IP
|
||||||
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
neInfo := s.neInfoService.FindByNeTypeAndNeID("UDM", neId)
|
||||||
@@ -400,8 +401,22 @@ func (s *UDMVolteIMSController) Removes(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
defer telnetClient.Close()
|
defer telnetClient.Close()
|
||||||
|
|
||||||
|
imArr := strings.SplitN(imsi_msisdn, "_", 2)
|
||||||
|
if len(imArr) != 2 {
|
||||||
|
c.JSON(200, resp.ErrMsg("format should be imsi_msisdn"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
imsi := imArr[0]
|
||||||
|
msisdn := imArr[1]
|
||||||
|
|
||||||
// 发送MML
|
// 发送MML
|
||||||
cmd := fmt.Sprintf("bde imsuser:start_imsi=%s,sub_num=%s", imsi, num)
|
cmd := ""
|
||||||
|
if volte == "0" {
|
||||||
|
cmd = fmt.Sprintf("bde imsuser:start_msisdn=%s,sub_num=%s,volte=0", msisdn, num)
|
||||||
|
}
|
||||||
|
if volte == "1" {
|
||||||
|
cmd = fmt.Sprintf("bde imsuser:start_imsi=%s,start_msisdn=%s,sub_num=%s,volte=1", imsi, msisdn, num)
|
||||||
|
}
|
||||||
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||||
|
|||||||
Reference in New Issue
Block a user