Files
SMANAGE/_api_backup/TempLateAPI/GERP/API/Backpack/DiscardItem.api
T
2026-06-16 11:55:14 +08:00

36 lines
1.3 KiB
Plaintext

from PDAPI import *
__metadata__ = {
"methods": ["POST"],
"blueprint": "GERP",
"permission": 1.0,
"attributes": [],
"limit": "1 per second",
"form": [
{"Name": "BackpackItemUUID", "Type": "UUID"},
{"Name": "Count", "Type": "int", "MinLen": 1}
]
}
def HandleRequest():
Item: GERPBackpack
ELTUser: GERPUser = flask.g.ELTUser
BackpackItemUUID = Get16toBytes(flask.request.form.get("BackpackItemUUID"))
Count = int(flask.request.form.get("Count"))
if not (Item := GERPBackpack.query.filter(GERPBackpack.BackpackItemUUID == BackpackItemUUID).first()):
return {"code": 1, "msg": "未找到"}
if Count > Item.ItemLength:
return {"code": 1, "msg": "需求物品数量 大于 实际物品数量"}
if Item.ItemMetaData and "AllowDiscard" in Item.ItemMetaData and not Item.ItemMetaData["AllowDiscard"]:
return {"code": 1, "msg": "此物品不允许丢弃"}
if Count == Item.ItemLength:
db.session.delete(Item)
if Count < Item.ItemLength:
Item.ItemLength = Item.ItemLength - Count
db.session.add(Item)
try:
db.session.commit()
return {"code": 0, "msg": "丢弃成功"}
except:
db.session.rollback()
return {"code": 1, "msg": "SQL 提交失败"}