更新
This commit is contained in:
@@ -107,16 +107,44 @@ class Login extends Model
|
||||
$block = db::name('block')->where(['type_text' => $user_info['id'],'type' => 1])->find();
|
||||
|
||||
if ($block) {
|
||||
return ['code' => 0, 'msg' => '用户已被封禁', 'data' => null];
|
||||
if($block['block_time'] != 0 && $block['block_time'] <= time()){
|
||||
db('block')->where(['id' => $block['id']])->delete();
|
||||
$sms_error = db::name('sms_error')->where(['mobile' => $user_info['mobile']])->find();
|
||||
if($sms_error){
|
||||
db::name('sms_error')->where(['mobile' => $user_info['mobile']])->delete();
|
||||
}
|
||||
}else{
|
||||
if($block['block_time'] == 0){
|
||||
return ['code' => 301, 'msg' => '用户已被永久封禁', 'data' => null];
|
||||
}else{
|
||||
return ['code' => 301, 'msg' => '用户已被封禁,解封时间:'.date('Y-m-d H:i:s',$block['block_time']), 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
$block = db::name('block')->where(['type_text' => $login_device,'type' => 2])->find();
|
||||
if ($block) {
|
||||
return ['code' => 0, 'msg' => '设备已被封禁', 'data' => null];
|
||||
if($block['block_time'] != 0 && $block['block_time'] <= time()){
|
||||
db('block')->where(['id' => $block['id']])->delete();
|
||||
}else{
|
||||
if($block['block_time'] == 0){
|
||||
return ['code' => 301, 'msg' => '设备已被永久封禁', 'data' => null];
|
||||
}else{
|
||||
return ['code' => 301, 'msg' => '设备已被封禁,解封时间:'.date('Y-m-d H:i:s',$block['block_time']), 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
$ip = request()->ip();
|
||||
$block = db::name('block')->where(['type_text' => $ip,'type' => 3])->find();
|
||||
if ($block) {
|
||||
return ['code' => 0, 'msg' => 'ip已被封禁', 'data' => null];
|
||||
if($block['block_time'] != 0 && $block['block_time'] <= time()){
|
||||
db('block')->where(['id' => $block['id']])->delete();
|
||||
}else{
|
||||
if($block['block_time'] == 0){
|
||||
return ['code' => 301, 'msg' => 'ip已被永久封禁', 'data' => null];
|
||||
}else{
|
||||
return ['code' => 301, 'msg' => 'ip已被封禁,解封时间:'.date('Y-m-d H:i:s',$block['block_time']), 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$save_data = [];
|
||||
@@ -181,6 +209,17 @@ class Login extends Model
|
||||
}
|
||||
$return_res[0]['auth'] = $isAuth;
|
||||
|
||||
//是否可以发布动态
|
||||
$user_rechange = db::name('vs_user_recharge')->field('sum(money) as money')->where(['user_id' => $user_info['id'],'pay_status' => 2])->find();
|
||||
//系统配置
|
||||
$config_money = get_system_config_value('private_chat_recharge_money');
|
||||
if(($config_money > 0) && ($user_rechange['money'] < $config_money)){
|
||||
$return_res[0]['is_can_chat'] = 0;
|
||||
}else{
|
||||
$return_res[0]['is_can_chat'] = 1;
|
||||
}
|
||||
$return_res[0]['can_chat_money'] = $config_money;
|
||||
|
||||
return ['code' => 1, 'msg' => '登录成功', 'data' => $return_res];
|
||||
}else{
|
||||
return ['code' => 0, 'msg' => '登录失败,账号失效', 'data' => null];
|
||||
@@ -254,28 +293,52 @@ class Login extends Model
|
||||
return ['code' => 0, 'msg' => '密码不能为空', 'data' => null];
|
||||
}
|
||||
|
||||
$user_info = model('User')->where(['mobile' => $user_name,'status'=>1])->find();
|
||||
$user_info = model('User')->where(['mobile' => $user_name,'status'=>['<>',0]])->find();
|
||||
if (empty($user_info)) {
|
||||
return ['code' => 0, 'msg' => '用户不存在', 'data' => null];
|
||||
}
|
||||
//今天误次数
|
||||
$sms_count = db::name('sms_error')->where(['mobile' => $user_name,'createtime' => ['between', [strtotime(date('Y-m-d')), time()]]])->count();
|
||||
|
||||
if (md5($password) != $user_info['password']) {
|
||||
return ['code' => 0, 'msg' => '密码错误', 'data' => null];
|
||||
if ($sms_count >= 5) {
|
||||
$user_id = db::name('user')->where('mobile', $user_name)->value('id');
|
||||
$block_num = db::name('block')->where(['type' => 1, 'type_text' => $user_id])->find();
|
||||
if(!$block_num){
|
||||
//封禁账号
|
||||
$error_data = [
|
||||
'type' => 1,
|
||||
'type_text' => $user_id,
|
||||
'block_time' => time() + 60 * 60 * 24,
|
||||
'block_note' => '账号登录异常被封禁24小时',
|
||||
'createtime'=> time(),
|
||||
];
|
||||
db::name('block')->insert($error_data);
|
||||
db::name('user')->where('id', $user_id)->update(['status' => 2]);
|
||||
}
|
||||
|
||||
return ['code' => 0, 'msg' => '登录错误次数过多,账号已被封禁,请联系管理员处理','data' =>null];
|
||||
}
|
||||
|
||||
$count_sms = max(5 - $sms_count, 0);
|
||||
if (md5($password) != $user_info['password']) {
|
||||
$data = [
|
||||
'mobile' => $user_name,
|
||||
'type' => 2,
|
||||
'sms' => $password,
|
||||
'createtime'=> time(),
|
||||
];
|
||||
db::name('sms_error')->insert($data);
|
||||
return ['code' => 0, 'msg' => '密码错误,'.$count_sms.'次后账号将被封禁24小时', 'data' => null];
|
||||
}
|
||||
// $multi_user = [];
|
||||
// //查询手机号绑定的账号
|
||||
// $phone_user = $this->phone_login_query($user_name);
|
||||
// if($phone_user['code'] == 1){
|
||||
// //获取返回数据的长度
|
||||
// if(count($phone_user['data']) >= 2){
|
||||
// $multi_user = $phone_user['data'];
|
||||
// }
|
||||
// }
|
||||
|
||||
$login = $this->login($user_info,$system,$login_device);
|
||||
if($login['code'] != 1){
|
||||
return $login;
|
||||
}
|
||||
|
||||
//登陆成功后 把所有的登录错误删除掉
|
||||
db::name('sms_error')->where(['mobile' => $user_name])->delete();
|
||||
|
||||
return ['code' => 1, 'msg' => '登录成功', 'data' => $login['data']];
|
||||
}
|
||||
|
||||
@@ -300,12 +363,24 @@ class Login extends Model
|
||||
if($type == 'wx'){
|
||||
$openid = $userinfo['openid'];
|
||||
$user_info_data = model('UserData')->where(['wx_openid' => $openid,'deletetime'=>0])->find();
|
||||
$config_time = get_system_config_value('cancel_to_reset_reg');
|
||||
if(isset($user_info_data) && $user_info_data['deletetime'] != 0 && time() - $user_info_data['deletetime'] < 86400 * $config_time){
|
||||
return ['code' => 0, 'msg' => '注销后需等待'.$config_time.'天才能重新注册', 'data' => null];
|
||||
}
|
||||
}elseif ($type == 'ali'){
|
||||
$ali_userid = $userinfo['open_id'];
|
||||
$user_info_data = model('UserData')->where(['ali_userid' => $ali_userid,'deletetime'=>0])->find();
|
||||
$config_time = get_system_config_value('cancel_to_reset_reg');
|
||||
if(isset($user_info_data) && $user_info_data['deletetime'] != 0 && time() - $user_info_data['deletetime'] < 86400 * $config_time){
|
||||
return ['code' => 0, 'msg' => '注销后需等待'.$config_time.'天才能重新注册', 'data' => null];
|
||||
}
|
||||
}elseif ($type == 'ios'){
|
||||
$apple_id = $userinfo;
|
||||
$user_info_data = model('UserData')->where(['apple_id' => $userinfo,'deletetime'=>0])->find();
|
||||
$config_time = get_system_config_value('cancel_to_reset_reg');
|
||||
if(isset($user_info_data) && $user_info_data['deletetime'] != 0 && time() - $user_info_data['deletetime'] < 86400 * $config_time){
|
||||
return ['code' => 0, 'msg' => '注销后需等待'.$config_time.'天才能重新注册', 'data' => null];
|
||||
}
|
||||
}
|
||||
else{
|
||||
return ['code' => 0, 'msg' => '登录类型错误', 'data' => null];
|
||||
@@ -371,10 +446,23 @@ class Login extends Model
|
||||
//注销
|
||||
public function cancel($token){
|
||||
$user_info = model('UserToken')->where('token', $token)->find();
|
||||
//用户注册时间
|
||||
$register_time = db::name('user')->where('id', $user_info['user_id'])->value('createtime');
|
||||
$config_time = get_system_config_value('reg_to_cancel');
|
||||
if(time() - $register_time < 86400 * $config_time){
|
||||
return ['code' => 0, 'msg' => '注册'.$config_time.'天内不能注销!', 'data' => null];
|
||||
}
|
||||
if($user_info){
|
||||
model('UserToken')->where('id', $user_info['id'])->update(['token' => 1]);
|
||||
$isstatus = model('User')->where('id', $user_info['user_id'])->update(['status' => 0]);
|
||||
if($isstatus){
|
||||
//查询用户所在房间
|
||||
$room_list = db::name('vs_room_visitor')->where('user_id', $user_info['user_id'])->select();
|
||||
if($room_list){
|
||||
foreach ($room_list as &$value) {
|
||||
model('Room')->quit_room($user_info['user_id'], $value['room_id'],$user_info['user_id']);
|
||||
}
|
||||
}
|
||||
//删除用户
|
||||
// model('Tencent')->account_delete($user_info['user_id']);
|
||||
model('User')->where('id', $user_info['user_id'])->update(['delete_time' => time()]);
|
||||
@@ -387,25 +475,16 @@ class Login extends Model
|
||||
db::name('vs_room')->where('id', $value['id'])->update(['room_status' => 3]);
|
||||
}
|
||||
}
|
||||
//查询用户所在房间
|
||||
$room_list = db::name('vs_room_visitor')->where('user_id', $user_info['user_id'])->select();
|
||||
if($room_list){
|
||||
foreach ($room_list as &$value) {
|
||||
model('Room')->quit_room($user_info['user_id'], $value['room_id'],$user_info['user_id']);
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
return ['code' => 0, 'msg' => '注销失败', 'data' => null];
|
||||
}
|
||||
|
||||
//查询绑定的手机号
|
||||
$mob = db::name('user')->where('id', $user_info['user_id'])->value('mobile');
|
||||
$mobile = db::name('user')->where('mobile', $mob)->select();
|
||||
$mobile = db::name('user')->where(['mobile' => $mob,'status' => ['<>',0]])->select();
|
||||
if(isset($mobile) && count($mobile) < 2){
|
||||
$user_auth = db::name('user_auth')->where('mobile', $mobile[0]['mobile'])->find();
|
||||
if($user_auth){
|
||||
db::name('user_auth')->where('id', $user_auth['id'])->delete();
|
||||
}
|
||||
db::name('user_auth')->where('mobile', $mob)->delete();
|
||||
}
|
||||
|
||||
return ['code' => 1, 'msg' => '注销成功', 'data' => null];
|
||||
|
||||
Reference in New Issue
Block a user