hl-api-changelog/changelogs-v2/2026-05/22_2852-2857_review-r4-backlog_PR2858-2862.md
API Changelog Bot 89cc504e59 add r4 backlog changelog: HTML 清零 + BFF + 红线5 二期 + MoneyUtil + Service+Impl 合并
5 PR squash 合并到 dev-v3:
- #2858 (#2855) 红线 5 二期
- #2859 (#2856) MoneyUtil 抽取
- #2860 (#2857) Service+Impl 合并 8 个
- #2861 (#2854) BFF Facade 抽离 444→107
- #2862 (#2852) HTML 标签 1589 文件清零 8709→57

0 URL / 0 VO 字段 / 0 响应结构变更,前端无感知。
2026-05-21 23:38:58 +08:00

6.1 KiB

Backlog 五连发:HTML 标签清零 + BFF Facade + 红线 5 二期 + MoneyUtil + Service+Impl 合并

服务: 全模块(hl-common-core / hl-user-service / hl-order-service-v2 / hl-order-service-v3 / hl-product-service-v2 / hl-fleet-service / hl-mp-service) PR: #2858 / #2859 / #2860 / #2861 / #2862 Issue: #2852 / #2854 / #2855 / #2856 / #2857 日期: 2026-05-22 影响: 0 个 URL 变更 / 0 个 VO 字段变更 / 0 个响应结构变更 — 全部纯重构,前端无任何感知/无需改代码


⚠️ 关键变化(前端可感知)

