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

161 lines
4.9 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 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']