38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
async def provider_rate(ns={}):
|
|
"""
|
|
供应商-空闲率-租售率
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
data = {}
|
|
try:
|
|
data["providerid"] = ns['providerid']
|
|
except Exception as e:
|
|
return {"status": False, "msg": f"get key error, please check key:{str(e)}"}
|
|
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
data['del_flg'] = 0
|
|
sql_data = await sor.R("lease_server_status", data)
|
|
if not sql_data:
|
|
return {"status": False, "msg": "no data"}
|
|
else:
|
|
lease_server = 0
|
|
free_server = 0
|
|
for i in sql_data:
|
|
if i['status'] == 0: # 可租
|
|
free_server += 1
|
|
if i['status'] == 2: # 租赁中
|
|
lease_server += 1
|
|
|
|
free_rate = round(free_server / len(sql_data) * 100, 2)
|
|
lease_rate = round(lease_server / len(sql_data) * 100, 2)
|
|
|
|
return {"status": True, "free_rate": free_rate, "lease_rate": lease_rate}
|
|
|
|
return {"status": False, "msg": "sql error"}
|
|
|
|
|
|
ret = await provider_rate(params_kw)
|
|
return ret
|