Files
shanxia2.0/openspec/changes/zkxw-engineering-standards/specs/ecosystem-landscape/spec.md
T
2026-05-30 14:03:11 +08:00

55 lines
3.4 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.
## ADDED Requirements
### Requirement: 多系统 SQL 模型权威文件索引
山峡相关产品线 SHALL 将下列 `docs/sql/` 导出文件视为各系统数据库模型的**权威 DDL 快照**(Navicat 导出,MySQL 5.7);实现或评审时 SHALL 以对应文件为准,不得与 `shanxia2.0` 本仓库后端模型混用。
| 系统 | SQL 快照路径 | 典型库名(导出元数据) | 表命名特征 | 对应工程 |
|------|----------------|------------------------|------------|----------|
| 地磅系统 | `docs/sql/dibang.sql` | `dibang-test` | `cargos`、`companies`、`weighing_slips`、`inbound_outbound` 等 | 独立系统(非本仓库 `backend/`) |
| 山峡一体化门户 | `docs/sql/shanxia2.0.sql` | `shanxia2.0` | `sys_*`、`biz_*`、`wf_*`;公共字段含 `tenant_no`、`del_flag` | 本仓库 `backend/` + `web-admin/` + `miniprogram/` |
| 山峡 CRM 系统 | `docs/sql/sx.sql` | `sx` | `crm_*`(线索/客户/商机/合同/回款等);同库可含 `bx_*` 报销子域表 | 独立仓库 `shanxia/crm/`(见下条) |
#### Scenario: 新人定位门户库表
- **WHEN** 在 `shanxia2.0` 仓库内开发细胞存储、系统管理、工作流等门户能力
- **THEN** 查阅与变更 DDL SHALL 使用 `docs/sql/shanxia2.0.sql`,且 ORM/迁移与 `database-conventions` 公共字段约定一致
#### Scenario: 新人定位 CRM 库表
- **WHEN** 开发线索、客户、合同、回款等 CRM 业务
- **THEN** 查阅 DDL SHALL 使用 `docs/sql/sx.sql`,代码变更 SHALL 在 `shanxia` 仓库的 `crm/` 工程内进行,而非 `shanxia2.0/backend/`
#### Scenario: 新人定位地磅库表
- **WHEN** 开发地磅、称重单、进出库等业务
- **THEN** 查阅 DDL SHALL 使用 `docs/sql/dibang.sql`,且 SHALL NOT 假定表结构与本仓库 `shanxia2.0.sql` 相同
### Requirement: 山峡 CRM 工程路径与栈
山峡 CRM 系统 SHALL 视为与 `shanxia2.0` **分离的 Git 仓库与部署单元**;默认工作区路径为同级目录 `shanxia/crm/`(相对 monorepo 工作区根:与 `shanxia2.0` 并列的 `shanxia` 仓库)。
| 层级 | 路径(相对 `shanxia` 仓库根) | 技术栈 |
|------|-------------------------------|--------|
| 后端 | `crm/backend/` | Java 17、Spring Boot 3.4、RuoYi-Vue-Plus、MyBatis-Plus、Sa-Token |
| Web 管理端 | `crm/web/` | Vue 3、TypeScript、Element Plus、Vite |
#### Scenario: Agent 选择正确后端入口
- **WHEN** 任务描述涉及 CRM、线索、客户、合同、回款或 `crm_*` 表
- **THEN** Agent SHALL 在 `shanxia/crm/backend/` 下查找与修改 Java 代码,API 前缀与 RuoYi 约定(如 `/prod-api`)以该工程为准
#### Scenario: Agent 选择正确前端入口
- **WHEN** 任务描述涉及 CRM 管理端页面或 `crm/web` 路由
- **THEN** Agent SHALL 在 `shanxia/crm/web/` 下查找与修改 Vue 代码,UI 规范以该仓库 `.cursorrules` / `AGENTS.md` 为准(非 `shanxia2.0` Fresh Mint 规范)
### Requirement: 本仓库与周边系统的边界
`shanxia2.0` 仓库 SHALL 仅承载一体化门户(Python FastAPI + `web-admin` + `miniprogram`);CRM 与地磅 SHALL NOT 默认在本仓库 `backend/` 或 `web-admin/` 内实现,除非 OpenSpec 功能变更明确声明集成或迁移。
#### Scenario: 跨系统需求评审
- **WHEN** 需求同时涉及门户与 CRM 或地磅
- **THEN** 设计说明 SHALL 分别标明所影响的 SQL 快照路径与代码仓库路径,并避免单一 PR 无说明地混改多库 DDL