From 991f22ae37073cd85809cc51453e88c7645e0550 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 14 Aug 2025 10:45:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=BA=90=E5=B0=86=E5=85=B3=E8=81=94=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/system/repository/sys_login_source.go | 15 +++++++++++++++ src/modules/system/service/sys_login_source.go | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/modules/system/repository/sys_login_source.go b/src/modules/system/repository/sys_login_source.go index c9170f8b..40c07c4f 100644 --- a/src/modules/system/repository/sys_login_source.go +++ b/src/modules/system/repository/sys_login_source.go @@ -146,5 +146,20 @@ func (r SysLoginSource) DeleteByIds(ids []int64) int64 { logger.Errorf("delete err => %v", err.Error()) 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 } diff --git a/src/modules/system/service/sys_login_source.go b/src/modules/system/service/sys_login_source.go index b6a9b949..61a28a4e 100644 --- a/src/modules/system/service/sys_login_source.go +++ b/src/modules/system/service/sys_login_source.go @@ -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("删除认证源信息失败!")