2.3 KiB
2.3 KiB
feat(wx-security): Phase 2E AES 加密回调 + 全 cleanup (final)
PR: #1669 Issue: #1665 合并: 2026-05-05
wx 内容安全方案最后一个 Phase。AES 加密回调实现 + Phase 2A/2B 全部 P2 cleanup。
AES 加密回调
新建 WxBizMsgCryptUtil(user-service.wx.util,与企微 WxCryptUtil 解耦)。WxContentSecurityService.handleWebhook AES 分支:验签 → 解密 XML → 解析 trace_id+suggest+label → 走和明文相同的 update + MQ。解密失败抛 BusinessException → GlobalExceptionHandler 转 200+JSON。
公众平台后台支持「明文模式」(Phase 1 默认) / 「兼容模式」 / 「安全模式」三种切换;nacos 配 wechat.miniapp.webhook.encoding-aes-key 真值后即可切 AES 模式。
Phase 2A 6 P2 cleanup
| # | 修复 |
|---|---|
| P2-1 | LIKE 性能 → TODO 注释 |
| P2-2 | WxSecurityFeignClient.batchTraceStatus 改 POST + DTO |
| P2-3 | UserFeedback extends BaseDO + V20260505_009 |
| P2-4 | Listener 三段事务设计 javadoc |
| P2-5 | WxAuditStatusResolver 50 batch 超限 log.warn |
Phase 2B 6 P2 cleanup
| # | 修复 |
|---|---|
| P2-1 | reviewId @JsonFormat(STRING) + ToStringSerializer |
| P2-2 | SCENE_COMMENT 引枚举 |
| P2-3 | anonymousUserId 单测 |
| P2-4 | OPENID_FETCH_FAILED 错误码(551006) |
| P2-6 | alreadyHidden CAS 防并发再机审 |
schema 跨 service 同步
- order_complaint schema.sql 同步
- refund_application / order_invoice order_service_v2_init.sql 同步
- user_feedback sql/common_tables.sql 真相源同步
测试
- mvn compile 全工程 BUILD SUCCESS
- 173/173 全绿(user 112 + order 61)
🎯 wx 内容安全方案全链路闭环
- Phase 1 #1659 基础设施
- Phase 2A #1661 UGC 接入 + 公开列表 + MQ
- Phase 2B #1667 评价举报子系统
- Phase 2C #1666 出行人三层兜底
- Phase 2D #1668 admin 后台 + Phase 2C cleanup
- Phase 2E #1669 AES 加密 + 全 cleanup
部署注意事项
- V20260505_009 在 hl_user_service schema
- nacos 配
wechat.miniapp.webhook.encoding-aes-key真值后才能切兼容/安全模式 - 微信公众平台后台仍可用明文模式(不强制升级)
不在范围(后续工单)
- Phase 2D-B 跨服务复审聚合
- Phase 2D-C user_risk 规则实际应用
- 站内信 SDK 集成