动态去掉认证,加上出错提示

weixin_guange
yuanke 9 years ago
parent b53979d91c
commit c787bb5bcd

@ -13,50 +13,55 @@ module Mobile
requires :container_type, type: String requires :container_type, type: String
end end
post do post do
authenticate! begin
authenticate!
user = current_user user = current_user
container_type = params[:container_type] ? params[:container_type] : "All" container_type = params[:container_type] ? params[:container_type] : "All"
if container_type == "All" || container_type == "Project" if container_type == "All" || container_type == "Project"
shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Project'").map(&:shield_id) shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Project'").map(&:shield_id)
user_project_ids = (user.projects.where("status = 1").map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (user.projects.where("status = 1").map{|project| project.id}-shield_project_ids).join(",") + ")" user_project_ids = (user.projects.where("status = 1").map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (user.projects.where("status = 1").map{|project| project.id}-shield_project_ids).join(",") + ")"
project_types = "('Message','Issue','Project')" project_types = "('Message','Issue','Project')"
end end
if container_type == "All" || container_type == "Course" if container_type == "All" || container_type == "Course"
shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Course'").map(&:shield_id) shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Course'").map(&:shield_id)
user_course_ids = (user.courses.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (user.courses.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" user_course_ids = (user.courses.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (user.courses.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")"
course_types = "('Message','News','HomeworkCommon','Poll','Course')" course_types = "('Message','News','HomeworkCommon','Poll','Course')"
end end
page = params[:page] ? params[:page] : 0 page = params[:page] ? params[:page] : 0
principal_types = "JournalsForMessage" principal_types = "JournalsForMessage"
watched_user_ids = User.watched_by(user.id).count == 0 ? " " : ("," + User.watched_by(user.id).map{|u| u.id.to_s }.join(',')) watched_user_ids = User.watched_by(user.id).count == 0 ? " " : ("," + User.watched_by(user.id).map{|u| u.id.to_s }.join(','))
user_ids = "(" + user.id.to_s + watched_user_ids + ")" user_ids = "(" + user.id.to_s + watched_user_ids + ")"
watched_user_blog_ids = Blog.select("id").where("author_id in #{user_ids}").count == 0 ? " " :Blog.select("id").where("author_id in #{user_ids}").map { |blog| blog.id}.join(",") watched_user_blog_ids = Blog.select("id").where("author_id in #{user_ids}").count == 0 ? " " :Blog.select("id").where("author_id in #{user_ids}").map { |blog| blog.id}.join(",")
blog_ids = "(" + watched_user_blog_ids + ")" blog_ids = "(" + watched_user_blog_ids + ")"
if container_type == "Course" if container_type == "Course"
activities = UserActivity.where("(container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})").order('updated_at desc') activities = UserActivity.where("(container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})").order('updated_at desc')
elsif container_type == "Project" elsif container_type == "Project"
activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})").order('updated_at desc') activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})").order('updated_at desc')
else else
activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" +
"or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+
"or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{user.id}) " + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{user.id}) " +
"or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})").order('updated_at desc') "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})").order('updated_at desc')
end
all_count = activities.count
activities = activities.limit(10).offset(page * 10)
count = activities.count
present :data, activities, with: Mobile::Entities::Activity,user: user
present :all_count, all_count
present :count, count
present :page, page
present :status, 0
present :container_type, container_type
rescue Exception=>e
present :status, -1
present :message, e.message
end end
all_count = activities.count
activities = activities.limit(10).offset(page * 10)
count = activities.count
present :data, activities, with: Mobile::Entities::Activity,user: user
present :all_count, all_count
present :count, count
present :page, page
present :status, 0
present :container_type, container_type
end end
end end
end end

@ -7,17 +7,22 @@ module Mobile
desc "get special topic" desc "get special topic"
post ':id' do post ':id' do
user = current_user begin
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
blog = BlogComment.find params[:id] blog = BlogComment.find params[:id]
present :data, blog, with: Mobile::Entities::BlogComment,user: user,type: type,page: page present :data, blog, with: Mobile::Entities::BlogComment,user: user,type: type,page: page
present :type, type present :type, type
present :page, page present :page, page
present :status, 0 present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end
end end
end end
end end

@ -8,17 +8,22 @@ module Mobile
desc "get special issuse" desc "get special issuse"
post ':id' do post ':id' do
# authenticate! begin
user = current_user # authenticate!
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
issue = Issue.find params[:id] issue = Issue.find params[:id]
present :data, issue, with: Mobile::Entities::Issue,user: user,type: type,page: page present :data, issue, with: Mobile::Entities::Issue,user: user,type: type,page: page
present :type, type present :type, type
present :page, page present :page, page
present :status, 0 present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end
end end
end end
end end

@ -7,18 +7,23 @@ module Mobile
desc "get special journal" desc "get special journal"
post ':id' do post ':id' do
# authenticate! begin
user = current_user # authenticate!
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
jour = JournalsForMessage.find params[:id] jour = JournalsForMessage.find params[:id]
present :data, jour, with: Mobile::Entities::Jours,user: user,type: type,page: page present :data, jour, with: Mobile::Entities::Jours,user: user,type: type,page: page
present :type, type present :type, type
present :page, page present :page, page
present :status, 0 present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end
end end
end end
end end

@ -7,17 +7,22 @@ module Mobile
desc "get special topic" desc "get special topic"
post ':id' do post ':id' do
# authenticate! begin
user = current_user # authenticate!
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
message = Message.find params[:id] message = Message.find params[:id]
present :data, message, with: Mobile::Entities::Message,user: user,type: type,page: page present :data, message, with: Mobile::Entities::Message,user: user,type: type,page: page
present :type, type present :type, type
present :page, page present :page, page
present :status, 0 present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end
end end
end end
end end

@ -7,17 +7,22 @@ module Mobile
desc "get special news" desc "get special news"
post ':id' do post ':id' do
# authenticate! begin
user = current_user # authenticate!
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
news = News.find params[:id] news = News.find params[:id]
present :data, news, with: Mobile::Entities::News,user: user,type: type,page: page present :data, news, with: Mobile::Entities::News,user: user,type: type,page: page
present :type, type present :type, type
present :page, page present :page, page
present :status, 0 present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end
end end
end end
end end

@ -7,23 +7,28 @@ module Mobile
desc "get one homework" desc "get one homework"
post ':id' do post ':id' do
# authenticate! begin
user = current_user # authenticate!
user = current_user
#0一级回复的更多 1 二级回复的更多 #0一级回复的更多 1 二级回复的更多
type = params[:type] || 0 type = params[:type] || 0
page = params[:page] || 0 page = params[:page] || 0
if type == 0 if type == 0
homework = HomeworkCommon.find params[:id] homework = HomeworkCommon.find params[:id]
present :data, homework, with: Mobile::Entities::Whomework,user: user,type: type,page: page,comment_type: "homework" present :data, homework, with: Mobile::Entities::Whomework,user: user,type: type,page: page,comment_type: "homework"
else else
jour = JournalsForMessage.find params[:id] jour = JournalsForMessage.find params[:id]
present :data, jour, with: Mobile::Entities::Jours,user: user,type: type,page: page,comment_type: "homework" present :data, jour, with: Mobile::Entities::Jours,user: user,type: type,page: page,comment_type: "homework"
end
present :type, type
present :page, page
present :status, 0
rescue Exception=>e
present :status, -1
present :message, e.message
end end
present :type, type
present :page, page
present :status, 0
end end
end end
end end

Loading…
Cancel
Save