34 lines
1.2 KiB
Ruby
34 lines
1.2 KiB
Ruby
class NoticesController < ApplicationController
|
|
|
|
def create
|
|
return tip_exception("参数有误") if params["source"].blank?
|
|
user_id = params[:user_id]
|
|
|
|
if params["source"] == "CompetitionBegin"
|
|
competition_id = params[:competition_id]
|
|
SendTemplateMessageJob.perform_later('CompetitionBegin', user_id, competition_id)
|
|
elsif params["source"] == "CompetitionResult"
|
|
competition_id = params[:competition_id]
|
|
SendTemplateMessageJob.perform_later('CompetitionResult', user_id, competition_id)
|
|
elsif params["source"] == "CompetitionReview"
|
|
competition_id = params[:competition_id]
|
|
SendTemplateMessageJob.perform_later('CompetitionReview', user_id, competition_id)
|
|
elsif params["source"] == "CustomTip"
|
|
users_id = params[:users_id]
|
|
props = params[:props].to_unsafe_hash
|
|
return tip_exception("参数有误") unless props.is_a?(Hash) && users_id.is_a?(Array)
|
|
template_id = params[:template_id]
|
|
SendTemplateMessageJob.perform_later('CustomTip', users_id, template_id, props)
|
|
else
|
|
tip_exception("#{params["source"]}未配置")
|
|
end
|
|
render_ok
|
|
end
|
|
|
|
|
|
private
|
|
def params_props
|
|
params.require(:notice).permit(:props)
|
|
end
|
|
end
|