From 3b3cafbc81e0daba276025233336a58d87f9f4f1 Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 18 May 2016 14:49:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=A8=A1=E6=9D=BF=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 6 +++--- app/controllers/student_work_controller.rb | 2 +- app/models/homework_common.rb | 16 ++++++++-------- app/models/message.rb | 4 ++-- app/models/news.rb | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 689ef2bd7..0566d3d98 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -291,9 +291,9 @@ class HomeworkCommonController < ApplicationController def open_student_works if @homework.is_open == 0 - @homework.update_attribute(:is_open, 1) + @homework.update_column('is_open', 1) else - @homework.update_attribute(:is_open, 0) + @homework.update_column('is_open', 0) end @user_activity_id = params[:user_activity_id] @is_in_course = params[:is_in_course] if params[:is_in_course] @@ -440,7 +440,7 @@ class HomeworkCommonController < ApplicationController puts time s_time = time if format_time(time) > format_time(h.updated_at) - h.update_attribute(:updated_at, s_time) + h.update_column('updated_at', s_time) end end end diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index deab2feb6..c3d7dbbc6 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -814,7 +814,7 @@ class StudentWorkController < ApplicationController stu_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") @work.student_score = stu_score.first.score.try(:round, 2).to_f end - @homework.update_attributes(:updated_at => Time.now) + @homework.update_column('updated_at', Time.now) update_course_activity(@homework.class,@homework.id) update_user_activity(@homework.class,@homework.id) update_org_activity(@homework.class,@homework.id) diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index f11a48a80..e4426e78f 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -29,8 +29,8 @@ class HomeworkCommon < ActiveRecord::Base :description => :description, :author => :author, :url => Proc.new {|o| {:controller => 'student_work', :action => 'index', :homework => o.id}} - after_create :act_as_activity, :send_mail - after_update :update_activity + after_create :act_as_activity, :send_mail,:act_as_course_message + after_update :update_activity, :wechat_message after_save :act_as_course_activity after_destroy :delete_kindeditor_assets @@ -59,12 +59,12 @@ class HomeworkCommon < ActiveRecord::Base else self.course.members.each do |m| # if m.user_id != self.user_id - self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.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 - #if count == 0 - # 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") - #end + #self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.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 + if count == 0 + 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") + end # end end end diff --git a/app/models/message.rb b/app/models/message.rb index 7bfb9d80e..fdc3c6bdc 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -274,7 +274,7 @@ class Message < ActiveRecord::Base else # 回帖 parent_author_id = Message.find(self.parent_id).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 if count == 0 content = strip_html self.content.html_safe, 200 @@ -297,7 +297,7 @@ class Message < ActiveRecord::Base else # 回帖 parent_author_id = Message.find(self.parent_id).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 if count == 0 content = strip_html self.content.html_safe, 200 diff --git a/app/models/news.rb b/app/models/news.rb index f0457dc81..1544faf61 100644 --- a/app/models/news.rb +++ b/app/models/news.rb @@ -62,7 +62,7 @@ class News < ActiveRecord::Base :author_key => :author_id acts_as_watchable - after_create :act_as_activity,:act_as_forge_activity, :act_as_course_activity, :add_author_as_watcher, :send_mail, :add_news_count, :act_as_student_score + after_create :act_as_activity,:act_as_forge_activity, :act_as_course_activity, :add_author_as_watcher, :send_mail, :add_news_count, :act_as_student_score, :act_as_system_message after_update :update_activity after_destroy :delete_kindeditor_assets, :decrease_news_count, :delete_org_activities, :down_course_score @@ -169,7 +169,7 @@ class News < ActiveRecord::Base if self.course self.course.members.each do |m| if m.user_id != self.author_id - self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false) + #self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.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 if count == 0 ws = WechatService.new