862 次代码提交

作者 SHA1 备注 提交日期
API Changelog Bot
4061b956ea notify(2026-05-21): 素材审核拆除正式环境部署完成
- 正式 K3s hl-prod ns: hl-resource-service + hl-user-service 已部署 (commit 66c462c8)
- 正式 RDS round-trip 验证全过: material.review_status 列已 DROP, material_review_status 字典已删, 数据 5153 行完好
- 顺手记录踩坑: Flyway out-of-order 因 deploy-prod.sh 未 mvn clean 留孤儿 V99999999, 已根治 marker + rm 孤儿文件
2026-05-21 14:53:31 +08:00
API Changelog Bot
1dc7db6480 notify(2026-05-21): 素材审核拆除 + 团队成员角色字典化
- 21_refactor_material_remove_review_feature.md (Closes HL#2789, PR HL#2795)
  通知 mmg 删 reviewMaterials/rejectMaterials API 与批量审核/驳回 UI
  测试服已验证: GET material/list 无 reviewStatus 字段 + material_review_status 字典空

- 21_refactor_team_role_picker_use_staff_type_dict.md (Closes HL#2790, hl-api-changelog#7)
  通知 mmg StaffPickerModal.vue roleOptions 改 useDict('staff_type') 动态加载
  后端零改动 (staff_type 字典 7 项已就绪, 不含 DEPUTY_LEADER/DRIVER)
2026-05-21 14:04:34 +08:00
API Changelog Bot
751ed717d3 fix: 把 3 个 order-v3 changelog 从 changelogs/ 挪到 changelogs-v2/
错放原因:#2565 / #2569 / #2571 都是 order-v3 二期 PR,通知员漏判,写到了一期 changelogs/,
导致一期前端 mmg 在 sync-log 里看到了三条 v3 条目并反馈"全部跳过"。

按用户 2026-05-21 重申:order-v3 的任何内容严禁出现在 changelogs/,只能写 changelogs-v2/。

涉及文件:
- 18_2355_admin-order-v3-create-sharer-customizer.md (PR #2565)
- 19_feat_admin_order_list_consultant_name_filter.md (PR #2569)
- 19_fix_admin_order_detail_travelers_no_longer_empty.md (PR #2571)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 11:28:07 +08:00
API Changelog Bot
376e28930f changelog: refactor product-v2 餐饮选项 meal_option 字典化 (#2778) 2026-05-21 10:49:56 +08:00
API Changelog Bot
9b1f59c96c docs(changelog): #2677 素材列表分类查询严格只查自身(接口字段不变,语义变更)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 15:06:34 +08:00
API Changelog Bot
b2618f97e8 docs(changelog): 19_fix_hl_ui feetype 方案调整 '手动' → '其他'
用户决策更新:不要 null + v-if 那套,改为最小一行字面量替换:
feeType: '手动' → feeType: '其他'。"其他" 是合法分类,admin chip 和
C 端主标题都正常显示。脏数据清理 SQL 同步改为 UPDATE = '其他'。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:14:54 +08:00
API Changelog Bot
c03a32b4ac fix(hl-ui): 费用包含手动添加把"手动"塞进 feeType 导致 C 端显示成独立分类
CostDescPanel.vue:159 confirmIncludedAdd 硬编码 feeType:'手动',落库后 C 端
detail.js:428 把它当主标题渲染,在小程序产品详情显示成跟「景区/游玩项目」并列的
独立分类。改 feeType:null + 第 231 行 chip 加 v-if 即可。脏数据 1 条,产品
2056554654480248833 升级满洲里套娃酒店,建议运营 admin 自助删了重加。
纯前端 BUG,无后端接口/SQL/Nacos 改动,接收方 mmg。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:10:09 +08:00
yaosutu
9dfe5b270d feat(order-v3): 订单列表新增定制师姓名模糊筛选参数 consultantName(PR #2569) 2026-05-19 02:49:53 +08:00
yaosutu
67a38f91bf fix(admin-order-detail): PR #2571 补通 overview.travelers 真实出行人数据
订单详情接口 GET /v3/admin/order/{id} 的 overview.travelers 字段
原来恒为空数组占位,现已接通真实出行人列表(按 traveler_id 升序)。
字段口径与 /traveler/list 完全一致,admin 端明文返回敏感字段。
2026-05-19 02:47:37 +08:00
yaosutu
ffecdc6fd6 feat(前端changelog): PR#2565 管理端代下单 v3 接口新增分享追踪字段 + consultantSource 枚举新增 SHARED
- POST /admin/v3/orders 新增非必填字段 sharerOpenid / customizerId
- consultantSource 枚举新增 SHARED(C端分享锁定定制师)
- 新增错误码 581035 DEPOSIT_AMOUNT_EXCEEDS_TOTAL
- mchId 错误码从 MCH_RESOLVE_FAILED 变更为 AGENCY_NO_DEFAULT_MCHID
2026-05-18 23:56:12 +08:00
API Changelog Bot
40e0a3cc60 fix(product-v2): 快照列表创建人回填 + 还原弹窗文案中文化 (PR #2529) 2026-05-18 15:20:26 +08:00
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