yaosutu
|
48d36a1c84
|
docs(changelog): 资金账户新建/编辑表单字段对接说明(管理后台 v2)
changelog-filename-gate / validate (push) Failing after 2s
非接口改动:资金账户接口字段早已齐全,前端补 5 字段(bankName/shortName/nature/feeRate/refundReserve)+ scopeCompanies 改多选。
|
2026-09-13 10:05:19 +08:00 |
|
Mimingguang
|
4b351d1c1c
|
chore(changelog): #7587 回写前端 verified(e3ff8510) 审批记录补状态变化列
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-13 09:54:57 +08:00 |
|
Mimingguang
|
10502ccdd3
|
chore(changelog): 补回写漏网 8 条(7510×2/7511/7512 verified+not_required;7513/7530/7531/7535 not_required)
changelog-filename-gate / validate (push) Failing after 2s
7510/7511/7512 代码早已随供应商关系系列交付(a17a2c2a/4bedc8be),实证后回写 verified 挂 a17a2c2a;
11_7510 为正本 12_7510 的重复副本(canonical_path),标 not_required 消除 pending;
7513/7530/7531/7535 实证前端零改动 not_required。
|
2026-09-13 09:51:52 +08:00 |
|
Mimingguang
|
a7a687796f
|
chore(changelog): #7327 回写前端 not_required 核单 Step1 来源透传+584129兜底均兼容
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-13 09:36:00 +08:00 |
|
Mimingguang
|
8ddf1e5268
|
chore(changelog): #7537 回写前端 verified(f7699455) 协同工单补团号列,余三块 no-op
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-13 09:14:00 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
31d9cb8b23
|
docs(order-v3): 团期配房行合流进住宿核单 Step1 changelog(#7327 PR-1)
changelog-filename-gate / validate (push) Successful in 2s
面向 hl-ui:核单 Step1 的 sourceType 扩取值域,团期订单首次出现团期配房派生行
GROUP_BATCH_PLAN;新增行级确认闸业务错误码 584129。
接口路径、HTTP 方法、VO 字段集合均未变化,网关无新增路由。
Refs #7327
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-13 08:53:04 +08:00 |
|
 jw和Claude Opus 5
|
d32665518f
|
docs(order-v3): #7513 团期转期同步回写归属两列 + 在途退单守卫 589589
changelog-filename-gate / validate (push) Successful in 2s
转订单端点请求/响应结构零改动,前端无需改造。两处需告知:
1. 转期后订单详情的团期编号/名称会正确显示为【目标期】——此前因只改了
product_batch_id、没改 group_batch_id,展示的是源期。属修复非回归。
2. 新增拒绝码 589589:该户有在途 PENDING 退单审核时转期被拒,前端按普通
业务错误弹 message 即可,文案已含出口指引(先在源期驳回再重提)。
历史已转期订单的存量分叉本次不修,见 #7586。
frontmatter: backend_status=deployed / gateway_status=verified / frontend_status=pending
校验:validateV2Document 0 错误;validateChangelogPath 通过。
Refs #7513
PR wx/HL#7589
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-12 17:10:02 +08:00 |
|
 lc和Claude Opus 5
|
47544d190e
|
docs(changelog): 供应商审批记录新增变更前后状态字段(#7587)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DdmjgoN68L7TUP4oRosfTu
|
2026-09-12 16:50:43 +08:00 |
|
jw
|
4bea4c2d1c
|
docs(order-v3): #7535 零破坏证据升级为真·双部署逐字段对拍
changelog-filename-gate / validate (push) Successful in 3s
|
2026-09-12 15:41:25 +08:00 |
|
jw
|
637fad2394
|
docs(order-v3): 团期接口返回值整改·非破坏批 changelog(#7535)
changelog-filename-gate / validate (push) Successful in 2s
19 个团期读端点纯加响应字段,47 个新 key,既有 key 的名称/类型/取值/null 语义
一行未动,前端零改动即可继续运行。零 DDL、零错误码、零网关改动。
前端要点:opsStage 直接读不要自己折桶;联系人改读 customerName;
审批中心统一列表三个新字段只在 WITHDRAW 行有值;teamNo 逐户各不相同且未付订金为 null;
staff 候选的 groupBatchId 在团期未创建时为 null,不得当必有主键用。
四组旧字段(Text/Label 后缀、contactName、batchId、total*)已标 @Deprecated,
本批不删、值不变,删除时间另行通知。
|
2026-09-12 15:12:28 +08:00 |
|
 lc和Claude Opus 5
|
e315cbb6b0
|
docs(7512): 服务人员 Changelog 补齐模板必需章节与逐接口自包含内容 Refs #7512
changelog-filename-gate / validate (push) Successful in 3s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011t6wjBsvqsFKFSkCzsYsuS
|
2026-09-12 12:19:39 +08:00 |
|
 lc和Claude Opus 5
|
3a15e3de25
|
docs(7512): 服务人员按景区口径接入供应商关系 Changelog(supplierFullName / 原因可省略 / 无订单门禁)Refs #7512
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011t6wjBsvqsFKFSkCzsYsuS
|
2026-09-12 12:15:55 +08:00 |
|
 lc和Claude Opus 5
|
57be23bcd1
|
docs(7511): 额外成本按景区口径接入供应商关系 Changelog(supplierFullName / 固定 COST_ITEM 类型 / 原因可省略)Refs #7511
changelog-filename-gate / validate (push) Successful in 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UqNs52DGnGU29PN8Ey37Ms
|
2026-09-12 12:04:17 +08:00 |
|
 jw和Claude Opus 5
|
1584c8ee80
|
docs(order-v3): #7532 团期出团通知书读写端点(GB-ADM-081 / 082)
changelog-filename-gate / validate (push) Successful in 2s
新增两个管理后台端点:
GET / PUT /v3/admin/order/group-batch/{groupBatchId}/docs/notice
读端点在未保存过时按团期数据即时拼草稿返回(不落库),写端点整体覆盖保存到新表
group_batch_notice(Flyway V20260912_140)。
前端必接三件事:
1. expectedVersion 必填、首次传 0、收到 589585 必须【重读再提交】——直接重试一定还是 589585;
2. releasable=false 时置灰「打印 / 存 PDF」(阶段门只卡下发不卡编辑,招募期可起草);
3. 正文是纯文本语义,后端不转义也不反转义,按纯文本渲染、不要 v-html,
也不要在前端 escape/unescape 后再提交。
另一条部署事实:新权限码 group-batch:docs 在 user-service 有 10 分钟 Redis 缓存,
上线后 ADMIN 最多 10 分钟才生效,这段窗口的 589507 不是漏配。
当前授权范围 ADMIN / SUPER_ADMIN,FINANCE 未授。
原型出入三处(contacts 单串 vs 两个输入框、完成编辑未发请求、service/bring 未接控件)
已在正文列出,口径由 mmg 对齐。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-12 11:55:44 +08:00 |
|
 jw和Claude Opus 5
|
b4ef91e9eb
|
docs(order-v3): #7531 下线 Mock 的行程整体保存端点 + #7530 团期 staff 去重与报账人扇出限定本团
changelog-filename-gate / validate (push) Successful in 3s
#7531(删除接口):POST /v3/admin/order/{orderId}/itinerary/save 下线。
该端点自 2026-05-12 落地起就是 Mock,只回显入参 id、从不落库;
下线前已穷举 mmg/hl-ui 全部 4 条远端分支确认零调用(每条带阳性对照),
故前端预期无需改动。整体保存的真实入口是 POST /v3/admin/order/{id}/adjustment/submit。
错误码 583030-583034 号位保留未释放。
#7530(修改接口,两个端点):
1. PUT /v3/admin/group-batch/{productBatchId}/staff 新增 589582——
staffList 内 staffId 重复即拒绝、整批不保存,同一员工不能在同一团期占两个配置位。
前端需提交前去重或直接透出文案。
2. PUT .../staff/{staffId}/reporter-rank 行为收敛——
报账人等级的订单副本同步范围由「全库」收窄为「本团活跃订单」,
响应结构与错误码不变;存量重复行不再抛裸 500。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-12 11:04:13 +08:00 |
|
 lc和Claude Opus 5
|
3aa5242ab9
|
docs(7510): Changelog 路径迁移为 12_ 并登记 11_ 兼容别名 Refs #7510
changelog-filename-gate / validate (push) Successful in 3s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UqNs52DGnGU29PN8Ey37Ms
|
2026-09-12 10:35:51 +08:00 |
|
 lc和Claude Opus 5
|
fb7a6af37b
|
docs(7510): 服务按景区口径接入供应商关系 Changelog(supplierFullName / 原因可省略 / 395063)Refs #7510
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UqNs52DGnGU29PN8Ey37Ms
|
2026-09-12 10:29:11 +08:00 |
|
 jw和Claude Opus 5
|
4656428473
|
docs(order-v3): #7527 团期发起核单端点(TRIP_FINISHED → REVIEWING)
changelog-filename-gate / validate (push) Successful in 3s
新增 POST /v3/admin/order/group-batch/{groupBatchId}/review/start。
补的是「团期卡死」的入口缺失:这一跳此前唯一入口是录共享成本的副作用,
不用大巴、没请导摄的团没有成本可录就没有触发点,永久停在「出行完毕」,
八桶看板的「核团中」桶对这类团恒为空。
面向 hl-ui 写清三件事:① 重复点击返 200 而非报错,必须看 data.alreadyStarted
区分「真的推进了」与「幂等命中」,否则会连弹两次成功;② 三个新错误码
589564/589565/589566 各对应不同的下一步动作(等团回来 / 去做验团反确认 /
这团已流团),给了逐条的前端提示建议,其中 589565 要带反确认跳转;
③ 录成本自动推进的老行为一行未改,两条入口并存,前端现有调用不需调整。
权限码复用录成本那一个(group-batch:finance:advance),按钮可见性判据可直接复用。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-12 10:26:15 +08:00 |
|
 jw和Claude Opus 5
|
79186364b8
|
docs(order-v3): #7537 管理端展示订单号的响应体统一补团号(teamNo)
changelog-filename-gate / validate (push) Successful in 2s
11 个 /v3/admin/** 端点响应体纯增 teamNo:退款详情/列表、支付分页/详情/按订单、
工单分页/详情三块新增字段,订单待办 4 个写端点补上此前恒 null 的填充。
面向 hl-ui 写清四件事:teamNo 是订单团号 order_main.team_no(26-0001),不是运营
团期号 batchNo(GB-26-0001);为空一律 null 不返空串不回退订单号;生成条件是订金
支付成功、与是不是团期单无关(已付订金散客单有、未付订金团期单没有);同团每张
子订单团号各不相同,别按团号归并。
另记 4 个 /v3/internal/ 端点连带多出该字段(服务间调用,前端不对接)。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-12 09:15:46 +08:00 |
|
Mimingguang
|
a0d72720a6
|
chore(changelog): 7526 前端交付回写 verified
changelog-filename-gate / validate (push) Failing after 3s
团期物料门复判与兜底重扫:hl-admin 36c9064a 在团期详情页
onContractActionSuccess 补 fetchDetailSafe 重拉主详情,出具/签署触发物料门
自动推进时状态立即刷新。frontmatter 翻 verified + owner + ref + status_note。
|
2026-09-12 07:46:16 +08:00 |
|
jw
|
37904dc20f
|
docs(changelog): 团期物料门复判与兜底重扫(#7526 / PR #7559)
changelog-filename-gate / validate (push) Successful in 2s
新增 2 个端点:
- POST /v3/admin/order/group-batch/{groupBatchId}/recheck-material-gate(运维手工复判,未推进时回执指明挡门原因)
- POST /v3/internal/jobs/group-batch-material-gate/run(服务间,Quartz sys_job 1044 经 Feign 触发,公网网关不放行)
backend deployed + gateway verified,TEST 2026-09-12 实测:
事件路径 03:37:09 管理端动作 → 03:37:10 团期推进;Job 路径 cron 03:27:00 自行触发,sys_job_log 1044 SUCCESS。
|
2026-09-12 07:29:45 +08:00 |
|
Mimingguang
|
6827c24324
|
chore(changelog): 7445/7446 前端核验 not_required 回写
changelog-filename-gate / validate (push) Failing after 2s
7445 团期用车结算闸(584131+VEHICLE 软预警)与 7446 住宿结算闸判团口径
(584130 判据修正),经 grep 实证 hl-admin 前端均零改动:
- 前端无按码分支,request.js 通用 bizError 兜底透传后端 message 原文,
584131/584130 文案已含订单号+需求状态+操作指引,透传即达标。
- detail.vue warnings 渲染只取 item.message 且兼容过渡期字符串,从不读
settlementId/dayNumber 定位明细行,category=VEHICLE 项(恒 null)正常展示。
- 7446 契约一字未变仅触发人群变化,前端对 584130 无专属处理不受影响。
frontmatter 翻 frontend_status=not_required + owner=mmg + status_note 追加,
无业务 commit,ref 留空。
|
2026-09-11 19:20:10 +08:00 |
|
API Changelog Bot
|
251748d813
|
docs(7445,7446): 两份交接件补网关实测结果,gateway_status 转 verified Refs #7445 Refs #7446
changelog-filename-gate / validate (push) Successful in 2s
两单的 §八「测试环境已验证」原先都写着「本节当前为空,网关实测尚未进行」,
frontmatter 的 gateway_status 卡在 pending、pre-push 校验器报 E_GATEWAY_PENDING。
2026-09-11 网关实测已完成,本次把结果写进两份交接件:
- #7445 四组(17:38 三组 + 18:36 补一组):团期单 + 用车 PENDING → 584131;
推 DONE → 200;散客单两类需求都 PENDING → 200(两闸均不误触发);
车费派生行全部软删 + 需求 PROCESSING → 仍 584131
- #7446 四组:方向甲 + 住宿 PENDING → 584130;推 DONE → 200;
待回填老单(product 非空 + group 为空 + 团期存活)→ 仍 584130;散客单 → 200
两份都如实写明了两条取证边界,不许读的人误推:
1. 全部前置都是 SQL 直更造出来的(直接改需求 status),不是走真实配车/配房链路产生的
2. 取证路上绕过了三道与本单无关的通用前置闸(584310 八分类未确认、584082 待收尾款、
车费草稿冻结确认),手段是 SQL 标 CONFIRMED / 清零应收;这三道闸自身的正确性未被验证
gateway_status pending→verified、verified_at 填 2026-09-11、status_note 改为如实描述。
frontend_status 保持 pending 未动。
|
2026-09-11 18:58:29 +08:00 |
|
Mimingguang
|
98665c3a20
|
chore(changelog): #7509 前端交付回写 verified(mmg,hl-admin 64573356)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 18:14:35 +08:00 |
|
 lc和Claude Opus 5
|
a28a67887f
|
docs(7509): 酒店按景区口径接入供应商关系 Changelog(supplierFullName / 原因可省略 / 395062)Refs #7509
changelog-filename-gate / validate (push) Successful in 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UqNs52DGnGU29PN8Ey37Ms
|
2026-09-11 18:00:02 +08:00 |
|
API Changelog Bot
|
5a5ca03e0f
|
docs(7440): 交接件补 4 个改造接口 + 双侧未读取法 + 会话键不混同 Refs #7440
changelog-filename-gate / validate (push) Successful in 3s
AC-19 要求的三块内容原先在文件里 grep 零命中,校验器也只解析出 4 个端点:
- 新增「改造接口」4 节(messages 拉取/投递、read 双侧水位、biz-unread-batch
新增 TEAM_FLEET 取值),每节含方法/路径/路径参数/请求参数/响应/错误码
- 写死「双侧未读要分别取」:车务侧传 unreadScope=TEAM_FLEET、团期管理员侧传 TEAM,
传错不报错、会拿到对方的未读数
- 写明 GROUP_FLEET:{groupBatchId} 与「接送机沟通仍走 FLEET:{orderId}」,两个入口不混同
- 两条 internal 接口的清单编号由 *内部* 改为裸 5/6——校验器对非裸编号的端点标题
是静默跳过的,改前它们根本没进校验
- 补错误码汇总表(281018/281019/600012-600014/809400/809401,文案逐字抄源码)
- 六.6「修改前后对比」由 N/A 换成 4 个改造端点的行为级对比
端点数 4 → 10(6 新增 + 4 改造),与工单口径一致。
另留痕一处信源冲突:biz-unread-batch 的 adminId,工单正文写「PERSONAL 时必填」,
而 ChatBizUnreadBatchReqVO.java:23-25 是 @NotNull(恒必填,与 unreadScope 无关)。
交接件按源码写,并在字段说明里标注与旧文档描述不一致、以源码为准。
|
2026-09-11 17:31:04 +08:00 |
|
API Changelog Bot
|
274f0b16c0
|
docs(changelog): #7440 订正六.8 节角色授予范围——ADMIN 已被 #7514 收回
changelog-filename-gate / validate (push) Successful in 3s
原文写「菜单可见性授予 SUPER_ADMIN / ADMIN / VEHICLE_MANAGER 三个角色」「权限码
授权 VEHICLE_MANAGER / ADMIN / SUPER_ADMIN」,这两句在 PR #7514 之后已经过时:
V20260911_007__fix_group_dispatch_admin_grants.sql 于 2026-09-11 14:04:26 在测试库
收回了 ADMIN 的菜单行(2 行)与权限码授权(1 行),部署后实测两项命中数均为 0。
收回的原因本文件八节末尾那条红字早就写着:/admin/fleet/** 的访问控制是 #5626 的
路径级粗粒度角色门禁,只放行 VEHICLE_MANAGER 与 SUPER_ADMIN,不看权限码。给 ADMIN
菜单等于造一个看得见、点进去必 403 的死入口。也就是说本文件自身前后矛盾——六.8 节
说 ADMIN 有菜单,八节说 ADMIN 调接口必 403。现已统一到后者。
接口契约、错误码与行为均未变,仅授权数据层的描述订正。frontmatter 补 status_note。
前端影响:不要按「ADMIN 能看到团期配车」设计任何菜单可见性或路由逻辑。
|
2026-09-11 15:07:07 +08:00 |
|
Mimingguang
|
8accfb3a61
|
chore(changelog): #7500 前端交付回写 verified(mmg,hl-admin 7d7cf020)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 14:46:14 +08:00 |
|
 lc和Claude Opus 5
|
0c30d2c966
|
docs(changelog): #7500 游玩项目按景区口径接入供应商关系
changelog-filename-gate / validate (push) Successful in 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CKcJu3x9Ct9LutqH7AMjJb
|
2026-09-11 14:28:56 +08:00 |
|
 API Changelog Bot和Claude Opus 5
|
78ddcae40e
|
docs(changelog): #7440 团期车务派单只读入口——看板三端点 + GROUP_FLEET 双团会话(已部署实测 861ebff0c)
changelog-filename-gate / validate (push) Successful in 3s
6 个新接口:fleet 派单看板三个 admin 读口 + order-v3 两个 internal 读口 + user-service
open-group-fleet。本单只读,不含配车写入与派单进度回写。
错误码 7 个:809400/809401(order-v3 内部口自用,经 fleet 侧 fail-closed 统一转 600012,
**前端看不到原始码**)、600012/600013/600014(fleet 对外)、281018/281019(会话侧)。
809401 把「分页越界 / 出发日区间倒挂 / keyword 超 50 字符 / dispatchProgress 枚举非法」
合并为一个出口,前端按单码统一提示重填筛选条件。
⚠️ 访问控制口径:三个 fleet 读口由 #5626 的粗粒度角色门禁把关(必须切到 VEHICLE_MANAGER
或 SUPER_ADMIN),**不看权限码**。实测 ADMIN 角色(已被本单 Flyway 授予
fleet:group-dispatch:view)同样拿到 403,前端不能按「有该权限码就能调」设计。
测试环境已验证:三服务已部署(fleet/order-v3 @ 861ebff0c、user @ 30761683e,差异原因与
契约一致性核验见正文),6 端点逐个网关实测、每条两轮。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-11 13:24:48 +08:00 |
|
Mimingguang
|
6a6c167b69
|
chore(changelog): #7325 status_note 补 hotelReady 组合态提示前端交付(740e7941)
changelog-filename-gate / validate (push) Successful in 3s
|
2026-09-11 11:47:00 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
67cb933c76
|
docs(changelog): #7325 补 808611/808612/808613 与 hotel_ready 组合态提示口径
changelog-filename-gate / validate (push) Successful in 3s
#7325 的 AC-21 字面要求 changelog 覆盖这三个码的文案与
「hotel_ready=false ∧ 有 CONFIRMED 行」的提示口径,首发时漏了:
808611/808613 全文零命中、808612 只出现在测试记录表格里。
三个码属 #7324 的段位但三个新端点都会返回(归属门在编排层前置),
前端只按本单新增的 8 个码做分支会漏掉最常见的三种拒绝。
顺带填 target_release=hl-ui@d487d2be:50c0e53 把 frontend_status 置为
verified 但 target_release 仍为空,校验器规则「verified 必须填写
target_release」会让该文件此后任何编辑都推不上去。取值来自同一份
frontmatter 的 frontend_ref,不是猜的版本号;mmg 若有正式版本号请覆盖。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-11 11:28:53 +08:00 |
|
Mimingguang
|
50c0e53c52
|
chore(changelog): 回写 #7324 接线闭环 + #7325 前端 verified(d487d2be)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 11:17:31 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
c5b40bb83e
|
docs: 答复前端 #7324 后端需求(后端零改动)+ 补 #7322 我的团不过滤 batch_status
changelog-filename-gate / validate (push) Successful in 2s
前端据 H1 看板过滤 CANCELLED 的行为,推断「整团释放」按钮无可达路径。
该推断的关键环节不成立:我的团(GET /v3/admin/order/grab-pool/my-claims/
group-batches)刻意不按 batch_status 过滤,H2 详情也没有阶段闸门,
CANCELLED 团期经「我的团 → H2 详情」完全可达。
根因在我方:#7322 的 changelog 从未写过这条行为,前端看不到 javadoc。
本次一并补记,并在需求单上答复 status=answered-no-backend-change。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-11 10:39:30 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
65d786ea87
|
docs(changelog): #7325 团期房务按日订房确认 H7/H8/confirm-check(已部署实测 dfd5a8f6f)
3 个新端点、8 个新错误码、808616 删除、808602 日期上限改为 endDate-1。
已部署测试服并经网关实测,Flyway V20260910_302 success=1。
起草时「GET /confirm-check 任何后台角色都能调」写错,已更正:
读端点虽不标 @HouseWriteGuarded,但在编排层入口直接调
HouseReadGuard.assertHouseReadPermission(),非房务角色同样 808090。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-11 10:37:49 +08:00 |
|
Mimingguang
|
559c8da1c1
|
docs(changelog): #7324 status_note 补后端需求文档交叉引用(4aa3037)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 10:06:50 +08:00 |
|
Mimingguang
|
1e52ba5d26
|
chore(changelog): #7328 frontmatter 回写 verified(0f2f5b1a)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 10:01:17 +08:00 |
|
Mimingguang
|
b0c68caa15
|
chore(changelog): #7324 frontmatter 回写 verified(6710ad4a)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-11 09:23:16 +08:00 |
|
Mimingguang
|
cad8452b92
|
chore(changelog): #7387 前端交付 verified(ref 620754fc)
changelog-filename-gate / validate (push) Failing after 3s
|
2026-09-10 22:35:45 +08:00 |
|
lc
|
95d1789793
|
docs: 交接餐厅供应商关系契约(#7387)
changelog-filename-gate / validate (push) Successful in 3s
|
2026-09-10 22:18:14 +08:00 |
|
API Changelog Bot
|
70dbb833e0
|
docs(changelog): #7328 团期房务整团会话 GROUP_HOUSE(三端点)
changelog-filename-gate / validate (push) Successful in 2s
会话键是 GROUP_HOUSE:{groupBatchId},按团期聚合主键建键而不是子订单 id——
这是与既有 GROUP:{orderId} 的关键差异,前端拿错主键空间会静默查空
(不报错、只是永远没数据)。
三处前端按直觉写会踩的地方,都写进「关键变化」:
1. 团未被认领时的不对称:管理员侧能开会话(消息落团队池,认领后自动改判
给认领人),房务侧开不了(281002)。
2. peerAdminId 在两个接口上语义不同——这条是部署实测才发现的。
open-group-house 的响应直接回显 DB 占位值 0(ChatManager.buildFullResp
无归一化);把「无认领人 → null」做归一化的是会话列表那条路
(fillOrderSummaries + fillGroupBatchSummaries),而且只对有消息的会话
生效——selectMyConversations 用 isNotNull(last_message_at) 把无消息的
占位会话过滤掉了。前端照单接口响应判 null 会渲染出「管理员 #0」。
3. currentClaimerId 刻意没有 @NotNull:RELEASE 事件本来就没有新认领人,
加了会让释放事件在参数校验阶段被拒、会话永远停在旧认领人身上。
顺带订正一条长期口口相传的错误说法:网关对 /internal/** 并非「一律 403」。
gateway 只给 /v3/internal/** 与 /internal/fleet/** 配了 Path predicate,
/internal/message/** 与 /internal/house/** 根本没有路由,请求在到达
JwtAuthFilter 之前就被路由层拒掉,返回的是 HTTP 200 + 业务体
{"code":404,"message":"接口不存在"}。净效果一致(网关不可达),呈现不同。
backend_status=deployed:两服务已滚到 dev-v3 tip 0f62fb072(PR #7490),
实例 LISTEN + Nacos healthy,三端点各打通,281002 负向用例四个角色全命中,
落库 conversation_key 已用 SQL 证实,测试数据已清理。
Refs #7328
|
2026-09-10 21:59:00 +08:00 |
|
API Changelog Bot
|
d9f30eb9bf
|
docs(changelog): #7324 订正 H1 住期筛选的区间口径(右开 → 两端闭)
changelog-filename-gate / validate (push) Successful in 3s
原文把 stayDateFrom/To 的匹配范围写成团期 `[出发日,结束日)`,右端开区间是错的。
实际谓词是 `depart_date <= stayDateTo AND end_date >= stayDateFrom`
(GroupBatchMapper.selectHouseClaimedPage:779-791),两端都闭。
实测:团期 end_date=2026-07-05 配 stayDateFrom=2026-07-05 命中。
前端照右开写日期选择器会漏掉最后一天。
同一份文档里 H4/H5 校验入住日合法性用的 `[出发日,结束日)` 是**对的**、不动
(assertStayDateInRange:568-575,`!stayDate.isBefore(endDate)`,
结束日是离店日不产生间夜)。两处口径本就不同,已在表格里写明区别,避免混用。
Refs #7324
|
2026-09-10 19:12:28 +08:00 |
|
API Changelog Bot
|
fc6f223419
|
docs(changelog): #7324 房务团期看板与整团按日订房计划 CRUD(H1-H6 + release-all)
changelog-filename-gate / validate (push) Successful in 2s
七个新端点的前端交接件,重点写清四处「后端行为对、前端按直觉写会踩坑」的地方:
1. H1 列表 total 可能是 -1,语义是「未统计」——传 planStatus 且扫描页(500)被填满时
走内存过滤降级路径。全仓其它分页都保证 total >= 0,直接拿它算总页数会出负页码。
2. H5 只传 version 的空提交:PENDING 行返 200 且只把 version +1(updateById 默认
NOT_NULL 策略,null 不进 SET 子句,不清空任何业务字段),CONFIRMED 行抛 808692。
3. release-all 会返回「200 但什么都没释放」——整团都是过去的已确认行时,
releasedPlanIds 为空、retainedPastPlanIds 非空、warnings=[PAST_STAY_RETAINED],
与「团里根本没订房」的 808619 幂等出口是两条不同分支。
4. H4 响应恒带两个空数组 warnings / removedManualAllocIds(与 H5 共用 RespVO)。
另记两条与工单口径不一致、以源码为准的事实:
- 错误码实际新增 17 个(工单写 12 个),已按 HouseGroupBatchErrorCode 逐个列出。
- 部署顺序:hl-resource-service 必须先于 hl-order-service-v3,反序会让 order-v3 拿到
roomCategory=null,fail-closed 房型守卫把每次 H4/H5 提交拒成 808691。
Refs #7324
|
2026-09-10 18:50:32 +08:00 |
|
Mimingguang
|
1f48714187
|
chore(changelog): #7456 前端 no-op 回写 not_required
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-10 18:21:26 +08:00 |
|
jw
|
6c62b1aa2b
|
docs(changelog): #7456 团期生命周期后半段——核团开工自动推进 + 验团归档 + 反确认
changelog-filename-gate / validate (push) Successful in 2s
|
2026-09-10 18:10:23 +08:00 |
|
Mimingguang
|
6fee8114b8
|
chore(changelog): #7455 前端 no-op 回写 not_required
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-10 18:01:41 +08:00 |
|
jw
|
953d953bdc
|
docs(changelog): #7455 团期十五个 admin 端点补判权(写口 manage / 详情名单 view / 列表看板 list)
changelog-filename-gate / validate (push) Successful in 2s
|
2026-09-10 17:56:28 +08:00 |
|
Mimingguang
|
7ecd4da276
|
chore(changelog): #7322 前端交付 verified(ref 745cd9b8)
changelog-filename-gate / validate (push) Failing after 2s
|
2026-09-10 17:19:23 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
4a284f6323
|
docs(changelog): #7322 菜单种子已落地(PR #7467),补部署两条注意事项
changelog-filename-gate / validate (push) Successful in 3s
sys_menu 两行抢单池入口已由 V20260910_001 补上。
部署须知:#7322 部署清单本次起必须带 hl-user-service;
菜单树按 roleId 缓存 Redis(TTL 3600s),部署后需 DEL cache:menu:tree:role:*。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-10 16:06:07 +08:00 |
|
 API Changelog Bot和Claude Fable 5.1
|
7b1601a7c2
|
docs(changelog): 补全 #7316 的订正——第四节仍有三处「无权限码限制」与已订正段落自相矛盾
changelog-filename-gate / validate (push) Successful in 2s
688c403 只订正了 :182 / :259 / :383 三处,同一文件里另有三处原样保留:
- :215 请求示例的 Authorization 头写「任意已登录管理端 token,无需 group-batch:view」
- :284 契约表行「✅ 任意已登录管理端角色调用」
- :288 「本端点无权限码限制」
其中 :284/:288 落在「四、契约约束与正确调用方式」——正是 mmg 据以实现判权与
589507 兜底的那一节,照它实现会完全不处理 589507,危害最大。
三处均已改为现行口径并标注订正日期,另补一条前端提醒:
FINANCE 角色持 finance:view 但不持 finance:advance,写端点按钮需单独控显隐。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-10 15:47:31 +08:00 |
|