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