From f8f9f3fbb61afdcd160dbb8656a1c3d24eced33b Mon Sep 17 00:00:00 2001 From: yystopf Date: Tue, 25 Oct 2022 11:02:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E7=B1=BB=E5=9E=8B=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users/messages_controller.rb | 12 +++++++++++- app/services/notice/read/list_service.rb | 11 +++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/controllers/users/messages_controller.rb b/app/controllers/users/messages_controller.rb index 5116f580..cf3d2554 100644 --- a/app/controllers/users/messages_controller.rb +++ b/app/controllers/users/messages_controller.rb @@ -6,7 +6,17 @@ class Users::MessagesController < Users::BaseController limit = params[:limit] || params[:per_page] limit = (limit.to_i.zero? || limit.to_i > 15) ? 15 : limit.to_i page = params[:page].to_i.zero? ? 1 : params[:page].to_i - result = Notice::Read::ListService.call(observed_user.id, message_type, message_status, page, limit) + sources = params[:sources].join(",") rescue "" + case params[:source_type].to_i + when 1 + sources = "CustomTip,FollowTip,IssueAssigned,IssueAtme,IssueChanged,IssueExpire,IssueDeleted,OrganizationJoined,OrganizationLeft,ProjectForked,ProjectIssue,ProjectJoined,ProjectLeft,ProjectMemberJoined,ProjectMemberLeft,ProjectMilestoneCompleted,ProjectMilestone,ProjectPraised,ProjectPullRequest,ProjectRole,ProjectSettingChanged,PullRequestAssigned,PullRequestAtme,PullRequestChanged,PullRequestClosed,PullRequestMerged,TeamJoined,TeamLeft" + when 2 + sources = "TaskPassed,TaskCollecting,TaskChoosing,TaskMakePublic,PapersMakePublic,TaskSigning,TaskPaying,TaskDone,TaskDelaying" + when 3 + sources = "CompetitionBegin,CompetitionReview,CompetitionResult" + when 4 + sources = "ExpertRegisterPassed,NewExpertReviewTaskAssigned,ExpertReviewEnd" + result = Notice::Read::ListService.call(observed_user.id, params[:sources], message_type, message_status, page, limit) return render_error if result.nil? @data = result[2] end diff --git a/app/services/notice/read/list_service.rb b/app/services/notice/read/list_service.rb index 3f6645d7..c5a453ce 100644 --- a/app/services/notice/read/list_service.rb +++ b/app/services/notice/read/list_service.rb @@ -1,12 +1,13 @@ class Notice::Read::ListService < Notice::Read::ClientService - attr_accessor :receiver, :type, :status, :page, :size + attr_accessor :receiver, :type, :status, :page, :size, :sources - def initialize(receiver, type=-1, status=2, page=1, size=15) + def initialize(receiver, sources="", type=-1, status=2, page=1, size=15) @receiver = receiver @type = type @status = status @page = page @size = size + @sources = sources end def call @@ -17,13 +18,15 @@ class Notice::Read::ListService < Notice::Read::ClientService private def request_params - { + params = { receiver: receiver, page: page, status: status, size: size, type: type - }.stringify_keys + } + params.merge!(sources: sources) if sources.present? + return params.stringify_keys end def url