From 303752fc7e0a5f2360d6cdc7863d9d0eb9e331c4 Mon Sep 17 00:00:00 2001 From: z9hang Date: Wed, 7 Jan 2015 11:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=80=E5=87=BA=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 11 +++++++++-- app/services/courses_service.rb | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 0ae3bba1d..d3f0e8cef 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -116,8 +116,15 @@ module Mobile delete ":id" do authenticate! cs = CoursesService.new - cs.exit_course({"object_id" => params[:id]}, current_user) - {status: 0} + status = cs.exit_course({:object_id => params[:id]}, current_user) + out = {status: status} + message = case status + when 0; "退出成功" + when 1; "您不在课程中" + when 2; "您还未登录" + else; "未知错误,请稍后再试" + end + out.merge(message: message) end desc "搜索课程" diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 23c25d302..d8dd8299b 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -197,14 +197,27 @@ class CoursesService #退出课程 #object_id: 课程id #user:当前用户 + #@state == 0 退出成功 + #@state == 1 不在课程中 + #@state == 2 您还未登录 + #@state 其他 未知错误,请稍后再试 def exit_course params,user + if user.nil? + @state = 2 + return @state + end @member = Member.where('course_id = ? and user_id = ?', params[:object_id], user.id) + if @member.nil? || @member.count == 0 + @state = 1 + return @state + end @member.first.destroy - joined = StudentsForCourse.where('student_id = ? and course_id = ?', user.id, params[:object_id]) joined.each do |join| join.delete + @state = 0 end + @state end #加入课程