fix: 删除认证源将关联用户信息移除
This commit is contained in:
@@ -148,3 +148,17 @@ func (r SysLoginSource) DeleteByIds(ids []int64) int64 {
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
@@ -54,6 +54,9 @@ func (s SysLoginSource) DeleteByIds(ids []int64) (int64, error) {
|
||||
return 0, fmt.Errorf("no permission to access authentication source data")
|
||||
}
|
||||
if len(arr) == len(ids) {
|
||||
for _, v := range arr {
|
||||
s.sysLoginSourceRepository.DeleteByUserSource(v.UID)
|
||||
}
|
||||
return s.sysLoginSourceRepository.DeleteByIds(ids), nil
|
||||
}
|
||||
// return 0, fmt.Errorf("删除认证源信息失败!")
|
||||
|
||||
Reference in New Issue
Block a user