56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
async def create_server(ns={}):
|
|
"""
|
|
根据租赁产品创建设备配置
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
data = {}
|
|
try:
|
|
data["providerid"] = ns['providerid']
|
|
data["provider_name"] = ns['provider_name']
|
|
data["productid"] = ns['productid']
|
|
data["product_name"] = ns['product_name']
|
|
data["stock"] = int(ns['stock'])
|
|
data['amount'] = int(ns['stock'])
|
|
data["user_id"] = ns['user_id']
|
|
data["price"] = int(ns['price'])
|
|
data["end_date"] = ns['end_date']
|
|
data["store_name"] = ns['store_name']
|
|
data["other_data"] = ns['other_data']
|
|
data['parameter'] = ns['parameter']
|
|
except Exception as e:
|
|
return {"status": False, "msg": f"get key error, please check key:{str(e)}"}
|
|
if data['stock'] <= 0:
|
|
return {"status": False, "msg": "库存不能为0"}
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
data['id'] = uuid()
|
|
data["status"] = None # 字段废弃
|
|
# 设备
|
|
await sor.C("lease_server_data", data)
|
|
# 设备参数
|
|
for i in data['parameter']:
|
|
i['id'] = uuid()
|
|
i['server_id'] = data['id']
|
|
await sor.C("lease_server_parameter", i)
|
|
# 具体设备
|
|
for i in range(data['stock']):
|
|
d = {
|
|
'id': uuid(),
|
|
'server_id': data['id'],
|
|
'status': 0,
|
|
'end_date': data['end_date'],
|
|
'productid': data['productid'],
|
|
}
|
|
await sor.C("lease_server_status", d)
|
|
return {"status": True, "msg": f"success ok"}
|
|
except Exception as e:
|
|
# if " for key " in str(e):
|
|
# return {"status": False, "msg": "产品已存在,请勿重复添加"}
|
|
return {"status": False, "msg": f"sql error,e:{e}"}
|
|
|
|
|
|
ret = await create_server(params_kw)
|
|
return ret
|