新增:疑修创建时间范围查询

This commit is contained in:
yystopf 2023-03-13 15:37:45 +08:00
parent b33c040874
commit d3f10d0814
2 changed files with 8 additions and 0 deletions

View File

@ -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

View File

@ -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?