Browse Source

优化代理信息

master
wanghongjun 3 years ago
parent
commit
0d9340bb24
  1. 48
      app/controller/AgentTeam.php
  2. 107
      app/controller/Passport.php
  3. 3
      app/middleware/CheckAgent.php
  4. 7
      app/validate/Agent.php

48
app/controller/AgentTeam.php

@ -6,8 +6,8 @@ namespace app\controller;
use app\BaseController; use app\BaseController;
use app\middleware\CheckAgent; use app\middleware\CheckAgent;
use app\model\AgentDownScoresRecords; use app\model\AgentDownScoresRecords;
use app\model\AgentInfo;
use app\model\AgentUpScoresRecords; use app\model\AgentUpScoresRecords;
use app\model\AgentUser;
use app\model\RechargeRecords; use app\model\RechargeRecords;
use app\model\Setting as SettingModel; use app\model\Setting as SettingModel;
use app\model\User; use app\model\User;
@ -16,7 +16,6 @@ use app\model\CustomerService as CustomerServiceModel;
use app\model\WithdrawalRecords; use app\model\WithdrawalRecords;
use app\validate\Agent; use app\validate\Agent;
use think\exception\ValidateException; use think\exception\ValidateException;
use think\facade\Cache;
use think\facade\Db; use think\facade\Db;
use think\facade\Request; use think\facade\Request;
use think\facade\Session; 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); $userRes = $UserModel->field($field)->where($where)->order('id desc')->paginate($limit);
$list = $userRes->items(); $list = $userRes->items();
@ -70,8 +69,10 @@ class AgentTeam extends BaseController
foreach ($list as &$item) { 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['avatar'] = get_image_url($item['avatar']);
$item['identity_str'] = $UserModel->identityArr[$item['identity']];
unset($item['identity']);
} }
return $this->renderSuccess('数据返回成功',['list' => $list, 'total' => $total]); return $this->renderSuccess('数据返回成功',['list' => $list, 'total' => $total]);
@ -84,25 +85,24 @@ class AgentTeam extends BaseController
*/ */
public function rechargeRecords() public function rechargeRecords()
{ {
$agentData = $this->request->userInfo; $userData = $this->request->userInfo;
$data = Request::param(); $data = Request::param();
$limit = $data['limit'] ?: 10; $limit = $data['limit'] ?: 10;
$list = Db::name('agent_recharge_records') $RechargeRecords = new RechargeRecords();
->where('aid',$agentData['id']) $list = Db::name('recharge_records')
->where('user_id',$userData['id'])
->field('recharge_amount,residue_amount,trade_type,recharge_time') ->field('recharge_amount,residue_amount,trade_type,recharge_time')
->order('id' ,'desc') ->order('id' ,'desc')
->paginate($limit); ->paginate($limit);
$listArr = $list->items(); $listArr = $list->items();
$trade_type = [1 => '上分', 3 => '支付宝'];
foreach ($listArr as &$item) { foreach ($listArr as &$item) {
give_symbol($item['recharge_amount']); 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'])); $item['recharge_time'] = date("m月d日 H:i",strtotime($item['recharge_time']));
} }
@ -125,19 +125,21 @@ class AgentTeam extends BaseController
$agentUser = $this->request->userInfo; $agentUser = $this->request->userInfo;
validate(Agent::class)->scene('scores')->check($request); 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 $user_id = $request['user_id']; # 用户id
$quota = $request['quota']; # 额度 $quota = $request['quota']; # 额度
# 检测代理余额是否足够 # 检测代理余额是否足够
$inspectRes = AgentUser::inspectBalance($agentUser['id'],$quota); $inspectRes = User::inspectBalance($agentUser['id'],$quota);
if (!$inspectRes['status']) throw new ValidateException($inspectRes['msg']); if (!$inspectRes['status']) throw new ValidateException($inspectRes['msg']);
# 开启事务 # 开启事务
$connection->startTrans(); $connection->startTrans();
# 扣减代理余额 # 扣减代理余额
$agentBalance = AgentUser::decrBalance($agentUser['id'],$quota); $agentBalance = User::decrBalance($agentUser['id'],$quota);
# 用户上分记录 # 用户上分记录
AgentUpScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance); AgentUpScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance);
@ -146,7 +148,7 @@ class AgentTeam extends BaseController
$userBalance = User::incrBalance($user_id,$quota); $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(); $connection->commit();
return $this->renderSuccess('上分成功'); return $this->renderSuccess('上分成功');
@ -173,6 +175,8 @@ class AgentTeam extends BaseController
try { try {
$agentUser = $this->request->userInfo; $agentUser = $this->request->userInfo;
validate(Agent::class)->scene('scores')->check($request); 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 $user_id = $request['user_id']; # 用户id
$quota = $request['quota']; # 额度 $quota = $request['quota']; # 额度
@ -185,7 +189,7 @@ class AgentTeam extends BaseController
$connection->startTrans(); $connection->startTrans();
# 增加代理可提余额 # 增加代理可提余额
$agentBalance = AgentUser::incrWithdrawalBalance($agentUser['id'],$quota); $agentBalance = User::incrWithdrawalBalance($agentUser['id'],$quota);
# 用户下分记录 # 用户下分记录
AgentDownScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance); AgentDownScoresRecords::createRecords($agentUser['id'],$user_id,$quota,$agentBalance);
@ -194,7 +198,7 @@ class AgentTeam extends BaseController
$userBalance = User::decrWithdrawalBalance($user_id,$quota); $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(); $connection->commit();
return $this->renderSuccess('下分成功'); return $this->renderSuccess('下分成功');
@ -216,9 +220,9 @@ class AgentTeam extends BaseController
{ {
$agentUser = $this->request->userInfo; $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; $agentUser = $this->request->userInfo;
$user = AgentUser::find($agentUser['id']); $user = User::find($agentUser['id']);
return $this->renderSuccess('数据返回成功',[ return $this->renderSuccess('数据返回成功',[
'aid' => $user->id, 'aid' => $user->id,
@ -258,9 +262,9 @@ class AgentTeam extends BaseController
// 验证代理输入 // 验证代理输入
validate(Agent::class)->scene('modifyPassword')->check($data); 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']) { if ($user['status']) {
return $this->renderSuccess('修改成功'); return $this->renderSuccess('修改成功');
@ -363,9 +367,7 @@ class AgentTeam extends BaseController
*/ */
public function LogOut() public function LogOut()
{ {
Session::delete('login_agent_user_data'); Session::delete('login_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');
return $this->renderSuccess('退出登陆成功'); return $this->renderSuccess('退出登陆成功');
} }
} }

107
app/controller/Passport.php

@ -6,7 +6,6 @@ use app\BaseController;
use app\common\lib\sms\AliSms\AliSms; use app\common\lib\sms\AliSms\AliSms;
use app\logic\InitData; use app\logic\InitData;
use app\model\AdminUser; use app\model\AdminUser;
use app\model\AgentUser;
use app\model\Pincode; use app\model\Pincode;
use app\model\User as UserModel; use app\model\User as UserModel;
use app\validate\Passport as PassportValidate; use app\validate\Passport as PassportValidate;
@ -268,48 +267,55 @@ class Passport extends BaseController
*/ */
public function agentLogin() public function agentLogin()
{ {
$data = Request::param(); return $this->renderError('已弃用');
// $data = Request::param();
$count = 0; //
$defaultCount = 3;# 默认登陆三次提示验证码 // $count = 0;
try { // $defaultCount = 3;# 默认登陆三次提示验证码
// try {
$cookie_name = 'login_count'.$_SERVER['HTTP_HOST']; //
// 验证用户输入 // $cookie_name = 'login_count'.$_SERVER['HTTP_HOST'];
validate(PassportValidate::class)->scene('agentLogin')->check($data); // // 验证用户输入
// validate(PassportValidate::class)->scene('agentLogin')->check($data);
# 验证码验证 //
if ($count = Cookie::get($cookie_name) ?: 0) { // # 验证码验证
Cookie::set($cookie_name,$count+1); // if ($count = Cookie::get($cookie_name) ?: 0) {
} else { // Cookie::set($cookie_name,$count+1);
Cookie::set($cookie_name,1); // } else {
} // Cookie::set($cookie_name,1);
if ($count > $defaultCount) { // }
$this->validate($data,['captcha|验证码'=>'require|captcha']); // if ($count > $defaultCount) {
} // $this->validate($data,['captcha|验证码'=>'require|captcha']);
// }
// 管理员登陆 //
$agentUser = AgentUser::login($data); // // 管理员登陆
// $agentUser = AgentUser::login($data);
if ($agentUser['status'] == 1) { //
// if ($agentUser['status'] == 1) {
$userinfo = ['id' => $agentUser['data']['id'], 'avatar' => get_image_url($agentUser['data']['avatar']), 'time' => time()]; //
$token = ['token'=>signToken($userinfo)]; // $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); // Cookie::delete($cookie_name);
} else { // return $this->renderSuccess('登陆成功',$token);
throw new ValidateException($agentUser['msg']); // } else {
} // throw new ValidateException($agentUser['msg']);
} catch (ValidateException $exception) { // }
// } catch (ValidateException $exception) {
$data = ['captcha_img' => '']; //
if ($count >= $defaultCount) $data['captcha_img'] = captcha_src(); // $data = ['captcha_img' => ''];
return $this->renderError($exception->getMessage(),$data); // 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() public function mixedLogin()
{ {
@ -340,14 +346,19 @@ class Passport extends BaseController
$this->validate($param,['captcha|验证码'=>'require|captcha']); $this->validate($param,['captcha|验证码'=>'require|captcha']);
} }
# 登录 # 用户 代理 登录
$data = $param; $data = $param;
$data['phone'] = $param['account_number']; $data['phone'] = $param['account_number'];
$userModel = new UserModel(); $userModel = new UserModel();
$user = $userModel->login($data); $user = $userModel->login($data);
if ($user['status']) { if ($user['status']) {
$userinfo = ['id' => $user['data']['id'], 'avatar' => get_image_url($user['data']['avatar']), 'time' => time()]; $userinfo = [
$token = ['token'=>signToken($userinfo),'type' => 3]; '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); Cookie::delete($cookie_name);
return $this->renderSuccess('登陆成功',$token); return $this->renderSuccess('登陆成功',$token);
} }
@ -359,14 +370,6 @@ class Passport extends BaseController
Cookie::delete($cookie_name); Cookie::delete($cookie_name);
return $this->renderSuccess('登陆成功',$token); 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('账号或密码,不正确'); throw new ValidateException('账号或密码,不正确');
} catch (ValidateException $validateException) { } catch (ValidateException $validateException) {

3
app/middleware/CheckAgent.php

@ -29,8 +29,7 @@ class CheckAgent
if (!Session::get('login_user_data')) { if (!Session::get('login_user_data')) {
throw new Exception('代理未登陆,请先登陆后操作',201); throw new Exception('代理未登陆,请先登陆后操作',201);
} }
$user = User::find($userinfo['data']['id']); if ($userinfo['data']['identity'] != 2) {
if ($user['identity'] != 2) {
throw new Exception('非代理身份无法操作',400); throw new Exception('非代理身份无法操作',400);
} }
} }

7
app/validate/Agent.php

@ -38,4 +38,11 @@ class Agent extends Validate
'register' => ['phone','password','rebate_ratio'], 'register' => ['phone','password','rebate_ratio'],
'modifyPassword' => ['password','repassword'], '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;
}
} }

Loading…
Cancel
Save