新增:消息来源类型匹配

This commit is contained in:
yystopf 2022-10-25 11:02:51 +08:00
parent 84186fe694
commit f8f9f3fbb6
2 changed files with 18 additions and 5 deletions

View File

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

View File

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