123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace App\Http\Controllers;
- use App\Models\ShareUser;
- use App\Models\User;
- use BaconQrCode\Common\ErrorCorrectionLevel;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\DB;
- class ShareController extends Controller{
- protected function CreatedCode($phone){
- return mb_substr(time(),5).mb_substr(md5($phone),0,8).'-'.mb_substr(time(),0,5).mb_substr(md5($phone),8,8);
- }
- /*
- * 点击生成邀请码
- * ***/
- public function CreatedShare(Request $request){
- $phone=$request->input('phone');
- $re= ShareUser::where('phone',$phone)->first();
- $res=User::where('mobile',$phone)->first();
- if ($res){
- return $this->error(500214,'','当前手机号已经注册!');
- }
- if ($re){
- if ($re->user_id!=Auth::user()->id){
- return $this->error(500214,'','当前手机号其他经销商/批发商已被使用!');
- }
- }else{
- $re=new ShareUser();
- $re->user_id=Auth::user()->id;
- $re->phone=$phone;
- if ($request->has('area_code')){
- $re->area_code=$request->input('area_code')??'+86';
- }
- $re->user_uuid=Auth::user()->uuid;
- $re->uuid=$this->CreatedCode($phone);
- $re->status=0;
- $re->save();
- }
- return $this->success();
- }
- /*
- * 获取信息
- * ***/
- public function GetShareInfo(Request $request){
- $uuid=$request->input('uuid');
- $re=ShareUser::where('uuid',$uuid)->with(['user:nickname,level,mobile,id,recom_code'])->first();
- if (!$re){
- return $this->error(500214,'','请扫描正确的分享码!');
- }
- $data=[
- 'phone'=>$re->phone,
- 'system_status'=>1,
- 'uuid'=>$re->uuid,
- 'recom_code'=>$re->user->recom_code,
- 'user_name'=>$re->user->nickname,
- 'user_mobile'=>hide_phone($re->user->mobile)
- ];
- return $this->success($data);
- }
- /*
- * 分享列表
- * ***/
- public function ShareList(Request $request){
- $page_index=$request->input('page_index');
- $page_size=$request->input('page_size');
- $num=($page_index-1)*$page_size;
- $search_name=$request->input('search_name');
- $id=Auth::user()->id;
- $query=ShareUser::where('user_id',$id);
- if ($search_name){
- $query->where('phone','like',"%$search_name%");
- }
- $total=$query->count();
- $data=$query->with(['shareuser:id,mobile,nickname'])->take($page_size)->skip($num)->get();
- $arr=[];
- foreach ($data as $k=>$v){
- $mobile='';
- $nickname='';
- if ($v->shareuser){
- $mobile=$v->shareuser->mobile;
- $nickname=$v->shareuser->nickname;
- }
- $arr[]=[
- 'phone'=>hide_phone($v->phone),
- 'time'=>$v->time,
- 'user_phone'=>hide_phone($mobile),
- 'user_name'=>$nickname,
- 'status'=>$v->status
- ];
- }
- return $this->success_list($arr,$search_name,$total);
- }
- }
|