main #98
@ -43,57 +43,101 @@ async def logintype(ns):
|
||||
|
||||
db = DBPools()
|
||||
async with db.sqlorContext('kboss') as sor:
|
||||
type = 0
|
||||
if ns.get('codeid'):
|
||||
type += 1
|
||||
|
||||
domain_name = ns.get('domain_name')
|
||||
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')})
|
||||
if len(code) < 1:
|
||||
return {'status': False, 'msg': '验证码不正确'}
|
||||
if type == 1:
|
||||
# 手机号登录
|
||||
users = await sor.R('users', {'mobile': ns.get('username')})
|
||||
else:
|
||||
|
||||
password = password_encode(ns['password'])
|
||||
users = await sor.R('users', {'username': ns.get('username'), 'password': password})
|
||||
if len(users) < 1:
|
||||
return {"status": False,'msg':'用户名或密码错误'}
|
||||
elif ns.get('username') == "admin":
|
||||
if len(users) < 1:
|
||||
return {"status": False,'msg':'用户名或密码错误'}
|
||||
|
||||
return {'status': True}
|
||||
|
||||
else:
|
||||
reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')})
|
||||
# 查到用户的所在机构
|
||||
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
|
||||
# 主页面判断用户
|
||||
type = 0
|
||||
if ns.get('codeid'):
|
||||
type += 1
|
||||
code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')})
|
||||
if len(code) < 1:
|
||||
return {'status': False, 'msg': '验证码不正确'}
|
||||
if type == 1:
|
||||
# 手机号登录
|
||||
users = await sor.R('users', {'mobile': ns.get('username')})
|
||||
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}
|
||||
password = password_encode(ns['password'])
|
||||
users = await sor.R('users', {'username': ns.get('username'), 'password': password})
|
||||
if len(users) < 1:
|
||||
return {"status": False,'msg':'用户名或密码错误'}
|
||||
elif ns.get('username') == "admin":
|
||||
return {'status': True}
|
||||
else:
|
||||
reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')})
|
||||
# 查到用户的所在机构
|
||||
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:
|
||||
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:
|
||||
# 用户为主
|
||||
if user_type == 0:
|
||||
return {'status': False,'msg':'用户名或密码错误'}
|
||||
# 用户为子
|
||||
else:
|
||||
return {'status': True}
|
||||
else:
|
||||
return {'status': True}
|
||||
|
||||
ret = await logintype(params_kw)
|
||||
return ret
|
||||
Loading…
x
Reference in New Issue
Block a user