AdminLogController.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\AdminUser;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. class AdminLogController extends BaseController
  7. {
  8. public function index(Request $request)
  9. {
  10. $start_time = $request->get('start_time');
  11. $end_time = $request->get('end_time');
  12. $nickname = $request->get('nickname');
  13. $where = [];
  14. !empty($start_time) && $where[] = ['log.create_at','>=',$start_time];
  15. !empty($end_time) && $where[] = ['log.create_at','<=',$end_time];
  16. !empty($nickname) && $where[] = ['admin.nickname','=',$nickname];
  17. $list = DB::table('agent.dbo.admin_log as log')
  18. ->join('agent.dbo.admin_users as admin','log.admin_id','=','admin.id')
  19. ->where($where)
  20. ->orderByDesc(DB::raw("CONVERT(varchar(100), log.create_at, 120)"))
  21. ->select('log.id','log.admin_id','url','content','explain',DB::raw("CONVERT(varchar(100), log.create_at, 120) as create_at"),DB::raw("CONVERT(varchar(100), log.update_at, 120) as update_at"))
  22. ->groupBy('log.id','log.admin_id','url','content','explain',DB::raw("CONVERT(varchar(100), log.create_at, 120)"),DB::raw("CONVERT(varchar(100), log.update_at, 120)"))
  23. ->paginate(10);
  24. foreach ($list as &$value){
  25. $admin = AdminUser::where('id',$value->admin_id)->first();
  26. $value->nickname = $admin->nickname;
  27. $value->account = $admin->account;
  28. $value->roles = $admin->roles->map(function ($val){
  29. return $val->name;
  30. })[0] ?? '';
  31. }
  32. return view('admin.adminLog.record',[
  33. 'list'=>$list,
  34. 'start_time' => $start_time,
  35. 'end_time' => $end_time,
  36. 'nickname' => $nickname
  37. ]);
  38. return view('admin.adminLog.index',['list'=>$list]);
  39. }
  40. public function show($id)
  41. {
  42. $list = DB::table('agent.dbo.admin_log as log')
  43. ->select('explain')
  44. ->first()->explain;
  45. return view('admin.adminLog.show',['list'=>$list]);
  46. }
  47. }