diff --git a/app/services/api/v1/issues/delete_service.rb b/app/services/api/v1/issues/delete_service.rb index 952f6a404..7210c0eb7 100644 --- a/app/services/api/v1/issues/delete_service.rb +++ b/app/services/api/v1/issues/delete_service.rb @@ -15,6 +15,8 @@ class Api::V1::Issues::DeleteService < ApplicationService raise Error, errors.full_messages.join(", ") unless valid? try_lock("Api::V1::Issues::DeleteService:#{project.id}") # 开始写数据,加锁 + delete_be_linkable_issues + delete_issue project.incre_project_issue_cache_delete_count @@ -38,4 +40,10 @@ class Api::V1::Issues::DeleteService < ApplicationService raise Error, "删除疑修失败!" unless issue.destroy! end + def delete_be_linkable_issues + pmlink_ids = PmLink.where(linkable: issue).pluck(:be_linkable_id) + linkable_issues = Issue.where(id: pmlink_ids) + raise Error, "删除疑修关联项失败!" unless linkable_issues.destroy_all + end + end \ No newline at end of file