Files
crm_project/Project Handover Document.md
hankin 423baff73b v0.1.0: CRM/ERP 系统内测版本 - 安全加固完成
- Docker bridge 网络隔离(8000 端口封死)
- Gunicorn 4 Worker 多进程
- Alembic 数据库迁移基线
- 日志轮转 20m×3
- JWT 密钥 + DB 密码 + CORS 收紧
- 3-2-1 备份链路(NAS + R740-B 冷备)
- 连接池 pool_pre_ping + pool_recycle=3600
2026-03-16 07:31:37 +00:00

124 lines
6.0 KiB
Markdown
Raw Permalink 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.
---
创建时间: 2026-02-27T15:07
更新时间: 2026-02-27T15:13
tags:
- WebApp
- work
---
# 项目现状与后端开发交接说明书 (Project Handover Document)
## 1. 项目概况与技术栈 (Project Overview & Tech Stack)
**业务背景**: 本项目为专为**润滑油行业**深度定制的 B2B 企业级 ERP/CRM 综合系统。业务链路完整覆盖了“客(客户与客情)、货(产品与库存)、单(订单与发货)、财(发票与智能报销)、权(组织与权限)”五大核心中后台数字化流转。
**技术栈要求**
- **前端 (已完成 UI 占位)**Vue 3 (Composition API), TypeScript, Element Plus, Vite.
- **后端 (即将开发,请 AI 注意)**:[⚠️请在此处填入你期望的后端语言,如:Node.js (NestJS) / Java (Spring Boot) / Python (FastAPI)] + MySQL/PostgreSQL 关系型数据库 + Redis (用于 Token 鉴权与缓存)。
## 2. 已完成的前端模块全景图 (Completed Frontend Modules)
现阶段已完成全套核心前台视图(UI/UX)搭建与交互逻辑封皮,主要包含以下独立路由模块:
- **`/` 及基础框架 (Layout)**:基于 `el-container` 的经典折叠侧边栏与顶部面包屑导航,预留多级路由。
- **`/customers` (客户管理大盘)**:涵盖高级检索,实现 A/B/C 三级高净值客户的标签化表格总览。
- **`/customers/detail` (客户详情)**:深度整合 AI。左侧档案卡+AI客情健康度;右侧/下方搭载沉浸式时间轴(Timeline),及弹窗式 `AI 拜访简报生成器`
- **`/products` (产品与库存)**:采用“左树右表”布局。左侧分类树,右侧精细管理多包装规格 SKU,内置双抽屉查看详情及【出入库流水账】。
- **`/orders` (订单管理)**:业务极度复杂的交易枢纽。含【客户专属历史定价自动带出】逻辑,精准追踪发货状态(待/部分/已发货)及付款进度(进度条跟踪)。
- **`/shipping` (物流发货记录)**:与订单强关联,支持【一笔订单分批发货】,追踪承运方与物流单号。
- **`/finance` (财务发票与报销中心)**
- **大一统票据池**:上传即刻 OCR 提取,底层实行软删除(作废)。
- **智能报销申请 (草稿体系)**:左侧票据池拉取,右侧购物车封装(内置费用描述及两级票据类型转换),实时合计。
- **专属 A4 打印**:利用 CSS `@media print` 穿透重绘出带大写金额转化、极高信噪比的定制版报销单。
- **`/settings` (系统设置与权限)**:标准 RBAC 控制台。左树(部门)右表(员工);角色池分配极细粒度的“数据横向穿透权限”(全部/本部门/仅本人)及菜单按钮权限。
## 3. 核心业务数据结构 (Core Data Structures / API Contracts)
_注:这是后端建立 SQL Schema 的绝对契约基准。_
**1. 客户与日志实体 (Customer & FollowUp)**
- **Customer**: `id`, `name`, `level`, `industry`, `contact`, `phone`, `aiScore`, `address`, `status`
- **FollowUpLog**: `id`, `customerId`, `salespersonId`, `content`, `emotionType`, `nextVisitTime`, `createTime` (用于生成 AI 简报的底层饲料)
**2. 产品库存实体 (Product SKU & InventoryFlow)**
- **ProductSku**: `id`, `categoryId`, `skuCode`, `name`, `spec` (如 200L/桶), `standardPrice`, `stockQty`, `warningThreshold`, `status`
- **InventoryFlow**: `id`, `skuCode`, `changeQty` (+/-), `reason` (进货/出库/损耗), `operatorId`, `createTime`
**3. 订单交易实体 (Order)**
- **OrderMain**: `orderNo`, `customerId`, `totalAmount`, `shippingState` (pending/partial/shipped), `paymentState` (unpaid/partial/cleared), `createTime`
- **OrderItem**: `id`, `orderNo`, `skuCode`, `qty`, `unitPrice`, `subTotal`
**4. 独立发货单实体 (Shipping - 承接分批发货)**
- **ShippingRecord**: `shippingNo`, `orderNo`, `carrier` (如德邦), `trackingNo`, `status` (transit/delivered), `shipDate`
- **ShippingItem**: `id`, `shippingNo`, `skuCode`, `shippedQty` (本次实际发货量)
**5. 财务及报销实体 (Invoice & Expense)**
- **InvoicePool** (票据池): `id`, `uploaderId`, `fileUrl`, `merchantName`, `amount`, `invoiceDate`, `type` (客户发票/报销发票), `is_deleted` (防物理篡改)
- **ExpenseRecord** (报销总单): `systemNo`, `applicantId`, `totalAmount`, `status` (draft/pending/approved/rejected)
- **ExpenseDetail** (报销明细行): `id`, `systemNo`, `invoiceId`, `expenseDesc`, `originalType` (油费/招待), `offsetType` (冲顶类型), `amount`
**6. 权限角色实体 (Role & Setup)**
- **User**: `userId`, `deptId`, `roleId`, `username`, `passwordHash`, `status`
- **Role**: `roleId`, `roleName`, `dataScope` (all/dept_and_sub/self), `menuKeys`
## 4. 下一阶段开发规划 (Next Phase Planning)
前端 UI 及交互体验已接近完全体(目前皆由 `ref/reactive` 驱动的纯本地响应式黑盒)。开启新一轮对话进入后端主导阶段,强烈建议按以下顺位破冰:
1. **确定后端框架与建库方案**
- 优先依据上述实体契约搭建关系型数据库模型(含 ER 关联图设计)。
- 注意:所有财务与流水表强制引入 `is_deleted``update_time` 等审计字段。
2. **鉴权与 RBAC 拦截栈基座开发**
- 开发 JWT Token 签发与认证体系。
- 核心难点预警:必须在底层封装针对 `dataScope` 的 SQL 动态拼接过滤器,严防数据越权访问。
3. **消除前端 Mock 层联调**
- 配置前端代理环境。
- 开发通用 CRUD 接口,逐步替换 Vue 文件中的 Mock 数据。
4. **复杂流体业务 API 攻坚**
- 开发“历史专享价”带出接口。
- 开发“分批发货关联扣减订单待发数量”的事务一致性逻辑。
- 开发“购物车报销合单”的长事务锁定逻辑。