init: iShare Phase D 设计文档完整归档

文档清单:
- README.md                     仓库导航
- iShare-dev-plan.md            开发规划
- SYSTEM_DESIGN.md              系统设计(角色/流程/接口)
- DATABASE_DESIGN_V2.md         数据库完整字段设计
- DATABASE_DESIGN_OVERVIEW.md   设计概要 v4(28张表)
- DECISIONS.md                  6个关键决策记录
- db/ishare_schema_v2.sql       基础建表 SQL
- db/ishare_schema_v3_delta.sql v2→v3 增量(评审修复)
- db/ishare_schema_v4_delta.sql v3→v4 增量(决策确认)
- memory_2026-02-17.md          工作日志

Phase D 完成:28张表定稿,所有决策已确认
This commit is contained in:
2026-02-17 13:27:34 +01:00
parent 01df3d8710
commit 2e34dd172b
10 changed files with 2238 additions and 2 deletions

201
memory_2026-02-17.md Normal file
View File

@@ -0,0 +1,201 @@
# 2026-02-17 日记
## 上午/下午
### 1. 补充 VPS 环境文档
- 对比记忆 vs Gitea 文档,发现几处缺漏
- 已补充推送到 Giteahttps://git.puro.im/purovps/vps_env/src/branch/main/vps-environment.md
- 补充内容:
- Redis (localhost:6379 无密码) / Prometheus (9090) / Loki (3100)
- jshERP 架构:后端容器 `jsherp`host network, 9999、前端静态 `/opt/jshERP-web/`
- Drone Trusted 模式、Dockerfile 需要 fontconfig + ttf-dejavu
- 踩坑记录Redis slave 问题、Portainer 改 9000 (HTTP)、前端 403 改到 /opt/jshERP-web/ 等
- Caddy conf.d 路径devops.conf / erp.conf / im.conf / claw.conf
- Mattermost Bot@erp_devbot token助手启停方法
- Fail2ban + Swap 4GB
### 2. iShare 开发规划
- 项目仓库https://git.puro.im/purovps/pigx_ishare
- 规划文档已推送https://git.puro.im/purovps/pigx_ishare/src/branch/master/iShare-dev-plan.md
- 技术路线决策:
- 基于 PigX 5.11.0 二次开发,新增 `pigx-ishare` 业务模块(不动框架原代码)
- Java 17 + Spring Boot 3javax → jakarta 迁移)
- 开发阶段用 `pigx-boot` 单体模式,一个 JAR 跑全部;上线后按需拆微服务
- 管理后台pigx-uiVue3 + TypeScript + Tailwind
- 用户端:独立 H5 项目,响应式移动端优先
- 仓库规划3个独立仓库ishare-backend / ishare-admin / ishare-web
- 开发周期:约 7-8 周到 MVP不含支付
- **下一步待定:开始执行哪个 Phase**
## 晚上
- /compact 压缩后 /new 新开 session
- Ami 粘贴了上次对话记录,同步上下文
---
## ✅ 待办iShare 开发执行
### 项目概况
- **产品**流媒体订阅合租分享平台Netflix/Spotify 等)
- **技术栈**PigX 5.11.0Java 17 + Spring Boot 3二次开发
- **规划文档**https://git.puro.im/purovps/pigx_ishare/src/branch/master/iShare-dev-plan.md
- **PigX 框架**https://git.puro.im/purovps/pigx
- **旧版代码**https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare
### 仓库规划(待创建)
- `ishare-backend` — 后端主仓库Fork PigX 5.11.0 + pigx-ishare 模块)
- `ishare-admin` — 管理后台Fork pigx-ui
- `ishare-web` — 用户端 H5独立 Vue3 项目)
### 开发阶段(已调整优先级)
- [ ] **Phase D最高优先**:系统设计 — 功能清单 + 业务流程 + 数据库设计 ← 进行中
- [ ] **Phase 0**1-2天创建仓库 + Fork PigX + 本地环境 + Drone CI/CD + 建库 SQL
- [ ] **Phase 1**1-2周后端核心 CRUD API平台/计划/商品/账号/用户订阅)
- [ ] **Phase 2**1周管理后台前端ishare-admin
- [ ] **Phase 3**2-3周用户端 H5ishare-web按 Figma 设计稿)
- [ ] **Phase 4**(按需):支付集成(支付宝/微信)
- [ ] **Phase 5**:测试 + 上线
### Phase D 完成状态
- [x] 系统角色定义4个角色
- [x] 功能模块清单用户端11模块 + 管理后台9模块
- [x] 核心业务流程(注册/购买/凭据查看/续费/拼车/邀请 共6条
- [x] 数据库完整设计现有8表修订 + 新增5表as_order/as_wallet/as_wallet_log/as_invite/as_notification
- [x] 接口设计要点AES加密/席位并发控制/价格快照)
- [ ] 待决策项确认6个决策点需 Ami 确认)
- 设计文档https://git.puro.im/purovps/pigx_ishare/src/branch/master/SYSTEM_DESIGN.md
### 关键设计决策
- 开发阶段用 `pigx-boot` 单体模式(一个 JAR上线后按需拆微服务
- 用户端做响应式 H5二期再考虑小程序
- 账号密码 AES 加密存储(复用 PigX Jasypt
- 数据库复用 VPS MariaDBCI/CD 复用 Drone
### 下一步
→ 确认从 **Phase 0** 开始执行
---
## 🛠️ OpenClaw 配置修复2026-02-17 晚)
### QMD 记忆后端修复
- **问题**`qmd-wrapper.sh` 强制用 nvm v24 Node`better-sqlite3` 编译于 v22MODULE_VERSION 127版本冲突导致 `qmd update` 每次都失败
- **修复**:改 wrapper 用 `/usr/bin/node`(系统 v22兼容 better-sqlite3
- **文件**`/home/macsvr/clawd/scripts/qmd-wrapper.sh`
- **结果**QMD 正常索引 78 个文档BM25 记忆检索恢复正常
### Local EmbeddingmemorySearch
- 重新启用(之前临时关闭)
- 模型:`hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf`
- 文件存在:`~/.node-llama-cpp/models/hf_ggml-org_embeddinggemma-300M-Q8_0.gguf`
---
## 📐 iShare Phase D数据库设计 v2.0 完成
### 已推送到 Gitea
- 设计文档https://git.puro.im/purovps/pigx_ishare/src/branch/master/DATABASE_DESIGN_V2.md
- 建表 SQLhttps://git.puro.im/purovps/pigx_ishare/src/branch/master/db/ishare_schema_v2.sql
### 修复的原版缺陷15项
**严重4项**
1. `as_user_sub.remark` int→varchar字段类型 Bug
2. `as_user_sub``status``expire_time`(订阅生命周期无法管理)
3. `as_sub_account.passwd_salt` int→varchar(64)(加密 Salt 不能用 int
4. 缺少个人订阅记录表(无法追踪谁加入了哪个合租位)
**重要6项**
5. `as_sub_product.Tags``tags`Java 命名 Bug
6. `as_sub_plan.platform_id` varchar→bigint`capacity` varchar→int
7. `as_sub_payroll.sub_plans``sub_plan_id`(语义混乱)
8. 7 处 int/Long→bigint 类型对齐
9. `as_sub_product``platform_id``status``cover_image`
10. `as_sub_payroll``duration_months``original_price`
### 新增 6 张表
| 表 | 作用 |
|----|------|
| `as_user_sub_member` | 个人订阅记录(最关键缺失表) |
| `as_order` | 完整订单(含状态机) |
| `as_wallet` | 用户钱包(含乐观锁) |
| `as_wallet_log` | 钱包流水 |
| `as_invite` | 邀请关系/返现 |
| `as_notification` | 系统通知 |
**总计9 App 基础表 + 14 业务表 = 23 张表**
### Phase D 状态
- [x] 系统角色/功能模块清单
- [x] 核心业务流程6条
- [x] 数据库设计 v2.0(修复+新增)
- [ ] 待决策项确认6个见 SYSTEM_DESIGN.md
- [ ] Phase 0 环境搭建(等 Phase D 决策确认后)
---
## 🌙 晚上Session 2
### iShare Phase D 完成
#### 数据库评审7 个问题全部修复)
| 问题 | 处理 |
|------|------|
| R1 充值流水缺失 | 新增 `as_recharge` 表 |
| R2 续费唯一键问题 | 移除 UNIQUE KEY续费改为新建记录 |
| I1 Banner 表缺失 | 新增 `as_banner` 表 |
| I2 M:N 逗号分隔 | 新增 `as_product_plan_rel`,移除 `sub_plan_ids` |
| I3 文档字段不一致 | 概要统一至 v2 修订字段名 |
| L1 拼车状态未建模 | `status=4` 等待车主录入凭据 |
| L2 索引缺失 | 补充 12 项关键索引 |
**表数量v2(23张) → v3(27张)**
#### 5 个决策项确认
| # | 决策 |
|---|------|
| 1 | 三种支付全支持(复用 pigx-pay |
| 2 | 拼车广场 Phase 2一期仅自营 |
| 3 | 凭据查看需二次验证SMS OTP |
| 4 | 邀请返现完全可配置,新增 `as_invite_config` 表 |
| 6 | 提现 Phase 2 |
**最终28 张表Phase D 完成**
#### Gitea 提交记录
- `v1-initial-design` — 初版设计快照
- `v2-db-reviewed` — 评审修复完成
- `v3-phase-d-complete` — Phase D 全部完成(决策确认)
**新增文件:**
- `db/ishare_schema_v3_delta.sql` / `db/ishare_schema_v4_delta.sql`
- `DECISIONS.md` — 完整决策记录
- `DATABASE_DESIGN_OVERVIEW.md` — v4 最终版概要
---
## 📋 前置信息整理(开发背景)
### VPS 环境文档同步2026-02-17 下午)
文档与记忆对比,发现缺漏并已补充推送:
**文档里有但记忆缺的(新信息):**
- LCMP (teddysun/lcmp) 一键安装 + lcmp-guide.md
- PHP 8.4.18 (php8.4-fpm)
- MariaDB 11.4.10 版本
**记忆里有但文档缺的(已补充):**
- Redis (localhost:6379, 无密码) / Prometheus (9090) / Loki (3100)
- jshERP 架构:容器 `jsherp`host network, 9999、前端 `/opt/jshERP-web/`、Drone Trusted 模式、Dockerfile 需 fontconfig + ttf-dejavu
- 踩坑记录Redis slave 问题、Portainer 改 9000 (HTTP)、前端 403 改路径等
- Caddy conf.d 路径devops.conf / erp.conf / im.conf / claw.conf
- Mattermost Bot@erp_devbot tokenMS 助手启停方法
- 安全基础Swap 4GB、Fail2ban
文档地址https://git.puro.im/purovps/vps_env/src/branch/main/vps-environment.md
### iShare 规划来源
- 旧版代码(基于 PigX 5.2https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare
- 新版 PigX 框架https://git.puro.im/purovps/pigx
- 已有资产:旧版代码 + 数据库设计 + Figma 设计稿iShare_Design/iShare_设计文档.html