修正加入课程接口问题

api
z9hang 11 years ago
parent d407f8656d
commit b711793d7c

@ -90,13 +90,14 @@ module Mobile
desc "加入课程" desc "加入课程"
params do params do
requires :token, type: String requires :token, type: String
requires :course_password, type: String
end end
post ":id" do post ":id" do
authenticate! authenticate!
cs = CoursesService.new cs = CoursesService.new
status = cs.join_course({"object_id" => params[:id]},current_user) status = cs.join_course({:object_id => params[:id],:course_password => params[:course_password]},current_user)
out = {status: status} out = {status: status[:state]}
message = case status message = case status[:state]
when 0; "加入成功" when 0; "加入成功"
when 1; "密码错误" when 1; "密码错误"
when 2; "课程已过期 请联系课程管理员重启课程。(在配置课程处)" when 2; "课程已过期 请联系课程管理员重启课程。(在配置课程处)"

@ -27,7 +27,9 @@ class CoursesController < ApplicationController
def join def join
if User.current.logged? if User.current.logged?
cs = CoursesService.new cs = CoursesService.new
@state,course = cs.join_course params join = cs.join_course params,User.current
@state = join[:state]
course = join[:course]
#course = Course.find_by_id params[:object_id] #course = Course.find_by_id params[:object_id]
#if course #if course
# if course_endTime_timeout? course # if course_endTime_timeout? course

@ -217,20 +217,21 @@ class CoursesService
#@state == 4 您加入的课程不存在 #@state == 4 您加入的课程不存在
#@state == 5 您还未登录 #@state == 5 您还未登录
#@state 其他 未知错误,请稍后再试 #@state 其他 未知错误,请稍后再试
def join_course params def join_course params,current_user
course = Course.find_by_id params[:object_id] course = Course.find_by_id params[:object_id]
@state = 10
if course if course
if course_endTime_timeout? course if course_endTime_timeout? course
@state = 2 @state = 2
else else
if User.current.member_of_course?(course) if current_user.member_of_course?(course)
@state = 3 @state = 3
else else
if params[:course_password] == course.password if params[:course_password] == course.password
members = [] members = []
members << Member.new(:role_ids => [10], :user_id => User.current.id) members << Member.new(:role_ids => [10], :user_id => current_user.id)
course.members << members course.members << members
StudentsForCourse.create(:student_id => User.current.id, :course_id => params[:object_id]) StudentsForCourse.create(:student_id => current_user.id, :course_id => params[:object_id])
@state = 0 @state = 0
else else
@state = 1 @state = 1
@ -240,7 +241,7 @@ class CoursesService
else else
@state = 4 @state = 4
end end
[@state,course] {:state => @state,:course => course}
end end
#作业列表 #作业列表

Loading…
Cancel
Save