123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- namespace App\Http\Controllers;
- use App\Clocked;
- use App\Exam;
- use App\Examarg;
- use App\Question;
- use App\Score;
- use App\Test;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\App;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\DB;
- class FexamController extends Controller
- {
- //
- public function getExamList()
- {
- }
- public function examStart($examId)
- {
- $exam = Examarg::where('id', $examId)->first();
- $is_switch = Test::where('paper_id', $exam->id)->where('uid', Auth::guard('wechat')->user()->id)->count();
- return view('xt.examStart', compact('exam', 'is_switch'));
- }
- public function exam($exam_args_id)
- {
- $paper = Examarg::where('id', $exam_args_id)->first();
- $is_switch = Test::where('paper_id', $paper->id)->where('uid', Auth::guard('wechat')->user()->id)->count();
- if ($is_switch) {
- return redirect('/examList');
- }
- $questions = Question::whereIn('id', $paper->exam->question)->get();
- return view('xt.test', compact('paper', 'questions'));
- }
- public function examList()
- {
- Auth::guard('wechat')->loginUsingId(1);
- $userinfo = Auth::guard('wechat')->user();
- $user_id = $userinfo['id'];
- $sclass_id = $userinfo['class_id'];
- $school_id = $userinfo['school_id'];
- $grade_id = $userinfo['grade_id'];
- $cdata = date('Y-m-d H:i:s');
- $examargs = Examarg::where('grade_id', $grade_id)
- ->where('school_id', $school_id)
- ->where('exam_start', '<', $cdata)
- ->where('exam_end', '>', $cdata)->get();
- //取出班级数据
- $arrdatas = [];
- foreach ($examargs as $exa => $val) {
- if (in_array($sclass_id, $val['sclass_id'])) {
- $score = Score::where('user_id', $user_id)
- ->where("exam_id", $val['exam_id'])
- ->where('examarg_id', $val['id'])->select('finish')->first();
- if ($score) {
- $val['finish'] = $score['finish'];
- }
- $arrdatas[] = $val;
- }
- }
- return view("xt.examList", compact('arrdatas'));
- }
- public function examHistory()
- {
- $user_id = Auth::guard('wechat')->user()->id;
- $tests = Test::where('uid', $user_id)->get();
- return view('xt.examHistory', compact('tests'));
- }
- public function examHistoryContent($score_id)
- {
- $test = Test::where('id', $score_id)->first();
- return view('xt.test_show', compact('test'));
- }
- public function card()
- {
- $user_id = Auth::guard('wechat')->user()->id;
- $card = Clocked::where('user_id', $user_id)->where('finish', 1)->whereDate('created_at', date('Y-m-d'))->first();
- $is_switch = $card ? true : false;
- if ($card) {
- $question = Question::where('id', $card->question_id)->first();
- $user = User::where('id', $card->user_id)->first();
- $t_count = Clocked::where('user_id', $card->user_id)->count();
- return view('xt.card_share', compact('user', 'question', 'card', 't_count'));
- } else {
- $question = Question::where('category', Question::CATEGORY_CARD)->inRandomOrder()->first();
- }
- $config = [];
- return view('xt.card', compact('is_switch', 'card', 'config', 'question', 'user_id'));
- }
- public function cardShare(Request $request)
- {
- $c_id = $request->get('cid', '');
- $card = Clocked::where('id', $c_id)->first();
- $user = User::where('id', $card->user_id)->first();
- $question = Question::where('id', $card->question_id)->first();
- $t_count = Clocked::where('user_id', $card->user_id)->count();
- return view('xt.card_share', compact('user', 'question', 'card', 't_count'));
- }
- public function cardList()
- {
- $user_id = Auth::guard('wechat')->user()->id;
- $clocked = Clocked::where('finish', 1)
- ->where('user_id', $user_id)
- ->select(DB::raw("date_format(created_at,'%Y-%m-%d') as date"), 'answer', 'id')
- ->get();
- return view('xt.cardList', compact('clocked'));
- }
- }
|