。本次 5 PR 是 Round 3 留尾 backlog 集中清理,目标是代码质量 + 工程纪律,前端零影响:

  • URL 全保留(#2861 BFF Facade 拆分时 100% URL 一致)
  • VO 字段全保留(#2858 红线 5 二期只动 Service 内部 Mapper 调用)
  • 响应结构全保留
  • 字典/字段命名零变更

一、5 PR 改动概览

PR #2858 红线 5 二期(refactor(redline5))

Closes #2855 — AdminUserService 跨聚合 Mapper 全迁移到 Service。

  • 3 个跨聚合 Mapper 下沉:SysRoleMapper → SysRoleService / WechatUserMapper → WechatUserService(新建) / WechatDepartmentMapper → WechatDepartmentService(新建)
  • 新增 Service 方法 5 个 + Mapper default 1 个
  • AdminUserService Mapper 注入数 3 → 1(只剩自家 AdminUserRoleMapper)
  • 净 +149-103 + 4 个新文件 +344 行(2 新 Service + 2 新 Service 单测)
  • 测试:2448 用例全绿

PR #2859 MoneyUtil 抽取(refactor(money-util))

Closes #2856 — hl-common-core 新增 MoneyUtil + 全模块迁移。

  • MoneyUtil 4 方法:formatYuan / toFen / toYuan / parseYuan(105 行 + 单测 135 行 15 例)
  • 迁移 10 处(7 formatYuan + 3 toFen):TencentEsign × 2、Tourage × 2、ContractCreateService、NotificationEventHelper、InternalProductService(formatPriceLabel)、PaymentService.yuanToFen、RefundReconcileJob.yuanToFen、RefundChannelService.yuanToFen
  • 保留 17 处(语义不匹配:经纬度 setScale / 百分比 .divide(100) / ROUND_DOWN 舍入 / setScale 截 BigDecimal 等)
  • 净 +48-38 + 2 新文件 +240 行
  • 测试:order-v2 + product-v2 + order-v3 共 3193 + 1886 用例全绿

PR #2860 Service+Impl 合并(refactor(yagni))

Closes #2857 — 8 个单实现 Service+Impl 合并(YAGNI 反过度设计)。

  • 标准 interface + Impl 合并 3 个:TravelAgencyPaymentService / TravelAgencyQualificationService / HouseHotelSwapService
  • 删除"命名兼容层"5 个:RefundAppealServiceImpl / RefundApplyServiceImpl / RefundOrchestrationServiceImpl / RefundReviewServiceImpl / RefundStatusLogServiceImpl(均为 extends RefundXxxService 的空子类,只为测试 new 用)
  • 严格按 4 条件筛选(MockBean / Feign / Fallback 全排除)
  • 净 -244 行(+1054 -1298)
  • 测试:6 关键测试类 102 用例全绿

PR #2861 BFF Facade 抽离(refactor(refund-bff))

Closes #2854 — MpInternalRefundController 444 → 107 行(76% 压缩) + 3 Facade。

  • 新建 3 Facade(全部 @Service + @RequiredArgsConstructor):
    • RefundQueryFacade(265 行,4 查询:preview / reasons / detail / progress + VO 转换)
    • RefundApprovalFacade(125 行,2 客户决策:customerAction / directAppeal)
    • RefundExecutionFacade(118 行,1 执行:createApplication)
  • Controller 107 行(略超 100,7 端点参数声明无法再压)
  • 26 新单测(Query 13 + Approval 7 + Execution 6) + Controller 测试重写 14 例 = 40 全绿
  • URL 100% 一致(8 Mapping:1 类级 + 7 端点)BFF 前端无感知
  • 净 +119-680 改 + 1255 新文件(3 Facade 508 + 3 Test 747)≈ 净 +694 行(主要单测翻倍)

PR #2862 HTML 标签清零(refactor(html-cleanup))

Closes #2852 — P0 铁规 15h(代码注释禁用 HTML 标签)5+ 月历史债清零。

  • 全工程 Java 注释 HTML 标签 → markdown:<p> → 空行 / <b>** / <li>- / <br> → 换行 等
  • 命中前 8709 处 → 命中后 57 处(全部字符串字面量,如 AuthController/FileService 返回 HTML 模板,必须保留)
  • 0 处在注释里(grep -v 字符串验证)
  • 改动 1589 文件,+8764 -8764 完全对称(纯字符替换,业务代码 0 改动,字节码不变)
  • mvn compile 24 模块全绿(javadoc 严格检查通过)
  • mvn test 7629 测试,17 失败全部 baseline 与本工单无关(ArchUnit / OrderDetailIntegrationTest H2 schema)

二、累计成果(Round 1 + 2 + 3 + Backlog R4)

维度 R1 R2 R3 R4 Backlog 累计
工单 #2841-#2844 #2849 #2851 #2852/#2854/#2855/#2856/#2857 11 张
PR #2845-#2848 #2850 #2853 #2858-#2862 11 张
净行数 -1359 +311 -130 +0(HTML 0)/+839(其他 4) ~净 -340 行
HOUSE 评分 C+ → A- A- A A(无 HOUSE 改动) C+ → A
整体评分 A- A A+ A+(纪律完结) A+

三、测试服验证

服务 部署 commit uptime 验证
hl-user-service dev-v3 含 5 PR 待部署 待验
hl-product-service-v2 dev-v3 含 5 PR 待部署 待验
hl-order-service-v2 dev-v3 含 5 PR 待部署 待验
hl-order-service-v3 dev-v3 含 5 PR 待部署(SSH restart) 待验
hl-fleet-service dev-v3 含 5 PR 待部署 待验
hl-mp-service dev-v3 含 5 PR 待部署 待验

Round 3 QA 全流程报告:9 链路全 PASS / 0 BLOCKER / 0 WARN(dev-v3 b352b3036 测试,本批 5 PR 是纯重构,QA 结果同等可信)


四、留尾 backlog(独立后续工单,本轮明确不做)

  • AdminUserService 红线 5 三期(剩余跨聚合 Mapper,如有)
  • MpTripDetailVO Object → List 真实数据回归 → /@qa 工单
  • HOUSE FLEET vehicle_plan Feign 接通后补 DRIVER 通知三件套
  • MaterialCategory ↔ Permission 双 @Lazy 抽 PermissionGate
  • EquipmentTemplateService ↔ ProductLineService 双 @Lazy 抽 ProductEquipmentBindingService
  • 720000/798000 段位上移 CommonErrorCode
  • Long ID @JsonSerialize Mixin 全局

五、关联

  • 工单: #2852 / #2854 / #2855 / #2856 / #2857(全部 closed)
  • PR: #2858 / #2859 / #2860 / #2861 / #2862(全部 squash merged)
  • Round 4(backlog 集中清理)来源: 用户 5 月 22 日"继续任务"清单