Files
crm_project/Project Handover Document.md
T
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

6.0 KiB
Raw Blame History

创建时间, 更新时间, tags
创建时间 更新时间 tags
2026-02-27T15:07 2026-02-27T15:13
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_deletedupdate_time 等审计字段。

  2. 鉴权与 RBAC 拦截栈基座开发

    • 开发 JWT Token 签发与认证体系。

    • 核心难点预警:必须在底层封装针对 dataScope 的 SQL 动态拼接过滤器,严防数据越权访问。

  3. 消除前端 Mock 层联调

    • 配置前端代理环境。

    • 开发通用 CRUD 接口,逐步替换 Vue 文件中的 Mock 数据。

  4. 复杂流体业务 API 攻坚

    • 开发“历史专享价”带出接口。

    • 开发“分批发货关联扣减订单待发数量”的事务一致性逻辑。

    • 开发“购物车报销合单”的长事务锁定逻辑。