--- name: export-user-data description: | 导出一个或多个角色的全量行课数据(音频、互动组件、课程巩固、单元挑战、单元总结、汇总统计)。 支持角色ID或账户ID批量导出,输出多 sheet Excel 文件。 触发词:导出角色/行课数据、导出用户数据、export user data。 --- # 导出角色行课数据 ## 前置条件 - wrapper 脚本已配置数据库凭证(`scripts/export_user_data.sh`) - 依赖:`python3`, `pymysql`, `psycopg2`, `pandas`, `requests` ## 执行方式 ```bash cd /root/.openclaw/workspace-xiaoban ./scripts/export_user_data.sh <参数> ``` ## 参数 | 参数 | 说明 | 示例 | |------|------|------| | `--user-id ` | 单个角色ID | `--user-id 33123` | | `--user-ids ` | 多个角色ID,逗号分隔 | `--user-ids 33123,33124` | | `--account-ids ` | 多个账户ID,逗号分隔 | `--account-ids 2148,2149` | | `--output-dir ` | 输出目录(默认 `output/`) | `--output-dir /tmp/` | 三种模式互斥,只能传一种 ID 参数。 ## 输出 - 默认输出到 `output/` 目录 - 单角色:`角色id_{ID}_导出时间_{YYYYMMDD}.xlsx` - 账户模式:`账户id_{AID}_角色id_{UID}_导出时间_{YYYYMMDD}.xlsx` ## Excel 包含的 Sheet 1. 全部音频数据(ES `user-audio` 索引) 2. 互动组件学习记录(PG 8张分表 + MySQL 组件配置) 3. 课程巩固记录(PG `user_unit_review_question_result`) 4. 单元挑战记录(PG `user_unit_challenge_question_result`) 5. 单元总结记录(PG) 6. 汇总统计(组件类型统计 / 知识点统计 / 单元时长统计) ## 完成后 如果是从飞书对话触发的导出,导出完成后通过 `lark-send-message-as-bot` 技能将文件发送给请求用户。