ReportController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Models\Draft;
  4. use App\Models\Report;
  5. use Illuminate\Http\Request;
  6. class ReportController extends AdminController
  7. {
  8. // 举报列表
  9. public function index(Request $request)
  10. {
  11. $filter = $request->all();
  12. $query = Report::query();
  13. /*举报人过滤*/
  14. if (isset($filter['user_id']) && $filter['user_id'] > 0) {
  15. $query->where('user_id', '=', $filter['user_id']);
  16. }
  17. /*举报类型过滤*/
  18. if (isset($filter['status'])) {
  19. $query->where('status', '=', $filter['status']);
  20. }
  21. /*时间过滤*/
  22. if (isset($filter['date_range']) && $filter['date_range']) {
  23. $query->whereBetween('created_at', explode(" - ", $filter['date_range']));
  24. }
  25. $reports = $query->orderBy('created_at', 'desc')->paginate(config('tipask.admin.page_size'));
  26. return view("admin.report.index")->with('reports', $reports)->with('filter', $filter);
  27. }
  28. // 删除举报
  29. public function destroy(Request $request)
  30. {
  31. Report::destroy($request->input('id'));
  32. return $this->success(route('admin.report.index'), '删除成功');
  33. }
  34. // 忽略举报
  35. public function ignore(Request $request)
  36. {
  37. $ids = $request->input('id');
  38. if ( !empty($ids)) {
  39. Report::whereIn('id', $ids)->where('status', 0)->update(['status' => 4]);
  40. }
  41. return $this->success(route('admin.report.index'), '处理成功');
  42. }
  43. // 处理举报
  44. public function dispose(Request $request)
  45. {
  46. $ids = $request->input('id');
  47. if ( !empty($ids)) {
  48. Report::whereIn('id', $ids)->where('status', 0)->update(['status' => 1]);
  49. }
  50. return $this->success(route('admin.report.index'), '处理成功');
  51. }
  52. }