9.3 KiB
9.3 KiB
管理端需求规格说明书(PartsInquiry)
1. 目标与范围
- 目标:为“配件查询/进销存”系统提供 PC Web 管理端,支持主数据配置、日常业务监管与数据分析,保障多租户(按店铺)数据隔离与安全可控。
- 范围:围绕商品、库存、订单(销售/进货/退货)、往来(客户/供应商)、账户与收支、报表统计、配件众包审核、公告、系统参数、用户与店铺管理等模块展开。
2. 角色与权限(分阶段)
- MVP:基于现有
users.role与is_owner字段实现“店长(owner)/员工(staff)”两级权限开关;菜单与接口做最小化授权控制(店长全量、员工受限)。 - 方案A(MVP落地):后端以常量维护权限点 → 通过
users.role做菜单/接口守卫;无需改库,风险低、上线快。 - 方案B(标准RBAC,需改库):新增
roles/permissions/user_roles/role_permissions等表,菜单-权限点分离;支持细粒度到按钮/字段;成本高、可作为后续版本演进。
3. 多租户与数据隔离
- 以店铺
shops为租户单位,所有业务表包含shop_id;接口通过请求头X-Shop-Id或X-User-Id解析绑定店铺。 - 管理端所有查询/导出均默认限定到当前
shop_id,严禁越权访问。
4. 信息架构(菜单与模块)
-
首页总览(Dashboard)
- 今日销售额、本月销售额、本月毛利、库存总量等关键指标卡片
- 公告栏(置顶/定时生效)
- 快捷入口(新建商品、销售开单、客户/供应商管理、其他收支)
-
商品中心
- 商品管理:新增/编辑/停用、图片管理、别名管理、多列销售价格(零售/批发/大单报价)、安全库存上下限
- 商品类别:树形维护、排序
- 计量单位:主数据维护
- 商品设置:开关“隐藏零库存”“隐藏进货价”等
- 批量导入/导出:CSV/Excel 模板下载、校验、结果反馈
-
库存与盘点
- 库存台账:按商品查看现存量、安全库存预警、批量调价/调库存
- 库存流水:支持按时间/商品/原因筛选,定位库存变动来源
- 盘点(两种实现路径):
- 方案A(MVP):使用
inventory_movements记录调整(reason=adjust),形成“快速盘点”单据视图 - 方案B(标准):新增
stock_counts/stock_count_items建模正式盘点单(含草稿/提交/审核/生效流程)
- 方案A(MVP):使用
-
交易中心
- 销售:出货单、退货单、收款;列表/详情/导出
- 进货:入库单、退货单、付款;列表/详情/导出
- 收付款流水:多维筛选与汇总
-
往来管理
- 客户:档案维护(含价格列偏好)、“只看欠款”筛选、期初应收
- 供应商:档案维护、“只看欠款”(应付)筛选、期初应付
-
账户与财务
- 账户:现金/银行/微信/支付宝等基础账户维护、余额、启停
- 账户流水(Ledger):期间收支、期初/本期/期末,按关键词检索
- 其他收入/支出:分类维护(经营、办公等),按往来单位与账户记账
-
报表中心
- 资金报表:利润、营业员统计、经营业绩
- 进销存报表:销售统计、进货统计、库存统计、应收/应付对账单
- 导出:按筛选条件导出 CSV/Excel
-
配件查询与众包审核
- 数据查询:多条件组合、模糊匹配、分页、导出
- 提交审核:用户提交新配件(型号必填)、图片上传、管理员审核(通过/驳回/编辑)
- 图片管理:多图、排序、预览、去重
-
公告管理
- 列表/新建/发布/下线、置顶、定时生效
-
系统设置
- 店铺信息、系统参数(业务逻辑开关)、默认价格列、附件占位图路径配置等
- 用户与店铺
- 用户:员工管理、角色(MVP为枚举)、状态启停
- 店铺:基本信息、状态启停
5. 数据模型对齐(不改库前提)
- 商品域:
products/product_prices/inventories/product_images/product_aliases/product_categories/product_units/global_skus - 交易域:
sales_orders/sales_order_items/sales_return_orders/...、purchase_orders/purchase_order_items/purchase_return_orders/... - 库存域:
inventory_movements - 往来域:
customers/suppliers - 资金域:
accounts/payments/other_transactions/finance_categories - 系统与运营:
system_parameters/notices/users/shops/user_identities/wechat_sessions
说明:管理端各模块的列表、详情、导出、筛选字段需与上述表结构保持一致;统计口径(如毛利)以现有订单金额与进价近似规则为准。
6. 功能与数据口径要点
- 销售/进货单保存即生效(approved),联动库存;退货单同理
- 收/付款必须绑定订单(sale/purchase),不可游离单据
- 客户默认价格列按
customers.price_level,支持在下单时临时改价 - 安全库存预警依据
products.safe_min/safe_max与当前库存inventories.quantity - 图片当前为占位图策略,管理端需支持占位图路径的配置项
7. 关键缺口与多方案设计
-
权限体系
- A(MVP):沿用
users.role(owner/staff/finance...)+ 后端常量权限映射,菜单/接口守卫 - B(标准RBAC):新增角色/权限/关联表,支持细粒度到按钮/字段(需改库与前后端联动)
- A(MVP):沿用
-
盘点业务
- A(MVP):以
inventory_movementsreason=adjust 记录快速盘点;提供导入与差异对账视图 - B(标准):
stock_counts/stock_count_items正式票据流转(草稿/提交/审核/生效),支持多盘点范围
- A(MVP):以
-
配件提交审核
- A(轻量):在
products增加状态/来源字段区分“待审核/发布”(需改库) - B(清晰):新增
part_submissions表管理提交、审核、版本留痕(需改库);发布后写入products
- A(轻量):在
-
附件与图片
- A(现状/MVP):维持占位图上传接口,集中配置占位图片路径与 URL
- B(完善):引入通用
attachments表与文件存储(本地/对象存储),商品图片与业务附件统一管理(需改库与上传服务)
-
报表性能
- A(MVP):在线聚合 + 必要索引保障(结合
idx_*与 FULLTEXT) - B(增强):引入日/月度快照表或物化视图,提升大数据量下统计性能(需改库与离线作业)
- A(MVP):在线聚合 + 必要索引保障(结合
8. MVP 范围(建议首版)
- 首页总览:指标卡、公告、快捷入口
- 商品中心:商品/类别/单位/设置,图片占位图;导出(导入次版)
- 往来管理:客户/供应商,支持“只看欠款”筛选
- 交易中心:销售/进货单列表与详情、收付款创建与列表
- 账户与财务:账户管理、账户流水、其他收支与分类
- 库存:库存台账与库存流水(快速调整)
- 公告管理:发布/下线/置顶/定时
- 系统设置:系统参数读取/保存、附件占位图路径配置
- 配件审核:审核列表 + 审核通过/驳回(先走轻量方案A或作为次版)
不含:标准RBAC、正式盘点票据、通用附件库、复杂经营报表、审计日志、批量导入(除模板下载)
9. 验收标准(MVP)
- 指标一致:首页指标与
/api/dashboard/overview返回一致 - 列表正确:商品/订单/客户/供应商/账户/收支/库存流水支持分页、筛选、导出
- 金额口径:订单金额与收/付款、其他收支汇总与接口返回一致
- 安全:所有查询写入均限定
shop_id;非店长用户受限菜单与接口 - 可靠:核心列表在 10 万级数据下查询 ≤ 2s(有索引)
- 可配置:系统参数与占位图路径可读写并即时生效(或重启后生效有说明)
10. 接口对接与规范
- 所有接口在
/doc/openapi.yaml维护;每个 path 在 summary/description 标注实现状态(❌/✅) - 统一响应风格与字段命名(驼峰),分页返回
{ list, page, size, total }或兼容数组 - 认证与多租户:通过
X-Shop-Id/X-User-Id解析店铺并进行权限校验 - 导出:提供
text/csv或 Excel(application/vnd.ms-excel)响应,支持 UTF-8 BOM
11. 配置项(环境变量/系统参数)
- 附件占位图:
ATTACHMENTS_PLACEHOLDER_IMAGE、ATTACHMENTS_PLACEHOLDER_URL - 默认店铺/用户(仅开发环境):
ENABLE_DEFAULT_USER、DEFAULT_USER_ID - 商品设置(系统参数
product.settings):hideZeroStock、hidePurchasePrice - 报表与导出:最大导出行数上限、异步导出开关
12. 非功能性要求
- 安全:多租户隔离、权限校验、输入校验与审计日志(次版)
- 性能:核心列表与统计具备必要索引;长耗时任务支持异步导出
- 可观测:请求链路日志、接口耗时、错误聚合;慢查询监控
- 兼容:PC Web 适配 1366×768 及以上分辨率
13. UI/UX 原则
- 结构克制、信息分层清晰;强调列表可读性与筛选效率
- 一键导出、批量操作具备操作确认与结果反馈
- 重要字段固定列/高亮(金额、数量、状态、时间)
14. 后续演进建议
- 引入标准 RBAC 与审计日志
- 正式盘点票据与盘亏盘盈处理
- 通用附件中心与对象存储接入
- 复杂报表物化与计划任务
(本文档仅描述当前功能与落地方案,不包含历史变更说明。)