161 lines
4.9 KiB
Python
161 lines
4.9 KiB
Python
# -*- coding: utf-8 -*-
|
||
from __future__ import absolute_import, unicode_literals
|
||
from optionaldict import optionaldict
|
||
|
||
from wechatpy.client.api.base import BaseWeChatAPI
|
||
|
||
|
||
class WeChatUser(BaseWeChatAPI):
|
||
|
||
def create(self, user_id, name, department=None, position=None,
|
||
mobile=None, gender=0, tel=None, email=None,
|
||
weixin_id=None, extattr=None, avatar_mediaid=None, to_invite=True):
|
||
"""
|
||
创建成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
user_data = optionaldict()
|
||
user_data['userid'] = user_id
|
||
user_data['name'] = name
|
||
user_data['gender'] = gender
|
||
user_data['department'] = department
|
||
user_data['position'] = position
|
||
user_data['mobile'] = mobile
|
||
user_data['tel'] = tel
|
||
user_data['email'] = email
|
||
user_data['weixinid'] = weixin_id
|
||
user_data['extattr'] = extattr
|
||
user_data['avatar_mediaid'] = avatar_mediaid
|
||
user_data['to_invite'] = to_invite
|
||
|
||
return self._post(
|
||
'user/create',
|
||
data=user_data
|
||
)
|
||
|
||
def update(self, user_id, name=None, department=None, position=None,
|
||
mobile=None, gender=None, tel=None, email=None,
|
||
weixin_id=None, enable=None, extattr=None, avatar_mediaid=None):
|
||
"""
|
||
更新成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
user_data = optionaldict()
|
||
user_data['userid'] = user_id
|
||
user_data['name'] = name
|
||
user_data['gender'] = gender
|
||
user_data['department'] = department
|
||
user_data['position'] = position
|
||
user_data['mobile'] = mobile
|
||
user_data['tel'] = tel
|
||
user_data['email'] = email
|
||
user_data['weixinid'] = weixin_id
|
||
user_data['extattr'] = extattr
|
||
user_data['enable'] = enable
|
||
user_data['avatar_mediaid'] = avatar_mediaid
|
||
|
||
return self._post(
|
||
'user/update',
|
||
data=user_data
|
||
)
|
||
|
||
def delete(self, user_id):
|
||
"""
|
||
删除成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
return self._get(
|
||
'user/delete',
|
||
params={
|
||
'userid': user_id
|
||
}
|
||
)
|
||
|
||
def get(self, user_id):
|
||
"""
|
||
获取成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
return self._get(
|
||
'user/get',
|
||
params={
|
||
'userid': user_id
|
||
}
|
||
)
|
||
|
||
def verify(self, user_id):
|
||
return self._get(
|
||
'user/authsucc',
|
||
params={
|
||
'userid': user_id
|
||
}
|
||
)
|
||
|
||
def get_info(self, agent_id, code):
|
||
return self._get(
|
||
'user/getuserinfo',
|
||
params={
|
||
'agentid': agent_id,
|
||
'code': code
|
||
}
|
||
)
|
||
|
||
def batch_delete(self, user_ids):
|
||
"""
|
||
批量删除成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
return self._post(
|
||
'user/batchdelete',
|
||
data={
|
||
'useridlist': user_ids
|
||
}
|
||
)
|
||
|
||
def list(self, department_id, fetch_child=False, status=0):
|
||
"""
|
||
批量获取部门成员
|
||
详情请参考 http://qydev.weixin.qq.com/wiki/index.php?title=管理成员
|
||
"""
|
||
res = self._get(
|
||
'user/list',
|
||
params={
|
||
'department_id': department_id,
|
||
'fetch_child': 1 if fetch_child else 0,
|
||
'status': status
|
||
}
|
||
)
|
||
return res['userlist']
|
||
|
||
def convert_to_openid(self, user_id, agent_id=None):
|
||
"""
|
||
user_id 转成 openid
|
||
|
||
详情请参考
|
||
http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3
|
||
|
||
:param user_id: 企业号内的成员 ID
|
||
:param agent_id: 可选,需要发送红包的应用ID,若只是使用微信支付和企业转账,则无需该参数
|
||
:return: 返回的 JSON 数据包
|
||
"""
|
||
data = optionaldict()
|
||
data['userid'] = user_id
|
||
data['agentid'] = agent_id
|
||
return self._post('user/convert_to_openid', data=data)
|
||
|
||
def convert_to_user_id(self, openid):
|
||
"""
|
||
openid 转成 user_id
|
||
|
||
详情请参考
|
||
http://qydev.weixin.qq.com/wiki/index.php?title=Userid%E4%B8%8Eopenid%E4%BA%92%E6%8D%A2%E6%8E%A5%E5%8F%A3
|
||
|
||
:param openid: 在使用微信支付、微信红包和企业转账之后,返回结果的openid
|
||
:return: 该 openid 在企业号中对应的成员 user_id
|
||
"""
|
||
res = self._post(
|
||
'user/convert_to_userid',
|
||
data={'openid': openid}
|
||
)
|
||
return res['userid']
|