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

53 lines
2.5 KiB
Plaintext

from PDAPI import *
__metadata__ = {
"methods": ["POST"],
"blueprint": "GERP",
"permission": 4.0,
"attributes": [],
"limit": "1 per second",
'form': [
{"Name": "UserUUID", "Type": "UUID"},
{"Name": "ItemTemplateUUID", "Type": "UUID"},
{"Name": "ItemName", "Type": "str", "MaxLen": 128, "Required": False},
{"Name": "ItemIcon", "Type": "str", "MaxLen": 512, "Required": False},
{"Name": "ItemIconColor", "Type": "str", "MaxLen": 6, "Required": False},
{"Name": "ItemTags", "Type": "list", "Required": False},
{"Name": "ItemMetaData", "Type": "dict", "Required": False},
{"Name": "ItemDescription", "Type": "str", "MaxLen": 1024 * 1024, "Required": False},
{"Name": "ItemLength", "Type": "int", "MinLen": 1}
]
}
def HandleRequest():
ELTUser: GERPUser = flask.g.ELTUser
UserUUID = Get16toBytes(flask.request.form.get("UserUUID"))
ItemTemplateUUID = Get16toBytes(flask.request.form.get("ItemTemplateUUID"))
ItemName = flask.request.form.get("ItemName")
ItemIcon = flask.request.form.get("ItemIcon")
ItemIconColor = flask.request.form.get("ItemIconColor")
ItemTags = flask.request.form.get("ItemTags")
ItemMetaData = json.loads(flask.request.form.get("ItemMetaData")) if flask.request.form.get("ItemMetaData") else None
ItemDescription = flask.request.form.get("ItemDescription")
ItemLength = flask.request.form.get("ItemLength", type = int)
if not GetUserDataByUserUUID(UserUUID): return {"code": 1, "msg": "用户 不存在"}
if ItemTemplateUUID and not GERPItemReference.query.filter(GERPItemReference.ItemUUID == ItemTemplateUUID).first(): return {"code": 1, "msg": "物品模板不存在"}
_ = GERPBackpack()
_.BackpackItemUUID = NewBUUID()
_.UserUUID = UserUUID
_.ItemTemplateUUID = ItemTemplateUUID
_.ItemName = ItemName if ItemName else None
_.ItemIcon = ItemIcon if ItemIcon else None
_.ItemIconColor = ItemIconColor if ItemIconColor else None
_.ItemTags = ItemTags if ItemTags else None
_.ItemMetaData = ItemMetaData if ItemMetaData else None
_.ItemDescription = ItemDescription if ItemDescription else None
_.ItemLength = ItemLength
try:
db.session.add(_)
db.session.commit()
return {"code": 0, "msg": "添加成功"}
except:
print(traceback.format_exc())
db.session.rollback()
return {"code": 1, "msg": "SQL 提交失败"}