fix: not reload for batch add & delete failed imsi length < 15
This commit is contained in:
@@ -1,26 +1,75 @@
|
||||
package ims_user
|
||||
|
||||
const (
|
||||
// IMSI 号码长度
|
||||
IMSI_MAX_LENGTH = 15
|
||||
// MSISDN 号码长度
|
||||
MSISDN_MAX_LENGTH = 15
|
||||
)
|
||||
|
||||
// @Description VoLTE用户信息
|
||||
type VoLTEUser struct {
|
||||
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 主键
|
||||
NeId string `json:"neId" gorm:"column:ne_id"` // UDM网元标识
|
||||
IMSI string `json:"imsi" gorm:"column:imsi"` // SIM卡/USIM卡ID
|
||||
MSISDN string `json:"msisdn" gorm:"column:msisdn"` // 用户电话号码
|
||||
Tag string `json:"tag" gorm:"column:tag"` // Tag: 0=VoIP, 1=VoLTE
|
||||
VNI string `json:"vni" gorm:"column:vni"` // VNI
|
||||
|
||||
TenantID string `json:"tenantID" gorm:"column:tenant_id"`
|
||||
TenantName string `json:"tenantName" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName 表名称
|
||||
func (*VoLTEUser) TableName() string {
|
||||
return "u_ims_user"
|
||||
}
|
||||
package ims_user
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
// IMSI 号码长度
|
||||
IMSI_MAX_LENGTH = 15
|
||||
// MSISDN 号码长度
|
||||
MSISDN_MAX_LENGTH = 15
|
||||
)
|
||||
|
||||
type CallTag int
|
||||
|
||||
const (
|
||||
TAG_VoIP CallTag = iota // VoIP标记
|
||||
TAG_VoLTE // VoLTE标记
|
||||
TAG_UNKNOWN // 未知标记
|
||||
)
|
||||
|
||||
func (ct CallTag) Enum() string {
|
||||
switch ct {
|
||||
case TAG_VoIP:
|
||||
return "VoIP"
|
||||
case TAG_VoLTE:
|
||||
return "VoLTE"
|
||||
default:
|
||||
return "unknown"
|
||||
}
|
||||
}
|
||||
|
||||
func (ct CallTag) String() string {
|
||||
return fmt.Sprintf("%d", ct)
|
||||
}
|
||||
|
||||
// ParseCallTag 将字符串转换为 CallTag 枚举类型
|
||||
func ParseCallTag(s string) CallTag {
|
||||
if i, err := strconv.Atoi(s); err == nil {
|
||||
return CallTag(i)
|
||||
}
|
||||
// 如果转换失败,则按名称匹配(忽略大小写)
|
||||
switch strings.ToLower(s) {
|
||||
case "voip":
|
||||
return TAG_VoIP
|
||||
case "volte":
|
||||
return TAG_VoLTE
|
||||
case "":
|
||||
// 如果字符串为空,则返回未知标记
|
||||
return TAG_UNKNOWN
|
||||
default:
|
||||
// 默认返回 VoIP
|
||||
return TAG_VoLTE
|
||||
}
|
||||
}
|
||||
|
||||
// @Description IMS用户信息
|
||||
type IMSUser struct {
|
||||
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 主键
|
||||
NeId string `json:"neId" gorm:"column:ne_id"` // UDM网元标识
|
||||
IMSI string `json:"imsi" gorm:"column:imsi"` // SIM卡/USIM卡ID
|
||||
MSISDN string `json:"msisdn" gorm:"column:msisdn"` // 用户电话号码
|
||||
Tag CallTag `json:"tag" gorm:"column:tag"` // tag: 0=VoIP, 1=VoLTE
|
||||
VNI string `json:"vni" gorm:"column:vni"` // VNI
|
||||
|
||||
TenantID string `json:"tenantID" gorm:"column:tenant_id"`
|
||||
TenantName string `json:"tenantName" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName 表名称
|
||||
func (*IMSUser) TableName() string {
|
||||
return "u_ims_user"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user