867 次代码提交

作者 SHA1 备注 提交日期
API Changelog Bot
3c9cb3f89a feat(product-v2): 行程操作日志展开节点/天/住宿具体变化 (PR #2511) 2026-05-18 13:28:03 +08:00
API Changelog Bot
06c7a23261 feat(product-v2): 操作日志档位过滤 + 长字段友好展示 (PR #2505 #2508) 2026-05-18 13:17:15 +08:00
API Changelog Bot
66c02b1c6c fix: PR #2493 saveSnapshot 不改产品状态 + 修正 PR #2487 changelog
- 新增 18_fix_product_v2_snapshot_save_no_status_change.md (PR #2493)
- 修正 18_feat_product_v2_snapshot_p23_loosen_save_group_batch.md
  Section 2 关于"PR #2487 保存退草稿"的描述, 改为指向 PR #2493 最终态
- mmg 弹窗文案: 「保存版本」弹窗删警告; 「还原版本」弹窗保留
2026-05-18 12:02:21 +08:00
API Changelog Bot
c7577b951d docs(product-v2): 补 PR #2487 状态彻底放开 + 保存后退草稿副作用警告
mmg 必看: PUBLISHED 产品点保存版本会立即下架, 审批中会撤销审批.
弹窗 UI 必须警告"保存后产品将退回草稿状态".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 11:27:41 +08:00
API Changelog Bot
1326504962 feat(product-v2): 费用包含自动生成去掉住宿 + 每节点 1 条独立 VO 带行程图标 (#2477)
PR wx/HL#2484, 测试服已部署 + 数据清理(117 条 / 32 产品).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 11:12:26 +08:00
API Changelog Bot
addb9cc8cf docs(product-v2): P2.3 changelog 补"@DataScope 拦截"实际效果说明
2026-05-18 测试服 e2e 验证发现: Service 层删了 checkPriceEditPermission
但外层 @DataScope 数据权限仍拦 CUSTOMIZER 非 owner 产品 (HTTP 403)。
权限放宽实际只解锁同公司多 CUSTOMIZER 协作场景, mmg 不要误导用户以为
"OPERATOR 角色也能保存任意产品"。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 10:48:59 +08:00
API Changelog Bot
7bb56dbd5c docs(product-v2): P2.3 快照保存放宽 + GROUP 班期 + 弹窗交互 (PR #2478)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 10:08:45 +08:00
API Changelog Bot
08bf4f0de7 refactor(order): OrderTodoVO.updateTime 在 my-list/contract-eligible 2 路径补返回 (#2469/#2468) 2026-05-18 09:39:26 +08:00
API Changelog Bot
e0250564b1 docs(product-v2): 产品全量快照按需保存+一键还原 (PR #2431)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:51:26 +08:00
API Changelog Bot
d84973ed4a docs(product-v2): 改价权限入口拦截 (PR #2427)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 15:34:02 +08:00
API Changelog Bot
cf06dc6afc docs(product-v2): 操作日志 P1 逐日聚合 diff + 跨产品检索 (PR #2423)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 14:16:12 +08:00
API Changelog Bot
d827a14dbe docs: fix mp product detail supplies cover_url (#2420, PR #2421) 2026-05-16 13:42:39 +08:00
API Changelog Bot
138f99221f docs: fix product_fee_item.name 128->512 (#2411, PR #2412) 2026-05-16 13:19:15 +08:00
API Changelog Bot
d7be5c267e docs(product-v2): 操作日志中文化 + 字段级 diff (PR #2355)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 20:01:21 +08:00
API Changelog Bot
330fc6e1a2 refactor(admin): 47 个 admin VO 续补 update 字段 (#2353/#2351)
PR #2348 漏扫严重 - 只看 controller/admin/ 子目录漏了 resource 服务大量按模块组织
的 Controller (scenic/hotel/restaurant/vehicle/staff/service/supplies/activity/cost)。
mmg 反馈 /admin/scenic/spots 缺 updatedAt 是表面,实际有 47 个 VO 受影响。
测试服 18/18 抽样验证通过。
2026-05-15 18:41:00 +08:00
API Changelog Bot
94b50ffd74 refactor(admin): 14 个查询 VO 补 updateTime/updatedAt (#2348/#2346)
测试服部署 + 5/5 抽样接口全验过,通知 mmg 前端可加「最后修改时间」列
2026-05-15 17:38:56 +08:00
API Changelog Bot
5cd14d03a6 feat: material batch move category API (PR #2347, issue #2345) 2026-05-15 17:35:39 +08:00
API Changelog Bot
492addcc68 docs(changelog): 资源 picker 去掉按产品线季节过滤,VO.seasons 改为交集 (Closes #2334, PR #2335)
测试服真测通过:
- Scenic 不传/传 productLineId total 都=66(未过滤)
- Activity 同款 total=56
- VO.seasons 为产品线季节 ∩ 资源季节
- Feign 失败回落资源全集 / seasonHighlights / coverUrl 切换保留
- supersedes 14_*scenic-season-filter*.md 与 14_*activity-season-filter*.md
2026-05-15 15:07:05 +08:00
API Changelog Bot
522b22b55f revert(changelog): 撤回 15_*remove_season_filter*,Claude 误解需求
用户真实需求是:前端传 productLineId,后端反查产品线 seasons 自动过滤
不是去掉筛选,而是把筛选从前端透传 seasons 改成后端按 productLineId 自动做。
新方案后端 PR 进行中。
2026-05-15 14:45:08 +08:00
API Changelog Bot
a096b34762 docs(changelog): 推翻 05-14 季节筛选,弹窗显示全量资源 + 标签只显示交集
05-15 用户反转 05-14 #2229/#2234 的"按产品线季节过滤"需求:
- 弹窗 4 个 tab(景区/游玩/餐厅/服务)展示全部资源,不再按 seasons 过滤
- 季节标签只渲染"产品季节 ∩ 资源季节"交集
- 后端 0 改动(seasons 参数本就可选),前端不再透传即可
- 推翻 14_*scenic-season-filter*.md 与 14_*activity-season-filter*.md
2026-05-15 14:41:34 +08:00
API Changelog Bot
60ebafda75 feat: refreshToken 滑动续期 changelog (HL PR #2312) 2026-05-15 10:27:34 +08:00
API Changelog Bot
f957215002 frontend: 景区/游玩项目 list 加季节标签列 (后端 seasons[] 字段早就返了)
mmg: 后端 PR #2229/#2234 已部署, /admin/scenic/spots + /admin/activity/items
records 已含 seasons 字段。但前端 list 表格没显示季节列。

精确改法已给:
- 景区列表 D:/work2/hl-ui/src/views/resource/scenic/index.vue line 417-456 columns 加 '季节' 列
- 游玩项目列表 D:/work2/hl-ui/src/views/resource/playservice/index.vue line 495 同款
- 渲染逻辑可读字典 product_season (含 4 季 dictValue+dictLabel+icon+color)

notify @mmg
2026-05-15 09:35:07 +08:00
API Changelog Bot
65f019ddb5 frontend[紧急]: SeasonDrawer 删月份选择器 (后端 PR #2295 已上线 + 字典 product_season 有全局定义)
mmg: 之前合并 changelog 把这事埋在了 14_feat_season_month_auto_and_description_dynamic_cover.md
B 部分, 没单独发, 你没注意到。本文件单独拎出来, 给精确文件:行号 + 改前/改后代码。

注: 字典 product_season 的 remark 字段已全局定义 spring=3-5月 / summer=6-8月 /
autumn=9-11月 / winter=12-2月, 后端硬编码与字典一致, 前端展示可读字典 remark。

notify @mmg
2026-05-15 09:33:50 +08:00
API Changelog Bot
823d5e2629 feat: 季节月份自动赋值 + 节点 description 详情季节动态覆盖 (PR #2295/#2296/#2301)
A. 季节月份自动 (PR #2295, Closes #2291): SaveRequest 删 monthStart/monthEnd,
   后端按 seasonType 自动赋 (spring 3-5 / summer 6-8 / autumn 9-11 / winter 12-2)

B. 节点 description 季节动态覆盖 (PR #2296+#2301, Closes #2293+#2298):
   admin/mp/internal 三路径详情装配时, seasonHighlights 非空 → 覆盖 description
   节点表 DB 字段保留不动 (用户手填永久存)

前端 mmg 删 SeasonDrawer 月份选择器即可。节点 description 字段名不变, 零前端改动。

notify @mmg

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 19:07:51 +08:00
API Changelog Bot
b06a5fc058 docs(auth): 补 switchRole 前端提醒 + 反向 cleanup 场景表 + #2294 2026-05-14 18:18:23 +08:00
API Changelog Bot
1fdc8530e8 patch(#2266): supplies-combo 列表/详情 items[] 也补 coverUrl (PR #2290 / Closes #2289) 2026-05-14 18:09:19 +08:00
API Changelog Bot
21190c640f frontend: 游玩项目编辑页加 SeasonDrawer 通知 mmg (后端 PR #2262 已上线但前端缺入口)
景区有 views/resource/scenic/SeasonDrawer.vue (322 行) 让运营配 4 季内容, 游玩项目
目录 views/resource/playservice/ 缺对应 SeasonDrawer → activity_season 表全空 →
admin/activity/items 接口 seasons 字段恒返 [] → 弹窗无季节标签 + 节点 cover
无法按季节切换。

文档给出 4 步精确操作:
1. src/api/playservice.js 加 3 方法 (照搬 scenic 同款)
2. 复制 scenic/SeasonDrawer.vue → playservice/SeasonDrawer.vue
3. 全局替换 scenicId → activityId + import @/api/scenic → @/api/playservice
4. playservice/index.vue 加入口按钮

VO 字段清单 + 完成后效果链路 + 关联打包做的另一件事 (ResourcePickerModal 补传 productLineId) 全部写清。

notify @mmg

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 18:01:51 +08:00
API Changelog Bot
afd7e0dfa8 feat(auth): admin refresh token 双令牌轮转机制 (PR #2285 + #2287)
测试服 9 步 curl 真测 PASS,通知前端 mmg 接 axios 401 拦截器自动续期。

Closes 通知 #2283
2026-05-14 17:58:39 +08:00
API Changelog Bot
e79c5dee2b feat: admin 列表加 productLineId 参数自动 resolve seasons (PR #2281 / Issue #2278)
紧接 #2229/#2232/#2269 admin 列表季节系列。前端从产品上下文只有 productLineId,
让后端 Feign resolve productLine.seasons[0] 自动注入 query.seasons, 走现有 #2229
切换链路。前端只需多传 productLineId, 不必再算 seasons[0]。

5 场景兼容: 只传 seasons/只传 productLineId/两个都传(seasons 优先)/都不传(向前兼容)/
Feign 异常 fail-open 降级走本体不 500。

测试服三态对比 PASS:
- 无参 → oss 本体
- productLineId=autumn 产品线 → unsplash 秋色 + 秋色画廊
- productLineId=summer 产品线 → unsplash 夏景 + 自驾天堂

notify @mmg (前端只需多传 productLineId)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 17:14:39 +08:00
API Changelog Bot
f2bcc3a5e4 feat: MP+admin 产品详情返回备品清单含 coverUrl (#2266) 2026-05-14 16:31:16 +08:00
API Changelog Bot
36a4f810b0 feat: 季节系列 4 份 changelog (PR #2262/#2263+#2271/#2269 + 前端补传 seasons 通知 @mmg)
- 14_feat_admin_activity_season_admin_crud.md (PR #2262, Issue #2257):
  补 ActivitySeasonController admin CRUD, 修 PR #2232 漏做配置入口

- 14_feat_admin_list_season_highlights_field.md (PR #2269, Issue #2267):
  ScenicSpotListVO/ActivityListVO 加 seasonHighlights 字段

- 14_feat_mp_node_media_season_pipeline_through.md (PR #2263+#2271, Issue #2256+#2268):
  节点封面/轮播图/视频按 productLine.seasons[0] 季节回落, MP Assembler 接通

- 14_frontend_admin_list_should_pass_seasons_param.md:
  前端补传 seasons 参数给 /admin/scenic/spots 和 /admin/activity/items
  后端能力早做了 (PR #2229/#2234), 前端没传所以一直没生效

notify @mmg

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 16:30:23 +08:00
API Changelog Bot
9947af26d0 chore(amap): mmg 决定前端自改 citylimit, 后端代理接口转备用 2026-05-14 16:01:31 +08:00
API Changelog Bot
a66279a766 feat(amap): 后端代理高德 POI 搜索 4 PR 全合 + 测试服真测 PASS, 通知 mmg 切前端 (Issue #2249) 2026-05-14 15:47:21 +08:00
API Changelog Bot
50841c218f feat: 节点 description 按产品线 seasons[0] 回填季节亮点 changelog (PR #2250 / Issue #2243)
紧接 #2229/#2232/#2096, 节点 description 为空时回填来源由"本体 highlights"
升级为"scenic_season/activity_season.highlights(按 productLine.seasons[0]) → 回落本体"。

独立快照保留: 非空 description 不会被覆盖, 用户手填永远保留。

notify @mmg

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 15:11:24 +08:00
API Changelog Bot
698a3f03ed feat: 游玩项目季节过滤 + 节点季节标签 changelog (PR #2234 / Issue #2232) 2026-05-14 11:34:12 +08:00
API Changelog Bot
546d22454a chore(changelog): mappicker citylimit BUG 二次反馈,优先级升 urgent
用户 2026-05-14 再次复现:某表单「结束 *」字段输入「1」候选项全锁呼伦贝尔市。
说明 MapPicker.vue citylimit:true 至今未改,且组件被复用范围超过资源管理 EditModal。
追加新场景描述与验证项,priority high → urgent,frontmatter 加 reopened_at。
2026-05-14 11:27:20 +08:00
API Changelog Bot
60544ca71c feat: 景区季节过滤 + 节点季节标签 changelog (PR #2229 / Issue #2227) 2026-05-14 11:02:59 +08:00
API Changelog Bot
e4605c3755 frontend-feature: 行程保障模板编辑保障项加拖拽排序 (notify @mmg)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 10:43:06 +08:00
API Changelog Bot
8ef595e115 docs(changelog): 产品版本列表创建人显示企业微信中文名 (PR #2218, Issue #2217)
ProductQueryService.enrichCreatedByName 与主题列表 ProductLineService 对齐:
优先 wechatName, fallback username。前端契约不变, 无需改前端代码。

测试服 54 条记录全量回扫:
- 10 个 unique createdBy: 8 个解析为企微中文名 (lixiaosong→小松/wangxiao→王骁/jiangyulian→蒋雨莲/mimingguang→米明光/xulai→徐莱), 2 个 fallback username (admin/test_admin 未绑企微)
- 0 条 createdByName=null

@mmg

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:44:54 +08:00
API Changelog Bot
8a2fdb250c docs(changelog): 12301 合同补充约定字数上限 2000 → 5000 (PR #2187, Issue #2186)
通知前端 @mmg: hl-ui 三处 maxlength=2000 → 5000:
- 补充约定模板编辑弹窗
- 合同方案补充条款输入框
- 创建/报备合同补充约定内容输入框

测试服 3/3 case 已验证 (4500/5001/2001 字符 boundary).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 14:05:00 +08:00
API Changelog Bot
d7d93b0030 add: C端价格日历支持月份缺省回退最近可售月 (PR #2172, Closes #2167)
接口入参 month/startDate/endDate 全改为可选, 响应新增 month 字段
测试服 10/10 case 端到端通过 (含 CUSTOM + GROUP 缺省入参真测)
2026-05-13 11:02:04 +08:00
API Changelog Bot
998d90d425 frontend-bug: 主题列表点搜索第一回不生效(路由守卫取消了自家请求) 2026-05-13 09:53:44 +08:00
API Changelog Bot
81104fc6d9 frontend-bug(product-v2): 卖点快速理解加入游玩项目时未回显项目亮点 (notify @mmg) 2026-05-13 09:52:07 +08:00
API Changelog Bot
bbb120f374 fix(product-v2): 行程清空字段修复 (PR #2122 / Closes #2119) 2026-05-12 17:38:48 +08:00
wx
303ce022e2 add: 资源下架放开被产品引用校验 + in-use 预览接口 (Issue #2115) 2026-05-12 17:38:23 +08:00
API Changelog Bot
17e30c25b5 docs(changelog): 12_fix_product_v2_schedule_child_zero_deposit_bypass
PR #2117 / Issue #2116 — 班期创建 child=0 跳过订金校验, 与价格日历对齐.
3 case 测试服真测过, 前端无需改动.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 17:00:17 +08:00
API Changelog Bot
5442777489 docs(changelog): 12_fix_product_v2_toddler_discount_db_clear_on_update
PR #2111 / Issue #2110 — 修补 #2107 漏 UPDATE 路径; MP NOT_NULL 默认跳过 null
导致 child=0 时 toddler_discount DB 列残留. @TableField(updateStrategy=IGNORED)
强制 UPDATE 写入, 测试服 4 场景 DB 真测通过. 前端无需改动.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 16:45:23 +08:00
API Changelog Bot
424ae19438 fix(product-v2): 小童优惠校验+兜底归一化, 测试服 4 case 端到端通过 (PR #2102+#2107)
- 撤回 12_frontend_bug 误诊断 changelog (业务规则澄清后是后端 fix 不是前端 bug)
- 新发 12_fix backend changelog: 410113 toddler<0 + step 0 兜底 child=0→toddler=null
- 端到端 curl 4 case + DB 落库证据完整
- 前端联动 placeholder/disabled/max/watch 写明给 @mmg
2026-05-12 16:20:33 +08:00
API Changelog Bot
cb28ae8883 12_feat restaurant icon_svg align with 3 resource types (PR HL#2106) 2026-05-12 16:16:36 +08:00
API Changelog Bot
5449ace86e frontend-bug(price-interval): 儿童=0 时小童优惠看起来 disabled 且回显 0 — CSS+语义+单日覆盖三个根因 2026-05-12 15:51:10 +08:00