Skip to content

Release Notes (2026-09-21 ~ 2026-09-22) ​

✨ 重点 Feature ​

跨项目联动:店铺放行与跨组织转移 ​

  • QuickPoint:在「客户」模块的客户详情中,对已取消的店铺,组织所有者可执行「放行转移」。放行前会弹窗二次确认,提示放行后该店铺可被其他账号重新绑定;完成重新绑定后,原账号将失去该店铺全部历史订单与账单的访问权。放行后店铺状态显示为「已放行 · 待转移」。
  • QuoteGo:接收方在 Shopify 重新授权该店铺时,若原组织已放行即可完成绑定;未放行则拒绝并提示「该店铺由其他组织持有,需对方先放行」。转移时该店铺的历史订单、包裹、工单、账单、库存、标签等关联数据一并划归新组织,原组织不再可见。
  • 同一组织内更换客户或重新安装店铺无需放行;处于「连接正常」状态的店铺不允许被其他组织绑定,避免误抢。
  • 店铺被取消或放行后,商家端不再将该店铺视为可用店铺。
  • 转移完成后,系统向原组织所有者发送邮件通知,内容包含店铺域名、接收组织、放行时间与完成时间。
  • 放行为单向操作,放行后无法撤销。
客户详情 — 关联店铺
店铺状态操作
shop-a.myshopify.com状态:连接正常删除
shop-b.myshopify.com状态:已取消放行转移 删除
shop-c.myshopify.com已放行 · 待转移等待对方绑定

放行前二次确认:放行后该店铺可被其他账号重新绑定;完成重新绑定后,你将失去该店铺全部历史订单与账单的访问权。

跨项目联动:查看 Shopify 履约状态 ​

  • QuickPoint:包裹的详情弹窗新增「查看 Shopify 履约状态」入口,以只读弹窗展示该订单在 Shopify 侧的履约情况:订单级履约状态、每个履约单的状态与请求状态、可执行操作、履约地点、配送方式、已发货商品及运单号、未发货商品及剩余数量;可展开查看原始数据并复制。
  • QuoteGo:新增履约状态查询接口;同时修复店铺授权凭据自动续期时取错店铺域名、导致部分店铺续期失败的问题。
  • 用途:当 Shopify 回写失败时,可直接查看 Shopify 侧的真实履约单状态以定位原因。
  • 前置条件:店铺需重新授权并授予履约单读取权限;由第三方履约服务管理的行项目可能不在可见范围内。
Shopify 履约状态

订单:1024 履约状态:PARTIALLY_FULFILLED

履约单状态请求状态可执行操作履约地点
OPENUNSUBMITTEDCREATE_FULFILLMENT某某仓库

发货商品:YT123456789 × 1 未发货:无线蓝牙耳机 × 2

可展开「原始 JSON」查看并复制,用于 Shopify 回写失败时排查。

🚀 其他 Feature ​

新增诚创物流、驹隙物流两家承运商 ​

  • 运单配置新增「诚创物流」与「驹隙物流」两家承运商,可在物流渠道中选用并打单。

标记发货增加确认弹窗,订单列表显示拆包徽标 ​

  • 在订单的「物流」标签页对已选中订单点击「标记已发货」时,弹出确认弹窗(「确认将所选 N 个订单标记为已发货并回写 Shopify?」),确认后才会回写 Shopify。
  • 已拆分的订单在订单号旁常显「拆分 N」徽标,无需打开拆分弹窗即可识别。
标记已发货 — 确认

确认将所选 2 个订单标记为已发货并回写 Shopify?

取消 标记已发货

订单列表 — 拆分徽标
订单号状态
#19807 拆分 2已发货
#19808待结算

包裹数大于 1 的订单常显「拆分 N」徽标。

物流试算结果支持按线路或物流公司搜索 ​

  • 物流试算的结果列表新增搜索框,可按线路名称或物流公司名称过滤;关键字为空时展示全部结果。
  • 无匹配结果时提示「未找到匹配线路」;弹窗每次打开会清空上一次的搜索词。
物流试算 — 试算结果

搜索线路或物流公司...

线路 / 物流公司运费
美国专线 / 云途物流¥ 68.00
美国经济小包 / 云途物流¥ 52.00

无匹配结果时提示「未找到匹配线路」。

分页新增首页、末页与页码跳转 ​

  • 列表分页新增「首页」「末页」按钮,并提供「跳至 第 N 页」的跳转输入框(回车或点击「跳转」生效,超出范围自动收敛到有效页码)。
  • 分页控件改为按自身可用宽度自适应换行,在右侧栏被拖窄时不再挤压。
列表分页

显示 1 - 20 / 共 320 50 条/页

首页 上一页 1 2 3 下一页 末页

