更新插件功能
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
"""
|
||||
集成了对 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: 父公司ID,0未总公司
|
||||
: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
|
||||
|
||||
Reference in New Issue
Block a user