|  |  | #coding=utf-8
 | 
						
						
						
							|  |  | module Mobile
 | 
						
						
						
							|  |  |   module Apis
 | 
						
						
						
							|  |  |     class Comments < Grape::API
 | 
						
						
						
							|  |  |       include ApplicationHelper
 | 
						
						
						
							|  |  |       resource :comments do
 | 
						
						
						
							|  |  |         desc '课程通知评论'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :comments, type: String
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':id' do
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           cs_params = {
 | 
						
						
						
							|  |  |               id: params[:id],
 | 
						
						
						
							|  |  |               comment: params.reject{|k,v| [:id].include?(k)}}
 | 
						
						
						
							|  |  |           comments = cs.news_comments cs_params,current_user
 | 
						
						
						
							|  |  |           raise "create comments failed #{comments.errors.full_messages}" if comments.new_record?
 | 
						
						
						
							|  |  |           present :data, comments, with: Mobile::Entities::Comment
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '作业留言(教师布置的作业)'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :message,type: String, desc: '留言'
 | 
						
						
						
							|  |  |           #optional :reference_content, type: String ,desc: '引用的内容'
 | 
						
						
						
							|  |  |           #optional :reference_user_id, type: Integer,desc: '被引用的人'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':id/create_homework_message' do
 | 
						
						
						
							|  |  |           cs_params = {
 | 
						
						
						
							|  |  |               id: params[:id],
 | 
						
						
						
							|  |  |               token: params[:token],
 | 
						
						
						
							|  |  |               reference_content: params[:reference_content],
 | 
						
						
						
							|  |  |               bid_message: params.reject{|k,v| [:id,:token,:reference_content].include?(k)}}
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           message = cs.homework_message cs_params,current_user
 | 
						
						
						
							|  |  |           present :data, message, with: Mobile::Entities::Jours
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '课程留言'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :course_message,type: String, desc: '留言'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':id/leave_course_message' do
 | 
						
						
						
							|  |  |           cs_params = {
 | 
						
						
						
							|  |  |               id: params[:id],
 | 
						
						
						
							|  |  |               token: params[:token],
 | 
						
						
						
							|  |  |               new_form: params.reject{|k,v| [:id,:token].include?(k)}}
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           message = cs.leave_course_message cs_params,current_user
 | 
						
						
						
							|  |  |           present :data, message, with: Mobile::Entities::Jours
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '回复留言'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :reference_id, type: Integer,desc: '所属留言树的根留言id(最顶层的非回复的留言,留言对象中的m_parent_id)'
 | 
						
						
						
							|  |  |           requires :reference_user_id,type: Integer ,desc: '被回复的留言的作者id'
 | 
						
						
						
							|  |  |           #requires :reference_message_id,type: Integer,desc: '被回复的留言的id'
 | 
						
						
						
							|  |  |           requires :user_notes,type: String,desc: '留言的内容'
 | 
						
						
						
							|  |  |           requires :jour_type,type: String,desc: '等于父留言的jour_type'
 | 
						
						
						
							|  |  |           requires :jour_id,type:Integer, desc: '等于父留言的jour_id'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':reference_message_id/create_reply'do
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           message = cs.create_reply params,current_user
 | 
						
						
						
							|  |  |           raise "create reply failed #{message.errors.full_messages}" if message.new_record?
 | 
						
						
						
							|  |  |           present :data, message, with: Mobile::Entities::Jours
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc ' 意见反馈'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :subject,type: String,desc: '意见'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post do
 | 
						
						
						
							|  |  |           cs_params = {
 | 
						
						
						
							|  |  |               memo: {:subject => '该贴来自手机App意见反馈' ,:content => params[:subject]},
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           memo,message = cs.create_feedback cs_params, current_user
 | 
						
						
						
							|  |  |           raise message if memo.new_record?
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '课程留言列表'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           optional :token, type: String
 | 
						
						
						
							|  |  |           optional :page,type:Integer,desc:'页数'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         get ':id/course_message' do
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           jours = cs.course_messages params,(current_user.nil? ? User.find(2):current_user)
 | 
						
						
						
							|  |  |           present :data, jours, with: Mobile::Entities::Jours
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '留言详情'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :comment_parent_id,type:Integer,desc:'留言id'
 | 
						
						
						
							|  |  |           optional :course_id,type:Integer,desc:'课程id'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         get ':comment_parent_id/comment_details' do
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           jour = cs.comment_detail params,current_user
 | 
						
						
						
							|  |  |           present :data, jour, with: Mobile::Entities::Jours
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '通知评论列表'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           #requires :token, type: String
 | 
						
						
						
							|  |  |           requires :notice_id,type:Integer,desc:'通知id'
 | 
						
						
						
							|  |  |           optional :page,type:Integer,desc:'页码'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         get ':notice_id/notice_comments' do
 | 
						
						
						
							|  |  |           cs = CommentService.new
 | 
						
						
						
							|  |  |           comments = cs.notice_comments params,current_user
 | 
						
						
						
							|  |  |           present :data, comments, with: Mobile::Entities::Comment
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       end
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | end |