跳至 3 页 跳转

历史报价返回时恢复筛选、页码与滚动位置 ​

  • 在会话内从报价计算页返回「历史记录」时,自动恢复上一次的搜索词、日期范围、状态筛选、页码与列表滚动位置。
  • 该状态仅在当前会话(标签页)内保留,关闭标签页后不保留。

🐛 重大 Bug Fix ​

整单商品行全部取消或退款的订单自动落终态 ​

  • 订单在 Shopify 侧的商品行被全部取消或退款后,不再滞留在「待确认」队列:同步时自动进入终态——有整单取消时间的记为「已取消」,财务状态为退款类的记为「已退款」,其余按「已取消」处理。
  • 仅处理尚未确认的订单,已确认、已开票的订单不受影响。
  • 存量数据由迁移脚本一次性回填(见下方数据库变更)。

物流渠道名称支持两行显示 ​

  • 物流渠道下拉中的「渠道名 / 线路名」由单行截断改为最多两行展示,长名称不再被右侧价格挤占;鼠标悬停可查看完整名称。

备份包不再包含同步日志 ​

  • 每日备份包不再包含对象存储同步的日志文件(该日志写在数据目录根下,仅用于诊断,无业务数据)。

♻️ 重构 / 移除 ​

Shopify 回写改为整包分类与原子提交 ​

  • 一个包裹的所有行项目在回写前先统一分类,再一次性提交:全部可回写且属同一履约单时提交;跨多个履约单或存在不可回写的行项目时整包失败并给出原因,避免出现部分行项目已回写、部分未回写的情况。
  • 永久性失败(如已履约、不可操作、不可见、跨多履约单)不再自动重试,留待人工处理。

🧱 数据库 Schema 变更(需执行迁移) ​

本版共 2 个迁移脚本,按时间戳顺序执行,命令:./quotepilot migrate

  • 2026092210_store_transfer.js
    • Stores 新增「放行时间」released_at 与「放行操作人」released_by 两个字段。
    • 新建「店铺转出审计」集合 store_transfer_logs:仅服务端写入(PB API 层全部拒绝),转出方与转入方组织各自只读,记录店铺、域名快照、转出/转入组织与操作人、客户归属快照、放行与完成时间、状态及失败原因。
  • 2026092200_orders_all_items_cancelled_terminal_status.js
    • 无结构变更,仅将符合条件的未确认订单一次性回填为终态(无原始状态快照,不可自动回滚)。

⚠️ 部署注意 ​

  1. 需执行数据库迁移:部署前运行 ./quotepilot migrate,按时间戳顺序执行上述 2 个脚本;迁移在后端启动时执行,完成后需重启后端。
  2. 前后端需同时发布 v5.2.2:店铺放行转移与 Shopify 履约状态查看均为前后端联动功能,旧前端或旧后端会导致接口不可用。
  3. 放行为单向操作:放行后无法撤销,且完成重新绑定后原组织失去该店铺全部历史数据访问权,请提醒运营在放行前确认。转移会同步改写历史归档数据,改写失败会在审计记录中标记为失败,但不会中断转移本身。
  4. Shopify 履约状态查看需授权:需在店铺重新授权时授予履约单读取权限;由第三方履约服务管理的行项目可能不可见。
  5. 承运商注册需重启生效:新增的诚创物流、驹隙物流写入运单承运商注册表,需重启后端后生效。
  6. droppilot 本版无变更。

本版涉及的提交(技术信息)
  • QuoteGo(7 commits,head 25ce245):ee7b366 店铺跨组织转移与放行(放行接口、转移事务、审计集合、转移通知邮件、迁移 2026092210_store_transfer.js)、bcb6cb1 整单商品行全部取消自动落终态并回填存量(迁移 2026092200_orders_all_items_cancelled_terminal_status.js)、7aea0a0 新增驹隙物流运单配置、2c406b0 新增 Shopify 履约状态查询接口并修复 token 续期域名错误(domain1→domain)、d693bf6 备份排除 rclone 同步日志、341c8a2 Shopify 回写重构为整包分类与原子计划、b56dfc1 新增诚创物流运单配置
  • QuickPoint(7 commits,head 9a757eb):a27a037 客户模块新增已取消店铺放行转移、dee5306 物流试算结果按线路/公司搜索及空态提示、08d89b0 标记发货确认弹窗与拆包徽标、90fcc38 Shopify 履约状态弹窗查看、115baa0 物流渠道名两行展示并补充 title、1e4a5cd 历史报价会话级恢复筛选/页码/滚动位置、33133be 分页新增首页末页与页码跳转并支持容器自适应
  • droppilot:无变更(local main 与 origin/main 一致)

QuickPoint Docs