--- schema: "hl-changelog/v2" ticket: "5888" title: "修复调整订单加费被核单金融守卫误拦——定制师本人无法提交(584086)" consumer: "admin" change_type: "修复缺陷" author: "wx(GIT)" backend_status: "deployed" gateway_status: "not_required" frontend_status: "not_required" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "2026-08-12" status_note: "后端已修复并部署测试服。定制师本人调整订单产生加费差额不再 584086;同时补上 submit 全链路订单归属校验(跨单操作 581008),行为对前端透明。" updated_at: "2026-08-12" base: "dev-v3" --- # 修复:调整订单加费被核单金融守卫误拦(#5888 / #5891) > **服务**: hl-order-service-v3 > **PR**: #5889 + #5892(已合并 dev-v3 并部署测试服) > **日期**: 2026-08-12 > **背景**: 定制师本人操作「调整订单」,产生加费差额(priceDelta>0)即报 `584086 无权修改核单资金数据,仅主管、管理员或财务可操作`,无法提交。减费方向不受影响。 --- ## 修复内容(对前端透明,无接口契约变化) 1. **移除误加的金融角色守卫**:`DiscountService.insertActiveSurcharge` 是「调整订单算价差额写入专用」方法,7-21 核单其他收入 PR 给它误加了 `SettlementWriteGuard`(只放行主管/管理员/财务),导致定制师本人被拦。已移除,与减费侧(`insertActiveDiscount`)口径对齐。 2. **补全 submit 全链路订单归属校验**(#5891):`AdjustmentService.submit` 锁定订单后新增 `OrderViewGuard.assertOrderAccessible` —— ADMIN/SUPER_ADMIN 放行;房务角色 581045;其余角色须为本单定制师(`consultantId == adminId`),否则 **581008 无权查看此订单**。 ## 行为变化 | 场景 | 旧 | 新 | |---|---|---| | 定制师本人调整订单加费 | ❌ 584086 | ✅ 正常提交 | | 非本单定制师/车务等调整他人订单 | ⚠️ 可提交(越权) | ❌ 581008 拦截 | | 房务角色提交调整 | ⚠️ 可提交(越权) | ❌ 581045 拦截 |