Files
SMANAGE/backup/_api_backup/TempLateAPI/GERP/API/Department copy/Delete.api
T

50 lines
1.6 KiB
Plaintext

from PDAPI import *
__metadata__ = {
"methods": ["POST"],
"blueprint": "GERP",
"permission": 3.0,
"attributes": [],
"limit": "1 per second",
"args": [
{"Name": "DepartmentUUID", "Type": "UUID"},
{"Name": "UserUUIDs", "Type": "str"}
]
}
def HandleRequest():
UserUUIDs = flask.request.form.get("UserUUIDs")
DepartmentUUID = flask.request.form.get("DepartmentUUID")
if not UserUUIDs:
return {"code": 400, "msg": "参数缺失: UserUUIDs"}
if not DepartmentUUID:
return {"code": 400, "msg": "参数缺失: DepartmentUUID"}
if not (Department := GERPDepartment.query.filter(
GERPDepartment.DepartmentUUID == Get16toBytes(DepartmentUUID)
).first()):
return {"code": 1, "msg": "部门 不存在"}
user_uuid_list = [uuid.strip() for uuid in UserUUIDs.split('\n') if uuid.strip()]
if not user_uuid_list:
return {"code": 400, "msg": "参数缺失: UserUUIDs"}
deleted_count = 0
for user_uuid in user_uuid_list:
smtm_record = GERPSMTM.query.filter(
GERPSMTM.DepartmentUUID == Get16toBytes(DepartmentUUID),
GERPSMTM.UserUUID == Get16toBytes(user_uuid)
).first()
if smtm_record:
db.session.delete(smtm_record)
deleted_count += 1
try:
db.session.commit()
return {"code": 0, "msg": f"成功删除 {deleted_count} 个成员"}
except:
print(traceback.print_exc())
db.session.rollback()
return {"code": 1, "msg": "SQL 提交失败"}