2.9 KiB
2.9 KiB
2026-06-01 工作记录
快手代发订单详情新增
- 新增
open.dropshipping.order.merchant.detail到seed_data_kuaishou.sql - 第19个接口,POST、prefetch 自 dropshipping_order_list、single_record
快手接口全面审查
发现 prefetch 相关7个接口存在3个严重Bug:
- Prefetch 阶段业务参数未包入 param JSON(body_wrapper_field 未生效)
- Prefetch 阶段
parseResp(nil config)无法解析 data.items/data.cpsOrderList 等路径 - Prefetch 循环未处理游标分页(固定页码递增)
Bug 修复(dynamic_sync.go)
syncWithPrefetch改用buildReqBody(prefetchIface)构建请求,body_wrapper_field 正确包装- 改用
parseRespExt(resp.Body, prefetchIface.ResponseConfig)解析响应 - 支持游标分页的 prefetch 循环(cursor/pcursor)
buildPrefetchParams增加过滤 body_wrapper_field/exclude_from_wrapper/cursor_pagination/time_field_mode- 新增
collectPrefetchEntities辅助函数 - 修复并发阶段
inQuery变量缺失的问题
同步调度并发锁修复
SyncByConfig新增syncRunningMap内存锁(sync.Map.LoadOrStore),防止同一接口并发执行- 调度器从
time.NewTicker改为for { run(); time.Sleep(interval) },前一次完成后才开始计时
MEMORY.md 更新
- response_config 增加
single_record字段说明 - prefetch 流程补充游标分页、参数构建、响应解析的详细说明
- 新增「并发保护」章节,记录内存锁和调度器时序
- 调度器章节补充 for+sleep 模式说明
钉钉平台新增
- 创建
seed_data_dingtalk.sql:钉钉开放平台 + 部门列表接口 - auth_type: OAUTH2,access_token 在 URL 查询参数中
- 部门列表:POST + parameters_location=query + recursive 递归遍历,响应
result为数组 - 表名:
dingtalk_department,冲突键:dept_id
递归遍历支持
- 新增
RecursiveConfig+parseRecursiveConfig+syncRecursive函数 syncRecursive:BFS 队列遍历,先查根级 → 对每个子部门递归查下级,防重复 + 最大深度限制buildReqBody/buildPrefetchParams增加过滤recursive/max_recursive_depth
钉钉智能人事平台
- 新建
seed_data_dingtalk_hrm.sql:钉钉智能人事专用平台 - auth_type: OAUTH2 + Header 认证(
x-acs-dingtalk-access-token),独立于 oapi 平台 - 企业职位列表
position_list:POST + cursor 分页 + hasMore,API baseapi.dingtalk.com
钉钉角色列表 + 引擎增强
parseRespExt增加has_more_field支持 + 数字游标(float64→string)syncWithPrefetch支持递归预取来源(BFS)buildReqBody增加pagination_mode: "offset"支持(计算 offset = (page-1)*pageSize)syncSingleAPI增加 hasMore 驱动的分页循环(钉钉 offset/size + hasMore)- 新增
hasMoreCheck辅助函数 - 新增
seed_data_dingtalk.sql角色列表接口:偏移分页 + hasMore