server: port: 8086 # 本地无 context-path(同 Notice dev);生产经 CONTEXT_PATH=/svc-hall 注入, # Caddy 只反代 /svc-hall/api/*,页面与上传走前端/静态直出 spring: application: name: svc-hall datasource: url: jdbc:mysql://localhost:3306/bsch_svchall?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver hikari: minimum-idle: 5 maximum-pool-size: 20 jpa: hibernate: # 开发期 update 自动建表;生产环境建议 none + 升级脚本(sql/ 目录) ddl-auto: update show-sql: false open-in-view: false database-platform: org.hibernate.dialect.MySQL5InnoDBDialect properties: hibernate: jdbc: time_zone: Asia/Shanghai jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: Asia/Shanghai servlet: # 对齐《Notice文件上传统一改造方案.md》D4:50MB / 200MB multipart: max-file-size: 50MB max-request-size: 200MB # ===== 基础平台 yh 配置(Cms/Notice 同款三件套)===== yh: auth: enabled: true sso: server-url-prefix: http://sso.yunhaixingtong.com # 本地 dev 指向前端 dev server(8087):CAS 验票回跳走 vite 代理(Cms 同款约定) client-host-url: http://localhost:8087 allow-headers: all allow-origins: all # 用户面(发起/我的办件)与管理面全在 /api/* 下;本应用无匿名面。 # 流程中心回调走 /callback/*(不在 pattern 内,由 FlowCallbackVerifyFilter 验签保护) url-pattern: /api/* app-auth: enabled: true # 本应用自身身份(客户端签名用)——UserBase 注册后分配(进白名单),占位值上线前必须替换, # 生产由 projman/Nacos 注入,禁止明文入库仓库(V2.0 R7) app-key: 100018 # 联调态密钥(与 flow-center trusted-apps["100018"] 逐字一致); # 注意旧占位"裸 32 个 0"会被 YAML 按八进制整数解析成 "0",签名时 SignUtil 校验直接失败,必须带字母+引号 app-secret: "svc-hall-dev-secret-100018" # 入站验签白名单:CMS(供数消费方,appKey=100005);流程中心 flow-center 分配 appKey 后在此追加 trusted-apps: 100005: 2c7885de594742cc840b8762910b2d2e open: # 身份密钥唯一来源 = yh.app-auth.app-key/app-secret(本文件 app-auth 段),open.* 副本已删 base-host: http://base.yunhaixingtong.com base-path: /userbase # 服务目录(子应用配置优化方案 §4.2):跨服务出站唯一地址来源,命名目标走 SDK 门面 / # YschOpenCall。cms 未晋升 PlatformService 枚举(按名直调);flowcenter 已入枚举,此处 # 显式覆盖为本地端口。完整 URL 拆 host+ctx,per-target base-path 与提供方 context-path # 对齐 → 签名天然一致。生产改容器直连:flowcenter=http://flow-center-service:10008/flow-center、 # cms=http://yschcms-service:10005/yschcms。 services: flowcenter: http://localhost:8085 cms: http://base.yunhaixingtong.com:10005/yschcms # 流程中心回调接收端 starter(2026-09-20 迁移,X-Flw 验签式):端点保持既有 /callback/flow, # 存量注册的 callback_url 不变、零 secret 轮换;幂等/乱序门由 starter 承担, # 业务映射见 SvcFlowCallbackHandler;secret 镜像在 flow_callback_reg(迁移 SQL 见 sql/) flow-callback: path: /callback/flow biz-types: [svc_item] verify-flw-signature: true callback-url: ${svchall.public-base-url}/callback/flow # ===== 办事大厅专属配置 ===== svchall: # 本应用对外可达基址(回调注册 callbackUrl = {public-base-url}/callback/flow;projman 注入) public-base-url: http://localhost:8086 # 办事大厅前端地址(办件 bizUrl 落地页用) front: base-url: http://localhost:8087 item: # 服务部门"容器组"类型(UserBase GroupTypeEnum,默认 7=教师组;口径承袭 CMS cms.svc.item.dept-group-type) dept-group-type: 7 cms: # CMS 基址已迁至服务目录 yh.open.services.cms(上方 open 段)。 # 务必指向**后端**且带 context-path:内网 CMS 挂在 base 域下 /yschcms,但 Caddy 只反代 # /yschcms/{front,api,portal},没有 /oapi 路由——用 http://base.yunhaixingtong.com/yschcms # 打 /oapi/* 会拿到 Caddy 404,因此必须是容器直连端口 10005 # (实测 /yschcms/oapi/site/list 能到应用)。 flow: # 流程中心 flow-center 基址已迁至服务目录 yh.open.services.flowcenter(上方 open 段)。 # enabled=false(本地未部署 flow-center)时全部方法抛业务异常,消费方按需降级。 enabled: true # 对账 Job 应急闸(契约冻结"消费方免每日对账":flow-center 持续重试+死信+挂起告警为主链路)。 # 默认 false 停用;仅大面积漂移事故应急时置 true 开闸(每日 04:00 跑) reconcile-enabled: false file: # 文件对外可达基址(绝对地址):上传返回值、oapi 富文本内链绝对化都用它。 # 本地=后端直连(无 context-path);生产=https://base.yunhaixingtong.com/svc-hall/upload/ # (Projman 自动生成静态直出段,prod 由 CONTEXT_PATH 注入应用上下文) public-base-url: http://localhost:8086/upload/ logging: level: com.yunhai.svchall: debug management: endpoints: web: exposure: include: health endpoint: health: show-details: never # 文件存储磁盘路径(Notice 三件套约定;Docker 部署时与 volume 挂载一致) FILE_PATH: D:/bsch/svchall/upload/