fix: UDM备注信息IMS唯一
This commit is contained in:
@@ -72,11 +72,15 @@ func (r *UDMUserInfo) SelectList(u model.UDMUserInfo) []model.UDMUserInfo {
|
||||
return rows
|
||||
}
|
||||
|
||||
// SelectByIMSIAndNeID 通过imsi和ne_id查询
|
||||
// SelectByIMSIAndNeID 通过imsi和ne_id查询 neId为%时模糊imsi查询
|
||||
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
||||
tx := datasource.DB("").Model(&model.UDMUserInfo{})
|
||||
// 构建查询条件
|
||||
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
||||
if neId == "%" {
|
||||
tx = tx.Where("imsi like concat(?, '%')", imsi)
|
||||
} else {
|
||||
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
||||
}
|
||||
// 查询数据
|
||||
rows := []model.UDMUserInfo{}
|
||||
if err := tx.Limit(1).Find(&rows).Error; err != nil {
|
||||
@@ -97,20 +101,17 @@ func (r *UDMUserInfo) Inserts(uArr []model.UDMUserInfo) int64 {
|
||||
return tx.RowsAffected
|
||||
}
|
||||
|
||||
// Delete 删除实体
|
||||
// Delete 删除实体 neId为%时模糊imsi前缀
|
||||
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
||||
tx := datasource.DefaultDB().Where("imsi = ? and ne_id = ?", imsi, neId).Delete(&model.UDMUserInfo{})
|
||||
tx := datasource.DefaultDB()
|
||||
if neId == "%" {
|
||||
tx = tx.Where("imsi like concat(?, '%')", imsi)
|
||||
} else {
|
||||
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
||||
}
|
||||
tx = tx.Delete(&model.UDMUserInfo{})
|
||||
if err := tx.Error; err != nil {
|
||||
logger.Errorf("Delete err => %v", err)
|
||||
}
|
||||
return tx.RowsAffected
|
||||
}
|
||||
|
||||
// DeletePrefixByIMSI 删除前缀匹配的实体
|
||||
func (r *UDMUserInfo) DeletePrefixByIMSI(imsiPrefix, neId string) int64 {
|
||||
tx := datasource.DefaultDB().Where("imsi like concat(?, '%') and ne_id = ?", imsiPrefix, neId).Delete(&model.UDMUserInfo{})
|
||||
if err := tx.Error; err != nil {
|
||||
logger.Errorf("DeletePrefixByIMSI err => %v", err)
|
||||
}
|
||||
return tx.RowsAffected
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ func (r *UDMSubUser) Insert(neId string, u model.UDMSubUser) int64 {
|
||||
r.udmSubRepository.Delete(u.IMSI, neId)
|
||||
// 新增到拓展信息
|
||||
if u.Remark != "" {
|
||||
r.udmUserInfoRepository.Delete(u.IMSI, neId)
|
||||
r.udmUserInfoRepository.Delete(u.IMSI, "%")
|
||||
r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{{
|
||||
IMSI: u.IMSI,
|
||||
MSISDN: u.MSISDN,
|
||||
@@ -267,9 +267,9 @@ func (r *UDMSubUser) LoadData(neId, imsi, num, remark string) {
|
||||
// 删除原数据
|
||||
r.udmSubRepository.Delete(keyIMSI, neId)
|
||||
if remark == "-(Deleted)-" {
|
||||
r.udmUserInfoRepository.Delete(keyIMSI, neId)
|
||||
r.udmUserInfoRepository.Delete(keyIMSI, "%")
|
||||
}
|
||||
// 加载数据
|
||||
// 加载数据,删除标记为-(Deleted)-加载为空不插入
|
||||
arr := r.dataByRedis(keyIMSI, neId)
|
||||
if len(arr) < 1 {
|
||||
continue
|
||||
|
||||
@@ -16,7 +16,7 @@ type UDMUserInfo struct {
|
||||
udmUserInfoRepository *repository.UDMUserInfo
|
||||
}
|
||||
|
||||
// SelectByIMSIAndNeID 通过IMSI和网元标识查询信息
|
||||
// SelectByIMSIAndNeID 通过IMSI和网元标识查询信息 neId为%时模糊imsi查询
|
||||
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
||||
return r.udmUserInfoRepository.SelectByIMSIAndNeID(imsi, neId)
|
||||
}
|
||||
@@ -27,7 +27,7 @@ func (r *UDMUserInfo) Save(u model.UDMUserInfo) bool {
|
||||
return r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{u}) > 0
|
||||
}
|
||||
|
||||
// Delete 删除信息
|
||||
// Delete 删除信息 neId为%时模糊imsi查询
|
||||
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
||||
return r.udmUserInfoRepository.Delete(imsi, neId)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user