update logintype
This commit is contained in:
parent
22204bedec
commit
19ba9aac26
@ -43,57 +43,101 @@ async def logintype(ns):
|
|||||||
|
|
||||||
db = DBPools()
|
db = DBPools()
|
||||||
async with db.sqlorContext('kboss') as sor:
|
async with db.sqlorContext('kboss') as sor:
|
||||||
type = 0
|
|
||||||
if ns.get('codeid'):
|
domain_name = ns.get('domain_name')
|
||||||
type += 1
|
if domain_name in ['www.opencomputing.cn', 'dev.opencomputing.cn', 'localhost:9527'] and ns.get('username') != '开元云(北京)科技有限公司':
|
||||||
|
if not ns.get('mobile'):
|
||||||
|
return {
|
||||||
|
'status': False,
|
||||||
|
'msg': '请输入手机号'
|
||||||
|
}
|
||||||
|
real_mobile_li = await sor.R('users', {'username': ns['username']})
|
||||||
|
if not real_mobile_li:
|
||||||
|
return {
|
||||||
|
'status': False,
|
||||||
|
'msg': '用户名有误'
|
||||||
|
}
|
||||||
|
real_mobile = real_mobile_li[0]['mobile'] if real_mobile_li else None
|
||||||
|
if not real_mobile:
|
||||||
|
return {
|
||||||
|
'status': False,
|
||||||
|
'msg': '未查询到匹配得手机号码'
|
||||||
|
}
|
||||||
|
|
||||||
|
if real_mobile and ns['mobile'] != real_mobile:
|
||||||
|
return {
|
||||||
|
'status': False,
|
||||||
|
'msg': '您的手机号与用户名不匹配'
|
||||||
|
}
|
||||||
|
|
||||||
|
if not ns.get('codeid'):
|
||||||
|
return {
|
||||||
|
'status': False,
|
||||||
|
'msg': 'codeid不存在, 请输入验证码'
|
||||||
|
}
|
||||||
code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')})
|
code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')})
|
||||||
if len(code) < 1:
|
if len(code) < 1:
|
||||||
return {'status': False, 'msg': '验证码不正确'}
|
return {'status': False, 'msg': '验证码不正确'}
|
||||||
if type == 1:
|
|
||||||
# 手机号登录
|
|
||||||
users = await sor.R('users', {'mobile': ns.get('username')})
|
|
||||||
else:
|
|
||||||
password = password_encode(ns['password'])
|
password = password_encode(ns['password'])
|
||||||
users = await sor.R('users', {'username': ns.get('username'), 'password': password})
|
users = await sor.R('users', {'username': ns.get('username'), 'password': password})
|
||||||
if len(users) < 1:
|
if len(users) < 1:
|
||||||
return {"status": False,'msg':'用户名或密码错误'}
|
return {"status": False,'msg':'用户名或密码错误'}
|
||||||
elif ns.get('username') == "admin":
|
|
||||||
return {'status': True}
|
return {'status': True}
|
||||||
|
|
||||||
else:
|
else:
|
||||||
reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')})
|
type = 0
|
||||||
# 查到用户的所在机构
|
if ns.get('codeid'):
|
||||||
user_org = await sor.R('organization', {'id': users[0]['orgid']})
|
type += 1
|
||||||
#0代表用户为主 1代表用户为子
|
code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')})
|
||||||
user_type = 0
|
if len(code) < 1:
|
||||||
# 子页面判断用户
|
return {'status': False, 'msg': '验证码不正确'}
|
||||||
if len(reseller) >= 1:
|
if type == 1:
|
||||||
if reseller[0]['orgid'] == user_org[0]['parentid']:
|
# 手机号登录
|
||||||
user_type += 1
|
users = await sor.R('users', {'mobile': ns.get('username')})
|
||||||
if reseller[0]['orgid'] == users[0]['orgid']:
|
|
||||||
user_type += 1
|
|
||||||
# 主页面判断用户
|
|
||||||
else:
|
else:
|
||||||
resellers = await sor.R('reseller', {'orgid': user_org[0]['parentid']})
|
password = password_encode(ns['password'])
|
||||||
if len(resellers) >= 1:
|
users = await sor.R('users', {'username': ns.get('username'), 'password': password})
|
||||||
user_type += 1
|
if len(users) < 1:
|
||||||
if users[0]['user_reseller'] == '1':
|
return {"status": False,'msg':'用户名或密码错误'}
|
||||||
user_type += 1
|
elif ns.get('username') == "admin":
|
||||||
# 证明是主级页面
|
return {'status': True}
|
||||||
if len(reseller) < 1:
|
else:
|
||||||
# 用户为主
|
reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')})
|
||||||
if user_type == 0:
|
# 查到用户的所在机构
|
||||||
return {'status': True}
|
user_org = await sor.R('organization', {'id': users[0]['orgid']})
|
||||||
|
#0代表用户为主 1代表用户为子
|
||||||
|
user_type = 0
|
||||||
|
# 子页面判断用户
|
||||||
|
if len(reseller) >= 1:
|
||||||
|
if reseller[0]['orgid'] == user_org[0]['parentid']:
|
||||||
|
user_type += 1
|
||||||
|
if reseller[0]['orgid'] == users[0]['orgid']:
|
||||||
|
user_type += 1
|
||||||
|
# 主页面判断用户
|
||||||
else:
|
else:
|
||||||
|
resellers = await sor.R('reseller', {'orgid': user_org[0]['parentid']})
|
||||||
|
if len(resellers) >= 1:
|
||||||
|
user_type += 1
|
||||||
|
if users[0]['user_reseller'] == '1':
|
||||||
|
user_type += 1
|
||||||
|
# 证明是主级页面
|
||||||
|
if len(reseller) < 1:
|
||||||
|
# 用户为主
|
||||||
|
if user_type == 0:
|
||||||
|
return {'status': True}
|
||||||
|
else:
|
||||||
|
# 用户为子
|
||||||
|
return {'status': False,'msg':'用户名或密码错误'}
|
||||||
|
# 子级页面
|
||||||
|
else:
|
||||||
|
# 用户为主
|
||||||
|
if user_type == 0:
|
||||||
|
return {'status': False,'msg':'用户名或密码错误'}
|
||||||
# 用户为子
|
# 用户为子
|
||||||
return {'status': False,'msg':'用户名或密码错误'}
|
else:
|
||||||
# 子级页面
|
return {'status': True}
|
||||||
else:
|
|
||||||
# 用户为主
|
|
||||||
if user_type == 0:
|
|
||||||
return {'status': False,'msg':'用户名或密码错误'}
|
|
||||||
# 用户为子
|
|
||||||
else:
|
|
||||||
return {'status': True}
|
|
||||||
|
|
||||||
ret = await logintype(params_kw)
|
ret = await logintype(params_kw)
|
||||||
return ret
|
return ret
|
||||||
Loading…
x
Reference in New Issue
Block a user