Skip to content

本文档汇总 QuoteGo(后端)与 QuickPoint(用户端)自 origin/main 之后合并到 main 的改动,划分为功能特性(Features)、体验优化(Improvements)与内部重构(Refactors)。

QuoteGo — 后端服务 ​

🆕 功能特性 (Features) ​

  • 客户分组:新增客户分组管理(customer_groups.js / pkg/api/customer_groups.go),支持分组的创建、更新、删除及客户关联;在客户列表中透出分组信息。
  • 库存日志统计接口:新增按变更类型聚合的库存日志统计接口(inventory_logs_stats.go),并支持发货量计算。
  • 库存备注:新增库存备注数据表(inventory_notes.js)与批量查询「库存备注 + 数量」接口(inventory_notes.go)。
  • 组合商品库存配方:新增 MappingRules 配方字段(1800000004),支持组合商品多库存关联与数量设置,优化库存映射/扣减逻辑。
  • 库存二次抽检:新增已入库采购的二次抽检结果标记功能,标识并记录抽检状态。
  • 库存编辑历史序列化:新增编辑历史序列化,解析并展示操作人显示名。
  • 提醒邮件增强(库存不足):库存不足提醒任务补充 available_stock 载荷,邮件摘要展示商品名、当前库存与阈值详情,并新增「立即处理」操作链接。

🔧 体验与准确性优化 ​

  • 库存不足阈值判断:将请求库存不足提醒绑定的阈值判断统一收拢到「命中规则统一保持 open」的处理路径,避免羊毛状态混乱。
  • 运单号反向查询:shipment_tracker 增加 rules 规则,支持由订单反向查询运单号。

♻️ 内部重构 ​

  • 库存对账逻辑重构:将 finalizeOrderLockDetails 重命名为 reconcileOrderInventory(inventory_deduction.go / inventory_mapping_rules.go),精简冗余分支,统一库存扣减与对账路径,净删减约 50 行。

🐛 主要 Bug Fix ​

  • 提醒邮件 JSON 载荷兼容:reminder_email.go 在读取库存 payload 时对 types.JSONRaw 做先转字符串再反序列化的兼容处理,避免类型不匹配导致的邮件渲染失败。
  • 库存提醒 HTML 模板:为库存详情新增 Detail 字段与索引式渲染,避免多栏目显示缺失/重叠。

QuickPoint — 用户端 ​

与 QuoteGo 后端改动一一对应,前端功能同步上线。

🆕 功能特性 (Features) ​

  • 客户分组管理:客户模块支持分组创建、编辑、删除与筛选;新增 GroupFilterPills(分组筛选)与 CustomerGroupDialog 组件,客户下拉支持按分组过滤。
  • 库存日志统计:新增库存日志统计视图(inventoryLogsStatsUtils),支持按变更类型聚合、合并支付锁定与已发货行、发货量计算。
  • 库存备注:新增库存备注弹窗(InventoryNotesModal)与备注录入/展示。
  • 组合商品库存配方编辑器:新增 InventoryRecipeEditor 与 InventorySelect(可搜索多选库存),在订单费用详情、批量规则、规则编辑等多处接入。
  • 库存二次抽检:采购记录抽屉(PurchaseRecordDrawer)新增二次抽检结果登记与展示。
  • 采购编辑历史:采购记录抽屉新增编辑历史展示,展示操作人/操作内容。
  • 运单追踪:订单列表展示运单号追踪信息,OrderRow 新增对应展示。

✨ 体验优化 (Improvements) ​

  • 可搜索物流商下拉组件:新增 CarrierCombobox 可搜索物流商选择器,内置 kuaidi100Carriers 物流商数据(3062 条),替换原下拉选择,提升选物流商体验。
  • 库存不足提醒操作位:后端提醒邮件/横幅的「处理」操作目标页明确跳转到 /app/inventory。

🧪 质量保障 ​

  • 新增/更新大量单元测试(PurchaseRecordDrawer、InventoryNotesModal、InventoryModule、CarrierCombobox、carrierOptions、CustomerSelect、GroupFilterPills、MappingRule、mappingRuleEngine 等),覆盖二次抽检、库存备注、日志统计、配方映射、客户分组、物流商选择等新功能及边界场景。

QuickPoint Docs