Commit Graph
13 Commits
Author SHA1 Message Date
chenxing b08d076f0b feat(flow): 回调链路迁平台 flow-callback starter + 表单级流程绑定
build / build-push (push) Failing after 8s
- 回调迁 starter(2026-09-20):删本地实现 FlowCallbackService/Controller/
  FilterConfiguration 及旧测试,X-Flw 验签/幂等/乱序门由 starter 承担,
  业务映射入 SvcFlowCallbackHandler(biz-type svc_item);端点仍 /callback/flow,
  存量注册 callback_url 不变、secret 零轮换,镜像表 flow_callback_reg
  由 sql/20260920_flow_callback_starter_migration.sql 迁移
- 表单级流程绑定:ServiceForm 增 flowGuid,事项未绑流程时回退取绑定表单
  最新版本(effectiveFlowGuid),绑定校验/在线办理口径同步
- FlowReconcileJob/FlowCenterClient/OpenApiAuthEnforceConfiguration 等
  SDK 适配微调;补 .gitignore(target/、日志)
- 全量 mvn test 本地绿(含新增 SvcFlowCallbackHandlerTest/
  ServiceItemEffectiveFlowTest)
2026-09-21 09:37:33 +08:00
chenxing 27e19923fb fix(file): 封面 URL /upload/ 段逐轮叠加致门户裂图——出入口折叠自愈
build / build-push (push) Successful in 51s
- 生产 public-base-url 以 /upload/ 结尾而库内相对值以 /upload/ 开头,
  buildUrl 盲拼每轮"绝对化→存库"多叠一层(部署态实测叠到 4 层 404)。
- FileUtil.squashDuplicateUploadSeg:/upload/upload/ 永远非法(upload 非
  法类型名),buildUrl/absolutize 出口与 toRelativeIfLocal 存库侧统一折叠——
  发版即恢复显示无需清库,库内损伤值下次保存永久收敛。
- adminGet 封面回显绝对化:修管理端编辑页相对路径 404 被误当"没保存上"。
- 新增 FileUtilTest 8 用例锁行为(不叠加/损伤自愈/透传/往返幂等)。
2026-09-21 08:52:02 +08:00
chenxing 8504ca970c feat(apply): 办件详情出参补发 formSchemaJson——申请内容按表单 schema 显示中文 label 与分组
build / build-push (push) Successful in 48s
- ApplyVo 新增响应期字段 formSchemaJson(仅 detail 填,不入库)
- ServiceFormService.schemaAt:按办件提交时 formVersion 精确命中,缺失回落最新已发布
- 无表单/事项清理/未发布 → null,前端回落按 key 展示
- 单测 ServiceApplyDetailSchemaTest 三态冻结(详情中文化分组 2026-09-17,详见验收清单)
2026-09-17 14:50:46 +08:00
chenxing f0279ae12d feat(apply): 用户面撤回/进度/流程图后端中转 + 大厅HallController + flowEnabled 三态(SDK withdraw/progress/diagramUrl)
build / build-push (push) Successful in 1m11s
2026-09-17 01:05:35 +08:00
chenxing e462b71bef refactor(sdk): 出站全端点收敛到服务目录命名目标 + 零专属地址配置
build / build-push (push) Successful in 3m20s
- FlowCenterClient:apply/getInstanceByBiz/registerCallback 由 ad-hoc TargetSpec
  改走 YschFlowOpenApi 门面(ApplyBody/CallbackRegBody/ApplyResultVo/CallbackRegVo
  继承 SDK DTO);instance 走 raw() 预绑视图保留 Map 全字段透传。
- CmsSiteDirectoryImpl:DIRECTORY_KEY 包可见;目录未配且 svcchall.cms.base-url
  缺失时构造期 fail-fast(原 @Value 无默认值会直接炸启动,无明确提示)。
- FlowCenterClient:svchall.flow.base-url 默认值去掉 + 同款 fail-fast(enabled=false 不校验)。
- application.yml:新增 yh.open.services.{flowcenter,cms},删 svchall.cms.base-url /
  svchall.flow.base-url —— 地址唯一来源=服务目录。
- 测试:新增 FlowCenterClientFacadeTest(6 例,冻结门面/归一目标/回落/fail-fast);
  CmsSiteDirectoryImplTest 加目录命名目标 + fail-fast 用例。112 测试全绿。
