fix: 删除认证源将关联用户信息移除

This commit is contained in:
TsMask
2025-08-14 10:45:27 +08:00
parent 7783985c09
commit 991f22ae37
2 changed files with 18 additions and 0 deletions

View File

@@ -146,5 +146,20 @@ func (r SysLoginSource) DeleteByIds(ids []int64) int64 {
logger.Errorf("delete err => %v", err.Error()) logger.Errorf("delete err => %v", err.Error())
return 0 return 0
} }
return tx.RowsAffected
}
// DeleteByUserSource 通过用户源删除用户 返回受影响行数
func (r SysLoginSource) DeleteByUserSource(uid string) int64 {
if uid == "" || uid == "#" {
return 0
}
tx := db.DB("").Where("user_source = ?", uid)
// 执行删除
if err := tx.Delete(&model.SysUser{}).Error; err != nil {
logger.Errorf("delete err => %v", err.Error())
return 0
}
return tx.RowsAffected return tx.RowsAffected
} }

View File

@@ -54,6 +54,9 @@ func (s SysLoginSource) DeleteByIds(ids []int64) (int64, error) {
return 0, fmt.Errorf("no permission to access authentication source data") return 0, fmt.Errorf("no permission to access authentication source data")
} }
if len(arr) == len(ids) { if len(arr) == len(ids) {
for _, v := range arr {
s.sysLoginSourceRepository.DeleteByUserSource(v.UID)
}
return s.sysLoginSourceRepository.DeleteByIds(ids), nil return s.sysLoginSourceRepository.DeleteByIds(ids), nil
} }
// return 0, fmt.Errorf("删除认证源信息失败!") // return 0, fmt.Errorf("删除认证源信息失败!")