更改:部分细节问题

This commit is contained in:
2023-02-22 15:56:44 +08:00
parent a07da79e89
commit c781ca0da1
6 changed files with 26 additions and 22 deletions
+14 -14
View File
@@ -17,7 +17,7 @@ class Api::V1::Issues::ListService < ApplicationService
@participant_category = params[:participant_category] || 'all'
@keyword = params[:keyword]
@author_id = params[:author_id]
@issue_tag_ids = params[:issue_tag_ids]
@issue_tag_ids = params[:issue_tag_ids].split(",")
@milestone_id = params[:milestone_id]
@assigner_id = params[:assigner_id]
@status_id = params[:status_id]
@@ -52,17 +52,6 @@ class Api::V1::Issues::ListService < ApplicationService
issues = issues.joins(:participants, :issue_participants).where(issue_participants: {participant_type: 'atme'},users: {id: current_user&.id})
end
@total_issues_count = issues.size
@closed_issues_count = issues.closed.size
@opened_issues_count = issues.opened.size
case category
when 'closed'
issues = issues.closed
when 'opened'
issues = issues.opened
end
# author_id
issues = issues.where(author_id: author_id) if author_id.present?
@@ -79,9 +68,20 @@ class Api::V1::Issues::ListService < ApplicationService
issues = issues.where(status_id: status_id) if status_id.present?
# keyword
q = issues.ransack(subject_or_description_cont: keyword)
issues = issues.ransack(subject_or_description_cont: keyword).result
scope = q.result.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
@total_issues_count = issues.size
@closed_issues_count = issues.closed.size
@opened_issues_count = issues.opened.size
case category
when 'closed'
issues = issues.closed
when 'opened'
issues = issues.opened
end
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
scope = scope.reorder("#{sort_by} #{sort_direction}").distinct
@@ -5,7 +5,7 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
attr_accessor :queried_issues
validates :category, inclusion: {in: %w(all opened closed), message: "请输入正确的Category"}
validates :sort_by, inclusion: {in: Issue.column_names, message: '请输入正确的SortBy'}, allow_blank: true
validates :sort_by, inclusion: {in: ['issues.created_on', 'issues.updated_on', 'issue_priorities.position'], message: '请输入正确的SortBy'}, allow_blank: true
validates :sort_direction, inclusion: {in: %w(asc desc), message: '请输入正确的SortDirection'}, allow_blank: true
validates :current_user, presence: true
@@ -15,7 +15,7 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
@category = params[:category] || 'all'
@author_id = params[:author_id]
@assigner_id = params[:assigner_id]
@issue_tag_ids = params[:issue_tag_ids]
@issue_tag_ids = params[:issue_tag_ids].present? ? params[:issue_tag_ids].split(",") : []
@sort_by = params[:sort_by].present? ? params[:sort_by] : 'updated_on'
@sort_direction = (params[:sort_direction].present? ? params[:sort_direction] : 'desc').downcase
@current_user = current_user
@@ -47,11 +47,13 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
issues = issues.where(author_id: author_id) if author_id.present?
# assigner_id
issues = issues.joins(:assigners).where(users: {id: assigner_id}).or(issues.where(assigned_to_id: assigner_id)) if assigner_id.present?
issues = issues.joins(:assigners).where(users: {id: assigner_id}).or(issues.joins(:assigners).where(assigned_to_id: assigner_id)) if assigner_id.present?
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
issues = issues.joins(:issue_tags).where(issue_tags: {id: issue_tag_ids}) if issue_tag_ids.present?
scope = scope.reorder("issues.#{sort_by} #{sort_direction}").distinct
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals).references(:assigners)
scope = scope.reorder("#{sort_by} #{sort_direction}").distinct
@queried_issues = scope
end