|  |  | #coding=utf-8
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | module Mobile
 | 
						
						
						
							|  |  |   module Apis
 | 
						
						
						
							|  |  |     class Homeworks < Grape::API
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       def self.get_service
 | 
						
						
						
							|  |  |         HomeworkService.new
 | 
						
						
						
							|  |  |       end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       resources :homeworks do
 | 
						
						
						
							|  |  |         desc "作业详情"
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :id, type: Integer, desc: "作业ID"
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         route_param  :id do
 | 
						
						
						
							|  |  |           get do
 | 
						
						
						
							|  |  |             homework = Homeworks.get_service.show_homework params
 | 
						
						
						
							|  |  |             present :data, homework, with: Mobile::Entities::Homework
 | 
						
						
						
							|  |  |             present :status, 0
 | 
						
						
						
							|  |  |           end
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc "我的作品列表"
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         get ':user_id/homework_attachs' do
 | 
						
						
						
							|  |  |           ue = Homeworks.get_service.my_homework_list params,current_user.nil? ? User.find(2):current_user
 | 
						
						
						
							|  |  |           present :data, ue,with: Mobile::Entities::Course
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         # desc "启动匿评"
 | 
						
						
						
							|  |  |         # params do
 | 
						
						
						
							|  |  |         #   requires :token, type: String
 | 
						
						
						
							|  |  |         # end
 | 
						
						
						
							|  |  |         # post ':id/start_anonymous_comment' do
 | 
						
						
						
							|  |  |         #   statue = Homeworks.get_service.start_anonymous_comment params,current_user.nil? ? User.find(2):current_user
 | 
						
						
						
							|  |  |         #   messages = ""
 | 
						
						
						
							|  |  |         #   case statue
 | 
						
						
						
							|  |  |         #     when 1
 | 
						
						
						
							|  |  |         #       messages = "启动成功"
 | 
						
						
						
							|  |  |         #     when 2
 | 
						
						
						
							|  |  |         #       messages = "启动失败,作业总数大于等于2份时才能启动匿评"
 | 
						
						
						
							|  |  |         #     when 3
 | 
						
						
						
							|  |  |         #       messages = "已开启匿评,请务重复开启"
 | 
						
						
						
							|  |  |         #   end
 | 
						
						
						
							|  |  |         #   present :data,messages
 | 
						
						
						
							|  |  |         #   present :status, statue
 | 
						
						
						
							|  |  |         # end
 | 
						
						
						
							|  |  |         #
 | 
						
						
						
							|  |  |         # desc "关闭匿评"
 | 
						
						
						
							|  |  |         # params do
 | 
						
						
						
							|  |  |         #   requires :token, type: String
 | 
						
						
						
							|  |  |         # end
 | 
						
						
						
							|  |  |         # post ':id/stop_anonymous_comment' do
 | 
						
						
						
							|  |  |         #   Homeworks.get_service.stop_anonymous_comment params,current_user.nil? ? User.find(2):current_user
 | 
						
						
						
							|  |  |         #   present :status, 0
 | 
						
						
						
							|  |  |         # end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc "匿评作品详情"
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         get ':homework_id/anonymous_works_show' do
 | 
						
						
						
							|  |  |           works,par = Homeworks.get_service.anonymous_works_show params.merge(:id => params[:homework_id]),current_user.nil? ? User.find(2):current_user
 | 
						
						
						
							|  |  |           present :data, works ,with: Mobile::Entities::HomeworkAttach
 | 
						
						
						
							|  |  |           present :otherdata,par,with: Mobile::Entities::AnonymousWorksParams
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc "作品打分"
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token, type: String
 | 
						
						
						
							|  |  |           requires :is_teacher, type: String,desc: '是否为教师(匿评作品详情返回的结果中可获取此参数的值)'
 | 
						
						
						
							|  |  |           requires :is_anonymous_comments, type: String, desc: '是否为匿评(匿评作品详情返回的结果中可获取此参数的值)'
 | 
						
						
						
							|  |  |           optional :stars_value, type: Integer,desc: '用户给出的评分'
 | 
						
						
						
							|  |  |           optional :cur_page,type: Integer,desc: '匿评作品详情返回的结果中可获取此参数的值'
 | 
						
						
						
							|  |  |           optional :cur_type, type: Integer,desc: '匿评作品详情返回的结果中可获取此参数的值'
 | 
						
						
						
							|  |  |           optional :user_message, type: String, desc: '用户评论'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         post ':homework_id/scoring' do
 | 
						
						
						
							|  |  |           cs_params = {
 | 
						
						
						
							|  |  |               new_form: params.reject{|k,v| [:token,:is_teacher,:is_anonymous_comments,:stars_value,:cur_page,:cur_type,:homework_id].include?(k)},
 | 
						
						
						
							|  |  |               token: params[:token],
 | 
						
						
						
							|  |  |               is_teacher: params[:is_teacher],
 | 
						
						
						
							|  |  |               is_anonymous_comments: params[:is_anonymous_comments],
 | 
						
						
						
							|  |  |               stars_value: params[:stars_value],
 | 
						
						
						
							|  |  |               cur_page: params[:cur_page],
 | 
						
						
						
							|  |  |               cur_type: params[:cur_type],
 | 
						
						
						
							|  |  |               homework_id: params[:homework_id]
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           Homeworks.get_service.add_score_and_jour cs_params,current_user
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '创建作业'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token,type:String
 | 
						
						
						
							|  |  |           requires :work_name,type:String,desc:'作业名称'
 | 
						
						
						
							|  |  |           requires :work_desc,type:String,desc:'作业描述'
 | 
						
						
						
							|  |  |           requires :work_deadline,type:String,desc:'截止日期'
 | 
						
						
						
							|  |  |           requires :is_blind_appr,type:Integer,desc:'是否匿评'
 | 
						
						
						
							|  |  |           requires :blind_appr_num,type:Integer,desc:'匿评分配数'
 | 
						
						
						
							|  |  |           requires :course_id,type:Integer,desc: '课程id'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post 'create_home_work' do
 | 
						
						
						
							|  |  |           Homeworks.get_service.create_home_work params,current_user
 | 
						
						
						
							|  |  |           present :status, 0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '开启匿评'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token,type:String
 | 
						
						
						
							|  |  |           requires :course_id,type:Integer,desc:'课程id'
 | 
						
						
						
							|  |  |           requires :homework_id,type:Integer,desc:'作业id'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':homework_id/start_anonymous_comment' do
 | 
						
						
						
							|  |  |           hs = Homeworks.get_service
 | 
						
						
						
							|  |  |           status = hs.start_anonymous_comment params,current_user
 | 
						
						
						
							|  |  |             messages = ""
 | 
						
						
						
							|  |  |             case status[:status]
 | 
						
						
						
							|  |  |               when 1
 | 
						
						
						
							|  |  |                 messages = "启动成功"
 | 
						
						
						
							|  |  |               when 2
 | 
						
						
						
							|  |  |                 messages = "启动失败,作业总数大于等于2份时才能启动匿评"
 | 
						
						
						
							|  |  |               when 3
 | 
						
						
						
							|  |  |                 messages = "已开启匿评,请务重复开启"
 | 
						
						
						
							|  |  |               when 4
 | 
						
						
						
							|  |  |                 messages = "没有开启匿评的权限"
 | 
						
						
						
							|  |  |               when 5
 | 
						
						
						
							|  |  |                 messages = "截止日期之前不可启动匿评"
 | 
						
						
						
							|  |  |             end
 | 
						
						
						
							|  |  |           present :data,messages
 | 
						
						
						
							|  |  |           present :status,0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |         desc '关闭匿评'
 | 
						
						
						
							|  |  |         params do
 | 
						
						
						
							|  |  |           requires :token,type:String
 | 
						
						
						
							|  |  |           requires :course_id,type:Integer,desc:'课程id'
 | 
						
						
						
							|  |  |           requires :homework_id,type:Integer,desc:'作业id'
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |         post ':homework_id/stop_anonymous_comment' do
 | 
						
						
						
							|  |  |           hs = Homeworks.get_service
 | 
						
						
						
							|  |  |           hs.stop_anonymous_comment params,current_user
 | 
						
						
						
							|  |  |           message = "成功关闭"
 | 
						
						
						
							|  |  |           present :data, message
 | 
						
						
						
							|  |  |           present :status,0
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       end
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | end
 |