Merge commit '1f5140c0fe350e6325f6962b17ddf55b770c2524'

This commit is contained in:
2026-01-16 10:49:05 +08:00
4 changed files with 78 additions and 1 deletions

0
service/callback/base.py Normal file
View File

View File

@@ -0,0 +1,28 @@
from service.wecom.exceptions.general import SDKException
from service.wecom.modules.base import WecomBaseClient
from service.wecom.schemas.card import (
GetCardRecord,
GetCardRecordsRequest,
GetCardRecordsResponse,
)
from service.wecom.utils.requests import HttpxRequest
class WecomCardClient(WecomBaseClient):
async def get_card_records(
self, data: GetCardRecordsRequest
) -> list[GetCardRecord]:
"""
获取打卡记录数据
@param data: 获取打卡记录数据的参数
"""
url = self.BASE_URL + "/checkin/getcheckindata"
params = {"access_token": await self.access_token}
resp = GetCardRecordsResponse(
**await HttpxRequest.post(url=url, params=params, json=data.model_dump())
)
if resp.errcode == 0:
return resp.checkindata
else:
raise SDKException(resp.errcode, resp.errmsg)

View File

@@ -1,10 +1,15 @@
from service.wecom.modules.base import WecomBaseClient
from service.wecom.modules.card import WecomCardClient
from service.wecom.modules.department import WecomDepartmentClient
from service.wecom.modules.message import WecomMessageClient
from service.wecom.modules.users import WecomUsersClient
class Wecom(
WecomDepartmentClient, WecomUsersClient, WecomMessageClient, WecomBaseClient
WecomDepartmentClient,
WecomUsersClient,
WecomMessageClient,
WecomCardClient,
WecomBaseClient,
):
pass

View File

@@ -0,0 +1,44 @@
import datetime
from service.wecom.schemas.base import BaseSchema
class CheckinType:
"""打卡类型"""
ON_OFF_DUTY = 1 # 上下班打卡
OUTING = 2 # 外出打卡
ALL = 3 # 全部打卡
class GetCardRecordsRequest(BaseSchema):
"""获取打卡记录请求"""
opencheckindatatype: CheckinType
starttime: datetime.datetime
endtime: datetime.datetime
useridlist: list[str]
class GetCardRecord(BaseSchema):
userid: str
groupname: str
checkin_type: str
exception_type: str
checkin_time: datetime.datetime
location_title: str
location_detail: str
wifiname: str
notes: str
wifimac: str
mediaids: list[str]
sch_checkin_time: datetime.datetime
groupid: int
schedule_id: int
timeline_id: int
class GetCardRecordsResponse(BaseSchema):
errcode: int
errmsg: str
checkindata: list[GetCardRecord]