54 lines
3.2 KiB
Plaintext
54 lines
3.2 KiB
Plaintext
from PDAPI import *
|
|
|
|
|
|
__metadata__ = {
|
|
"methods": ["POST"],
|
|
"blueprint": "GERP",
|
|
"permission": 4.0,
|
|
"attributes": [],
|
|
"limit": "1 per second",
|
|
'form': [
|
|
{"Name": "UserUUID", "Type": "UUID"},
|
|
{"Name": "BackpackItemUUID", "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():
|
|
Backpack: GERPBackpack
|
|
ELTUser: GERPUser = flask.g.ELTUser
|
|
UserUUID = Get16toBytes(flask.request.form.get("UserUUID"))
|
|
BackpackItemUUID = Get16toBytes(flask.request.form.get("BackpackItemUUID"))
|
|
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 = json.loads(flask.request.form.get("ItemTags")) if flask.request.form.get("ItemTags") else flask.request.form.get("ItemTags")
|
|
ItemMetaData = json.loads(flask.request.form.get("ItemMetaData")) if flask.request.form.get("ItemMetaData") else flask.request.form.get("ItemMetaData")
|
|
ItemDescription = flask.request.form.get("ItemDescription")
|
|
ItemLength = flask.request.form.get("ItemLength", type = int)
|
|
if not (Backpack := GERPBackpack.query.filter(GERPBackpack.BackpackItemUUID == BackpackItemUUID).first()): return {"code": 1, "msg": "背包记录 不存在"}
|
|
if not GetUserDataByUserUUID(UserUUID): return {"code": 1, "msg": "用户 不存在"}
|
|
if ItemTemplateUUID and not GERPItemReference.query.filter(GERPItemReference.ItemUUID == ItemTemplateUUID).first(): return {"code": 1, "msg": "物品模板不存在"}
|
|
Backpack.UserUUID = UserUUID
|
|
Backpack.ItemTemplateUUID = ItemTemplateUUID
|
|
Backpack.ItemName = ItemName if ItemName != Backpack.ItemReference.ItemName else Backpack._ItemName
|
|
Backpack.ItemIcon = ItemIcon if ItemIcon != Backpack.ItemReference.ItemIcon else Backpack._ItemIcon
|
|
Backpack.ItemIconColor = ItemIconColor if ItemIconColor != Backpack.ItemReference.ItemIconColor else Backpack._ItemIconColor
|
|
Backpack.ItemTags = ItemTags if ItemTags != Backpack.ItemReference.ItemTags else Backpack._ItemTags
|
|
Backpack.ItemMetaData = ItemMetaData if ItemMetaData != Backpack.ItemReference.ItemMetaData else Backpack._ItemMetaData
|
|
Backpack.ItemDescription = ItemDescription if ItemDescription != Backpack.ItemReference.ItemDescription else Backpack._ItemDescription
|
|
Backpack.ItemLength = ItemLength
|
|
try:
|
|
db.session.add(Backpack)
|
|
db.session.commit()
|
|
return {"code": 0, "msg": "修改成功"}
|
|
except:
|
|
db.session.rollback()
|
|
return {"code": 1, "msg": "SQL 提交失败"} |