AuditController.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\User;
  4. use App\Models\Audit;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. use Illuminate\Support\Facades\Log;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Database\Eloquent\Builder;
  10. use \Exception;
  11. class AuditController extends Controller
  12. {
  13. /*用户升级待审核信息*/
  14. public function getAgentUnAuditList(Request $request){
  15. $input=$request->all();
  16. $page_size=$input['page_size'];
  17. $page_index=$input['page_index'];
  18. $num = ($page_index - 1) * $page_size;
  19. $search_name=$input['search_name'];
  20. $where=[];
  21. switch($input['type']){
  22. case '0':
  23. $where['status']=0;
  24. break;
  25. case '1':
  26. $where['status']=1;
  27. break;
  28. case '2':
  29. $where['status']=2;
  30. break;
  31. }
  32. $count=Audit::with(['user:id,nickname,level,mobile'])
  33. ->whereHas('user', function (Builder $query) use ($search_name){
  34. $query->where('nickname', 'like', '%' . $search_name . '%')
  35. ->orWhere('mobile', 'like', '%' . $search_name . '%');
  36. })
  37. ->where($where)
  38. ->count();
  39. if($count==0){
  40. $this->error('400001','没有数据');
  41. }
  42. $list=Audit::with(['user:id,nickname,level,mobile'])
  43. ->whereHas('user', function (Builder $query) use ($search_name){
  44. $query->where('nickname', 'like', '%' . $search_name . '%')
  45. ->orWhere('mobile', 'like', '%' . $search_name . '%');
  46. })
  47. ->where($where)
  48. ->orderBy('id','desc')
  49. ->skip($num)->take($page_size)
  50. ->get();
  51. if(empty($list)){
  52. return $this->error('400002','没有获取到数据');
  53. }
  54. return $this->success_list($list,'success',$count);
  55. }
  56. /*升级审核*/
  57. public function updateAgentStatus(Request $request){
  58. $input=$request->all();
  59. $audit=Audit::find($input['id']);
  60. $user=User::find($audit->user_id);
  61. DB::beginTransaction();
  62. try{
  63. if($input['type']==1){
  64. if($user->level==3){
  65. return $this->error('400004','皇冠不能升级');
  66. }
  67. if($user->recom_id==1){
  68. return $this->error('400116','邀请人为公司的代理不能变更等级');
  69. }
  70. $recom = User::find($user->recom_id);//邀请人信息
  71. if (empty($recom)) {
  72. return $this->error('400115', '代理邀请人信息不存在,升降级失败');
  73. }
  74. $level=$user->level+1;
  75. $audit->status=1;
  76. $uuu=new User();
  77. $row=$audit->save();
  78. $result=$uuu->changeAgentLevel($user,$level);
  79. }elseif($input['type']==2){
  80. $audit->status=2;
  81. $row=$audit->save();
  82. }else{
  83. return $this->error('400004','状态码有误');
  84. }
  85. DB::commit();
  86. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')完成用户升级审核,用户id='.$audit->user_id);
  87. return $this->success([]);
  88. }catch(Exception $e){
  89. DB::rollBack();
  90. return $this->error();
  91. }
  92. }
  93. }