| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?php
- namespace app\api\controller;
- use Alipay\EasySDK\Kernel\Base;
- use app\model\api\EducationCourse;
- use think\facade\Db;
- class Education
- {
- /**
- * 课程列表页面
- * @return \think\response\Json
- */
- public function index()
- {
- $EducationModel = new \app\model\api\Education();
- $where["audit"] = 1;
- $type1 = input("type1", "");
- if ($type1 !== "") {
- $where["type1"] = $type1;
- } else {
- $type1 = 2;
- }
- if ($type1 == 0) {
- $where["type1"] = 0;
- } elseif ($type1 == 1) {
- $where["type1"] = 1;
- }
- $page = input('page/d', 1);
- $pageSize = input('pageSize/d', 20);
- $grlist = $EducationModel->where($where)
- ->order("od asc,recommend desc,gr_id desc")
- ->paginate($pageSize, false, ['page' => $page]);
- $result = ['grlist' => $grlist->items(), 'total' => $grlist->total()];
- $result['grlist'] = $this->getCountAndAlll($result['grlist']);
- return app('json')->success($result);
- }
- // /**
- // * 获取课程详情
- // * @param $gr_id
- // * @return mixed
- // * @throws \think\db\exception\DataNotFoundException
- // * @throws \think\db\exception\DbException
- // * @throws \think\db\exception\ModelNotFoundException
- // */
- // public function getCourseDetail($gr_id)
- // {
- // $course = EducationCourse::where('gr_id', $gr_id)
- // ->where('course_status', 1)
- // ->where('course_audit', 1)
- // ->find();
- //
- // if (!$course) {
- // return app('json')->fail('课程不存在');
- // }
- //
- // $course = $course->toArray();
- //
- // $education = \app\model\api\Education::where('gr_id', $course['gr_id'])
- // ->where('audit', 1)
- // ->find();
- //
- // if (!$education) {
- // return app('json')->fail('课程不存在或未通过审核');
- // }
- //
- // $education = $education->toArray();
- //
- // $course['edu_name'] = $education['name'];
- // $course['edu_logo'] = $education['logo'];
- // $course['edu_type1'] = $education['type1'];
- // $course['edu_type2'] = $education['type2'];
- //
- // return app('json')->success($course);
- // }
- /**
- * 获取轮播列表
- * @return mixed
- */
- public function recommend()
- {
- $EducationModel = new \app\model\api\Education();
- $where = [
- 'audit' => 1,
- 'recommend' => 1,
- ];
- $recommendList = $EducationModel->getEducationGrList($where, 9, "od asc,recommend desc,gr_id desc");
- $result = ['recommendList' => $recommendList];
- return app('json')->success($result);
- }
- /**
- * 获取课程组列表
- * @return mixed
- */
- private function getCountAndAlll($grlist)
- {
- foreach ($grlist as &$v) {
- $count = EducationCourse::where('course_status', 1)
- ->where('gr_id', $v['gr_id'])
- ->where('course_audit', 1)
- ->field('count(*) as count,sum(course_play_count) as alll')
- ->find();
- $v['count'] = $count['count'];
- $count['alll'] += $v['times'];
- $v['alll'] = $count['alll'] ? $count['alll'] : 0;
- }
- return $grlist;
- }
- /**
- * 获取课程详细信息
- * @param $gr_id
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function getCourseInfo($gr_id) {
- $courses = DB::table('table_education_course')
- ->where('course_status', 1)
- ->whereIn('gr_id', (array) $gr_id)
- ->where('course_audit', 1)
- ->select()
- ->toArray();
- $course_list = [];
- foreach ($courses as $course) {
- $course_info = [
- 'course_id' => $course->id,
- 'course_name' => $course->course_name,
- 'course_cover' => $course->course_cover,
- // 其他课程相关信息
- ];
- $course_list[] = $course_info;
- }
- $count_and_all = $this->getCountAndAlll($gr_id);
- $result = [
- 'course_list' => $course_list,
- 'count' => $count_and_all[0]['count'],
- 'alll' => $count_and_all[0]['alll']
- ];
- return $result;
- }
- }
|