Files
pear-admin-flask/applications/common/utils/department.py
T

109 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
集成了对 Pear Admin Flask 的部门的操作,并给了相对应的示例。
"""
from applications.common import curd
from applications.extensions import db
from applications.models import Dept, User
from applications.schemas import DeptOutSchema
def get_all():
"""
获取全部权限,会返回一个列表,每个列表是一个字典。
字典构成如下::
{
"address":"这是总公司", # 地址
"deptId":1, # 公司ID
"deptName":"总公司", # 公司名
"email":"1", # 公司 email
"leader":"", # 公司领导人
"parentId":0, # 父ID
"phone":"", # 联系电话
"sort":1, # 排序
"status":"1" # 状态 1-开启 0-关闭
}
:return: 列表
"""
dept = Dept.query.order_by(Dept.sort).all()
return curd.model_to_dicts(schema=DeptOutSchema, data=dept)
def add(parentId, deptName, sort, leader, phone, email, status, address):
"""
添加一个公司
:param parentId: 父公司ID0未总公司
:param deptName: 公司名称
:param sort: 排序
:param leader: 负责人
:param phone: 手机
:param email: 邮箱
:param status: 状态 1-打开 0-关闭
:param address: 地址
:return: 是否成功
"""
dept = Dept(
parent_id=parentId,
dept_name=deptName,
sort=sort,
leader=leader,
phone=phone,
email=email,
status=status,
address=address
)
r = db.session.add(dept)
db.session.commit()
if r:
return True
else:
return False
def update(deptId, data):
"""
更新公司信息
可更新内容如下::
"dept_name"
"sort"
"leader"
"phone"
"email"
"status"
"address"
:param deptId: 公司ID
:param data: 要更新公司字典
:return: 是否成功
"""
d = Dept.query.filter_by(id=deptId).update(data)
if not d:
return False
db.session.commit()
return True
def delete(deptId):
"""
删除公司
:param deptId: 公司ID
:return: 是否成功
"""
d = Dept.query.filter_by(id=deptId).delete()
if not d:
return False
res = User.query.filter_by(dept_id=deptId).update({"dept_id": None})
db.session.commit()
if res:
return True
else:
return False