From d3f10d0814c4e8d49909bd861be15c2a3c3b6f77 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 13 Mar 2023 15:37:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E7=96=91=E4=BF=AE?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/v1/issues_controller.rb | 1 + app/services/api/v1/issues/list_service.rb | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/app/controllers/api/v1/issues_controller.rb b/app/controllers/api/v1/issues_controller.rb index 6f615e498..433432048 100644 --- a/app/controllers/api/v1/issues_controller.rb +++ b/app/controllers/api/v1/issues_controller.rb @@ -91,6 +91,7 @@ class Api::V1::IssuesController < Api::V1::BaseController :keyword, :author_id, :milestone_id, :assigner_id, :status_id, + :begin_date, :end_date, :sort_by, :sort_direction, :issue_tag_ids) end diff --git a/app/services/api/v1/issues/list_service.rb b/app/services/api/v1/issues/list_service.rb index fa27f4ee4..0aeca052d 100644 --- a/app/services/api/v1/issues/list_service.rb +++ b/app/services/api/v1/issues/list_service.rb @@ -2,6 +2,7 @@ class Api::V1::Issues::ListService < ApplicationService include ActiveModel::Model attr_reader :project, :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_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count @@ -21,6 +22,8 @@ class Api::V1::Issues::ListService < ApplicationService @milestone_id = params[:milestone_id] @assigner_id = params[:assigner_id] @status_id = params[:status_id] + @begin_date = params[:begin_date] + @end_date = params[:end_date] @sort_by = params[:sort_by].present? ? params[:sort_by] : 'issues.updated_on' @sort_direction = (params[:sort_direction].present? ? params[:sort_direction] : 'desc').downcase @current_user = current_user @@ -67,6 +70,10 @@ class Api::V1::Issues::ListService < ApplicationService # status_id issues = issues.where(status_id: status_id) if status_id.present? + if begin_date&.present? || end_date&.present? + issues = issues.where("issues.created_on between ? and ?",begin_date&.present? ? begin_date.to_date : Time.now.to_date, end_date&.present? ? end_date.to_date : Time.now.to_date) + end + # keyword issues = issues.ransack(subject_or_description_cont: keyword).result if keyword.present?