80 lines
2.8 KiB
Markdown
80 lines
2.8 KiB
Markdown
---
|
||
name: user-info
|
||
version: 2.0.0
|
||
description: Query complete user info from online databases — resolve account/role/phone/ticket ID to unified account profile with tickets, characters, learning progress and activity levels.
|
||
---
|
||
|
||
# user-info — 用户信息查询
|
||
|
||
## When to Use
|
||
|
||
用户提到以下任意一种请求时触发:
|
||
- "帮我查询一下账号 [ID] 的信息"
|
||
- "查一下角色 [ID] 的信息"
|
||
- "查一下手机号 [号码] 的信息"
|
||
- "查一下订单号 [ID] 的信息"
|
||
- "查一下用户信息" / "用户信息查询"
|
||
|
||
## Core Rules
|
||
|
||
1. 从用户输入中提取查询条件(账号ID / 角色ID / 手机号 / 订单号),数字型优先匹配 ID,11 位数字优先匹配手机号
|
||
2. 调用 `scripts/query_user_info.py` 执行查询,传入对应参数
|
||
3. 将脚本输出的格式化结果原样返回给用户
|
||
4. 若脚本报错(如未找到账号),将错误信息如实反馈给用户
|
||
5. 所有查询均为只读操作,不修改任何数据
|
||
|
||
## 执行命令
|
||
|
||
```bash
|
||
python3 skills/user-info/scripts/query_user_info.py --account-id <ID>
|
||
python3 skills/user-info/scripts/query_user_info.py --role-id <ID>
|
||
python3 skills/user-info/scripts/query_user_info.py --phone <号码>
|
||
python3 skills/user-info/scripts/query_user_info.py --order-id <ID>
|
||
```
|
||
|
||
支持 `--json` 参数输出 JSON 格式。
|
||
|
||
## 查询内容
|
||
|
||
脚本自动完成以下五步查询并格式化输出:
|
||
|
||
| 步骤 | 内容 |
|
||
|------|------|
|
||
| 第1步 | 解析输入 → 定位唯一 account_id |
|
||
| 第2步 | 账号基本信息:注册时间、最近活跃、角色数、赛季通票数、下载渠道、注册来源 |
|
||
| 第3步 | 全部赛季通票(订单):类型、套餐名、发放/过期/使用时间、状态 |
|
||
| 第4步 | 全部角色:名称、性别、年龄、当前课程位置(Level/Unit/Lesson)、上次完课时间、活跃度 |
|
||
| 第5步 | 汇总格式化输出 |
|
||
|
||
## 活跃度判定规则
|
||
|
||
- 无完课记录 → **无完课记录**
|
||
- 最近 14 天无完课记录 → **流失**
|
||
- 最近 14 天完课 > 10 次 → **高活跃**
|
||
- 最近 14 天完课 < 5 次 → **低活跃**
|
||
- 其余 → **正常活跃**
|
||
|
||
## 数据覆盖说明
|
||
|
||
线上数据库表结构与测试环境不同,以下字段暂不可用:
|
||
|
||
| 字段 | 原因 |
|
||
|------|------|
|
||
| 登录设备记录 | 线上无 `account_login` 表 |
|
||
| 地域信息 | 线上无 `account_detail_info` 表 |
|
||
| 商品订单(金额、渠道) | 线上仅 `vala_seasonal_ticket`(赛季通票),无标准订单表 |
|
||
|
||
## Quick Reference
|
||
|
||
| 内容 | 文件 |
|
||
|------|------|
|
||
| 数据库表结构参考 | `references/database_schema.md` |
|
||
| 查询脚本 | `scripts/query_user_info.py` |
|
||
|
||
## 依赖
|
||
|
||
- Python 3
|
||
- pymysql, psycopg2-binary
|
||
- MySQL Online:vala_user(账号/角色)、vala_order(赛季通票)、vala(章节/赛季映射)
|
||
- PostgreSQL Online vala(user_chapter_play_record_0~7)
|