34 lines
1.2 KiB
Plaintext
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
|