From e4442bfe043107ac25d4b31bea53472e6fe73a8b Mon Sep 17 00:00:00 2001 From: z9hang Date: Tue, 10 Feb 2015 16:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AF=BE=E7=A8=8B=E3=80=81?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B=E6=8E=A5=E5=8F=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=95=B0=E6=8D=AE=E6=B7=BB=E5=8A=A0=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=98=AF=E5=90=A6=E6=98=AF=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E6=88=90=E5=91=98=E3=80=81=E5=8F=8A=E6=98=AF=E5=90=A6=E6=98=AF?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=80=81=E5=B8=88=E4=B8=A4=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 3 ++- app/api/mobile/entities/course.rb | 4 +++- app/services/courses_service.rb | 7 ++++++- app/services/users_service.rb | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 7dbfaffb0..daac8bcb0 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -130,10 +130,11 @@ module Mobile desc "搜索课程" params do requires :name, type: String, desc: "课程名" + optional :token, type: String end get 'search' do cs = CoursesService.new - courses = cs.search_course(params) + courses = cs.search_course(params,current_user.nil? ? User.find(2):current_user) present :data, courses, with: Mobile::Entities::Course present :status, 0 end diff --git a/app/api/mobile/entities/course.rb b/app/api/mobile/entities/course.rb index 977c32c48..512aab69a 100644 --- a/app/api/mobile/entities/course.rb +++ b/app/api/mobile/entities/course.rb @@ -10,7 +10,7 @@ module Mobile else c = f[:course] end - if field == :img_url + if f.is_a?(Hash) && f.key?(field) f[field] if f.is_a?(Hash) && f.key?(field) #f.img_url if f.respond_to?(:img_url) elsif field == :created_at || field == :updated_at @@ -56,6 +56,8 @@ module Mobile expose :my_homework,using: Mobile::Entities::HomeworkAttach do |f, opt| f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework) end + course_expose :current_user_is_member + course_expose :current_user_is_teacher end end end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 7ed8fe65a..11adc3c09 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -31,7 +31,7 @@ class CoursesService end #搜索课程 - def search_course params + def search_course params,current_user courses_all = Course.all_course name = params[:name] if name.blank? @@ -44,6 +44,11 @@ class CoursesService @courses_all = @courses; end @courses_all + course_list = [] + @courses_all.each do |course| + course_list << {:course => course,:img_url => url_to_avatar(course),:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course)} + end + course_list end #获取头像 diff --git a/app/services/users_service.rb b/app/services/users_service.rb index 897171b55..8cca137ee 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -134,7 +134,7 @@ class UsersService membership.sort! {|older, newer| newer.created_on <=> older.created_on } course_list = [] membership.each do |mp| - course_list << {:course => mp.course,:img_url => url_to_avatar(mp.course)} + course_list << {:course => mp.course,:img_url => url_to_avatar(mp.course),:current_user_is_member => current_user.member_of_course?(mp.course),:current_user_is_teacher => is_course_teacher(current_user,mp.course)} end course_list end