fix: UDM签约cag参数允许为空

This commit is contained in:
TsMask
2024-12-11 15:41:05 +08:00
parent 87a2b299c7
commit f5ebd1c581
2 changed files with 4 additions and 7 deletions

View File

@@ -188,10 +188,7 @@ func (s *UDMSubController) Adds(c *gin.Context) {
// 发送MML // 发送MML
cmd := fmt.Sprintf("baa udmuser:start_imsi=%s,start_msisdn=%s,sub_num=%s,", body.IMSI, body.MSISDN, num) cmd := fmt.Sprintf("baa udmuser:start_imsi=%s,start_msisdn=%s,sub_num=%s,", body.IMSI, body.MSISDN, num)
cmd += s.udmSubService.ParseCommandParams(body) cmd += s.udmSubService.ParseCommandParams(body)
// static_ip指给4G UE分配的静态IP没有可不带此字段名批量添加IP会自动递增 // 去除msisdn参数避免重复
if body.StaticIp != "" {
cmd += fmt.Sprintf(",static_ip=%s", body.StaticIp)
}
omemsisdn := fmt.Sprintf(",msisdn=%s,", body.MSISDN) omemsisdn := fmt.Sprintf(",msisdn=%s,", body.MSISDN)
cmd = strings.Replace(cmd, omemsisdn, ",", 1) cmd = strings.Replace(cmd, omemsisdn, ",", 1)
data, err := telnet.ConvertToStr(telnetClient, cmd) data, err := telnet.ConvertToStr(telnetClient, cmd)

View File

@@ -347,6 +347,7 @@ func (r *UDMSubUser) ParseCommandParams(item model.UDMSubUser) string {
if item.ApnContext != "" { if item.ApnContext != "" {
conditions = append(conditions, fmt.Sprintf("apn_context=%s", item.ApnContext)) conditions = append(conditions, fmt.Sprintf("apn_context=%s", item.ApnContext))
} }
// static_ip指给4G UE分配的静态IP没有可不带此字段名批量添加IP会自动递增
if item.StaticIp != "" { if item.StaticIp != "" {
conditions = append(conditions, fmt.Sprintf("static_ip=%s", item.StaticIp)) conditions = append(conditions, fmt.Sprintf("static_ip=%s", item.StaticIp))
} }
@@ -358,8 +359,7 @@ func (r *UDMSubUser) ParseCommandParams(item model.UDMSubUser) string {
if item.SmData != "" { if item.SmData != "" {
conditions = append(conditions, fmt.Sprintf("sm_data=%s", item.SmData)) conditions = append(conditions, fmt.Sprintf("sm_data=%s", item.SmData))
} }
if item.Cag != "" { conditions = append(conditions, fmt.Sprintf("cag=%s", item.Cag))
conditions = append(conditions, fmt.Sprintf("cag=%s", item.Cag))
}
return strings.Join(conditions, ",") return strings.Join(conditions, ",")
} }