From 66a7c4eb0013e157f8e97fb943480d84517458f1 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Tue, 8 Oct 2024 15:01:38 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=20=E5=88=A0=E9=99=A4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=B6=E5=88=A0=E9=99=A4=E8=AE=A8=E8=AE=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/users/delete_user_service.rb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/services/api/v1/users/delete_user_service.rb b/app/services/api/v1/users/delete_user_service.rb index 67714de06..12775eac3 100644 --- a/app/services/api/v1/users/delete_user_service.rb +++ b/app/services/api/v1/users/delete_user_service.rb @@ -13,14 +13,16 @@ class Api::V1::Users::DeleteUserService < ApplicationService # org.team_users.joins(:team).where(user_id: @user.id, teams: {authorize: %w(owner)}) owner_count = org.team_users.joins(:team).where(teams: {authorize: %w(owner)}).count # 多个owner时,仅将用户从组织移除, 一个时直接删除 - if owner_count > 1 - org.team_users.joins(:team).where(user_id: @user.id, teams: {authorize: %w(owner)}).destroy_all - org.organization_users.where(user_id: @user.id, organization_id: org.id).destroy_all - else - org.destroy + org.team_users.where(user_id: @user.id).destroy_all + org.organization_users.where(user_id: @user.id, organization_id: org.id).destroy_all + if owner_count == 1 + if org.team_users.joins(:team).where(user_id: @user.id, teams: { authorize: %w(owner) }).count > 0 + org.destroy! + end end end @user.destroy! + del_user_data_by_sql(@user.id) Gitea::User::DeleteService.call(@user.login, true) end return true @@ -28,4 +30,9 @@ class Api::V1::Users::DeleteUserService < ApplicationService raise Error, "服务器错误,请联系系统管理员!" end end + + def del_user_data_by_sql(user_id) + sql1 = "delete from memos where author_id=#{user_id}" + ActiveRecord::Base.connection.execute(sql1) + end end \ No newline at end of file