2026-09-16 21:04:28 +08:00
chenxing 9a47351725 fix: CmsSiteDirectoryImplTest 同步 SDK 新包路径(openapi.core.*,接 da1b76e)
build / build-push (push) Successful in 2m50s
2026-09-16 16:39:57 +08:00
chenxing da1b76e45a fix: 对齐 BasePlatform 新版 SDK 包路径(CI 宿主 m2 快照已晋升)
build / build-push (push) Failing after 1m10s
BasePlatform 2b14e09 服务目录版把 openapi 类挪入子包,CI 复用的宿主 m2 缓存快照已更新为新布局,
旧包路径(openapi.TargetSpec/openapi.client.*/openapi.dto.FlowDto)在 CI 编译失败(run 971)。
本批纯包路径替换,无逻辑改动:
- openapi.TargetSpec/YschOpenCall → openapi.core.*(FlowCenterClient/CmsSiteDirectoryImpl)
- openapi.client.YschBaseOpenApi → openapi.base.*(YschBaseDeptSource/BaseApiController)
- openapi.client.YschFlowOpenApi → openapi.flow.*(FlowCenterClient)
- openapi.dto.FlowDto.FlowSummary → openapi.flow.model.FlowSummary(SvcModels.FlowSummaryVo)
2026-09-16 16:37:29 +08:00
chenxing 76b35b2fb3 feat: 表单使用场景可见闭环——form/list 返回绑定事项明细 refItems
build / build-push (push) Failing after 26s
- SvcFormVo 增 refItems(ItemBrief: id/itemCode/title/siteCode/status),referenced 同源派生;仅 list 填充,versions/get 不带
- ServiceItemRepository.findBySchIdAndFormCodeIsNotNull 一次查全量按 formCode 内存分组,替代逐表单 count 的 N+1
- ServiceFormServiceTest 5 用例(未绑定/单绑/跨站点/多版本聚合/分组不串)
- 前端配套(svc-hall-front 另推):绑定明细弹窗+直达事项编辑、发布未绑定引导、schema 预览、事项编辑页草稿表单提示
2026-09-16 16:33:55 +08:00
chenxing dedb4aa436 fix: 回调注册补 basePath(从回调 URL 推导接收方 context-path)
build / build-push (push) Successful in 46s
部署带 ctx(/svc-hall)时 flow-center 按整路径签名与 FlowCallbackVerifyFilter
剥 ctx 后对不上 → 注册探活 401 → service_flow_reg 缺失 → 办件状态事件全丢。
本地裸地址(无 ctx)推导为空串,行为不变。新增 FlowCenterClientCallbackBasePathTest。
2026-09-16 02:08:55 +08:00
chenxing 850a70d4f7 ci: 恢复 CI 工作流与 Dockerfile(同步脚本误删)
build / build-push (push) Successful in 48s
2026-09-16 01:29:02 +08:00
chenxing 8aeb40f119 feat: SDK 类型化门面接入(flow/cms 走服务目录)+ 教师组科室语义对齐 + F1-F3 存量
- FlowCenterClient/CmsSiteDirectoryImpl:服务目录命名目标(flowcenter/cms)优先,
  legacy svchall.flow/cms.base-url 回落(迁移期兼容)
- SvcModels.FlowSummaryVo extends SDK FlowDto(单一事实源)
- 含 2026-09-13/14 存量:bizUrl hash-query(F1)/IDHttp ctx 签名/apply 漏 schId/回填事务
2026-09-16 01:22:15 +08:00
chenxing 000d0591fa fix: CMS 站点不可达日志补最内层根因,不再被 SDK 的 ioError 文案吞掉
build / build-push (push) Successful in 2m20s
现象:CmsSiteDirectoryImpl 两处 catch 只打 e.getMessage(),而平台 SDK 统一把
传输层失败包成 "OpenAPI request failed: ioError",底层 ConnectException /
SocketTimeoutException / SSLException 全部丢失,日志分不清"对端没起"还是"读超时"。

改动:
- 新增 rootCauseBrief():沿 cause 链取最内层原因追加为"(根因 X: msg)";
  无 cause 时不追加,避免与 e.getMessage() 重复。
- resolveSite / listSites 两处 catch 日志接入该方法。

契约不变:路径 /oapi/site/list、per-target basePath /cms、fail-closed 语义均未动。
测试:CmsSiteDirectoryImplTest 新增 1 例断言摘要形态;mvn test 82/82 绿。
2026-09-15 20:52:59 +08:00
chenxing d47951abd7 feat: 办事大厅后端源码首次入库(事项/字典/表单/申报 + 流程回调)
build / build-push (push) Failing after 39s
2026-09-15 11:00:00 +08:00