Files
data-engine/.codebuddy/memory/2026-06-03.md
2026-06-11 13:06:54 +08:00

2.2 KiB
Raw Blame History

2026-06-03 工作记录

钉钉智能薪酬平台对接

  • 新增 dingtalk_salary 平台 + 2个接口到 sql/seed_data_dingtalk_salary.sql
  • 新认证类型 APP_SIGNATUREapp-id + signature 头部认证
  • 签名算法MD5(body_string + app_secret).toUpperCase()

接口明细

  1. salary_dept_listPOST /oapi/salary/dept/list,无入参,单次拉取全量部门
  2. salary_statisticsPOST /oapi/salary/statistics/deptprefetch 自 salary_dept_listrow_inject statisticsMonth

代码改动

  • api_client.go: applyAuthHeader 扩展支持 APP_SIGNATURE 认证,新增 applyAppSignatureAuth + computeBodySignature
  • platform_manager.go: 新增 APP_SIGNATURE case从 auth_config 提取 app_id/app_secret
  • dynamic_sync.go:
    • toFloat64 扩展支持 string→float64适配 salary API 返回 code: "200" 字符串)
    • buildReqBody/buildPrefetchParams skip list 新增 row_inject
    • 新增 injectRowFields 函数:将请求参数注入响应行
    • injectRowFields 调用于 syncWithPrefetch 中3处 row 注入点

新增钉钉智能薪酬人力成本报表接口 (2026-06-03 第二阶段)

新增接口

  1. salary_statistic_reportPOST /oapi/salary/statistic/report/data无分页single_record获取指定月份的人力成本报表

    • 入参:calBizId(格式 yyyyMM"M",如 "202606M",为空默认当月)
    • 出参:data.calBizId + data.sumStatisticsData(成本项数组 JSONB
    • 表:dingtalk_salary_statistic_reportconflict_key: calBizId
  2. salary_statistic_report_groupPOST /oapi/salary/statistic/report/groupData无分页single_record

    • 入参:calBizId + salaryGroupName(必填),使用 row_inject 注入 salaryGroupName
    • 表:dingtalk_salary_statistic_report_groupconflict_keys: calBizId + salaryGroupName

代码改动

  • dynamic_sync.go:修复主同步路径(非 prefetchinjectRowFields 未调用的问题
    • 在 5 处 savePage 调用前添加 injectRowFields初始页、游标分页循环、hasMore 分页、普通分页(有/无 response_config
    • 使 row_inject 在单记录single_record非 prefetch 接口中也能生效