post('mobile', null); $user=User::whereMobile($mobile)->select(['id', 'mobile', 'nick_name'])->first(); $user->coin=round($user->coin,2); return showJsonSucc('获取用户信息成功',$user ); } /** * 用户资料 * @author lyh * @date 2019/3/19 * @description */ public function show() { $user = \Auth::user(); //查看用户代理的区域 wsl 20190702 $dailistr=''; if(!empty($user)&&$user['level']>5){ $row=ProxyArea::whereUid($user->id)->whereIn('status',[2,3])->select('province','city','district')->first(); if(!empty($row)){ $daili[]=Area::whereId($row->province)->value('name'); $daili[]=Area::whereId($row->city)->value('name'); $daili[]=Area::whereId($row->district)->value('name'); if(!empty($daili))$dailistr=implode(' ',$daili); } } $userdatas = DB::select('select * from zx_user where id = :id', ['id' => \Auth::id()]); // $auth = Upgrade::condition(\Auth::id()); // var_dump($auth);exit; return showJsonSucc(1001, [ 'id' => $user->id, 'mobile' => $user->mobile, 'nick_name' => $user->nick_name, 'avatar' => $user->avatar, 'real_name' => $user->real_name, 'balance' => $user->balance, 'coin' => $user->coin, 'is_apply' => $user->is_apply, 'invitor' => User::getInfo($user->invitor, ['id', 'nick_name','mobile']), 'invite_code' => $user->invite_code, 'invite_image' => User::getInviteImage($user->invite_code), 'province' => Area::getName($user->province), 'city' => Area::getName($user->city), 'district' => Area::getName($user->district), 'level' => $user->level, 'status' => $user->status, 'created_at' => $userdatas[0]->created_at, 'commission' => AccountLog::getSumMoney(\Auth::id(), [10, 11, 12, 13, 20, 21, 22, 23]), // 佣金 'url' => env('APP_URL'), 'upGrade' => Upgrade::condition(\Auth::id()), // 判断是否达到升级条件 'proxy_area'=>$dailistr ]); } public function getPayQrcode(Request $request){ $param=$request->all(); if(empty($param['code_url'])){ return showJsonErr('code_url 必填'); } $res=User::getPayCode($param['code_url']); if(!empty($res)) return $res; return ''; } /* * 修改支付密码 * wsl * 20190726 * */ public function modifyPayPass(Request $request){ $validator = \Validator::make($param = $request->post(), [ 'pay_password' => 'required|min:6', 'sms' => 'required|size:4' ],['sms.required'=>'验证码不能为空','sms.size'=>'验证码长度为4']); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } // 验证短信 $smsProvider = \App::make('sms'); $sms = $smsProvider->verifySms(\Auth::user()->mobile, $param['sms']); if ($sms == false) { return showJson(102, '短信验证码错误'); } $update = User::whereId(\Auth::id())->update(['pay_password' => md5(md5($param['pay_password']))]); if (empty($update)) { return showJson(102, '修改失败'); } return showJson(101, '修改成功'); } /** * 代理明细 * @author lyh * @date 2019/3/19 * @description */ public function invitor(Request $request) { $validator = \Validator::make($param = $request->post(), [ 'type' => 'required|between:0,2', 'page' => 'required|numeric' ]); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } $userinfo=User::whereId(\Auth::id())->first()->toArray(); if ($param['type'] == 1) { $ids = User::getInviteeOne(\Auth::id()); //获取当前间1配置的百分比 $pct=0; if($userinfo['level']!=1){ $pct=Proxy::getJianPct($userinfo,1,1,$ids); } } elseif ($param['type'] == 2) { $ids = User::getInviteeTwo(\Auth::id()); $pct=0; if($userinfo['level']!=1) { $pct = Proxy::getJianPct($userinfo, 2, 1, $ids); } } else { $ids = User::getInvitee(\Auth::id()); $pctarr = Proxy::getSettingByAreaAndLevel($userinfo['level'],$userinfo['province'],$userinfo['city'],$userinfo['district']); $pct=$pctarr['proxy_invite']; } $user = User::getList($ids, ['nick_name', 'id', 'mobile']); if ($user->isNotEmpty()) { collect($user->items())->each(function ($item, $key) { $item['invitorNum'] = User::whereInvitor($item['id'])->count('id'); // 下级数量 $item['performance'] = Upgrade::whereUid($item['id'])->whereStatus(3)->sum('money'); // 待完善 代理费业绩 }); } return showJsonSucc('获取数据成功', [ 'user' => $user, 'pct' => $pct, 'count' => count($ids), 'totalPerformance' => Upgrade::whereStatus(3)->whereIn('uid', $ids)->sum('money') ]); } /** * 完善信息 * @author lyh * @date 2019/3/21 * @description */ public function update(Request $request) { $validator = \Validator::make($param = $request->post(), [ 'id_card' => [new IdCard], 'real_name' => 'string', 'nick_name' => 'string', 'province' => 'required_with_all:city,district|numeric|exists:area,id', 'city' => 'required_with_all:province,district|numeric|exists:area,id', 'district' => 'required_with_all:province,city|numeric|exists:area,id', 'username' => 'string', 'phone' => [new Phone], //'bank_number' => [new BankNum], 'bank_name' => 'string', ]); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } $userParam = array_filter($param, function ($v, $k) { return !empty($v) && in_array($k, [ 'id_card', 'real_name', 'nick_name', 'district', 'city', 'province', ]); }, ARRAY_FILTER_USE_BOTH); $userBankParam['username']=empty($param['username'])?'':trim($param['username']); $userBankParam['phone']=empty($param['phone'])?'':trim($param['phone']); $userBankParam['bank_name']=empty($param['bank_name'])?'':trim($param['bank_name']); $userBankParam['bank_number']=empty($param['bank_number'])?'':trim($param['bank_number']); $userBankParam['province']=empty($param['province'])?0:trim($param['province']); $userBankParam['city']=empty($param['city'])?0:trim($param['city']); $userBankParam['district']=empty($param['district'])?0:trim($param['district']); if (isset($param['province'])) { if (Area::isRealation($param['province'], $param['city'], $param['district']) == false) { return showJsonErr('地区关系错误'); } } \DB::beginTransaction(); try { if ($userParam) { User::whereId(\Auth::id())->update($userParam); } $bank = UserBank::whereUid(\Auth::id())->first(); if ($userBankParam) { $userBankParam['status'] = 2; $userBankParam['uid'] = \Auth::id(); if ($bank) { UserBank::whereUid(\Auth::id())->update($userBankParam); } else { UserBank::whereUid(\Auth::id())->insert($userBankParam); } } \DB::commit(); } catch (Exception $exception) { \DB::rollBack(); return showJsonErr($exception->getMessage()); } // 确认信息完善则修改等级否则不做操作 $this->fullStatus(); return showJsonSucc('更新数据成功'); } /** * 修改登录密码 * @author lyh * @date 2019/4/19 * @param Request $request * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @description */ public function modifyPassword(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'new_pass' => 'required|min:6', 'comfirm_pass' => 'required|same:new_pass', 'mobile' => [ 'integer', new Phone() ], 'sms' => 'required|numeric|digits_between:4,4', 'type' => 'required|integer|between:1,2' ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } if ($param['mobile'] != \Auth::user()->mobile) { return showJsonErr('抱歉,请输入正确的手机号码'); } $smsProvider = \App::make('sms'); $sms = $smsProvider->verifySms($param['mobile'], $param['sms']); if ($sms == false) { return showJson(102, '短信验证码错误'); } if ($param['type'] == 1) { $field = 'password'; } else { $field = 'pay_password'; } $result = User::whereMobile($param['mobile'])->update([$field => User::encodePassword($param['new_pass'])]); if (!$result) { return showJsonErr('修改密码失败'); } return showJsonSucc('修改密码成功'); } /** * 修改用户信息完善状态、等级 * @author lyh * @date 2019/3/21 * @description */ private function fullStatus() { if (\Auth::user()->level == 0) { $user = User::whereId(\Auth::id())->select(['nick_name', 'real_name', 'id_card', 'province', 'city', 'district', 'level'])->first()->toArray(); if ($bank = UserBank::whereUid(\Auth::id())->select(['id'])->first()) { $bank = $bank->toArray(); $checkData = array_merge($user, $bank); } // 如果未通过则进行验证 if ($bank && $checkData['level'] == 0) { $isFull = true; foreach ($checkData as $key => $item) { if (empty($item) && $key != 'level') { $isFull = false; } } User::whereId(\Auth::id())->update(['level' => $isFull == true ? 1 : 0]); } } } }