From d477d2cabb2cad2737e109918d6aa9ba93161922 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Wed, 31 Jan 2024 15:12:55 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20issues=5Fcount=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=B2=E5=88=86=E9=85=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/pm/projects_controller.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/controllers/api/pm/projects_controller.rb b/app/controllers/api/pm/projects_controller.rb index 1ce72b584..95947dcef 100644 --- a/app/controllers/api/pm/projects_controller.rb +++ b/app/controllers/api/pm/projects_controller.rb @@ -13,15 +13,10 @@ class Api::Pm::ProjectsController < Api::Pm::BaseController def issues_count return tip_exception '参数错误' unless params[:pm_project_id].present? @issues = Issue.where(pm_project_id: params[:pm_project_id]) - case params[:participant_category].to_s - when 'aboutme' # 关于我的 + @participant_category_count = {} + if params[:participant_category].present? @issues = @issues.joins(:issue_participants).where(issue_participants: {participant_type: %w[authored assigned atme], participant_id: current_user&.id}) - when 'authoredme' # 我创建的 - @issues = @issues.joins(:issue_participants).where(issue_participants: {participant_type: 'authored', participant_id: current_user&.id}) - when 'assignedme' # 我负责的 - @issues = @issues.joins(:issue_participants).where(issue_participants: {participant_type: 'assigned', participant_id: current_user&.id}) - when 'atme' # @我的 - @issues = @issues.joins(:issue_participants).where(issue_participants: {participant_type: 'atme', participant_id: current_user&.id}) + @participant_category_count = @issues.group(:pm_project_id, "issue_participants.participant_type").count end data = {} @issues_count = @issues.group(:pm_project_id).count @@ -32,7 +27,10 @@ class Api::Pm::ProjectsController < Api::Pm::BaseController total: @issues_count[project_id] || 0, requirement: @issues_type_count[[project_id, 1]] || 0, task: @issues_type_count[[project_id, 2]] || 0, - bug: @issues_type_count[[project_id, 3]] || 0 + bug: @issues_type_count[[project_id, 3]] || 0, + authoredme: @participant_category_count[[project_id, 0]] || 0, + assignedme: @participant_category_count[[project_id, 1]] || 0, + atme: @participant_category_count[[project_id, 4]] || 0, } end render_ok(data: data)