Files
test/sg_wechat_enterprise/we_api/enterprise/client/api/department.py
2024-07-10 15:58:47 +08:00

117 lines
3.8 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.

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from optionaldict import optionaldict
from wechatpy.client.api.base import BaseWeChatAPI
class WeChatDepartment(BaseWeChatAPI):
def create(self, name, parent_id=1, order=None, id=None):
"""
创建部门
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理部门
:param name: 部门名称,长度限制为 1~64 个字符
:param parent_id: 父亲部门 id ,根部门 id 为 1
:return: 返回的 JSON 数据包
"""
department_data = optionaldict()
department_data['name'] = name
department_data['parentid'] = parent_id
department_data['order'] = order
department_data['id'] = id
return self._post(
'department/create',
data=dict(department_data)
)
def update(self, id, name=None, parent_id=None, order=None):
"""
更新部门
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理部门
:param id: 部门 id
:param name: 部门名称
:param parent_id: 父亲部门 id
:param order: 在父部门中的次序,从 1 开始,数字越大排序越靠后
:return: 返回的 JSON 数据包
"""
department_data = optionaldict()
department_data['id'] = id
department_data['name'] = name
department_data['parentid'] = parent_id
department_data['order'] = order
return self._post(
'department/update',
data=dict(department_data)
)
def delete(self, id):
"""
删除部门
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理部门
:param id: 部门 id
:return: 返回的 JSON 数据包
"""
return self._get(
'department/delete',
params={
'id': id
}
)
def get(self):
"""
获取部门列表
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理部门
:return: 部门列表
"""
res = self._get('department/list')
return res['department']
def get_users(self, id, status=0, fetch_child=0):
"""
获取部门成员列表
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
:param id: 部门 id
:param status: 0 获取全部员工1 获取已关注成员列表,
2 获取禁用成员列表4 获取未关注成员列表。可叠加
:param fetch_child: 1/0是否递归获取子部门下面的成员
:return: 部门成员列表
"""
fetch_child = 1 if fetch_child else 0
res = self._get(
'user/simplelist',
params={
'department_id': id,
'status': status,
'fetch_child': fetch_child
}
)
return res['userlist']
def get_users_list(self, id, status=0, fetch_child=0):
"""
获取部门成员详情列表
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
:param id: 部门 id
:param status: 0 获取全部员工1 获取已关注成员列表,
2 获取禁用成员列表4 获取未关注成员列表。可叠加
:param fetch_child: 1/0是否递归获取子部门下面的成员
:return: 部门成员列表
"""
fetch_child = 1 if fetch_child else 0
res = self._get(
'user/list',
params={
'department_id': id,
'status': status,
'fetch_child': fetch_child
}
)
return res['userlist']