kboss/b/lease_product/create_server.dspy
2025-07-16 14:27:17 +08:00

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