From 0d9340bb2454a38678e7cb2d91d7cf4d071e5021 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq,com> Date: Wed, 27 Sep 2023 16:41:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=90=86=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/AgentTeam.php | 48 +++++++-------- app/controller/Passport.php | 107 +++++++++++++++++----------------- app/middleware/CheckAgent.php | 3 +- app/validate/Agent.php | 7 +++ 4 files changed, 88 insertions(+), 77 deletions(-) diff --git a/app/controller/AgentTeam.php b/app/controller/AgentTeam.php index d074db7..acd3cad 100644 --- a/app/controller/AgentTeam.php +++ b/app/controller/AgentTeam.php @@ -6,8 +6,8 @@ namespace app\controller; use app\BaseController; use app\middleware\CheckAgent; use app\model\AgentDownScoresRecords; +use app\model\AgentInfo; use app\model\AgentUpScoresRecords; -use app\model\AgentUser; use app\model\RechargeRecords; use app\model\Setting as SettingModel; use app\model\User; @@ -16,7 +16,6 @@ use app\model\CustomerService as CustomerServiceModel; use app\model\WithdrawalRecords; use app\validate\Agent; use think\exception\ValidateException; -use think\facade\Cache; use think\facade\Db; use think\facade\Request; use think\facade\Session; @@ -62,7 +61,7 @@ class AgentTeam extends BaseController } # 查询用户列表 - $field = 'id,aid,phone,avatar,balance,withdrawal_balance'; + $field = 'id,aid,phone,avatar,balance,withdrawal_balance,identity'; $userRes = $UserModel->field($field)->where($where)->order('id desc')->paginate($limit); $list = $userRes->items(); @@ -70,8 +69,10 @@ class AgentTeam extends BaseController foreach ($list as &$item) { - $item['phone'] = format_phone_number($item['phone']); + #$item['phone'] = format_phone_number($item['phone']); $item['avatar'] = get_image_url($item['avatar']); + $item['identity_str'] = $UserModel->identityArr[$item['identity']]; + unset($item['identity']); } return $this->renderSuccess('数据返回成功',['list' => $list, 'total' => $total]); @@ -84,25 +85,24 @@ class AgentTeam extends BaseController */ public function rechargeRecords() { - $agentData = $this->request->userInfo; + $userData = $this->request->userInfo; $data = Request::param(); $limit = $data['limit'] ?: 10; - $list = Db::name('agent_recharge_records') - ->where('aid',$agentData['id']) + $RechargeRecords = new RechargeRecords(); + $list = Db::name('recharge_records') + ->where('user_id',$userData['id']) ->field('recharge_amount,residue_amount,trade_type,recharge_time') ->order('id' ,'desc') ->paginate($limit); $listArr = $list->items(); - $trade_type = [1 => '上分', 3 => '支付宝']; - foreach ($listArr as &$item) { give_symbol($item['recharge_amount']); - $item['trade_type'] = $trade_type[$item['trade_type']]; + $item['trade_type'] = $RechargeRecords->tradeType[$item['trade_type']]; $item['recharge_time'] = date("m月d日 H:i",strtotime($item['recharge_time'])); } @@ -125,19 +125,21 @@ class AgentTeam extends BaseController $agentUser = $this->request->userInfo; validate(Agent::class)->scene('scores')->check($request); + $checkCodeRes = validate(Agent::class)->validateUserInfo($agentUser['id'],$request['user_id']); + if ($checkCodeRes !== true) return $this->renderError($checkCodeRes); $user_id = $request['user_id']; # 用户id $quota = $request['quota']; # 额度 # 检测代理余额是否足够 - $inspectRes = AgentUser::inspectBalance($agentUser['id'],$quota); + $inspectRes = User::inspectBalance($agentUser['id'],$quota); if (!$inspectRes['status']) throw new ValidateException($inspectRes['msg']); # 开启事务 $connection->startTrans(); # 扣减代理余额 - $agentBalance = AgentUser::decrBalance($agentUser['id'],$quota); + $agentBalance = User::decrBalance($agentUser['id'],$quota); # 用户上分记录 AgentUpScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance); @@ -146,7 +148,7 @@ class AgentTeam extends BaseController $userBalance = User::incrBalance($user_id,$quota); # 用户充值记录-上分 - RechargeRecords::createRecords($user_id,$quota,$userBalance,1); + RechargeRecords::createRecords($user_id,$quota,$userBalance,1,1,$agentUser['id']); $connection->commit(); return $this->renderSuccess('上分成功'); @@ -173,6 +175,8 @@ class AgentTeam extends BaseController try { $agentUser = $this->request->userInfo; validate(Agent::class)->scene('scores')->check($request); + $checkCodeRes = validate(Agent::class)->validateUserInfo($agentUser['id'],$request['user_id']); + if ($checkCodeRes !== true) return $this->renderError($checkCodeRes); $user_id = $request['user_id']; # 用户id $quota = $request['quota']; # 额度 @@ -185,7 +189,7 @@ class AgentTeam extends BaseController $connection->startTrans(); # 增加代理可提余额 - $agentBalance = AgentUser::incrWithdrawalBalance($agentUser['id'],$quota); + $agentBalance = User::incrWithdrawalBalance($agentUser['id'],$quota); # 用户下分记录 AgentDownScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance); @@ -194,7 +198,7 @@ class AgentTeam extends BaseController $userBalance = User::decrWithdrawalBalance($user_id,$quota); # 用户提现记录-下分 - WithdrawalRecords::createRecords($user_id,$quota,$userBalance,1); + WithdrawalRecords::createRecords($user_id,$quota,$userBalance,1,1,$agentUser['id']); $connection->commit(); return $this->renderSuccess('下分成功'); @@ -216,9 +220,9 @@ class AgentTeam extends BaseController { $agentUser = $this->request->userInfo; - $user = AgentUser::find($agentUser['id']); + $userInfo = AgentInfo::where('aid',$agentUser['id'])->find(); - return $this->renderSuccess('数据返回成功',['code' => $user->invite_code]); + return $this->renderSuccess('数据返回成功',['code' => $userInfo->invite_code]); } /** @@ -232,7 +236,7 @@ class AgentTeam extends BaseController { $agentUser = $this->request->userInfo; - $user = AgentUser::find($agentUser['id']); + $user = User::find($agentUser['id']); return $this->renderSuccess('数据返回成功',[ 'aid' => $user->id, @@ -258,9 +262,9 @@ class AgentTeam extends BaseController // 验证代理输入 validate(Agent::class)->scene('modifyPassword')->check($data); - $userModel = new AgentUser(); + $userModel = new User(); - $user = $userModel->retrieve(['password' => $data['password'],'aid' => $this->request->userInfo['id']]); + $user = $userModel->retrieve(['password' => $data['password'],'user_id' => $this->request->userInfo['id']]); if ($user['status']) { return $this->renderSuccess('修改成功'); @@ -363,9 +367,7 @@ class AgentTeam extends BaseController */ public function LogOut() { - Session::delete('login_agent_user_data'); -// $login_agent_user_data = Cache::store('redis')->get('login_agent_user_data'); -// if ($login_agent_user_data) Cache::store('redis')->delete('login_agent_user_data'); + Session::delete('login_user_data'); return $this->renderSuccess('退出登陆成功'); } } diff --git a/app/controller/Passport.php b/app/controller/Passport.php index 059bf20..9746a48 100644 --- a/app/controller/Passport.php +++ b/app/controller/Passport.php @@ -6,7 +6,6 @@ use app\BaseController; use app\common\lib\sms\AliSms\AliSms; use app\logic\InitData; use app\model\AdminUser; -use app\model\AgentUser; use app\model\Pincode; use app\model\User as UserModel; use app\validate\Passport as PassportValidate; @@ -268,48 +267,55 @@ class Passport extends BaseController */ public function agentLogin() { - $data = Request::param(); - - $count = 0; - $defaultCount = 3;# 默认登陆三次提示验证码 - try { - - $cookie_name = 'login_count'.$_SERVER['HTTP_HOST']; - // 验证用户输入 - validate(PassportValidate::class)->scene('agentLogin')->check($data); - - # 验证码验证 - if ($count = Cookie::get($cookie_name) ?: 0) { - Cookie::set($cookie_name,$count+1); - } else { - Cookie::set($cookie_name,1); - } - if ($count > $defaultCount) { - $this->validate($data,['captcha|验证码'=>'require|captcha']); - } - - // 管理员登陆 - $agentUser = AgentUser::login($data); - - if ($agentUser['status'] == 1) { - - $userinfo = ['id' => $agentUser['data']['id'], 'avatar' => get_image_url($agentUser['data']['avatar']), 'time' => time()]; - $token = ['token'=>signToken($userinfo)]; - - Cookie::delete($cookie_name); - return $this->renderSuccess('登陆成功',$token); - } else { - throw new ValidateException($agentUser['msg']); - } - } catch (ValidateException $exception) { - - $data = ['captcha_img' => '']; - if ($count >= $defaultCount) $data['captcha_img'] = captcha_src(); - return $this->renderError($exception->getMessage(),$data); - } + return $this->renderError('已弃用'); +// $data = Request::param(); +// +// $count = 0; +// $defaultCount = 3;# 默认登陆三次提示验证码 +// try { +// +// $cookie_name = 'login_count'.$_SERVER['HTTP_HOST']; +// // 验证用户输入 +// validate(PassportValidate::class)->scene('agentLogin')->check($data); +// +// # 验证码验证 +// if ($count = Cookie::get($cookie_name) ?: 0) { +// Cookie::set($cookie_name,$count+1); +// } else { +// Cookie::set($cookie_name,1); +// } +// if ($count > $defaultCount) { +// $this->validate($data,['captcha|验证码'=>'require|captcha']); +// } +// +// // 管理员登陆 +// $agentUser = AgentUser::login($data); +// +// if ($agentUser['status'] == 1) { +// +// $userinfo = ['id' => $agentUser['data']['id'], 'avatar' => get_image_url($agentUser['data']['avatar']), 'time' => time()]; +// $token = ['token'=>signToken($userinfo)]; +// +// Cookie::delete($cookie_name); +// return $this->renderSuccess('登陆成功',$token); +// } else { +// throw new ValidateException($agentUser['msg']); +// } +// } catch (ValidateException $exception) { +// +// $data = ['captcha_img' => '']; +// if ($count >= $defaultCount) $data['captcha_img'] = captcha_src(); +// return $this->renderError($exception->getMessage(),$data); +// } } - + /** + * 统一登录接口 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + */ public function mixedLogin() { @@ -340,14 +346,19 @@ class Passport extends BaseController $this->validate($param,['captcha|验证码'=>'require|captcha']); } - # 登录 + # 用户 代理 登录 $data = $param; $data['phone'] = $param['account_number']; $userModel = new UserModel(); $user = $userModel->login($data); if ($user['status']) { - $userinfo = ['id' => $user['data']['id'], 'avatar' => get_image_url($user['data']['avatar']), 'time' => time()]; - $token = ['token'=>signToken($userinfo),'type' => 3]; + $userinfo = [ + 'id' => $user['data']['id'], + 'avatar' => get_image_url($user['data']['avatar']), + 'time' => time(), + 'identity' => $user['data']['identity'] + ]; + $token = ['token'=>signToken($userinfo),'type' => $user['data']['identity']]; Cookie::delete($cookie_name); return $this->renderSuccess('登陆成功',$token); } @@ -359,14 +370,6 @@ class Passport extends BaseController Cookie::delete($cookie_name); return $this->renderSuccess('登陆成功',$token); } - // 代理登陆 - $agentUser = AgentUser::login($data); - if ($agentUser['status']) { - $userinfo = ['id' => $agentUser['data']['id'], 'avatar' => get_image_url($agentUser['data']['avatar']), 'time' => time()]; - $token = ['token'=>signToken($userinfo),'type' => 2]; - Cookie::delete($cookie_name); - return $this->renderSuccess('登陆成功',$token); - } throw new ValidateException('账号或密码,不正确'); } catch (ValidateException $validateException) { diff --git a/app/middleware/CheckAgent.php b/app/middleware/CheckAgent.php index 95c2340..d89214b 100644 --- a/app/middleware/CheckAgent.php +++ b/app/middleware/CheckAgent.php @@ -29,8 +29,7 @@ class CheckAgent if (!Session::get('login_user_data')) { throw new Exception('代理未登陆,请先登陆后操作',201); } - $user = User::find($userinfo['data']['id']); - if ($user['identity'] != 2) { + if ($userinfo['data']['identity'] != 2) { throw new Exception('非代理身份无法操作',400); } } diff --git a/app/validate/Agent.php b/app/validate/Agent.php index 588a144..e48fb89 100644 --- a/app/validate/Agent.php +++ b/app/validate/Agent.php @@ -38,4 +38,11 @@ class Agent extends Validate 'register' => ['phone','password','rebate_ratio'], 'modifyPassword' => ['password','repassword'], ]; + + public function validateUserInfo($aid,$user_id) + { + $query = \app\model\User::where('aid',$aid)->where('id',$user_id)->find(); + if (!$query) return '当前用户不在你管理之下'; + return true; + } }