find(); if (empty($soldier)) { ajax_return(1, '手机号不存在'); } if ($soldier['password'] != md5(md5($soldier['salt']) . $param['password'])) { ajax_return(1, '密码错误'); } session('mobile.soldier.id', $soldier['id']); ajax_return(); } public function index() { $soldier = get_soldier(); return view(''); } public function listVideo() { $soldier = get_soldier(); $where = [ ['status', '=', SoldierVideoSeriesModel::STATUS_SHOW], ]; $list = SoldierVideoSeriesModel::where($where) ->order(['priority' => 'desc', 'id' => 'desc']) ->limit(input('limit', 5)) ->page(input('page', 1)) ->select(); foreach ($list as $v) { $video_list = SoldierVideoModel::where('series_id', $v['id']) ->where('status', SoldierVideoModel::STATUS_SHOW) ->append(['is_must_text']) ->limit(3) ->order('priority desc') ->select(); $video_ids = $video_list->column('id'); $watch_list = SoldierVideoWatchModel::where('user_id', $soldier['id']) ->where('video_id', 'in', $video_ids) ->column('status', 'video_id'); foreach ($video_list as $video) { if (empty($watch_list[$video['id']])) { $video['watch_status'] = 1; } else { $video['watch_status'] = $watch_list[$video['id']]; } $video['watch_text'] = SoldierVideoWatchModel::STATUS[$video['watch_status']]; } $v['video'] = $video_list; } ajax_success($list); } public function series() { $soldier = get_soldier(); $id = input('id/d', 0); empty($id) && jump('参数错误'); $series = SoldierVideoSeriesModel::find($id); return view('', ['id' => $id, 'series' => $series]); } public function listSeries() { $soldier = get_soldier(); $id = input('id/d', 0); empty($id) && jump('参数错误'); $list = SoldierVideoModel::where('series_id', $id) ->where('status', SoldierVideoModel::STATUS_SHOW) ->order(['priority' => 'desc']) ->append(['is_must_text']) ->limit(input('limit', 10)) ->page(input('page', 1)) ->select(); $video_ids = $list->column('id'); $watch_list = SoldierVideoWatchModel::where('user_id', $soldier['id']) ->where('video_id', 'in', $video_ids) ->column('status', 'video_id'); foreach ($list as $video) { if (empty($watch_list[$video['id']])) { $video['watch_status'] = 1; } else { $video['watch_status'] = $watch_list[$video['id']]; } $video['watch_text'] = SoldierVideoWatchModel::STATUS[$video['watch_status']]; } ajax_success($list); } public function video() { $soldier = get_soldier(); $id = input('id/d', 0); empty($id) && jump('参数错误'); //视频信息 $video = SoldierVideoModel::where('id',$id)->append(['is_must_text'])->find(); $watch_status = SoldierVideoWatchModel::where('user_id', $soldier['id']) ->where('video_id', $id) ->value('status'); if (empty($watch_status)) { SoldierVideoWatchModel::create([ 'user_id' => $soldier['id'], 'video_id' => $id, 'status' => SoldierVideoWatchModel::STATUS_NO_FINISHED, ]); $video['watch_status'] = 2; } else { $video['watch_status'] = $watch_status; } $video['watch_text'] = SoldierVideoWatchModel::STATUS[$video['watch_status']]; //相关视频 $video_list = SoldierVideoModel::where('series_id', $video['series_id']) ->where('priority', '<', $video['priority']) ->order(['priority' => 'desc']) ->append(['is_must_text']) ->limit(5) ->select(); $video_ids = $video_list->column('id'); $watch_list = SoldierVideoWatchModel::where('user_id', $soldier['id']) ->where('video_id', 'in', $video_ids) ->column('status', 'video_id'); foreach ($video_list as $video_item) { if (empty($watch_list[$video_item['id']])) { $video_item['watch_status'] = 1; } else { $video_item['watch_status'] = $watch_list[$video_item['id']]; } $video_item['watch_text'] = SoldierVideoWatchModel::STATUS[$video_item['watch_status']]; } return view('', [ 'video' => $video, 'video_list' => $video_list, ]); } public function videoEnd() { $soldier = get_soldier(); $id = input('id/d', 0); empty($id) && jump('参数错误'); SoldierVideoWatchModel::update(['status' => SoldierVideoWatchModel::STATUS_FINISH], ['user_id' => $soldier['id'], 'video_id' => $id]); ajax_return(); } }