38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
from PDAPI import *
|
|
|
|
|
|
__metadata__ = {
|
|
"methods": ["POST"],
|
|
"blueprint": "GERP",
|
|
"permission": 3.0,
|
|
"attributes": [],
|
|
"limit": "1 per second",
|
|
"form": [
|
|
{"Name": "DepartmentUUID", "Type": "UUID"},
|
|
{"Name": "UserUUIDs", "Type": "MUUID"},
|
|
]
|
|
}
|
|
def HandleRequest():
|
|
DepartmentUUID = Get16toBytes(flask.request.form.get("DepartmentUUID"))
|
|
UserUUIDs = flask.request.form.get("UserUUIDs")
|
|
if not GERPDepartment.query.filter(GERPDepartment.DepartmentUUID == DepartmentUUID).first():
|
|
return {"code": 1, "msg": "部门 不存在"}
|
|
for i in UserUUIDs.split("\n"):
|
|
if not i: continue
|
|
UserUUID = Get16toBytes(i)
|
|
if not GERPUser.query.filter(GERPUser.UserUUID == UserUUID).first():
|
|
return {"code": 1, "msg": f"目标用户 {i} 不存在"}
|
|
if GERPSMTM.query.filter(sqlalchemy.and_(GERPSMTM.UserUUID == UserUUID, GERPSMTM.DepartmentUUID == DepartmentUUID)).first():
|
|
continue
|
|
# return {"code": 1, "msg": f"目标用户 {i} 已在此部门"}
|
|
_ = GERPSMTM()
|
|
_.SMTMUUID = Get16toBytes(NewUUID())
|
|
_.DepartmentUUID = DepartmentUUID
|
|
_.UserUUID = UserUUID
|
|
db.session.add(_)
|
|
try:
|
|
db.session.commit()
|
|
return {"code": 0, "msg": "添加成功"}
|
|
except:
|
|
db.session.rollback()
|
|
return {"code": 1, "msg": "SQL 提交错误"} |