ShareController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\ShareUser;
  4. use App\Models\User;
  5. use BaconQrCode\Common\ErrorCorrectionLevel;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\DB;
  9. class ShareController extends Controller{
  10. protected function CreatedCode($phone){
  11. return mb_substr(time(),5).mb_substr(md5($phone),0,8).'-'.mb_substr(time(),0,5).mb_substr(md5($phone),8,8);
  12. }
  13. /*
  14. * 点击生成邀请码
  15. * ***/
  16. public function CreatedShare(Request $request){
  17. $phone=$request->input('phone');
  18. $re= ShareUser::where('phone',$phone)->first();
  19. $res=User::where('mobile',$phone)->first();
  20. if ($res){
  21. return $this->error(500214,'','当前手机号已经注册!');
  22. }
  23. if ($re){
  24. if ($re->user_id!=Auth::user()->id){
  25. return $this->error(500214,'','当前手机号其他经销商/批发商已被使用!');
  26. }
  27. }else{
  28. $re=new ShareUser();
  29. $re->user_id=Auth::user()->id;
  30. $re->phone=$phone;
  31. if ($request->has('area_code')){
  32. $re->area_code=$request->input('area_code')??'+86';
  33. }
  34. $re->user_uuid=Auth::user()->uuid;
  35. $re->uuid=$this->CreatedCode($phone);
  36. $re->status=0;
  37. $re->save();
  38. }
  39. return $this->success();
  40. }
  41. /*
  42. * 获取信息
  43. * ***/
  44. public function GetShareInfo(Request $request){
  45. $uuid=$request->input('uuid');
  46. $re=ShareUser::where('uuid',$uuid)->with(['user:nickname,level,mobile,id,recom_code'])->first();
  47. if (!$re){
  48. return $this->error(500214,'','请扫描正确的分享码!');
  49. }
  50. $data=[
  51. 'phone'=>$re->phone,
  52. 'system_status'=>1,
  53. 'uuid'=>$re->uuid,
  54. 'recom_code'=>$re->user->recom_code,
  55. 'user_name'=>$re->user->nickname,
  56. 'user_mobile'=>hide_phone($re->user->mobile)
  57. ];
  58. return $this->success($data);
  59. }
  60. /*
  61. * 分享列表
  62. * ***/
  63. public function ShareList(Request $request){
  64. $page_index=$request->input('page_index');
  65. $page_size=$request->input('page_size');
  66. $num=($page_index-1)*$page_size;
  67. $search_name=$request->input('search_name');
  68. $id=Auth::user()->id;
  69. $query=ShareUser::where('user_id',$id);
  70. if ($search_name){
  71. $query->where('phone','like',"%$search_name%");
  72. }
  73. $total=$query->count();
  74. $data=$query->with(['shareuser:id,mobile,nickname'])->take($page_size)->skip($num)->get();
  75. $arr=[];
  76. foreach ($data as $k=>$v){
  77. $mobile='';
  78. $nickname='';
  79. if ($v->shareuser){
  80. $mobile=$v->shareuser->mobile;
  81. $nickname=$v->shareuser->nickname;
  82. }
  83. $arr[]=[
  84. 'phone'=>hide_phone($v->phone),
  85. 'time'=>$v->time,
  86. 'user_phone'=>hide_phone($mobile),
  87. 'user_name'=>$nickname,
  88. 'status'=>$v->status
  89. ];
  90. }
  91. return $this->success_list($arr,$search_name,$total);
  92. }
  93. }