70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
async def get_user_role(ns={}):
|
|
sor = ns['sor']
|
|
# get role
|
|
ns['del_flg'] = '0'
|
|
res_role = await sor.R('userrole', ns)
|
|
if res_role:
|
|
user_role = res_role[0]
|
|
else:
|
|
return {
|
|
"status": False,
|
|
"msg": "userrole table, user id can not find..."
|
|
}
|
|
roleid = user_role.get('roleid')
|
|
# get role name
|
|
role_name = await sor.R('role', {'id': roleid})
|
|
if role_name:
|
|
role = role_name[0].get('role')
|
|
else:
|
|
return {
|
|
"status": False,
|
|
"msg": "role table, can not get role name"
|
|
}
|
|
|
|
return role
|
|
|
|
async def enterprise_audit_info_update(ns={}):
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
# 检查orgid是否存在
|
|
if ns.get('userid'):
|
|
userid = ns.get('userid')
|
|
else:
|
|
userid = await get_user()
|
|
user_list = await sor.R('users', {'id': userid})
|
|
if not user_list:
|
|
return {
|
|
'status': False,
|
|
'msg': 'user not found'
|
|
}
|
|
user_role = await get_user_role({'userid': userid, 'sor': sor})
|
|
ns.pop('userid', None)
|
|
# ns['orgid'] = orgid
|
|
try:
|
|
if user_role == '客户': # 客户更新
|
|
ns['audit_status'] = 'pending' # 客户更新时默认审核状态为待审
|
|
else: # 运营更新 如果是approved reject_reason为空
|
|
if ns.get('audit_status') == 'approved':
|
|
ns['reject_reason'] = None
|
|
|
|
# 生成更新的sql语句
|
|
update_sql = """UPDATE enterprise_audit_info SET """
|
|
for key, value in ns.items():
|
|
if value is None:
|
|
update_sql += f"{key} = NULL, "
|
|
continue
|
|
update_sql += f"{key} = '{value}', "
|
|
update_sql = update_sql[:-2] + f" WHERE id = '{ns.get('id')}';"""
|
|
await sor.sqlExe(update_sql, {})
|
|
return {
|
|
'status': True,
|
|
'msg': '更新成功'
|
|
}
|
|
except Exception as e:
|
|
return {
|
|
'status': False,
|
|
'msg': 'Failed to update enterprise audit info, %s' % str(e)
|
|
}
|
|
|
|
ret = await enterprise_audit_info_update(params_kw)
|
|
return ret |