Example #1
0
 public function getPic(Request $request)
 {
     $id = 468;
     // $id = $request->get('id');
     $user = \App\StudentUser::findOrFail($id);
     /**
      * 今日练习的所有曲目
      */
     $start_time = Carbon::now('Asia/ShangHai')->subYear();
     $end_time = Carbon::now('Asia/ShangHai');
     $musics = \App\Practice::with(['music' => function ($query) {
         $query->select('id', 'name');
     }])->select(DB::raw('SUM(practice_time) as sum_time'), 'music_id')->where('uid', $id)->whereBetween('practice_date', [$start_time, $end_time])->groupBy('music_id')->get();
     foreach ($musics as $v) {
         $data_arr[] = $v->sum_time;
         $lab_arr[] = $v->music->name;
     }
     $pic_name = $id . '-' . time() . '-' . mt_rand() . '.png';
     return $this->drawChart($data_arr, $lab_arr, $pic_name);
 }
Example #2
0
 /**
  * 发送成绩报告
  * @method sendReport
  * @return [type]     [description]
  */
 public function sendReport(Request $request)
 {
     $id = 661;
     $user = \App\StudentUser::findOrFail($id);
     // 获取用户
     $job = new \App\Jobs\SendReminderEmail($user);
     // 创建任务
     $this->dispatch($job);
     // 将任务推送到队列
     /**
      * 今日累计练习时长
      */
     //  DB::connection()->enableQueryLog();
     // $start_time = Carbon::now('Asia/ShangHai')->startOfDay()->toDateTimeString();
     // $end_time   = Carbon::now('Asia/ShangHai')->endOfDay()->toDateTimeString();
     // $duration_today =  Practice::select(DB::raw('SUM(practice_time) as value'))
     //                     ->whereBetween('practice_date', [$start_time, $end_time])
     //                     ->where('uid', $id)
     //                     ->groupBy('uid')
     //                     ->first();
     // // var_dump(DB::getQueryLog());
     // // 格式化成 HH:MM:SS
     // if (!empty($duration_today)) {
     //     $duration_today = gmstrftime('%H:%M:%S', $duration_today->value);
     // }else {
     //     $duration_today = 0;
     // }
     //
     // /**
     //  * 今日累计练习曲目数量
     //  */
     //  $count_today =  Practice::select('music_id')
     //                     ->whereBetween('practice_date', [$start_time, $end_time])
     //                     ->where('uid', $id)
     //                     ->groupBy('music_id')
     //                     ->distinct()
     //                     ->get();
     // $count_today = count($count_today);
     //
     // /**
     //  * 日期字符串
     //  */
     // $date_string = Carbon::now('Asia/ShangHai')->toDateString();
     //
     // /**
     //  * 弹奏记录列表
     //  */
     //  $records = Practice::with('music')
     //                     ->whereBetween('practice_date', [$start_time, $end_time])
     //                     ->where('uid', $id)
     //                     ->get();
     //
     // /**
     //  * 绘制图表所需数据
     //  */
     // $text_data = Practice::with('music')
     //                     ->select('music_id', DB::raw('SUM(practice_time) as one_music_duration'))
     //                     ->whereBetween('practice_date', [$start_time, $end_time])
     //                     ->where('uid', $id)
     //                     ->groupBy('music_id')
     //                     ->get();
     //
     // $colors = ['#E76543', '#4A8EB6', '#8B3A8B', '#53B657', '#FDBD1A', '#FD341C'];
     // foreach ($text_data as $v) {
     //     $temp['value'] = $v->one_music_duration;
     //     $temp['color'] = array_shift($colors);
     //     $v->hex = $temp['color'];
     //     $char_data[] = $temp;
     // }
     //
     // $rating_data = Practice::select('rating', DB::raw('COUNT(*) as count'))
     //                         ->whereBetween('practice_date', [$start_time, $end_time])
     //                         ->where('uid', $id)
     //                         ->whereNotNull('rating')
     //                         ->groupBy('rating')
     //                         ->orderBy('rating')
     //                         ->get();
     // $colors1 = ['#E76543', '#4A8EB6', '#8B3A8B', '#53B657', '#FDBD1A', '#FD341C'];
     // $chart_rating = [];
     // foreach ($rating_data as $v) {
     //     $temp1['value'] = $v->rating;
     //     $temp1['color'] = $colors1[(ceil($v->rating)/2)];
     //     $chart_rating[] = $temp1;
     // }
     // $result['duration_today'] = $duration_today;
     // $result['count_today'] = $count_today;
     // $result['date_string'] = $date_string;
     // $result['records'] = $records;
     // $result['text_data'] = $text_data;
     // $result['id'] = $id;
     // $result['chart_rating'] = $chart_rating;
     //
     // $url = $request->url();
     // $tm_email = new TMEmail;
     // $tm_email->from = '*****@*****.**';
     // $tm_email->to = '*****@*****.**';
     // $tm_email->subject = '测试邮件' . mt_rand();
     // Mail::send('emails.test', ['url' => $url], function ($m) use ($tm_email) {
     //     $m->from($tm_email->from, '音熊');
     //     $m->to($tm_email->to);
     //     $m->subject($tm_email->subject);
     // });
 }
 public function updateMultiNewUserPaid(Request $request)
 {
     $ids = $request->get('ids', []);
     foreach ($ids as $id) {
         $user = StudentUser::find($id);
         if (!$user->save()) {
             $data['status'] = 10000;
             $data['msg'] = '结算失败';
             return $data;
         }
     }
     $data['status'] = 0;
     return $data;
 }
Example #4
0
 /**
  * 锁定或解锁用户
  * @method lockUser
  * @param  integer   $id 用户ID
  * @return Json          操作是否成功
  */
 public function lockTeacher($id)
 {
     //获取用户激活状态
     $active = StudentUser::where('uid', $id)->first()->isactive;
     /**
      * 判断用户是否锁定, 以执行相反操作
      */
     if ($active) {
         //取消激活状态(锁定)
         $result = StudentUser::where('uid', $id)->update(['isactive' => 0]);
     } else {
         //激活(解锁)
         $result = StudentUser::where('uid', $id)->update(['isactive' => 1]);
     }
     return $active;
 }
Example #5
0
 /**
  * 解锁选中的用户
  * @method unlockUsers
  * @param  Request   $request [description]
  * @return [type]             [description]
  */
 public function unlockUsers(Request $request)
 {
     $ids = $request->get('ids');
     foreach ($ids as $id) {
         $user = StudentUser::find($id);
         $user->isactive = 1;
         $result[] = $user->save();
     }
     // 合并数组中的重复值
     $unique_result = array_unique($result);
     // 如果数组中有且只有true,则操作全部成功
     if (in_array('true', $unique_result) && count($unique_result) == 1) {
         $data['status'] = true;
     } else {
         $data['status'] = false;
     }
     return $data;
 }