Commit Graph
8 Commits
Author SHA1 Message Date
chenxing 05d2143ce1 feat(p3.2): bizType 方案B——常量换终值 svc-hall + 双值双查 + P1-02 行级绑定校验 + P1-03 R4 时序修复
build / build-push (push) Successful in 48s
- SvcFlowCallbackHandler.BIZ_TYPE → SvcBizTypes.CURRENT(svc-hall,H-1 实核 appKey=100008
  注册行 app_code);yml 回调白名单双值 [svc-hall, svc_item](收敛条件=另一类型不再可能
  产生事件,本轮不收敛;回滚也保双值)
- 双值双查补丁(先终值后存量,S0-H2 实测中心 svc_item 存量=0,次查为防御性兼容):
  ApplyViewGuard 办理人分支 / FlowReconcileJob 对账(命中判据=内容非空,兼容 miss 空载体)/
  progress 空态出参 / S2 审批代理 byBiz·todo(S2 已落)
- P1-02 行级事件绑定校验:事件 schId 与行一致、行有镜像实例时事件 instanceId 必须一致;
  不匹配 200 消费但不推进+告警日志(不抛 5xx 防重推风暴);行无值(首发回调早于回填)放行,
  doFlowApply 回填侧对实例不一致告警留痕(方案B 书面接受第二实例降级)
- P1-03 R4 时序修复:markResubmitted 清旧 flowResultJson(保留 lastInstanceVersion 跨轮
  乱序防护);Handler 终态守卫改版本感知(事件版本>已消费版本=新轮竞态窗口放行,不再以
  旧结果非空一刀切拒绝);非终态推进清残留 finishTime;三场景测试静态化注入
  (新轮回调先于 apply 响应/新轮快速终态/旧轮迟到重复)
- 测试断言按新语义更新:新件出站断言 svc-hall×3;全量 163/163 绿(Stage S3/P3.2)
2026-10-19 23:49:02 +08:00
chenxing fb4bef9d34 feat(p3.0): bizUrl 发方收口——删 svchall.front.base-url、断言改裸相对路径 /apply-detail?id=
build / build-push (push) Successful in 48s
- application.yml 删 front.base-url(自指地址优化 Phase 2 收尾),主代码已无消费点
- ServiceApplyFlowSubmitTest 断言从 http://localhost:8087/#/apply-detail?id=42 改为 /apply-detail?id=42(16/16 绿)
- 顺手修正两处 jumpApp 错误注释(yml:109 与 doFlowApply):绝对化解析键实为
  flw_instance.apply_app_code(apply 时由验签身份 appKey 按注册表换得的 app_code 快照),
  与 bizType 是两个字段互不影响(P3.0 审计勘误)
- 配对收方 flow-center BizUrlResolver 已在 52c27d8 上 160
2026-10-19 23:23:48 +08:00
chenxing eb0a8ded2f refactor(oapi): 收敛 Notice 范式——回调收口+提供方强制验签迁 starter(审计 P1 / L2-7 L2-8)
build / build-push (push) Successful in 1m37s
回调(对齐《子应用流程与消息对接手册-20260929》Notice 线上形态):
- yh.flow-callback.path 迁 /oapi/flow/callback;删 callback-url(改 starter 三段推导:
  base-host+前缀三层回落+path,生产=http://open-gateway-service:10013/svc-hall/oapi/flow/callback)
- verify-flw-signature=false(平台应用签名承担,X-Flw 不启用);reconcile-on-register=true
  (路径漂移自动重注册,160 存量 /callback/flow 行靠它收敛)
- 删 svchall.public-base-url(唯一消费方即 callback-url 拼接)与 yh.open.base-path
  (对齐 Notice 形态;该键代码默认值即 /userbase,删键无行为变化)
- deriveCallbackBasePath 剥尾段口径同步 /oapi/flow/callback(契约测试断言更新)

提供方(flow-center 同款组合链):
- 删自写 OpenApiAuthEnforceConfiguration(starter 版 RequireAppSignFilter 承接,order+11 等价)
- yh.app-auth.server.enforce-patterns=[/oapi/*] + trust-registry=true;trusted-apps 保留
  100005(CMS) 并增 100019(flow-center 回调推送兜底);pom 显式引 data-redis(optional 不传递)
- management.health.redis.enabled=false(Redis 抖动不拉 DOWN 整机健康)

门禁:mvn test 127/127 绿
2026-10-05 22:26:22 +08:00
chenxing 4bbcd22d25 refactor(flow): 目录键归一 flowcenter→flow-center(D1)——出站枚举 FLOW_CENTER 跟随、本地 yh.open.services 键与注释同步;yml 另一 hunk(Phase 2 front.base-url 删除)为在途 WIP 未随本笔提交
build / build-push (push) Successful in 1m36s
2026-09-28 17:35:33 +08:00
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 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 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 d47951abd7 feat: 办事大厅后端源码首次入库(事项/字典/表单/申报 + 流程回调)
build / build-push (push) Failing after 39s
2026-09-15 11:00:00 +08:00