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 提交失败"}