|
|
|
@@ -3,7 +3,7 @@ class Api::V1::Issues::ListService < ApplicationService |
|
|
|
|
|
|
|
attr_reader :project, :category, :participant_category, :keyword, :author_id, :issue_tag_ids |
|
|
|
attr_reader :milestone_id, :assigner_id, :status_id, :sort_by, :sort_direction, :current_user |
|
|
|
attr_accessor :queried_issues, :closed_issues_count, :opened_issues_count |
|
|
|
attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count |
|
|
|
|
|
|
|
validates :category, inclusion: {in: %w(all opened closed), message: "请输入正确的Category"} |
|
|
|
validates :participant_category, inclusion: {in: %w(all aboutme authoredme assignedme atme), message: "请输入正确的ParticipantCategory"} |
|
|
|
@@ -31,7 +31,7 @@ class Api::V1::Issues::ListService < ApplicationService |
|
|
|
begin |
|
|
|
issue_query_data |
|
|
|
|
|
|
|
return {data: queried_issues, closed_issues_count: @closed_issues_count, opened_issues_count: @opened_issues_count} |
|
|
|
return {data: queried_issues, total_issues_count: @total_issues_count, closed_issues_count: @closed_issues_count, opened_issues_count: @opened_issues_count} |
|
|
|
rescue |
|
|
|
raise Error, "服务器错误,请联系系统管理员!" |
|
|
|
end |
|
|
|
@@ -40,15 +40,6 @@ class Api::V1::Issues::ListService < ApplicationService |
|
|
|
private |
|
|
|
def issue_query_data |
|
|
|
issues = @project.issues.issue_issue |
|
|
|
@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 |
|
|
|
|
|
|
|
case participant_category |
|
|
|
when 'aboutme' # 关于我的 |
|
|
|
@@ -61,6 +52,17 @@ 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? |
|
|
|
|
|
|
|
|