diff --git a/app/services/projects/link_join_service.rb b/app/services/projects/link_join_service.rb index 682fd1414..70e23d142 100644 --- a/app/services/projects/link_join_service.rb +++ b/app/services/projects/link_join_service.rb @@ -29,6 +29,16 @@ class Projects::LinkJoinService < ApplicationService raise Error, '邀请链接不存在!' unless invite_link.present? raise Error, '邀请链接已失效!' unless invite_user_in_project raise Error, '您已是仓库成员' if project.member?(user.id) + raise Error, '您的申请管理员正在审核中,请勿重复申请!' if user.applied_projects.exists?(applied_project_params) + end + + def applied_project_params + { + status: 'common', + project: project, + role: role_value, + project_invite_link_id: invite_link&.id + } end def create_applied_project!