Appearance
本文档汇总 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等),覆盖二次抽检、库存备注、日志统计、配方映射、客户分组、物流商选择等新功能及边界场景。