Merge remote-tracking branch 'origin/main' into multi-tenant

This commit is contained in:
TsMask
2024-12-25 17:51:42 +08:00
6 changed files with 32 additions and 31 deletions

View File

@@ -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
}