from PDAPI import * __metadata__ = { "methods": ["POST"], "blueprint": "3CRB", "permission": 1.0, "attributes": [], "rate_limit": "1 per seconds", "form": [ {"Name": "EnterpriseUUID", "Type": "UUID"}, {"Name": "UserName", "Type": "str", "MaxLen": 256, "Required": False}, {"Name": "UserUUID", "Type": "UUID", "Required": False}, {"Name": "EnterpriseUserType", "Type": "int", "AllowList": [1, 2]}, ] } def HandleRequest(): CMEBalances: CmeWalletBalances Me: EnterpriseUser ELTUser: GERPUser = flask.g.ELTUser if not (PlayerUUID := GetGVSDSUserToMCPlayerUUID(ELTUser.UserUUID)) or not (CMEBalances := CmeWalletBalances.query.filter(sqlalchemy.and_(CmeWalletBalances.player_uuid == PlayerUUID, CmeWalletBalances.currency_id == "GC")).first()): return {"GC": -1} EnterpriseUUID = Get16toBytes(flask.request.form.get("EnterpriseUUID")) UserName = flask.request.form.get("UserName") UserUUID = flask.request.form.get("UserUUID") EnterpriseUserType = flask.request.form.get("EnterpriseUserType", type = int) if not (Me := EnterpriseUser.query.filter(sqlalchemy.and_(EnterpriseUser.UserUUID == ELTUser.UserUUID, EnterpriseUser.EnterpriseUUID == EnterpriseUUID, EnterpriseUser.EnterpriseUserType.in_([0, 1, 2]))).first()): return {"status": 1, "msg": "You are not the legal person"} if Me.EnterpriseUserType >= EnterpriseUserType: return {"status": 1, "error": 0, "msg": "U Can't Edit He To This EnterpriseUserType"} if not UserName and not UserUUID: return {"status": 1, "msg": "UserUUID is empty"} if not (UserUUID := Get16toBytes(UserUUID, True)) and not (UserUUID := (User.UserUUID if (User := GetUserDataByUserName(UserName)) else None)): return {"status": 1, "msg": "Not Found User"} if not (ru := CmeWalletBalances.query.filter(sqlalchemy.and_(CmeWalletBalances.player_uuid == GetGVSDSUserToMCPlayerUUID(UserUUID), CmeWalletBalances.currency_id == "GC")).first()): return {"status": 1, "error": 0, "msg": "No Wallet"} if (_ := EnterpriseUser.query.filter(sqlalchemy.and_(EnterpriseUser.EnterpriseUUID == EnterpriseUUID, EnterpriseUser.UserUUID == UserUUID)).first()): if _.UserUUID == ELTUser.UserUUID: return {"status": 1, "error": 0, "msg": "U Can't Edit Yourself"} if _.EnterpriseUserType <= Me.EnterpriseUserType: return {"status": 1, "error": 0, "msg": "U Can't Edit EnterpriseUserType Than U More"} else: _ = EnterpriseUser() _.EnterpriseSMTMUUID = NewBUUID() _.EnterpriseUUID = EnterpriseUUID _.UserUUID = UserUUID _.EnterpriseUserType = EnterpriseUserType try: db.session.add(_) db.session.commit() return {"status": 0} except: db.session.rollback() return {"status": 1, "msg": "SQL 提交失败"}