123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671 |
- <?php
- namespace App\Http\Controllers;
- use App\Events\RegisterApplyEvent;
- use App\Handlers\ImageUploadHandler;
- use App\Http\Controllers\MiniSubController as Mini;
- use App\Models\Address;
- use App\Models\Order;
- use App\Models\Ordertest;
- use App\Models\ShareUser;
- use App\Models\Store;
- use App\Models\System;
- use App\Models\TestUserW;
- use App\Models\User;
- use App\Models\UserCert;
- use App\Models\UserZ;
- use App\Models\Warea;
- use Carbon\Carbon;
- use GuzzleHttp\Client;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\Crypt;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- use Intervention\Image\Facades\Image as Image;
- use Jenssegers\Agent\Facades\Agent;
- use Validator;
- use Illuminate\Support\Facades\Cookie;
- use Symfony\Component\HttpFoundation\Cookie as SCookie;
- class UserController extends Controller{
- /*获取用户状态*/
- public function getinfo(User $user,Request $request){
- $users=Auth::user();
- Log::error('sssss'.json_encode($request->all()));
- $user=User::find($users->id);
- if ($user->freeze_status==1){
- return $this->error(20014);
- }
- $user->login_at=Carbon::now();
- $user->save();
- $u_ids=[];
- $num=Ordertest::whereIn('pay_status',[0,1])->where('user_id',$users->id)->where('is_deleted',0)->sum('no_pay_money');
- $users->recom_nickname='';
- $users->recom_mobile='';
- if ($users->cert_status==4){
- $users->reject_reason=UserCert::where('user_id',$users->id)->orderByDesc('created_at')->value('recom_audit_desc');
- }elseif ($users->cert_status==5){
- $users->reject_reason=UserCert::where('user_id',$users->id)->orderByDesc('created_at')->value('agent_audit_desc');
- }
- if ($user->openid){
- $users->openid=$user->openid;
- }else{
- $users->openid=$user->openid;
- }
- //测试微聊
- $users->is_weiliao=0;
- $users->uuid = '1002'.substr($user->mobile,5,6);
- $users->status=$users->status==0?1:0;
- $users->no_money=$num;
- return $this->success($users);
- }
- /**获取openid**/
- public function get_openid(Request $request){
- // $wechat=app('wechat.')
- }
- /*实名认证的提交*/
- public function submit_user(Request $request,UserCert $userCert){
- return $this->new_error(300,'该功能暂停使用');
- }
- /*
- * 获取用户信息
- */
- public function per_data(Request $request){
- $users=Auth::user();
- $user=User::find($users->id);
- if(empty($user)){
- return $this->error('300',[],'代理信息不存在');
- }
- $re["id"]=$user->id;
- $re['uuid']= '1002'.substr($user->mobile,5,6);
- $re["nickname"]= $user->nickname;
- $re["avatar"]= $user->headimgurl;
- $re["money"]= $user->money;
- $re["user_type"]= $users->level;
- $re["mobile"]= $user->mobile;
- $re["store"]= $user->store==null?false:true;
- $re["order_num1"]=0;
- $re["order_num2"]= 0;
- $re["order_num3"]=0;
- $re['openid']=$user->openid;
- $re['warea']=Warea::where('id',$user->warea_id)->value('name');
- $re['warea_info']=Warea::where('id',$user->warea_id)->select('avatar','qrcode','admin_name')->first();
- $re['pass_status']=false;
- $user->save();
- //正式开放
- if($user->status==0 && $user->cert_status==6 && $user->service_status==0 && empty($user->deleted_at)){
- $re['show_store']=true;
- }else{
- $re['show_store']=false;
- }
- return $this->success($re);
- }
- /*更改手机号*/
- public function change_num(Request $request){
- try {
- $login=new LoginController();
- // $code = $login->judge_code('verificationCode_' . MD5($request->mobile), $request->verify_code);
- // Cache::forget('verificationCode_' . MD5($request->mobile));
- $code = $login->judge_code('verificationCode_' . MD5($request->code.'-'.$request->mobile), $request->verify_code);
- Cache::forget('verificationCode_' . MD5($request->code.'-'.$request->mobile));
- if ($code==300||$code==400){
- return $this->new_error(300,'验证码不正确或过期');
- }
- $user=User::find(Auth::user()->id);
- // $mobile=$user->mobile;
- $user->mobile=mb_substr($request->mobile,0,3).'****'.mb_substr($request->mobile,'-4');
- $user->uuid=Crypt::encryptString($request->mobile);
- $user->area_code=$request->code;
- $user->save();
- // try{
- // $u=UserZ::where('phone',$mobile)->first();
- // if ($u){
- // $u->phone=$request->mobile;
- // $u->save();
- // }
- // }catch (\Exception $exception){
- // Log::error('这是手机号更改的地方出错了'.$exception);
- // }
- return $this->success([]);
- }catch (\Exception $exception){
- Log::error('-----更改手机号出错------');
- return $this->new_error(300,'更改出错,请联系客服');
- }
- }
- /*换绑手机号之发送*/
- public function send_code(Request $request){
- try {
- $mobile=Auth::user()->mobile;
- if ($request->mobile==$mobile){
- Log::error('fsdf');
- return $this->new_error(300,'该手机号和原手机号一致');
- }
- $count=User::where('mobile',$request->mobile)->where('id','<>',Auth::user()->id)->count();
- if ($count>0){
- return $this->new_error(300,'该手机号已被使用');
- }
- $login=new LoginController();
- $code=$login->send_code($request->mobile,0,$request->code);
- if ($code['code']==300){
- return $this->error(300,[],$code['message']);
- }
- return $this->success([]);
- }catch (\Exception $exception){
- Log::error('____更改手机号之发送验证码出错_____');
- return $this->new_error(300,'更改出错,请联系客服');
- }
- }
- /*地址管理---展示地址*/
- public function show_address(){
- $id=Auth::user()->id;
- $uid=Address::where('is_deleted',0)->where('user_id',Auth::user()->id)->pluck('uid');
- $uds=User::whereIn('id',$uid)->pluck('id');
- $address=Address::where('user_id',$id)
- ->whereIn('uid',$uds)
- ->where('is_deleted',0)->with(['user'])
- ->select('uid','username','province','city','town','address','mobile','address_code','mobile_code','id')
- ->orderByDesc('type')->orderbyDesc('updated_at')->orderbyDesc('id')->get();
- $data=[];
- foreach ($address as $k=>$v){
- $data[$k]["id"]=$v->id;
- $data[$k]["type"]=$v->type;
- $data[$k]["con_name"]=$v->username;
- $data[$k]["area_code"]=$v->area_code;
- $data[$k]["con_mobile"]=Crypt::decryptString($v->mobile_code);
- $data[$k]["province"]=$v->province;
- $data[$k]["city"]=$v->city;
- $data[$k]["area"]=$v->town;
- $data[$k]["address"]=Crypt::decryptString($v->address_code);
- $data[$k]["level"]=null;
- $data[$k]["nickname"]=null;
- $data[$k]["phone"]=null;
- $data[$k]["user_nickname"]=$v->user->nickname;
- $data[$k]["avatar"]=$v->user->headimgurl;
- $data[$k]["uid"]=$v->uid;
- }
- // Log::error(json_encode($data));
- return $this->success_list($data);
- }
- /*地址管理-----新增地址*/
- public function add_address(Request $request,Address $address){
- // Log::error('{----地址----}'.json_encode($request->all()));
- $id=Auth::user()->id;
- // $data=$request->all();
- $add=Address::where('mobile',$request->con_mobile)->where('user_id',$id)->where('is_deleted',0)->where('username',$request->con_name)->where('address',$request->address)->first();
- if ($add){
- return $this->error(40023,'','当前地址已存在,请搜索手机号'.$request->con_mobile.'查找该地址');
- }
- if ($request->type==1){
- $count=Address::where('user_id',$id)->where('is_deleted',0)->where('type',1)->count();
- if ($count>=3){
- $num=$count-2;
- Address::where('user_id',$id)->where('is_deleted',0)->where('type',1)->orderBy('created_at')->limit($num)->update(['type'=>0]);
- }
- }
- // if (!$request->province){
- // return $this->error(50021,'','选择这省市区');
- // }
- $mobile_str=mb_substr($request->con_mobile,'0',3).'****'.mb_substr($request->con_mobile,'-4');
- $user=User::where('mobile',$mobile_str)->get();
- $id=Auth::user()->id;
- foreach ($user as $k=>$v){
- try {
- $mobile_strs=Crypt::decryptString($v->uuid);
- if ($mobile_strs==$request->con_mobile){
- $id=$v->id;
- break;
- }
- }catch (\Exception $exception){
- }
- }
- $address->type=$request->type;
- $address->user_id=Auth::user()->id;
- $address->username=$request->con_name;
- $address->area_code=$request->input('areaCode','+86');
- $address->mobile=mb_substr($request->con_mobile,'0',3).'****'.mb_substr($request->con_mobile,'-4');
- $address->province=$request->province;
- $address->city=$request->city;
- $address->town=$request->area;
- $address->address='********';
- $address->uid=$id;
- $address->created_at=Carbon::now()->toDateTimeString();
- $address->updated_at=Carbon::now()->toDateTimeString();
- $address->address_code=Crypt::encryptString($request->address);
- $address->mobile_code=Crypt::encryptString($request->con_mobile);
- $address->save();
- return $this->success(['id'=>$address->id]);
- }
- /*地址管理----删除地址*/
- public function del_address(Request $request){
- $address=Address::find($request->id);
- $address->is_deleted=1;
- $address->save();
- return $this->success([]);
- }
- /*地址管理----编辑地址*/
- public function update_address(Request $request){
- $address=Address::find($request->id);
- if ($address->con_name==$request->con_name&& $address->province==$request->province&&$address->city==$request->city&&$address->town==$request->area&&$address->address==$request->address){
- return $this->error(50024,'','当前修改的地址已存在,请搜索手机号'.$request->con_mobile.'查找该地址');
- }
- if ($request->type==1){
- $count=Address::where('user_id',$request->id)->where('is_deleted',0)->where('type',1)->count();
- if ($count>=3){
- $num=$count-2;
- Address::where('user_id',$request->id)->where('is_deleted',0)->where('type',1)->orderBy('created_at')->limit($num)->update(['type'=>0]);
- }
- }
- $mobile_str=mb_substr($request->con_mobile,'0',3).'****'.mb_substr($request->con_mobile,'-4');
- $user=User::where('mobile',$mobile_str)->get();
- $id=Auth::user()->id;
- foreach ($user as $k=>$v){
- try {
- $mobile_strs=Crypt::decryptString($v->uuid);
- if ($mobile_strs==$request->con_mobile){
- $id=$v->id;
- break;
- }
- }catch (\Exception $exception){
- }
- }
- $address->type=$request->type;
- $address->username=$request->con_name;
- $address->area_code=$request->input('areaCode','+86');
- $address->mobile=mb_substr($request->con_mobile,'0',3).'****'.mb_substr($request->con_mobile,'-4');
- $address->province=$request->province;
- $address->city=$request->city;
- $address->town=$request->area;
- $address->address='********';
- $address->uid=$id;
- $address->address_code=Crypt::encryptString($request->address);
- $address->mobile_code=Crypt::encryptString($request->con_mobile);
- $address->save();
- return $this->success([]);
- }
- /*搜索地址**/
- public function search_address(Request $request){
- $where=[];
- if ($request->search_name){
- $search_name=$request->search_name;
- if (mb_strlen($search_name)==11){
- $where=function ($q)use ($search_name){
- $q->where('username','like',"%$search_name%")
- ->orwhere('mobile','like',"%$search_name%")
- ->orwhere('mobile',mb_substr($search_name,0,3).'****'.mb_substr($search_name,'-4'));
- };
- }else{
- $where=function ($q)use ($search_name){
- $q->where('username','like',"%$search_name%")
- ->orwhere('mobile','like',"%$search_name%");
- };
- }
- }
- $uid=Address::where('is_deleted',0)->where('user_id',Auth::user()->id)->pluck('uid');
- $uds=User::whereIn('id',$uid)->pluck('id');
- $re=Address::where('user_id',Auth::user()->id)->whereIn('uid',$uds)->with(['user'])->where($where)->where('is_deleted',0)->orderByDesc('created_at')->get();
- $data=[];
- foreach ($re as $k=>$v){
- $data[$k]["id"]=$v->id;
- $data[$k]["type"]=$v->type;
- $data[$k]["username"]=$v->username;
- $data[$k]["con_name"]=$v->username;
- $data[$k]["area_code"]=$v->area_code;
- $data[$k]["mobile"]=Crypt::decryptString($v->mobile_code);
- $data[$k]["con_mobile"]=Crypt::decryptString($v->mobile_code);
- $data[$k]["province"]=$v->province;
- $data[$k]["city"]=$v->city;
- $data[$k]["area"]=$v->town;
- $data[$k]["town"]=$v->town;
- $data[$k]["address"]=Crypt::decryptString($v->address_code);
- $data[$k]["level"]=null;
- $data[$k]["nickname"]=null;
- $data[$k]["phone"]=null;
- $data[$k]["uid"]=$v->uid;
- if ($v->user){
- $data[$k]["user_nickname"]=$v->user->nickname;
- $data[$k]["avatar"]=$v->user->headimgurl;
- }else{
- $data[$k]["user_nickname"]='';
- $data[$k]["avatar"]='';
- }
- }
- return $this->success_list($data);
- }
- public function confirm_level(){
- return $this->success([]);
- }
- public function ress(Request $request){
- $add=Address::find($request->id);
- echo $add->user->realname;
- // return $add;
- }
- /*--授权书---*/
- public function auth_code(Request $request){
- $user=User::find($request->id);
- if ($user->cert_status==3||$user->cert_status==6){
- if ($user->auth_startime &&$user->auth_code){
- if ($user->auth_img==null){
- $name=$user->realname==null?$user->nickname:$user->realname;
- $url=$this->auth_create($name,$user->mobile,judge_level($user->level),$user->auth_code,$user->auth_startime,$user->auth_endtime,$user->id);
- $user->auth_img=$url;
- $user->save();
- }
- $data['status']=0;
- }else{
- $data['status']=1;
- }
- }else{
- $data['status']=1;
- }
- if ($user->service_status==1){
- // return $this->error(50021,'','该代理尚未通过政委审核');
- return $this->error(50021,'','该代理尚未通过代理公司审核');
- }
- if ($user->service_status==2){
- // return $this->error(50021,'','该代理的申请已被政委驳回');
- return $this->error(50021,'','该代理的申请已被代理公司驳回');
- }
- $data['auth_startime']=strtotime($user->auth_startime)*1000;
- $data['auth_endtime']=strtotime($user->auth_endtime)*1000;
- $data['code']=$user->auth_code;
- $data['phone']=$user->mobile;
- $data['level_name']=judge_level($user->level);
- $data['nickname']=$user->nickname;
- $data['realname']=$user->realname==null?$user->nickname:$user->realname;
- $data['url']=$user->auth_img==null?'':$user->auth_img;
- // Log::error('{----------}'.json_encode($data));
- return $this->success($data);
- }
- public function auth_create($name,$phone,$level_name,$auth_code,$time_start,$time_end,$num){
- return $this->success([]);
- }
- public function authInfo(){
- return $this->success([]);
- }
- public function rand_code($num){
- $code='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- $str=$num."_";
- $str_1='';
- for ($i=0;$i<20;$i++){
- $int=rand(0,34);
- $str_1.=mb_substr($code,$int,1);
- }
- $str=$str.mb_substr(time(),2,3).$str_1;
- return $str.mb_substr(time(),7,3);
- }
- /*--上传授权书---*/
- public function auth_share(Request $request,ImageUploadHandler $handler){
- Log::error('{---------开始----------}');
- if ($request->img){
- try{
- $data=$handler->save($request->img,'img',Auth::user()->id);
- Log::error('{---------开始-大幅度发的---------}');
- if ($data){
- $user=User::find(Auth::user()->id);
- $user->auth_img=$data['path'];
- $user->save();
- return $this->success(['url'=>$data['path']]);
- }else{
- return $this->error(300);
- }
- }catch (\Exception $e){
- Log::error('{------这里是上传授权书-----}'.Carbon::now()->toDateTimeString());
- return $this->error(300);
- }
- }
- }
- public function auth_sel(Request $request){
- return $this->success([]);
- }
- public function auth_show(Request $request){
- return $this->success([]);
- }
- public function gzh(Request $request){
- // if ($request->has('from')){
- // return ' <div style="padding: 2vw; box-sizing: border-box; height: 100%; background: rgb(243, 243, 243); display: flex; flex-direction: column; align-items: center;">
- // <div style="margin-top: 30vw; width: 20vw; height: 20vw; border-radius: 50%; background: rgb(247, 98, 95); display: flex; justify-content: center; align-items: center; font-size: 18vw; color: #ffffff;">!</div>
- // <div style="margin-top: 24vw; font-size: 6vw; color: black;">已停止访问该网页</div>
- // </div>';
- // }
- Log::error(json_encode($request->all()));
- // return '<script>alert("暂无信息")</script>';
- $url=$request->url();
- $num=mb_strlen($url);
- $num1=mb_strlen('http://api.app.cliu.cc/api/gzh/');
- if ($num>$num1){
- $data=substr($url,-5);
- if ($data=='david'){
- return '<script>alert("当前链接失效,请联系分享二维码进行注册")</script>';
- }
- $time=substr($url,-10);
- if (is_numeric($time)){
- }else{
- return '<script>alert("当前链接失效,请联系重新分享二维码")</script>';
- }
- }
- return view('yzm');
- }
- public function auth_select(){
- // return '<script>alert("暂无信息")</script>';
- // if (!Agent::isMobile()){
- // return view()->file(base_path().'/public/selectstatic/header.html');
- // }
- return view('select');
- }
- public function logout(){
- $user=Auth::user();
- $row=User::where('id',$user->id)->update([
- 'openid'=>null,
- 'unionid'=>null
- ]);
- if($row){
- return $this->success([]);
- }
- return $this->error();
- // return response(view('yzm')) ->withCookie(new SCookie('DWBSTOKEN', 'sid9999', time()-1,'/api'))
- // ->withCookie(new SCookie('DWBSTOKEN','DWBSTOKEN',time()-10,'/'));
- }
- public function login(Request $request){
- $user=User::where('mobile',$request->mobile)->where('deleted_at','=',null)->first();
- if (!$user){
- return $this->error(600);
- }
- if ($user->status==1){
- return $this->error(700);
- }
- $password = md5($request->password);
- if (!hash_equals($password,$user->password)) {
- //返回401
- return $this->error(300);
- }
- $token=Auth::guard()->fromUser($user);
- return $this->success(['token'=>$token]);
- }
- public function update_pass(Request $request){
- $id=Auth::user()->id;
- $user=User::find($id);
- $user->password=md5($request->password);
- $user->save();
- return $this->success([]);
- }
- public function update_nickname(Request $request){
- DB::beginTransaction();
- try{
- $user=User::find(Auth::user()->id);
- $user->nickname=$request->nickname;
- $user->save();
- DB::commit();
- return $this->success([],'修改昵称成功');
- }catch (\Exception $exception){
- Log::error('{-------用户修改昵称出错----错误信息为--}'.$exception);
- DB::rollBack();
- return $this->error(40013,'','修改出错,请重新尝试');
- }
- }
- public function CreateTokenTest(Request $request){
- $phone=$request->input('phone','');
- if ($phone){
- $re=User::where('mobile',$phone)->first();
- if ($re){
- return $this->success(Auth::guard('api')->fromUser($re));
- }else{
- return $this->error(50214,'','没找到');
- }
- }
- return $this->error(50214,'','请添加参数 phone');
- }
- public function GetSetingTime(){
- $re=System::where('keys','upgrade_status')->value('values');
- if ($re==1){
- $start_time=System::where('keys','upgrade_start_time')->value('values');
- $end_time=System::where('keys','upgrade_end_time')->value('values');
- return $this->success(['status'=>true,'start_time'=>$start_time,'end_time'=>$end_time]);
- }
- return $this->success(['status'=>false]);
- }
- public function shouquan(Request $request){
- $url='http://api.cl.jiuweiyun.cn';
- return redirect($url);
- }
- /***
- *author:kele
- *信箱授权AA
- */
- public function xxShouQuan(Request $request){
- $url='http://api.cl.jiuweiyun.cn/api/cl?status=1&code='.$request->input('code');
- // $url='http://192.168.2.120:8080?status=1&code='.$request->input('code');
- return redirect($url);
- }
- public function order_infos(){
- $data=[
- [
- 'seq'=> 1,
- 'nickname'=>'张三',
- 'mobile'=> 15236877164,
- 'kefu'=> '11111',
- 'realname'=> '张先生',
- 'tag'=> '预报',
- 'menL'=> 0,
- 'menXL'=> 1,
- 'men2XL'=> 2,
- 'men3XL'=> 0,
- 'men4XL'=> 0,
- 'men5XL'=> 3,
- 'womenM'=> 1,
- 'womenL'=> 1,
- 'womenXL'=> 10,
- 'women2XL'=> 10,
- 'women3XL'=> 10,
- 'women4XL'=> 0
- ],
- [
- 'seq'=> 1,
- 'nickname'=>'张三',
- 'mobile'=> 15236877164,
- 'kefu'=> '11111',
- 'realname'=> '张先生',
- 'tag'=> '预报',
- 'menL'=> 0,
- 'menXL'=> 1,
- 'men2XL'=> 2,
- 'men3XL'=> 0,
- 'men4XL'=> 0,
- 'men5XL'=> 3,
- 'womenM'=> 1,
- 'womenL'=> 10,
- 'womenXL'=> 12,
- 'women2XL'=> 10,
- 'women3XL'=> 10,
- 'women4XL'=> 0
- ],
- [
- 'seq'=> 2,
- 'nickname'=>'可乐',
- 'mobile'=> 15236877164,
- 'kefu'=> '11111',
- 'realname'=> '张先生',
- 'tag'=> '预报',
- 'menL'=> 0,
- 'menXL'=> 1,
- 'men2XL'=> 2,
- 'men3XL'=> 0,
- 'men4XL'=> 0,
- 'men5XL'=> 3,
- 'womenM'=> 1,
- 'womenL'=> 1,
- 'womenXL'=> 10,
- 'women2XL'=> 10,
- 'women3XL'=> 10,
- 'women4XL'=> 0
- ],
- [
- 'seq'=> 2,
- 'nickname'=>'可乐',
- 'mobile'=> 15236877164,
- 'kefu'=> '11111',
- 'realname'=> '张先生',
- 'tag'=> '预报',
- 'menL'=> 0,
- 'menXL'=> 1,
- 'men2XL'=> 2,
- 'men3XL'=> 0,
- 'men4XL'=> 0,
- 'men5XL'=> 3,
- 'womenM'=> 1,
- 'womenL'=> 1,
- 'womenXL'=> 11,
- 'women2XL'=> 10,
- 'women3XL'=> 10,
- 'women4XL'=> 0
- ],
- ];
- return $this->success($data);
- }
- }
|