From efa9ecfcb0dca6f48eb93a1288359435a485a63d Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 15 Nov 2023 09:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9Astatus=5Fids?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/pm/issues_controller.rb | 3 ++- app/services/api/v1/issues/list_service.rb | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/pm/issues_controller.rb b/app/controllers/api/pm/issues_controller.rb index 39e9c9eb6..0d00d93eb 100644 --- a/app/controllers/api/pm/issues_controller.rb +++ b/app/controllers/api/pm/issues_controller.rb @@ -138,7 +138,8 @@ class Api::Pm::IssuesController < Api::Pm::BaseController :status_id, :begin_date, :end_date, :sort_by, :sort_direction, :root_id, - :issue_tag_ids, :pm_project_id, :pm_sprint_id, :pm_issue_type + :issue_tag_ids, :pm_project_id, :pm_sprint_id, :pm_issue_type, + :status_ids ) end diff --git a/app/services/api/v1/issues/list_service.rb b/app/services/api/v1/issues/list_service.rb index 3d5488bba..ba11b6636 100644 --- a/app/services/api/v1/issues/list_service.rb +++ b/app/services/api/v1/issues/list_service.rb @@ -4,7 +4,7 @@ class Api::V1::Issues::ListService < ApplicationService attr_reader :project, :only_name, :category, :participant_category, :keyword, :author_id, :issue_tag_ids attr_reader :begin_date, :end_date attr_reader :milestone_id, :assigner_id, :status_id, :sort_by, :sort_direction, :current_user - attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type + attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type, :status_ids attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count validates :category, inclusion: { in: %w[all opened closed], message: '请输入正确的Category'} @@ -31,6 +31,7 @@ class Api::V1::Issues::ListService < ApplicationService @pm_sprint_id = params[:pm_sprint_id] @root_id = params[:root_id] @pm_issue_type = params[:pm_issue_type] + @status_ids = params[:status_ids].present? ? params[:status_ids].split(',') : [] @sort_direction = (params[:sort_direction].present? ? params[:sort_direction] : 'desc').downcase @current_user = current_user end @@ -72,7 +73,7 @@ class Api::V1::Issues::ListService < ApplicationService #pm相关 # root_id if root_id.present? - issues = issues.where(root_id: root_id).or(issues.where(id: root_id)) + issues = issues.where(root_id: root_id) end # pm_issue_type @@ -90,6 +91,9 @@ class Api::V1::Issues::ListService < ApplicationService # status_id issues = issues.where(status_id: status_id) if status_id.present? && category != 'closed' + # status_ids + issues = issues.where(status_id: status_ids) unless status_ids.blank? + if begin_date&.present? || end_date&.present? issues = issues.where('issues.created_on between ? and ?', begin_date&.present? ? begin_date.to_time : Time.now.beginning_of_day, end_date&.present? ? end_date.to_time.end_of_day : Time.now.end_of_day) end