增加定时同步组织架构
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from wecom.exceptions.general import SDKException
|
||||
from wecom.schemas.token import AccessTokenInfo, AccessTokenParams
|
||||
from wecom.utils.requests import HttpxRequest
|
||||
from service.wecom.exceptions.general import SDKException
|
||||
from service.wecom.schemas.token import AccessTokenInfo, AccessTokenParams
|
||||
from service.wecom.utils.requests import HttpxRequest
|
||||
|
||||
BASE_URL: str = "https://qyapi.weixin.qq.com/cgi-bin"
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
from wecom.exceptions.general import SDKException
|
||||
from wecom.modules.base import WecomBaseClient
|
||||
from wecom.schemas.departments import (
|
||||
from service.wecom.exceptions.general import SDKException
|
||||
from service.wecom.modules.base import WecomBaseClient
|
||||
from service.wecom.schemas.departments import (
|
||||
CreateDepartmentInfo,
|
||||
CreateDepartmentParams,
|
||||
DepartmentInfo,
|
||||
DepartmentInfoItem,
|
||||
UpdateDepartmentInfo,
|
||||
UpdateDepartmentParams,
|
||||
)
|
||||
from wecom.utils.requests import HttpxRequest
|
||||
from service.wecom.utils.requests import HttpxRequest
|
||||
|
||||
|
||||
class WecomDepartmentClient(WecomBaseClient):
|
||||
@@ -63,7 +64,7 @@ class WecomDepartmentClient(WecomBaseClient):
|
||||
else:
|
||||
raise SDKException(resp.errcode, resp.errmsg)
|
||||
|
||||
async def get_departments(self, id: int = None) -> list[DepartmentInfo]:
|
||||
async def get_departments(self, id: int = None) -> list[DepartmentInfoItem]:
|
||||
"""
|
||||
获取部门列表
|
||||
@param id: 部门id。获取指定部门及其下的子部门。
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
from typing import Literal
|
||||
|
||||
from wecom.exceptions.general import SDKException
|
||||
from wecom.modules.base import WecomBaseClient
|
||||
from wecom.schemas.message import (
|
||||
from service.wecom.exceptions.general import SDKException
|
||||
from service.wecom.modules.base import WecomBaseClient
|
||||
from service.wecom.schemas.message import (
|
||||
MessageParams,
|
||||
RecallMessageInfo,
|
||||
RecallMessageParams,
|
||||
SendMessageInfo,
|
||||
)
|
||||
from wecom.utils.requests import HttpxRequest
|
||||
from service.wecom.utils.requests import HttpxRequest
|
||||
|
||||
|
||||
class WecomMessageClient(WecomBaseClient):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from wecom.modules.base import WecomBaseClient
|
||||
from wecom.modules.department import WecomDepartmentClient
|
||||
from wecom.modules.message import WecomMessageClient
|
||||
from wecom.modules.users import WecomUsersClient
|
||||
from service.wecom.modules.base import WecomBaseClient
|
||||
from service.wecom.modules.department import WecomDepartmentClient
|
||||
from service.wecom.modules.message import WecomMessageClient
|
||||
from service.wecom.modules.users import WecomUsersClient
|
||||
|
||||
|
||||
class Wecom(
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
from wecom.exceptions.general import SDKException
|
||||
from wecom.modules.base import WecomBaseClient
|
||||
from wecom.schemas.departments import DepartmentInfo
|
||||
from wecom.schemas.users import DepartmentUserDetailInfo, DepartmentUserInfo, UserInfo
|
||||
from wecom.utils.requests import HttpxRequest
|
||||
from service.wecom.exceptions.general import SDKException
|
||||
from service.wecom.modules.base import WecomBaseClient
|
||||
from service.wecom.schemas.departments import DepartmentInfo
|
||||
from service.wecom.schemas.users import (
|
||||
DepartmentUserDetailInfo,
|
||||
DepartmentUserInfo,
|
||||
UserInfo,
|
||||
UserSimpleInfo,
|
||||
)
|
||||
from service.wecom.utils.requests import HttpxRequest
|
||||
|
||||
|
||||
class WecomUsersClient(WecomBaseClient):
|
||||
@@ -45,7 +50,7 @@ class WecomUsersClient(WecomBaseClient):
|
||||
else:
|
||||
raise SDKException(resp.errcode, resp.errmsg)
|
||||
|
||||
async def get_user_in_department(self, department_id: int) -> dict:
|
||||
async def get_user_in_department(self, department_id: int) -> list[UserSimpleInfo]:
|
||||
"""
|
||||
读取部门成员简要信息
|
||||
@param department_id: 获取的部门id
|
||||
@@ -61,7 +66,7 @@ class WecomUsersClient(WecomBaseClient):
|
||||
resp = DepartmentUserInfo(**await HttpxRequest.get(url=url, params=params))
|
||||
|
||||
if resp.errcode == 0:
|
||||
return resp.model_dump(exclude={"errcode", "errmsg"})
|
||||
return resp.userlist
|
||||
else:
|
||||
raise SDKException(resp.errcode, resp.errmsg)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import AnyStr, List
|
||||
from typing import List
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
from service.wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class CreateDepartmentParams(BaseSchema):
|
||||
@@ -26,23 +26,23 @@ class UpdateDepartmentParams(CreateDepartmentParams): ...
|
||||
|
||||
class UpdateDepartmentInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
errmsg: str
|
||||
|
||||
|
||||
class CreateDepartmentInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
errmsg: str
|
||||
id: int
|
||||
|
||||
|
||||
class DepartmentInfo(BaseSchema):
|
||||
class DepartmentInfoItem(BaseSchema):
|
||||
"""
|
||||
部门单体响应数据
|
||||
"""
|
||||
|
||||
id: int
|
||||
name: AnyStr
|
||||
name_en: AnyStr | None = None
|
||||
name: str
|
||||
name_en: str | None = None
|
||||
department_leader: List[str] | None = None
|
||||
parentid: int | None = None
|
||||
order: int | None = None
|
||||
@@ -54,5 +54,5 @@ class DepartmentInfo(BaseSchema):
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
department: List[DepartmentInfo]
|
||||
errmsg: str
|
||||
department: List[DepartmentInfoItem]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import AnyStr, Literal
|
||||
from typing import Literal
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
from service.wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class MessageParams(BaseSchema):
|
||||
@@ -24,9 +24,9 @@ class MessageParams(BaseSchema):
|
||||
touser、toparty、totag不能同时为空,后面不再强调
|
||||
"""
|
||||
|
||||
touser: AnyStr | None = None
|
||||
toparty: AnyStr | None = None
|
||||
totag: AnyStr | None = None
|
||||
touser: str | None = None
|
||||
toparty: str | None = None
|
||||
totag: str | None = None
|
||||
msgtype: Literal[
|
||||
"text", "image", "voice", "video", "textcard", "news", "mpnews", "markdown"
|
||||
]
|
||||
@@ -55,13 +55,13 @@ class SendMessageInfo(BaseSchema):
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
invaliduser: AnyStr | None = None
|
||||
invalidparty: AnyStr | None = None
|
||||
invalidtag: AnyStr | None = None
|
||||
unlicenseduser: AnyStr | None = None
|
||||
msgid: AnyStr | None = None
|
||||
response_code: AnyStr | None = None
|
||||
errmsg: str
|
||||
invaliduser: str | None = None
|
||||
invalidparty: str | None = None
|
||||
invalidtag: str | None = None
|
||||
unlicenseduser: str | None = None
|
||||
msgid: str | None = None
|
||||
response_code: str | None = None
|
||||
|
||||
|
||||
class SendMessageInvalid(BaseSchema):
|
||||
@@ -70,11 +70,11 @@ class SendMessageInvalid(BaseSchema):
|
||||
|
||||
"""
|
||||
|
||||
errmsg: AnyStr
|
||||
invaliduser: AnyStr | None = None
|
||||
invalidparty: AnyStr | None = None
|
||||
invalidtag: AnyStr | None = None
|
||||
unlicenseduser: AnyStr | None = None
|
||||
errmsg: str
|
||||
invaliduser: str | None = None
|
||||
invalidparty: str | None = None
|
||||
invalidtag: str | None = None
|
||||
unlicenseduser: str | None = None
|
||||
|
||||
|
||||
class RecallMessageParams(BaseSchema):
|
||||
@@ -82,7 +82,7 @@ class RecallMessageParams(BaseSchema):
|
||||
撤回消息请求参数
|
||||
"""
|
||||
|
||||
msgid: AnyStr
|
||||
msgid: str
|
||||
|
||||
|
||||
class RecallMessageInfo(BaseSchema):
|
||||
@@ -91,4 +91,4 @@ class RecallMessageInfo(BaseSchema):
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
errmsg: str
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from wecom.schemas.base import BaseSchema
|
||||
from service.wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class AccessTokenParams(BaseSchema):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import AnyStr, List
|
||||
from typing import List
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
from service.wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class UserInfo(BaseSchema):
|
||||
@@ -9,31 +9,31 @@ class UserInfo(BaseSchema):
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
userid: AnyStr | None = None
|
||||
name: AnyStr | None = None
|
||||
errmsg: str
|
||||
userid: str | None = None
|
||||
name: str | None = None
|
||||
department: List[int] | None = None
|
||||
position: AnyStr | None = None
|
||||
moblie: AnyStr | None = None
|
||||
position: str | None = None
|
||||
moblie: str | None = None
|
||||
gender: int | None = None
|
||||
email: AnyStr | None = None
|
||||
email: str | None = None
|
||||
status: int | None = None
|
||||
|
||||
|
||||
class UserSimpleInfo(BaseSchema):
|
||||
userid: AnyStr
|
||||
name: AnyStr
|
||||
userid: str
|
||||
name: str
|
||||
department: List[int]
|
||||
open_userid: AnyStr | None = None
|
||||
open_userid: str | None = None
|
||||
|
||||
|
||||
class DepartmentUserInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
errmsg: str
|
||||
userlist: List[UserSimpleInfo]
|
||||
|
||||
|
||||
class DepartmentUserDetailInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
errmsg: str
|
||||
userlist: List[UserInfo]
|
||||
|
||||
Reference in New Issue
Block a user