微信模板消息:用户绑定成功、作业消息、个人留言、班级通知
This commit is contained in:
parent
32dca93b59
commit
b72ad364db
|
@ -30,6 +30,4 @@ vendor/cache
|
||||||
/public/files
|
/public/files
|
||||||
/tags
|
/tags
|
||||||
/config/initializers/gitlab_config.rb
|
/config/initializers/gitlab_config.rb
|
||||||
/config/wechat.yml
|
|
||||||
/config/menu.yml
|
|
||||||
1234567
|
1234567
|
||||||
|
|
|
@ -193,6 +193,8 @@ class WechatsController < ActionController::Base
|
||||||
openid: openid,
|
openid: openid,
|
||||||
user: user
|
user: user
|
||||||
)
|
)
|
||||||
|
ws = WechatService.new
|
||||||
|
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台", user.login, format_time(Time.now))
|
||||||
render :json => {status:0, msg: "绑定成功"}
|
render :json => {status:0, msg: "绑定成功"}
|
||||||
rescue Exception=>e
|
rescue Exception=>e
|
||||||
render :json => {status: -1, msg: e.message}
|
render :json => {status: -1, msg: e.message}
|
||||||
|
|
|
@ -77,16 +77,16 @@ class BlogComment < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
#博客回复微信模板消息
|
#博客回复微信模板消息
|
||||||
def blog_wechat_message
|
# def blog_wechat_message
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
if self.parent_id.nil?
|
# if self.parent_id.nil?
|
||||||
self.author.watcher_users.each do |watcher|
|
# self.author.watcher_users.each do |watcher|
|
||||||
content = strip_html self.author.try(:realname) + " 发表了博客:" + self.title.html_safe, 200
|
# content = strip_html self.author.try(:realname) + " 发表了博客:" + self.title.html_safe, 200
|
||||||
ws.message_update_template watcher.id, "blog_comment", self.id, "#{l(:label_new_blog_template)}", content, format_time(self.created_at)
|
# ws.message_update_template watcher.id, "blog_comment", self.id, "#{l(:label_new_blog_template)}", content, format_time(self.created_at)
|
||||||
end
|
# end
|
||||||
else
|
# else
|
||||||
content = strip_html self.content.html_safe, 200
|
# content = strip_html self.content.html_safe, 200
|
||||||
ws.comment_template self.parent.author_id, "blog_comment", self.parent_id, "#{l(:label_blog_comment_template)}", self.author.try(:realname), format_time(self.created_at), content
|
# ws.comment_template self.parent.author_id, "blog_comment", self.parent_id, "#{l(:label_blog_comment_template)}", self.author.try(:realname), format_time(self.created_at), content
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,15 +41,15 @@ class Comment < ActiveRecord::Base
|
||||||
after_destroy :down_course_score
|
after_destroy :down_course_score
|
||||||
|
|
||||||
def act_as_system_message
|
def act_as_system_message
|
||||||
ws = WechatService.new
|
#ws = WechatService.new
|
||||||
if self.commented.course
|
if self.commented.course
|
||||||
if self.author_id != self.commented.author_id
|
if self.author_id != self.commented.author_id
|
||||||
self.course_messages << CourseMessage.new(:user_id => self.commented.author_id, :course_id => self.commented.course.id, :viewed => false)
|
self.course_messages << CourseMessage.new(:user_id => self.commented.author_id, :course_id => self.commented.course.id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.commented.author_id} and shield_type='Course' and shield_id=#{self.commented.course.id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.commented.author_id} and shield_type='Course' and shield_id=#{self.commented.course.id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
content = strip_html self.comments.html_safe, 200
|
# content = strip_html self.comments.html_safe, 200
|
||||||
ws.comment_template self.commented.author_id, "course_notice", self.id, "#{l(:label_notice_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
# ws.comment_template self.commented.author_id, "course_notice", self.id, "#{l(:label_notice_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
else # 项目相关
|
else # 项目相关
|
||||||
if self.author_id != self.commented.author_id
|
if self.author_id != self.commented.author_id
|
||||||
|
|
|
@ -63,7 +63,7 @@ class HomeworkCommon < ActiveRecord::Base
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
|
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
|
||||||
if count == 0
|
if count == 0
|
||||||
ws = WechatService.new
|
ws = WechatService.new
|
||||||
ws.homework_template(m.user_id, "homework", self.id, "#{l(:label_new_homework_template)}", self.course.name, self.name.html_safe, self.end_time.to_s + " 23:59:59")
|
ws.homework_message_notice(m.user_id, "homework", self.id, "#{m.user.show_name},#{l(:label_new_homework_template)}:", self.course.name, "新作业:"+ self.name.html_safe, "作业内容请点击“详情”查看。")
|
||||||
end
|
end
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
@ -108,15 +108,15 @@ class HomeworkCommon < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
#修改作业后发送微信模板消息
|
#修改作业后发送微信模板消息
|
||||||
def wechat_message
|
# def wechat_message
|
||||||
self.course.members.each do |member|
|
# self.course.members.each do |member|
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{member.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{member.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
ws.homework_template(member.user_id, "homework", self.id, "#{l(:label_update_homework_template)}", self.course.name, self.name.html_safe, self.end_time.to_s + " 23:59:59")
|
# ws.homework_template(member.user_id, "homework", self.id, "#{l(:label_update_homework_template)}", self.course.name, self.name.html_safe, self.end_time.to_s + " 23:59:59")
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
|
|
||||||
delegate :language_name, :language, :to => :homework_detail_programing
|
delegate :language_name, :language, :to => :homework_detail_programing
|
||||||
|
|
||||||
|
|
|
@ -160,27 +160,27 @@ class Issue < ActiveRecord::Base
|
||||||
unless self.author_id == self.assigned_to_id
|
unless self.author_id == self.assigned_to_id
|
||||||
self.forge_messages << ForgeMessage.new(:user_id => self.assigned_to_id, :project_id => self.project_id, :viewed => false)
|
self.forge_messages << ForgeMessage.new(:user_id => self.assigned_to_id, :project_id => self.project_id, :viewed => false)
|
||||||
end
|
end
|
||||||
self.project.members.each do |m|
|
# self.project.members.each do |m|
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Project' and shield_id=#{self.project_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Project' and shield_id=#{self.project_id}").count
|
||||||
if m.user_id != self.author_id && count == 0
|
# if m.user_id != self.author_id && count == 0
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
str = " 有新缺陷了: "
|
# str = " 有新缺陷了: "
|
||||||
case self.tracker_id
|
# case self.tracker_id
|
||||||
when 1
|
# when 1
|
||||||
str = " 有新缺陷了: "
|
# str = " 有新缺陷了: "
|
||||||
when 2
|
# when 2
|
||||||
str = " 有新功能了: "
|
# str = " 有新功能了: "
|
||||||
when 3
|
# when 3
|
||||||
str = " 有新支持了: "
|
# str = " 有新支持了: "
|
||||||
when 4
|
# when 4
|
||||||
str = " 有新任务了: "
|
# str = " 有新任务了: "
|
||||||
when 5
|
# when 5
|
||||||
str = " 有新周报了: "
|
# str = " 有新周报了: "
|
||||||
end
|
# end
|
||||||
content = strip_html self.project.name + str + self.subject.html_safe, 200
|
# content = strip_html self.project.name + str + self.subject.html_safe, 200
|
||||||
ws.message_update_template m.user_id, "issues", self.id, "#{l(:label_new_issue_template)}", content, format_time(self.created_on)
|
# ws.message_update_template m.user_id, "issues", self.id, "#{l(:label_new_issue_template)}", content, format_time(self.created_on)
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
if self.tracker_id == 5
|
if self.tracker_id == 5
|
||||||
self.project.members.each do |m|
|
self.project.members.each do |m|
|
||||||
if m.roles.first.to_s.include?("Manager") && m.user_id != self.author_id && m.user_id != self.assigned_to_id
|
if m.roles.first.to_s.include?("Manager") && m.user_id != self.author_id && m.user_id != self.assigned_to_id
|
||||||
|
|
|
@ -238,11 +238,11 @@ class Journal < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
#缺陷回复微信模板消息
|
#缺陷回复微信模板消息
|
||||||
def issue_wechat_message
|
# def issue_wechat_message
|
||||||
if !self.notes.nil? && self.notes.gsub(' ','') != ''
|
# if !self.notes.nil? && self.notes.gsub(' ','') != ''
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
content = strip_html self.notes.html_safe, 200
|
# content = strip_html self.notes.html_safe, 200
|
||||||
ws.comment_template self.issue.author_id, "issues", self.journalized_id, "#{l(:label_issue_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
# ws.comment_template self.issue.author_id, "issues", self.journalized_id, "#{l(:label_issue_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
|
|
|
@ -259,24 +259,24 @@ class JournalsForMessage < ActiveRecord::Base
|
||||||
if self.m_parent_id.nil?
|
if self.m_parent_id.nil?
|
||||||
if self.user_id != self.jour.user_id
|
if self.user_id != self.jour.user_id
|
||||||
self.course_messages << CourseMessage.new(:user_id => self.jour.user_id,:course_id => self.jour.course.id, :viewed => false)
|
self.course_messages << CourseMessage.new(:user_id => self.jour.user_id,:course_id => self.jour.course.id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.jour.user_id} and shield_type='Course' and shield_id=#{self.jour.course_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.jour.user_id} and shield_type='Course' and shield_id=#{self.jour.course_id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
#content = truncate(strip_tags(self.notes.to_s), length: 200)
|
# #content = truncate(strip_tags(self.notes.to_s), length: 200)
|
||||||
content = strip_html self.notes.html_safe, 200
|
# content = strip_html self.notes.html_safe, 200
|
||||||
ws.comment_template self.jour.user_id, "homework", self.jour_id, "#{l(:label_homework_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
# ws.comment_template self.jour.user_id, "homework", self.jour_id, "#{l(:label_homework_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if self.user_id != self.parent.user_id
|
if self.user_id != self.parent.user_id
|
||||||
self.course_messages << CourseMessage.new(:user_id => self.parent.user_id,:course_id => self.jour.course.id, :viewed => false)
|
self.course_messages << CourseMessage.new(:user_id => self.parent.user_id,:course_id => self.jour.course.id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.parent.user_id} and shield_type='Course' and shield_id=#{self.jour.course_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.parent.user_id} and shield_type='Course' and shield_id=#{self.jour.course_id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
ws = WechatService.new
|
# ws = WechatService.new
|
||||||
#content = truncate(strip_tags(self.notes.to_s), length: 200)
|
# #content = truncate(strip_tags(self.notes.to_s), length: 200)
|
||||||
content = strip_html self.notes.html_safe, 200
|
# content = strip_html self.notes.html_safe, 200
|
||||||
ws.comment_template self.parent.user_id, "homework", self.jour_id, "#{l(:label_new_second_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
# ws.comment_template self.parent.user_id, "homework", self.jour_id, "#{l(:label_new_second_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -293,7 +293,7 @@ class JournalsForMessage < ActiveRecord::Base
|
||||||
if self.user_id != self.jour_id # 过滤自己给自己的留言消息
|
if self.user_id != self.jour_id # 过滤自己给自己的留言消息
|
||||||
receivers << self.jour
|
receivers << self.jour
|
||||||
content = strip_html self.notes, 200
|
content = strip_html self.notes, 200
|
||||||
ws.message_update_template self.jour_id, "journal_for_message", self.id, "#{l(:label_new_journals_template)}", content, format_time(self.created_on)
|
ws.journal_notice self.jour_id, "journal_for_message", self.id, "#{l(:label_new_journals_template)}", self.user.show_name, format_time(self.created_on),content
|
||||||
end
|
end
|
||||||
else # 留言回复
|
else # 留言回复
|
||||||
reply_to = User.find(self.reply_id)
|
reply_to = User.find(self.reply_id)
|
||||||
|
@ -303,8 +303,8 @@ class JournalsForMessage < ActiveRecord::Base
|
||||||
if self.user_id != self.parent.jour_id && self.reply_id != self.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发
|
if self.user_id != self.parent.jour_id && self.reply_id != self.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发
|
||||||
receivers << self.parent.jour
|
receivers << self.parent.jour
|
||||||
end
|
end
|
||||||
content = strip_html self.notes, 200
|
#content = strip_html self.notes, 200
|
||||||
ws.comment_template self.reply_id, "journal_for_message", self.parent.id, "#{l(:label_journals_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
#ws.comment_template self.reply_id, "journal_for_message", self.parent.id, "#{l(:label_journals_comment_template)}", self.user.try(:realname), format_time(self.created_on), content
|
||||||
end
|
end
|
||||||
receivers.each do |r|
|
receivers.each do |r|
|
||||||
self.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => self.id, :journals_for_message_type => "Principal", :viewed => false)
|
self.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => self.id, :journals_for_message_type => "Principal", :viewed => false)
|
||||||
|
|
|
@ -258,28 +258,28 @@ class Message < ActiveRecord::Base
|
||||||
# 主贴项目成员都能收到
|
# 主贴项目成员都能收到
|
||||||
# 回帖:帖子的发布人收到
|
# 回帖:帖子的发布人收到
|
||||||
def act_as_system_message
|
def act_as_system_message
|
||||||
ws = WechatService.new
|
#ws = WechatService.new
|
||||||
if self.course
|
if self.course
|
||||||
if self.parent_id.nil? # 主贴
|
if self.parent_id.nil? # 主贴
|
||||||
self.course.members.includes(:user).each do |m|
|
self.course.members.includes(:user).each do |m|
|
||||||
if self.author.allowed_to?(:as_teacher, self.course) && m.user_id != self.author_id # 老师 自己的帖子不给自己发送消息
|
if self.author.allowed_to?(:as_teacher, self.course) && m.user_id != self.author_id # 老师 自己的帖子不给自己发送消息
|
||||||
#self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false)
|
#self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course.id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course.id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
content = strip_html self.subject, 200
|
# content = strip_html self.subject, 200
|
||||||
ws.topic_publish_template m.user_id, "course_discussion", self.id, "#{l(:label_course_topic_template)}", content, self.author.try(:realname), format_time(self.created_on)
|
# ws.topic_publish_template m.user_id, "course_discussion", self.id, "#{l(:label_course_topic_template)}", content, self.author.try(:realname), format_time(self.created_on)
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else # 回帖
|
else # 回帖
|
||||||
parent_author_id = Message.find(self.parent_id).author_id
|
parent_author_id = Message.find(self.parent_id).author_id
|
||||||
if parent_author_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息
|
if parent_author_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息
|
||||||
self.course_messages << CourseMessage.new(:user_id => parent_author_id, :course_id => self.board.course_id, :viewed => false)
|
self.course_messages << CourseMessage.new(:user_id => parent_author_id, :course_id => self.board.course_id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Course' and shield_id=#{self.board.course_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Course' and shield_id=#{self.board.course_id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
content = strip_html self.content.html_safe, 200
|
# content = strip_html self.content.html_safe, 200
|
||||||
ws.comment_template parent_author_id, "course_discussion", self.parent_id, "#{l(:label_topic_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
# ws.comment_template parent_author_id, "course_discussion", self.parent_id, "#{l(:label_topic_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elsif self.project # 项目相关
|
elsif self.project # 项目相关
|
||||||
|
@ -287,22 +287,22 @@ class Message < ActiveRecord::Base
|
||||||
self.project.members.includes(:user).each do |m|
|
self.project.members.includes(:user).each do |m|
|
||||||
if m.user_id != self.author_id
|
if m.user_id != self.author_id
|
||||||
#self.forge_messages << ForgeMessage.new(:user_id => m.user_id, :project_id => self.board.project_id, :viewed => false)
|
#self.forge_messages << ForgeMessage.new(:user_id => m.user_id, :project_id => self.board.project_id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Project' and shield_id=#{self.project.id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Project' and shield_id=#{self.project.id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
content = strip_html self.subject, 200
|
# content = strip_html self.subject, 200
|
||||||
ws.topic_publish_template m.user_id, "project_discussion", self.id, "#{l(:label_project_topic_template)}", content, self.author.try(:realname), format_time(self.created_on)
|
# ws.topic_publish_template m.user_id, "project_discussion", self.id, "#{l(:label_project_topic_template)}", content, self.author.try(:realname), format_time(self.created_on)
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else # 回帖
|
else # 回帖
|
||||||
parent_author_id = Message.find(self.parent_id).author_id
|
parent_author_id = Message.find(self.parent_id).author_id
|
||||||
if parent_author_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息
|
if parent_author_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息
|
||||||
self.forge_messages << ForgeMessage.new(:user_id => parent_author_id, :project_id => self.board.project_id, :viewed => false)
|
self.forge_messages << ForgeMessage.new(:user_id => parent_author_id, :project_id => self.board.project_id, :viewed => false)
|
||||||
count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Project' and shield_id=#{self.board.project_id}").count
|
# count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Project' and shield_id=#{self.board.project_id}").count
|
||||||
if count == 0
|
# if count == 0
|
||||||
content = strip_html self.content.html_safe, 200
|
# content = strip_html self.content.html_safe, 200
|
||||||
ws.comment_template parent_author_id, "project_discussion", self.parent_id, "#{l(:label_topic_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
# ws.comment_template parent_author_id, "project_discussion", self.parent_id, "#{l(:label_topic_comment_template)}", self.author.try(:realname), format_time(self.created_on), content
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -174,7 +174,7 @@ class News < ActiveRecord::Base
|
||||||
if count == 0
|
if count == 0
|
||||||
ws = WechatService.new
|
ws = WechatService.new
|
||||||
content = strip_html self.author.try(:realname) + " 发布了通知:" + self.title.html_safe, 200
|
content = strip_html self.author.try(:realname) + " 发布了通知:" + self.title.html_safe, 200
|
||||||
ws.message_update_template m.user_id, "course_notice", self.id, "#{l(:label_new_notice_template)}", content, format_time(self.created_on)
|
ws.class_notice m.user_id, "course_notice", self.id, "#{l(:label_new_notice_template)}", self.course.name, self.author.show_name, format_time(self.created_on), content, "点击查看通知详情"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -110,4 +110,144 @@ class WechatService
|
||||||
Rails.logger.info "send over. #{req}"
|
Rails.logger.info "send over. #{req}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def two_keys_template(openid, template_id, type, id, first, key1, key2, remark="")
|
||||||
|
data = {
|
||||||
|
touser:openid,
|
||||||
|
template_id:template_id,
|
||||||
|
url:"https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{Setting.protocol}://#{Setting.host_name}/assets/wechat/app.html#/#{type}/#{id}?response_type=code&scope=snsapi_base&state=123#wechat_redirect",
|
||||||
|
topcolor:"#FF0000",
|
||||||
|
data:{
|
||||||
|
first: {
|
||||||
|
value:first,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword1:{
|
||||||
|
value:key1,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword2:{
|
||||||
|
value:key2,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
remark:{
|
||||||
|
value:remark,
|
||||||
|
color:"#707070"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data
|
||||||
|
end
|
||||||
|
|
||||||
|
def four_keys_template(openid, template_id, type, id, first, key1, key2, key3, key4, remark="")
|
||||||
|
data = {
|
||||||
|
touser:openid,
|
||||||
|
template_id:template_id,
|
||||||
|
url:"https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{Setting.protocol}://#{Setting.host_name}/assets/wechat/app.html#/#{type}/#{id}?response_type=code&scope=snsapi_base&state=123#wechat_redirect",
|
||||||
|
topcolor:"#FF0000",
|
||||||
|
data:{
|
||||||
|
first: {
|
||||||
|
value:first,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword1:{
|
||||||
|
value:key1,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword2:{
|
||||||
|
value:key2,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword3:{
|
||||||
|
value:key3,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword4:{
|
||||||
|
value:key4,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
remark:{
|
||||||
|
value:remark,
|
||||||
|
color:"#707070"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data
|
||||||
|
end
|
||||||
|
|
||||||
|
def binding_succ_notice(user_id, first, key1, key2)
|
||||||
|
uw = UserWechat.where(user_id: user_id).first
|
||||||
|
unless uw.nil?
|
||||||
|
data = {
|
||||||
|
touser:uw.openid,
|
||||||
|
template_id:Wechat.config.binding_succ_notice,
|
||||||
|
url:"https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{Setting.protocol}://#{Setting.host_name}/assets/wechat/app.html#/activities?response_type=code&scope=snsapi_base&state=123#wechat_redirect",
|
||||||
|
topcolor:"#FF0000",
|
||||||
|
data:{
|
||||||
|
first: {
|
||||||
|
value:first,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword1:{
|
||||||
|
value:key1,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
keyword2:{
|
||||||
|
value:key2,
|
||||||
|
color:"#707070"
|
||||||
|
},
|
||||||
|
remark:{
|
||||||
|
value:"绑定成功后可使用微信查看Trustie平台最新动态",
|
||||||
|
color:"#707070"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
begin
|
||||||
|
req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data)
|
||||||
|
rescue Exception => e
|
||||||
|
Rails.logger.error "[homework] ===> #{e}"
|
||||||
|
end
|
||||||
|
Rails.logger.info "send over. #{req}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def journal_notice(user_id, type, id, first, key1, key2, remark="")
|
||||||
|
uw = UserWechat.where(user_id: user_id).first
|
||||||
|
unless uw.nil?
|
||||||
|
data = two_keys_template uw.openid,Wechat.config.journal_notice, type, id, first, key1, key2, remark
|
||||||
|
begin
|
||||||
|
req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data)
|
||||||
|
rescue Exception => e
|
||||||
|
Rails.logger.error "[homework] ===> #{e}"
|
||||||
|
end
|
||||||
|
Rails.logger.info "send over. #{req}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def homework_message_notice(user_id, type, id, first, key1, key2, remark="")
|
||||||
|
uw = UserWechat.where(user_id: user_id).first
|
||||||
|
unless uw.nil?
|
||||||
|
data = two_keys_template uw.openid,Wechat.config.homework_message_notice, type, id, first, key1, key2, remark
|
||||||
|
begin
|
||||||
|
req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data)
|
||||||
|
rescue Exception => e
|
||||||
|
Rails.logger.error "[homework] ===> #{e}"
|
||||||
|
end
|
||||||
|
Rails.logger.info "send over. #{req}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def class_notice(user_id, type, id, first, key1, key2, key3, key4, remark="")
|
||||||
|
uw = UserWechat.where(user_id: user_id).first
|
||||||
|
unless uw.nil?
|
||||||
|
data = four_keys_template uw.openid,Wechat.config.class_notice, type, id, first, key1, key2, key3, key4, remark
|
||||||
|
begin
|
||||||
|
req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data)
|
||||||
|
rescue Exception => e
|
||||||
|
Rails.logger.error "[homework] ===> #{e}"
|
||||||
|
end
|
||||||
|
Rails.logger.info "send over. #{req}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -2128,7 +2128,7 @@ zh:
|
||||||
label_resource_belongs_project: 所属项目
|
label_resource_belongs_project: 所属项目
|
||||||
|
|
||||||
#微信模板消息
|
#微信模板消息
|
||||||
label_new_homework_template: 您的课程有新作业了
|
label_new_homework_template: 您有新作业了
|
||||||
label_update_homework_template: 您的作业已被修改
|
label_update_homework_template: 您的作业已被修改
|
||||||
label_course_topic_template: 课程问答区有新帖子发布了
|
label_course_topic_template: 课程问答区有新帖子发布了
|
||||||
label_topic_comment_template: 您的帖子有新回复了
|
label_topic_comment_template: 您的帖子有新回复了
|
||||||
|
|
|
@ -11,6 +11,12 @@ default: &default
|
||||||
encoding_aes_key: "QyocNOkRmrT5HzBpCG54EVPUQjk86nJapXNVDQm6Yy6"
|
encoding_aes_key: "QyocNOkRmrT5HzBpCG54EVPUQjk86nJapXNVDQm6Yy6"
|
||||||
jsapi_ticket: "C:/Users/[user_name]/wechat_jsapi_ticket"
|
jsapi_ticket: "C:/Users/[user_name]/wechat_jsapi_ticket"
|
||||||
|
|
||||||
|
#template
|
||||||
|
binding_succ_notice: "n4KLwcWNrIMYkKxWL2hUwzunm5RTT54EbWem2MIUapU"
|
||||||
|
journal_notice: "XpHHYkqSGkwuF9vHthRdmPQLvCFRQ4_NbRBP12T7ciE"
|
||||||
|
homework_message_notice: "Kom0TsYYKsNKCS6luweYVRo9z-mH0wRPr24b1clGCPQ"
|
||||||
|
class_notice: "8LVu33l6bP-56SDomVgHn-yJc57YpCwwJ81rAJgRONk"
|
||||||
|
|
||||||
production:
|
production:
|
||||||
<<: *default
|
<<: *default
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue