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

34 lines
1.2 KiB
Plaintext

async def unlock_server_by_id(ns={}):
"""
故障-自动取消订单,释放设备
:param ns:
:return:
"""
data = {}
msg = "sql error"
try:
data["count"] = int(ns['count'])
data['productid'] = ns['productid']
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:
# 解锁设备
sql = "UPDATE lease_server_status SET `status` = 0 ,order_id = NULL,lease_start_time=null,lease_end_time=NULL,update_time = ${update_time}$ WHERE `status`=1 AND del_flg=0 and order_id is null AND productid=${productid}$ limit ${count}$"
d = await sor.sqlExe(sql, data)
if d == data['count']:
# 增加库存
sql = "update lease_server_data set stock=stock+${count}$,update_time = ${update_time}$ where productid=${productid}$"
await sor.sqlExe(sql, data)
return {"status": True, "msg": f"success update number:{d}"}
else:
msg = f"failure update number:{d}/{data['count']}"
raise Exception(msg)
return {"status": False, "msg": msg}
ret = await unlock_server_by_id(params_kw)
return ret