Files
openclaw-config/workspace-wellness/skills/wellness/SKILL.md
T

96 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: "wellness"
description: "管理按摩放松记录:查询/新增技师联系人(cc_contract)和放松记录(cc_contract_record),本地 MySQL wellness 库。"
---
# Wellness — 按摩放松记录管理
管理本地 MySQL `wellness` 数据库,专注**按摩/放松**方向的技师联系人(联系方式)与每次放松记录的**查询与新增**。统计功能后续扩展。
## 数据库连接
复用 db-query skill 配置,数据库名「按摩放松」:
```bash
python3 skills/db-query/scripts/db_query.py --database "按摩放松" --query "<SQL>"
```
- 连接方式:localhost Docker MySQL127.0.0.1:3306),user=rootpassword 已配置
- 所有查询/写入都走 db-query 脚本,凭据不直连
- 执行路径:`/home/yangxuan/.openclaw/workspace/skills/db-query/scripts/db_query.py`
## 表结构
### cc_contract — 技师/联系人
| 字段 | 类型 | 说明 |
|------|------|------|
| id | varchar(32) PK | 联系人 id |
| name | varchar(100) UNIQUE | 名称(唯一) |
| face_url | varchar(200) | 头像地址 |
| wechat / qq / phone | varchar(100) | 微信 / QQ / 电话 |
| address | varchar(500) | 地址 |
| is_read | tinyint | 是否已阅 |
| price | int | 价格 |
| description / comment | text | 描述 / 评论 |
| group_type | int | 组别:0自营 1客服 2spa |
| score | int | 评分 |
| gmt_create / gmt_update | datetime | 创建 / 更新时间 |
| status | tinyint | 0有效 1无效 |
| deleted | bit(1) | 是否删除 |
### cc_contract_record — 每次放松记录
| 字段 | 类型 | 说明 |
|------|------|------|
| id | varchar(50) PK | 记录 id |
| contract_id | varchar(32) | 对应联系人 id(必填) |
| contract_name | varchar(100) | 名称(冗余) |
| record_date | date | 日期(必填) |
| record_locale | varchar(200) | 地点(必填) |
| price | int | 价格 |
| score | int | 评分 |
| comment | text | 评论 |
| gmt_create / gmt_update | datetime | 创建 / 更新时间 |
## 操作规范
### 1. 查询
- 查联系人:`SELECT id,name,phone,wechat,qq,address,price,score,group_type,comment FROM cc_contract WHERE deleted=0 AND status=0`(可加 name LIKE / group_type / price 过滤)
- 查一次记录:`SELECT contract_name,record_date,record_locale,price,score,comment FROM cc_contract_record WHERE deleted=0 AND status=0 ORDER BY record_date DESC`(可加 contract_id / 日期范围过滤)
- 按技师查历史:`... WHERE contract_id='<id>' ...`
- 展示给用户时用中文清晰呈现,联系方式公开非敏感
### 2. 记录(新增)
**新增技师联系人**
```sql
INSERT INTO cc_contract
(id, name, wechat, qq, phone, address, price, description, comment, group_type,
is_delete, status, deleted, gmt_create, gmt_update, score)
VALUES
(UUID(), '<name>', '<wechat>', '<qq>', '<phone>', '<address>', <price>, '<desc>', '<comment>', <group_type>,
0, 0, 0, NOW(), NOW(), <score>)
```
> `<id>` 用 `UUID()` 生成(32位无横线)。若 name 已存在会因 UNIQUE 冲突报错,先查询确认。
**新增一次放松记录**
```sql
INSERT INTO cc_contract_record
(id, contract_id, contract_name, record_date, record_locale, price, score, comment,
is_delete, status, deleted, gmt_create, gmt_update)
VALUES
(UUID(), '<contract_id>', '<name>', '<record_date>', '<record_locale>', <price>, <score>, '<comment>',
0, 0, 0, NOW(), NOW())
```
> contract_id 需先从 cc_contract 查到对应联系人 idrecord_date 用 `YYYY-MM-DD`record_locale 必填。
### 3. 更新 / 软删
- 更新联系人/记录:`UPDATE ... WHERE id='<id>'`(保留软删字段不变)
- 软删:`UPDATE cc_contract SET status=1,deleted=1 WHERE id='<id>'`(不物理删除)
⚠️ **写入前先 SELECT 确认目标存在**,避免误操作。所有写入均通过 db-query 脚本执行。
## 通用原则
- 全程中文交互
- 联系方式非敏感信息,正常展示,但**不向第三方外泄**
- 任何删除/批量修改操作前,先向杨轩展示精确清单并确认
- 统计/报表功能后续扩展,暂不做