From 427124d2a5a15bafac9768bed361dd7fd09d3f95 Mon Sep 17 00:00:00 2001 From: Mimingguang <498526323@qq.com> Date: Mon, 21 Sep 2026 23:27:07 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20#8093/#8125=20=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E5=B7=B2=E4=BA=A4=E4=BB=98=20verified(hl-admin=20v2.1?= =?UTF-8?q?=2074eacd7a);=E4=BF=AE=20status=5Fnote=20=E5=BC=95=E5=8F=B7?= =?UTF-8?q?=E5=A4=96=E8=BF=BD=E5=8A=A0/=E5=86=85=E5=B1=82=E8=A3=B8?= =?UTF-8?q?=E5=BC=95=E5=8F=B7=20YAML=20=E7=BB=93=E6=9E=84(19=5F7443/21=5F7?= =?UTF-8?q?988/05=5F5530/10=5F7328/15=5Ffund-account/15=5F7327/13=5F7625,?= =?UTF-8?q?=E6=96=87=E5=AD=97=E9=9B=B6=E6=94=B9=E5=8A=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0_投保界面去掉按赛季快捷预填-修改接口-管理后台.md | 2 +- ..._团期房务整团会话GROUP_HOUSE-新增接口-管理后台.md | 2 +- .../13_7625_员工选择器接口-新增接口-管理后台.md | 2 +- ...»ˆ止REFUND待办owner回落团级认领人-修改接口-管理后台.md | 2 +- ...overdraftAllowed禁传布尔须传1或0-修改接口-管理后台.md | 2 +- ...€求详情响应新增配车刷新态观测字段-修改接口-管理后台.md | 2 +- ...»返回组合结果与模版桌人创建人搜索删除-修改接口-管理后台.md | 12 ++++++------ ...出发日算与套用模版改为在现有行后追加-修改接口-管理后台.md | 12 ++++++------ 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/changelogs-v2/2026-08/05_5530_投保界面去掉按赛季快捷预填-修改接口-管理后台.md b/changelogs-v2/2026-08/05_5530_投保界面去掉按赛季快捷预填-修改接口-管理后台.md index 7ad46cf1..5bfd7c8b 100644 --- a/changelogs-v2/2026-08/05_5530_投保界面去掉按赛季快捷预填-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/05_5530_投保界面去掉按赛季快捷预填-修改接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "pi-main-session" frontend_ref: "hl-admin@aa7061b0edeaf68a8baf306a858a91d8be8cb9a7" target_release: "" verified_at: "2026-09-18" -status_note: "wx 确认无"按赛季买"需求,投保界面"按赛季"与"按年"快捷预填重复,去掉"按赛季"保留"按年"。[mmg 2026-09-18 复核翻 verified] ref aa7061b0 可达且为 v2.1 祖先;HEAD 上投保弹窗无按赛季预填残留(现「赛季」命中均为司机列表赛季在册页签,与本项无关);list-error-retry spec 全绿。" +status_note: "wx 确认无\"按赛季买\"需求,投保界面\"按赛季\"与\"按年\"快捷预填重复,去掉\"按赛季\"保留\"按年\"。[mmg 2026-09-18 复核翻 verified] ref aa7061b0 可达且为 v2.1 祖先;HEAD 上投保弹窗无按赛季预填残留(现「赛季」命中均为司机列表赛季在册页签,与本项无关);list-error-retry spec 全绿。" updated_at: "2026-09-18" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/10_7328_团期房务整团会话GROUP_HOUSE-新增接口-管理后台.md b/changelogs-v2/2026-09/10_7328_团期房务整团会话GROUP_HOUSE-新增接口-管理后台.md index 1e647185..83a19f8c 100644 --- a/changelogs-v2/2026-09/10_7328_团期房务整团会话GROUP_HOUSE-新增接口-管理后台.md +++ b/changelogs-v2/2026-09/10_7328_团期房务整团会话GROUP_HOUSE-新增接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "mmg" frontend_ref: "0f2f5b1a" target_release: "" verified_at: "2026-09-11" -status_note: "2026-09-10 squash 0f62fb072(PR #7490)已合并 dev-v3 并部署测试服:hl-user-service 与 hl-order-service-v3 均已滚到当前 tip 0f62fb072,两实例均 LISTEN、Nacos healthy=true enabled=true。三个端点均实测打通:open-group-house 未认领态不对称行为已验证——管理员侧 200,fwzz_pure01/shuxin/fwzz_lead01/test_admin 等非当前认领人角色全部 281002;真实 conversation_key=GROUP_HOUSE:2097500233511362561(按团期聚合主键建键);GET /v3/admin/order/group-batch/{groupBatchId} 响应确认带 houseChatUnreadCount。测试数据已清理(admin_message / admin_conversation_member 均 COUNT=0)。⚠️ 与工单转述核对,本次发现并订正三处(第①②处 2026-09-10 首次发布时已订正,第③④处为部署后复核新增):① ChatConversationRespVO(会话列表项)本次新增的是 groupBatchId/groupBatchNo/groupBatchName 三个字段,并没有 departDate(departDate 只在 ChatOrderCardVO/打开会话响应的团期卡上,会话列表接口读不到);② 281016(缺 groupBatchId)在标准 HTTP 请求路径下不可达,ChatOpenGroupHouseReqVO.groupBatchId 有 @NotNull,@Valid 会先在参数绑定阶段返回 400,281016 只是 ChatManager 内部方法的防御性兜底(源码注释原话如此);③ open-group-house 响应对「团未认领」的 peerAdminId 不是 null 而是占位常量 0(ChatManager.buildFullResp 直接回显 DB 成员行原值,不做归一化),只有会话列表接口(ConversationMemberService.fillGroupBatchSummaries)才会归一化成 null,且列表还受 last_message_at IS NOT NULL 过滤,没发过消息的会话根本不出现在列表里,2026-09-10 实测发现原口径「两处均为 null」有误,已在「关键变化」第 2 条订正;④ 网关对未路由的 /internal/** 路径(本单两个 internal 端点均未配 Path 路由)返回的是 HTTP 200 + 业务体 {"code":404,"message":"接口不存在: ..."}(GlobalErrorWebExceptionHandler 路由未命中分支),不是 403——JwtAuthFilter.isInternalPath() 的 403 分支存在但轮不到执行(请求在路由层已被拒),原口径「网关对 /internal/** 一律 403」不准确,已在「七、不影响范围」订正。此外发现一处工单未提及但同一 squash 里的关联变更:既有团期详情接口 GET /v3/admin/order/group-batch/{groupBatchId}(A2)顺带新增只读字段 houseChatUnreadCount,纯新增不影响既有契约,一并写在「关键变化」供前端知悉。 前端已交付(commit 0f2f5b1a):chat.js 加 openGroupHouseChat(键 GROUP_HOUSE:{groupBatchId} 团期聚合主键 String 透传,前端不自拼)+KEY_RE 扩展;ChatDrawer 支持 GROUP_HOUSE(open 分流/会话卡团期文本/未认领 peerAdminId=0 显「团期管理员」不占在线点),281002 复用固定文案不透原文、281017 拦截器透 message;入口①房务看板「联系团期管理员」②团期详情「联系房务」+houseChatUnreadCount 角标(标读/信令重拉,TEAM 口径不重算);两 internal 端点前端不接。" +status_note: "2026-09-10 squash 0f62fb072(PR #7490)已合并 dev-v3 并部署测试服:hl-user-service 与 hl-order-service-v3 均已滚到当前 tip 0f62fb072,两实例均 LISTEN、Nacos healthy=true enabled=true。三个端点均实测打通:open-group-house 未认领态不对称行为已验证——管理员侧 200,fwzz_pure01/shuxin/fwzz_lead01/test_admin 等非当前认领人角色全部 281002;真实 conversation_key=GROUP_HOUSE:2097500233511362561(按团期聚合主键建键);GET /v3/admin/order/group-batch/{groupBatchId} 响应确认带 houseChatUnreadCount。测试数据已清理(admin_message / admin_conversation_member 均 COUNT=0)。⚠️ 与工单转述核对,本次发现并订正三处(第①②处 2026-09-10 首次发布时已订正,第③④处为部署后复核新增):① ChatConversationRespVO(会话列表项)本次新增的是 groupBatchId/groupBatchNo/groupBatchName 三个字段,并没有 departDate(departDate 只在 ChatOrderCardVO/打开会话响应的团期卡上,会话列表接口读不到);② 281016(缺 groupBatchId)在标准 HTTP 请求路径下不可达,ChatOpenGroupHouseReqVO.groupBatchId 有 @NotNull,@Valid 会先在参数绑定阶段返回 400,281016 只是 ChatManager 内部方法的防御性兜底(源码注释原话如此);③ open-group-house 响应对「团未认领」的 peerAdminId 不是 null 而是占位常量 0(ChatManager.buildFullResp 直接回显 DB 成员行原值,不做归一化),只有会话列表接口(ConversationMemberService.fillGroupBatchSummaries)才会归一化成 null,且列表还受 last_message_at IS NOT NULL 过滤,没发过消息的会话根本不出现在列表里,2026-09-10 实测发现原口径「两处均为 null」有误,已在「关键变化」第 2 条订正;④ 网关对未路由的 /internal/** 路径(本单两个 internal 端点均未配 Path 路由)返回的是 HTTP 200 + 业务体 {\"code\":404,\"message\":\"接口不存在: ...\"}(GlobalErrorWebExceptionHandler 路由未命中分支),不是 403——JwtAuthFilter.isInternalPath() 的 403 分支存在但轮不到执行(请求在路由层已被拒),原口径「网关对 /internal/** 一律 403」不准确,已在「七、不影响范围」订正。此外发现一处工单未提及但同一 squash 里的关联变更:既有团期详情接口 GET /v3/admin/order/group-batch/{groupBatchId}(A2)顺带新增只读字段 houseChatUnreadCount,纯新增不影响既有契约,一并写在「关键变化」供前端知悉。 前端已交付(commit 0f2f5b1a):chat.js 加 openGroupHouseChat(键 GROUP_HOUSE:{groupBatchId} 团期聚合主键 String 透传,前端不自拼)+KEY_RE 扩展;ChatDrawer 支持 GROUP_HOUSE(open 分流/会话卡团期文本/未认领 peerAdminId=0 显「团期管理员」不占在线点),281002 复用固定文案不透原文、281017 拦截器透 message;入口①房务看板「联系团期管理员」②团期详情「联系房务」+houseChatUnreadCount 角标(标读/信令重拉,TEAM 口径不重算);两 internal 端点前端不接。" updated_at: "2026-09-10" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/13_7625_员工选择器接口-新增接口-管理后台.md b/changelogs-v2/2026-09/13_7625_员工选择器接口-新增接口-管理后台.md index e8645807..5f5c7623 100644 --- a/changelogs-v2/2026-09/13_7625_员工选择器接口-新增接口-管理后台.md +++ b/changelogs-v2/2026-09/13_7625_员工选择器接口-新增接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "mmg" frontend_ref: "8a9eae337077a3406ffe7d67db0b55e8c40dba0a" target_release: "" verified_at: "2026-09-13" -status_note: "新增只读接口 GET /admin/user/employee-options,只要求登录、不限制角色(任何登录操作员可用),供财务等业务表单\【前端 2026-09-13 交付 verified】api/user.js 新增 getEmployeeOptions(GET /user/employee-options,不限角色,区别于 getUserPage 限 SUPER_ADMIN/ADMIN),供 #7612 业务外收支经办人下拉;adminId 雪花字符串透传,姓名优先 enterpriseWechatName 回落 username。随 #7612 同 commit 交付,新增 user.spec。"经办人/员工选择器\"下拉。替代有角色限制的 GET /admin/user。" +status_note: "新增只读接口 GET /admin/user/employee-options,只要求登录、不限制角色(任何登录操作员可用),供财务等业务表单经办人/员工选择器\"下拉。替代有角色限制的 GET /admin/user。【前端 2026-09-13 交付 verified】api/user.js 新增 getEmployeeOptions(GET /user/employee-options,不限角色,区别于 getUserPage 限 SUPER_ADMIN/ADMIN),供 #7612 业务外收支经办人下拉;adminId 雪花字符串透传,姓名优先 enterpriseWechatName 回落 username。随 #7612 同 commit 交付,新增 user.spec。" updated_at: "2026-09-13" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/15_7327_团单取消终止REFUND待办owner回落团级认领人-修改接口-管理后台.md b/changelogs-v2/2026-09/15_7327_团单取消终止REFUND待办owner回落团级认领人-修改接口-管理后台.md index 332eca99..f7c4ef71 100644 --- a/changelogs-v2/2026-09/15_7327_团单取消终止REFUND待办owner回落团级认领人-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/15_7327_团单取消终止REFUND待办owner回落团级认领人-修改接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "2026-09-15" -status_note: "PR #7679(Issue #7327 AC-17)已 squash 合并 dev-v3(合并提交 6169a612a)。2026-09-15 代码已确认部署在测试服(deploy-status.sh 实测),并对 GET /v3/admin/order/todos 做了真实网关取证,证实了字段契约本身(含 2026-09-14 起草时写错的 todoTypeName/groupBatchId 已更正为 todoTypeLabel/teamNo,并补充了此前遗漏的 todoTypes[] 聚合数组)。backend_status 记 deployed:代码已部署且响应字段契约已实测。⚠️ 如实标注未覆盖范围:本单核心修复点(团单户级为空、回落读团级认领人这一分支)本轮未能采到「团单+户级为空+团期已认领+OPEN」四条件同时成立的真实样本,抓到的 REFUND 样本都是户级直接抢单的散客单——该分支目前只有单测覆盖,非测试服端到端验证,详见「八、测试环境已验证」。另需注意 #7459(PR #7731)已把本条讨论的取消触发路径改为约 1 秒的异步 outbox,详见正文「切换状态时的必要动作」更正。PR 正文已记录 2026-09-14 一次测试服实测(取消订单 2099318713927778306 产出 owner_user_id=NULL 的缺陷现象),那是修复前的缺陷复现证据,不是修复后的验证。gateway_status=not_required:受影响的 GET /v3/admin/order/todos 是已有路由,本次未新增/修改任何路径。frontend_status=pending:待前端确认房务待办列表页是否需要对「owner 从广播态变为团级认领人」这类变化做任何界面提示,故不定为 not_required。 前端 not_required(grep 实证):todos/index.vue owner 展示为 ownerName || "团队" 通用渲染,字段用 teamNo/todoTypeLabel 与真实契约一致;owner 从 null 变真实 ID 纯取值变化、scope 换桶为服务端行为,前端零改动。" +status_note: "PR #7679(Issue #7327 AC-17)已 squash 合并 dev-v3(合并提交 6169a612a)。2026-09-15 代码已确认部署在测试服(deploy-status.sh 实测),并对 GET /v3/admin/order/todos 做了真实网关取证,证实了字段契约本身(含 2026-09-14 起草时写错的 todoTypeName/groupBatchId 已更正为 todoTypeLabel/teamNo,并补充了此前遗漏的 todoTypes[] 聚合数组)。backend_status 记 deployed:代码已部署且响应字段契约已实测。⚠️ 如实标注未覆盖范围:本单核心修复点(团单户级为空、回落读团级认领人这一分支)本轮未能采到「团单+户级为空+团期已认领+OPEN」四条件同时成立的真实样本,抓到的 REFUND 样本都是户级直接抢单的散客单——该分支目前只有单测覆盖,非测试服端到端验证,详见「八、测试环境已验证」。另需注意 #7459(PR #7731)已把本条讨论的取消触发路径改为约 1 秒的异步 outbox,详见正文「切换状态时的必要动作」更正。PR 正文已记录 2026-09-14 一次测试服实测(取消订单 2099318713927778306 产出 owner_user_id=NULL 的缺陷现象),那是修复前的缺陷复现证据,不是修复后的验证。gateway_status=not_required:受影响的 GET /v3/admin/order/todos 是已有路由,本次未新增/修改任何路径。frontend_status=pending:待前端确认房务待办列表页是否需要对「owner 从广播态变为团级认领人」这类变化做任何界面提示,故不定为 not_required。 前端 not_required(grep 实证):todos/index.vue owner 展示为 ownerName || \"团队\" 通用渲染,字段用 teamNo/todoTypeLabel 与真实契约一致;owner 从 null 变真实 ID 纯取值变化、scope 换桶为服务端行为,前端零改动。" updated_at: "2026-09-15" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/15_fund-account_可否透支overdraftAllowed禁传布尔须传1或0-修改接口-管理后台.md b/changelogs-v2/2026-09/15_fund-account_可否透支overdraftAllowed禁传布尔须传1或0-修改接口-管理后台.md index 51cbf82d..4056398e 100644 --- a/changelogs-v2/2026-09/15_fund-account_可否透支overdraftAllowed禁传布尔须传1或0-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/15_fund-account_可否透支overdraftAllowed禁传布尔须传1或0-修改接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "mmg" frontend_ref: "7a2cbaa3c716ec6f6195344963693cf52bb9f456" target_release: "" verified_at: "2026-09-15" -status_note: "后端契约零变更,仅前端对接纠错:新建/编辑资金账户接口的 overdraftAllowed 字段是 Integer(1 允许 / 0 不允许),不是布尔。前端开关组件若直接提交 true/false,会被 Jackson 在反序列化阶段拦截,报「请求数据格式错误:字段 [overdraftAllowed] 格式错误」(HTTP 200 + code 400)。提交前须把开关值规整为 1/0 整数。 前端已修复(7a2cbaa3):AccountFormDrawer 提交体 overdraftAllowed 规整 true→1/false→0,编辑回显改 === 1 判真(规避 "0" 字符串 Boolean 误判),fund-account.js 入参文档同步 Integer 口径;新增 AccountFormDrawer.spec 3 例,checkpoint 13 项全绿。" +status_note: "后端契约零变更,仅前端对接纠错:新建/编辑资金账户接口的 overdraftAllowed 字段是 Integer(1 允许 / 0 不允许),不是布尔。前端开关组件若直接提交 true/false,会被 Jackson 在反序列化阶段拦截,报「请求数据格式错误:字段 [overdraftAllowed] 格式错误」(HTTP 200 + code 400)。提交前须把开关值规整为 1/0 整数。 前端已修复(7a2cbaa3):AccountFormDrawer 提交体 overdraftAllowed 规整 true→1/false→0,编辑回显改 === 1 判真(规避 \"0\" 字符串 Boolean 误判),fund-account.js 入参文档同步 Integer 口径;新增 AccountFormDrawer.spec 3 例,checkpoint 13 项全绿。" updated_at: "2026-09-15" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/21_7988_团期配车需求详情响应新增配车刷新态观测字段-修改接口-管理后台.md b/changelogs-v2/2026-09/21_7988_团期配车需求详情响应新增配车刷新态观测字段-修改接口-管理后台.md index 42947d47..e077f9e5 100644 --- a/changelogs-v2/2026-09/21_7988_团期配车需求详情响应新增配车刷新态观测字段-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/21_7988_团期配车需求详情响应新增配车刷新态观测字段-修改接口-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "mmg" frontend_ref: "3df2c6f8df7902b31886e7ca0fc0ec88807d7032" target_release: "v2.1" verified_at: "2026-09-21" -status_note: "接口已在测试环境部署并通过网关验证;七个字段在 origin/dev-v3 已就绪;order-v3 commit d30cd9561 是最新且已部署" 前端 2026-09-21 核销:与 20_7988 同一观测块,已随 #7442 PR-C2 增量1 交付(hl-admin v2.1 3df2c6f8,GroupVehicleRequirementSection 观测块——planRefreshStalled 判据/replayExhausted 分叉/PENDING 短轮询),本份 AC-6 交接件零增量代码。 +status_note: "接口已在测试环境部署并通过网关验证;七个字段在 origin/dev-v3 已就绪;order-v3 commit d30cd9561 是最新且已部署 前端 2026-09-21 核销:与 20_7988 同一观测块,已随 #7442 PR-C2 增量1 交付(hl-admin v2.1 3df2c6f8,GroupVehicleRequirementSection 观测块——planRefreshStalled 判据/replayExhausted 分叉/PENDING 短轮询),本份 AC-6 交接件零增量代码。" updated_at: "2026-09-21" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/21_8093_套用用餐模版改只读返回组合结果与模版桌人创建人搜索删除-修改接口-管理后台.md b/changelogs-v2/2026-09/21_8093_套用用餐模版改只读返回组合结果与模版桌人创建人搜索删除-修改接口-管理后台.md index a33c00d2..775b1573 100644 --- a/changelogs-v2/2026-09/21_8093_套用用餐模版改只读返回组合结果与模版桌人创建人搜索删除-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/21_8093_套用用餐模版改只读返回组合结果与模版桌人创建人搜索删除-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "lc(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" -frontend_status: "pending" -frontend_owner: "" -frontend_ref: "" -target_release: "" -verified_at: "" -status_note: "套用用餐模版由写库改为只读:只返回「模版+订单出发日」组合出来的行,不含订单原有行、库里一行不动;订单原有行由前端把这些行原样提交整单保存时按现有规则软删。行上人数、桌数、价钱、桌/人、金额后端已算好。模版列表新增创建人姓名与行上桌数、人数、桌/人;模版名由精确改模糊并新增创建人模糊搜索;新增删除模版接口。前端必须按本文改调用方式。" +frontend_status: "verified" +frontend_owner: "mmg" +frontend_ref: "74eacd7a992d276e438b2e9f55b38e3924d5fe0c" +target_release: "v2.1" +verified_at: "2026-09-21" +status_note: "套用用餐模版由写库改为只读:只返回「模版+订单出发日」组合出来的行,不含订单原有行、库里一行不动;订单原有行由前端把这些行原样提交整单保存时按现有规则软删。行上人数、桌数、价钱、桌/人、金额后端已算好。模版列表新增创建人姓名与行上桌数、人数、桌/人;模版名由精确改模糊并新增创建人模糊搜索;新增删除模版接口。前端必须按本文改调用方式。 前端 2026-09-21 已交付(hl-admin v2.1 74eacd7a9):MealTab 套用改只读预览——只把回包 mealInfoId=null 的模版行追加进本地列表(不清空/不只提交模版行),保存走整单提交入库;MealTemplateApplyModal 加双模糊搜索/创建人/桌人列/删除模版;checkpoint 全量绿。(与 #8125 合并一个交付单元)" updated_at: "2026-09-21" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/21_8125_用餐第几天按订单出发日算与套用模版改为在现有行后追加-修改接口-管理后台.md b/changelogs-v2/2026-09/21_8125_用餐第几天按订单出发日算与套用模版改为在现有行后追加-修改接口-管理后台.md index ec20b96a..dd447e93 100644 --- a/changelogs-v2/2026-09/21_8125_用餐第几天按订单出发日算与套用模版改为在现有行后追加-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/21_8125_用餐第几天按订单出发日算与套用模版改为在现有行后追加-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "lc(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" -frontend_status: "pending" -frontend_owner: "" -frontend_ref: "" -target_release: "" -verified_at: "" -status_note: "订单用餐行的第几天改为后端按「用餐日期 − 订单出发日期 + 1」重算:整单保存时新增的行和改了用餐日期的行都会跟着变,前端不要再自己算或沿用旧值。保存为模版的第几日同口径(不再按选中那批行里最早的日期算第 1 日)。套用模版的返回由「只有模版行」改为「订单现有行 + 模版行(模版行在后)」,前端仍把返回的行原样整单提交,原有行按行ID保留、模版行按新增落库,页面上表现为在现有数据后面追加。" +frontend_status: "verified" +frontend_owner: "mmg" +frontend_ref: "74eacd7a992d276e438b2e9f55b38e3924d5fe0c" +target_release: "v2.1" +verified_at: "2026-09-21" +status_note: "订单用餐行的第几天改为后端按「用餐日期 − 订单出发日期 + 1」重算:整单保存时新增的行和改了用餐日期的行都会跟着变,前端不要再自己算或沿用旧值。保存为模版的第几日同口径(不再按选中那批行里最早的日期算第 1 日)。套用模版的返回由「只有模版行」改为「订单现有行 + 模版行(模版行在后)」,前端仍把返回的行原样整单提交,原有行按行ID保留、模版行按新增落库,页面上表现为在现有数据后面追加。 前端 2026-09-21 已交付(hl-admin v2.1 74eacd7a9):MealTab 套用改只读预览——只把回包 mealInfoId=null 的模版行追加进本地列表(不清空/不只提交模版行),保存走整单提交入库;MealTemplateApplyModal 加双模糊搜索/创建人/桌人列/删除模版;checkpoint 全量绿。(与 #8093 合并一个交付单元;dayNumber 前端不自算,沿后端返回直显)" updated_at: "2026-09-21" base: "dev-v3" ---