37 lines
2.8 KiB
Markdown
37 lines
2.8 KiB
Markdown
|
||
# 2026-05-06 工作日志
|
||
|
||
## 任务1:学而思/讯飞/希沃/京东方月度渠道订单报表
|
||
|
||
- [李承龙需求] 创建按月汇总四个渠道订单的 Python 脚本
|
||
- 脚本路径:`/root/.openclaw/workspace/scripts/monthly_channel_order_report.py`
|
||
- **渠道映射:** 仅端内 `key_from='app-active-h5-0-0'`,sale_channel: 21=学而思, 22=讯飞, 26=希沃, 27=京东方
|
||
- **输出格式:** 四个渠道各一个 Sheet,每月按天展示(学而思/希沃/京东方只显示有订单日期,讯飞显示全月每天)
|
||
- **指标差异:**
|
||
- 学而思/希沃/京东方:订单数、GMV、CPS分成(学而思×0.45,希沃×0.4,京东方×0.3)、订单号(分号拼接)
|
||
- 讯飞:订单数、GMV、新增注册(download_channel LIKE '%讯飞%')、CPA分成(新增注册×7)、订单号
|
||
- **退费剔除:** NOT EXISTS (bi_refund_order.status=3) AND order_status != 4
|
||
- **测试运行:** 2026-04 月份,新增注册 537(讯飞),订单合计 15 单,GMV 14585 元
|
||
- **订单号格式问题:** Excel 科学计数法 → 设置单元格为文本格式解决
|
||
- **psycopg2 转义:** LIKE 中 `%` 需写成 `%%`(psycopg2 的 `%s` 占位符冲突)
|
||
|
||
## 任务2:销售线索用户分析报表
|
||
|
||
- [李承龙需求] 输入包含462个用户ID的Excel,输出每个用户+角色的完整画像报表
|
||
- 脚本路径:`/root/.openclaw/workspace/scripts/lead_user_analysis.py`
|
||
- **重要口径修正(李承龙确认):**
|
||
- **体验课定义:** 固定为 L1 U00(L01-L05) + L2 U00(L01-L05) 共10节课,**不通过 expire_time 区分**
|
||
- L1 chapter_id: 343, 344, 345, 346, 348
|
||
- L2 chapter_id: 55, 56, 57, 58, 59
|
||
- **完成时间:** 取 `bi_user_chapter_play_record` 中 `play_status=1` 记录的**最早 `updated_at`**(非 `created_at`)
|
||
- **报表列:** 用户ID、角色ID、用户注册时间、角色创建时间、L1序章5节完成时间、L2序章5节完成时间、购买时间、购买课包名称、支付金额、购买渠道key_from、是否退款、退款金额
|
||
- **分表规则:** `bi_user_chapter_play_record_{0..7}`,分表号 = user_id % 8
|
||
- **重要关联:** `bi_user_chapter_play_record.user_id` = `bi_vala_app_character.id`(角色ID),非 account_id
|
||
- **退款条件:** `bi_refund_order.status=3` AND `bi_vala_order.order_status=4`
|
||
- **结果:** 533行(462个用户 × 533个有效角色),235个完成L1序章,139个完成L2序章,53行有购买,10行有退款
|
||
- **踩坑记录:**
|
||
- 子会话按旧口径执行后被 kill,最终主会话亲自重写脚本
|
||
- ALL_CHAPTERS 的值是 `"L1_U00_L01"`,COL_ORDER 是 `"L1_U00_L01_完成时间"`,不匹配导致全部为空,修复后正确
|
||
- datetime 写入 Excel 需去掉时区信息 `dt.tz_localize(None)`
|
||
- play_record 分表查询需遍历 0-7 共 8 个分表
|