# 2026-06-01 工作记录 ## 快手代发订单详情新增 - 新增 `open.dropshipping.order.merchant.detail` 到 `seed_data_kuaishou.sql` - 第19个接口,POST、prefetch 自 dropshipping_order_list、single_record ## 快手接口全面审查 发现 prefetch 相关7个接口存在3个严重Bug: 1. Prefetch 阶段业务参数未包入 param JSON(body_wrapper_field 未生效) 2. Prefetch 阶段 `parseResp(nil config)` 无法解析 data.items/data.cpsOrderList 等路径 3. Prefetch 循环未处理游标分页(固定页码递增) ## Bug 修复(dynamic_sync.go) 1. `syncWithPrefetch` 改用 `buildReqBody(prefetchIface)` 构建请求,body_wrapper_field 正确包装 2. 改用 `parseRespExt(resp.Body, prefetchIface.ResponseConfig)` 解析响应 3. 支持游标分页的 prefetch 循环(cursor/pcursor) 4. `buildPrefetchParams` 增加过滤 body_wrapper_field/exclude_from_wrapper/cursor_pagination/time_field_mode 5. 新增 `collectPrefetchEntities` 辅助函数 6. 修复并发阶段 `inQuery` 变量缺失的问题 ## 同步调度并发锁修复 1. `SyncByConfig` 新增 `syncRunningMap` 内存锁(sync.Map.LoadOrStore),防止同一接口并发执行 2. 调度器从 `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 base `api.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