48 lines
2.8 KiB
Plaintext
48 lines
2.8 KiB
Plaintext
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 提交失败"} |