From 56767701009f3dc54c78e36057f751cfdf0e9925 Mon Sep 17 00:00:00 2001 From: z9hang Date: Mon, 8 Dec 2014 15:19:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=BE=E7=A8=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/courses_service.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 app/services/courses_service.rb diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb new file mode 100644 index 000000000..0a1fa553d --- /dev/null +++ b/app/services/courses_service.rb @@ -0,0 +1,29 @@ +class CoursesService + include ApplicationHelper + #参数school_id为0或不传时返回所有课程,否则返回对应学校的课程 + #参数per_page_count分页功能,每页显示的课程数 + #参数page分页功能,当前页码 + def course_list params + @school_id = params[:school_id] + per_page_option = params[:per_page_count] || 10 + page_no = params[:page] || 1 + if @school_id == "0" || @school_id.nil? + @courses_all = Course.active.visible. + joins("LEFT JOIN #{CourseStatus.table_name} ON #{Course.table_name}.id = #{CourseStatus.table_name}.course_id") + else + @courses_all = Course.active.visible. + joins("LEFT JOIN #{CourseStatus.table_name} ON #{Course.table_name}.id = #{CourseStatus.table_name}.course_id"). + where("#{Course.table_name}.school_id = ?", @school_id) + end + @course_count = @courses_all.count + @course_pages = Redmine::Pagination::Paginator.new @course_count, per_page_option,page_no + @courses = @courses_all.order("created_at desc") + @courses = @courses.offset(@course_pages.offset).limit(@course_pages.per_page) + course_list = [] + @courses.each do |course| + course_list << {:course => course,:img_url => url_to_avatar(course)} + end + course_list + end + +end \ No newline at end of file