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