### 管理端需求规格说明书(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. 信息架构(菜单与模块) 1) 首页总览(Dashboard) - 今日销售额、本月销售额、本月毛利、库存总量等关键指标卡片 - 公告栏(置顶/定时生效) - 快捷入口(新建商品、销售开单、客户/供应商管理、其他收支) 2) 商品中心 - 商品管理:新增/编辑/停用、图片管理、别名管理、多列销售价格(零售/批发/大单报价)、安全库存上下限 - 商品类别:树形维护、排序 - 计量单位:主数据维护 - 商品设置:开关“隐藏零库存”“隐藏进货价”等 - 批量导入/导出:CSV/Excel 模板下载、校验、结果反馈 3) 库存与盘点 - 库存台账:按商品查看现存量、安全库存预警、批量调价/调库存 - 库存流水:支持按时间/商品/原因筛选,定位库存变动来源 - 盘点(两种实现路径): - 方案A(MVP):使用 `inventory_movements` 记录调整(reason=adjust),形成“快速盘点”单据视图 - 方案B(标准):新增 `stock_counts/stock_count_items` 建模正式盘点单(含草稿/提交/审核/生效流程) 4) 交易中心 - 销售:出货单、退货单、收款;列表/详情/导出 - 进货:入库单、退货单、付款;列表/详情/导出 - 收付款流水:多维筛选与汇总 5) 往来管理 - 客户:档案维护(含价格列偏好)、“只看欠款”筛选、期初应收 - 供应商:档案维护、“只看欠款”(应付)筛选、期初应付 6) 账户与财务 - 账户:现金/银行/微信/支付宝等基础账户维护、余额、启停 - 账户流水(Ledger):期间收支、期初/本期/期末,按关键词检索 - 其他收入/支出:分类维护(经营、办公等),按往来单位与账户记账 7) 报表中心 - 资金报表:利润、营业员统计、经营业绩 - 进销存报表:销售统计、进货统计、库存统计、应收/应付对账单 - 导出:按筛选条件导出 CSV/Excel 8) 配件查询与众包审核 - 数据查询:多条件组合、模糊匹配、分页、导出 - 提交审核:用户提交新配件(型号必填)、图片上传、管理员审核(通过/驳回/编辑) - 图片管理:多图、排序、预览、去重 9) 公告管理 - 列表/新建/发布/下线、置顶、定时生效 10) 系统设置 - 店铺信息、系统参数(业务逻辑开关)、默认价格列、附件占位图路径配置等 11) 用户与店铺 - 用户:员工管理、角色(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. 关键缺口与多方案设计 1) 权限体系 - A(MVP):沿用 `users.role`(owner/staff/finance...)+ 后端常量权限映射,菜单/接口守卫 - B(标准RBAC):新增角色/权限/关联表,支持细粒度到按钮/字段(需改库与前后端联动) 2) 盘点业务 - A(MVP):以 `inventory_movements` reason=adjust 记录快速盘点;提供导入与差异对账视图 - B(标准):`stock_counts/stock_count_items` 正式票据流转(草稿/提交/审核/生效),支持多盘点范围 3) 配件提交审核 - A(轻量):在 `products` 增加状态/来源字段区分“待审核/发布”(需改库) - B(清晰):新增 `part_submissions` 表管理提交、审核、版本留痕(需改库);发布后写入 `products` 4) 附件与图片 - A(现状/MVP):维持占位图上传接口,集中配置占位图片路径与 URL - B(完善):引入通用 `attachments` 表与文件存储(本地/对象存储),商品图片与业务附件统一管理(需改库与上传服务) 5) 报表性能 - A(MVP):在线聚合 + 必要索引保障(结合 `idx_*` 与 FULLTEXT) - B(增强):引入日/月度快照表或物化视图,提升大数据量下统计性能(需改库与离线作业) #### 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 与审计日志 - 正式盘点票据与盘亏盘盈处理 - 通用附件中心与对象存储接入 - 复杂报表物化与计划任务 (本文档仅描述当前功能与落地方案,不包含历史变更说明。)