# 伪BI · 小溪 S2 操作手册

> 版本：v1.0 | 创建：2026-06-06 | 来源：陈逸鸫 @群聊

## S1–S3 协作流程

```
S1 Cursor → 微伴入库/每日线索/聚光 → @小溪
S2 小溪 → 销售三表 D/H/I/J + K–V + S/U → 群回「Bot刷新完成」
S3 Cursor → 收到后粘贴订单汇总 + 刷看板公式
```

小溪只管 S2，不动订单汇总 tab。

## S2 执行脚本

```bash
cd /root/.openclaw/workspace && python3 scripts/bot_sales_step2_refresh.py
```

## S2 必守规则

### ① E→H：phone_encrypt.py XXTEA 精确匹配
- E 列 11 位明文手机号 → `phone_encrypt.encrypt_phone()` 加密
- `WHERE bi_vala_app_account.tel_encrypt = 加密值 AND status=1 AND deleted_at IS NULL`
- 匹配到 → H 填纯数字 id
- 匹配不到 → H 留空
- **严禁**：前三后四 LIKE、MySQL vala_app_account.tel、多候选选一个、写「未注册」「无互动」

### ② H→D/I/J：只补空，不覆盖
- 已有 H（纯数字 UID）→ 查 DB 获取 D(体验节数)/I(注册日)/J(下载渠道)
- D/I/J 已有值 → 保留不覆盖
- D/I/J 为空 → 填入查询结果

### ③ K–V 规则
- **K=是**：仅当 L(下单日) ≥ C(线索日期) 时才写「是」
- **全额退清**：用户所有订单都被退费 → K/O/P/Q 全部清空
- **O/P/Q 0 留空**：金额为 0 时写空字符串，不写 0
- **P 整元**：退款金额必须整数（int），禁止小数点

### ④ G 列不动
- G 列仅销售手动填写跟进内容，S2 不写

### ⑤ 订单汇总不动
- 订单汇总 tab (2smjwA) 由 Cursor S3 负责

## 覆盖列清单

| 列 | 内容 | 规则 |
|---|---|---|
| D | 体验节数 | H→DB 查，只补空 |
| H | UID | E→XXTEA→DB，精确匹配 |
| I | 注册日 | H→DB 查，只补空 |
| J | 下载渠道 | H→DB 查，只补空 |
| K | 是否下单 | L≥C 才「是」，全额退清则空 |
| L | 下单日 | 最新订单 pay_success_date |
| M | 成交渠道 | 最新订单 key_from |
| N | 产品 | 最新订单 goods_id→名称 |
| O | GMV | 整元，0留空，全额退清则空 |
| P | 退款 | 整元，0留空 |
| Q | GSV | O−P，0留空，全额退清则空 |
| R | 激活课程 | A1/A2 体验课 |
| S | 行课进度 | L1-S1-U01-L03 格式，有值才写 |
| T | 最近行课 | 日期 |
| U | 学习时长 | 分钟，0留空 |
| V | 更新时间 | 刷新时间戳 |

## 频率
- 当日默认只跑一轮 S2
- 再刷需群里 `【执行更新】` @小溪
