Files
NoticeService/src/main/resources/application.yml
T
chenxing d0af9d481c [ysch-flow] S3.1~S3.2 接入 ysch-flow starter 并声明 yh.flow-biz 语义块
依赖不写版本(BOM 托管);存量 callback 件显式声明保留(回退绳类仍需其 SPI 类型)。
yaml 增 biz-type=notice、四态码 10/20/30/40(取 FlowAuditStatusEnum,0=待提交是本应用
特有暂态不入映射)、variables=[deptId,deptName]、detail-route=/list/detail?serid={bizId}
(与迁移前 JumpTarget 产物逐字节相同)。密钥段一字未动。
另修一处与本次无关的环境断点:appearance 件只由 feat/appearance-sdk 分支的 BOM 托管,
本分支 BOM 无该条目,notice/svc-hall/UserBase 均解析失败;给 notice 自己的依赖补显式
1.0.0-SNAPSHOT(jar 已在本地仓库),合流后应删本行回落 BOM。
2026-10-17 23:44:18 +08:00

158 lines
8.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
server:
port: 8101
spring:
mvc:
date-format: yyyy-MM-dd HH:mm:ss
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
datasource:
url: jdbc:mysql://localhost:3306/bsch_notice?useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_general_ci&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
min-idle: 10
max-active: 30
#jpa
jpa:
database: MySQL
show-sql: true
hibernate:
# 开发期使用 update 自动建表;生产环境设置成 none
ddl-auto: update
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
properties:
hibernate.order_by.default_null_ordering: last
open-in-view: true
#文件上传
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
#本地关闭 rabbit
rabbitmq:
listener:
direct:
auto-startup: false
simple:
auto-startup: false
# 文件上传存储路径——仅供本地 Windows 开发兜底;生产读 FILE_PATH(平台统一,
# 共享配置 application-platform.yml 一份 /data/upload,子应用不再各自维护),
# notice 过渡键 FILE_UPLOAD_PATH(prod 配置已加)仍兼容。
# 切勿在生产只依赖本键:历史教训是 Linux 容器把 D:/data/upload
# 锚定成 /app/D:/data/upload 写进容器可写层,每次更新部署附件全部丢失(2026-10)。
file:
upload-path: D:/data/upload
# 短信模块配置
sms:
enabled: true
module-id: notice
# 先审后发(流程中心托管接缝):enabled=false 时编辑页选择器隐藏、FlowClient 降级
notice:
flow:
enabled: true
# flow-center 地址不再单独配置:见上方 yh.open.services.flow-center(SDK 门面 YschFlowOpenApi)。
# legacy 回落键 notice.flow.base-url 不配即空,且代码侧不给默认值——与目录配置都缺时构造期
# fail-fast,不静默打 localhost。
# 回调地址相关键(callback-base / callback-base-path / callback-path)已于 2026-09-24 删除:
# 注册地址改由 yh.flow-callback 三段推导(见下方该段),这三个键已无任何代码引用。
# 前端基址 front-base-url 已于 2026-09-26 删除:apply bizUrl 改传裸相对路径
# (/list/detail?serid=...),绝对化由接收方按页面归属(notice)拼——Notice 零地址类配置。
# 短信到点补发调度(§3.2 修 BP-R5-2):fixedDelay 5min,扫"已发布+要短信+未发过+已到点"
# 补发(幂等由 notice.sms_sent_at 原子认领保证)。生产加列见 deploy/sql/20260913_add_sms_sent_at.sql
sms:
catchup-enabled: true
catchup-fixed-delay-ms: 300000
# 消息中心(UserMsg)站内消息推送(发布/转发/编辑转直发/催办):
# push-enabled 默认 false(未部署 UserMsg 的环境无空转告警);UserMsg 上线后打开
usermsg:
push-enabled: true
# 单点登录 / 应用间签名鉴权(基础平台 yh-auth / yh-app-auth)
yh:
sso:
# 本地浏览器联调:登录页=SSO 前端 /login(读取 service 参数回跳),
# 票据校验=根路径 /serviceValidate(160 实测;/cas/ 前缀仅存量本地默认值)
server-url-prefix: http://sso.yunhaixingtong.com/
client-host-url: http://localhost:8101
allow-headers: all
allow-origins: all
url-pattern: /api/*
mobi-api-pattern: /mobiapi/*
app-auth:
enabled: true
# 本应用自身身份(客户端签名用)。本地联调用 100009(160 UserBase/中央密钥链在册身份,
# 互通验证通过;100617 在 160 侧未被 UserBase 信任会导致出站 401)。生产仍为 100617
#(deploy/notice.yaml 唯一真源);flow-center trusted-apps 已同步收 100009 号段
app-key: 100009
app-secret: dcc36c98299a4d36bb0ec39d42008e8c
# 提供方强制验签(两级模型 §4.1 试点 P2.1):/oapi/** 匿名 401、注册应用签名直调通过
server:
enforce-patterns: [/oapi/*]
# 入站验签改走中央密钥链(注册表模式):共享 Redis sign:app:* 单一真源,凡在 UserBase
# 注册过的 appKey 自动可验,不再维护白名单(原 trusted-apps 每条都要跟着 UserBase 注册表手改,
# 且形成双份真源)。注意:Redis 不可用时验签一律 401(fail-closed,无本地兜底)。
# 本地要跑 oapi 回调而没起 Redis 时,可临时打开下面白名单当兜底(勿提交到生产配置):
# trusted-apps:
# "100009": "dcc36c98299a4d36bb0ec39d42008e8c"
trust-registry: true
flow-callback:
# 流程中心回调接收端 starter(2026-09-20 迁移):端点/幂等/乱序门由 starter 承担,
# 业务映射见 NoticeFlowCallbackHandler;验签仍由上方 /oapi/* 平台强制验签负责(X-Flw 不启用)
# path 取 starter 默认值 /oapi/flow/callback(2026-09-24 由 /oapi/notice/flow/callback 收敛)
path: /oapi/flow/callback
biz-types: [notice]
# 漂移自动核对(2026-09-24 开):端点路径/ctx/base-path 变更后,镜像行有效但登记 URL 与当前
# 期望不一致时自动重新注册,替代"删镜像行→重新保存绑定"的手工恢复路径。注意重注册会轮换 secret。
reconcile-on-register: true
# 注册地址不再显式配置(2026-09-24 摘除 callback-url):由 starter 推导
# (open-host ?: yh.open.base-host) + /{前缀} + path
# 前缀三层回落:target → base-path → 运行时自证 context-path(ServletContext 容器级,
# 2026-09-26 起);本地无挂载前缀时空串/"/"视为无前缀,URL 退化为 host+path,不报错
# ⇒ 生产 = http://open-gateway-service:10013 + /notice + /oapi/flow/callback
# base-path 可不填(运行时会自证出与真实 ctx 同源的值;显式配置仅作覆盖/逃生口保留)。
# 改地址回滚:把全地址写回 callback-url 即可(回滚绳),无需回滚镜像。
flow-biz:
# ysch-flow 语义接入件(2026-10-17 T3 迁移试点):装配总闸是本键——删掉本块即整体不装配,
# NoticeFlowCallbackHandler 回退绳随之复位(两者互斥,同一上下文只允许一个 FlowCallbackHandler)。
biz-type: notice
# 四语义态 → audit_status 码表(FlowAuditStatusEnum;0=待提交是 Notice 特有暂态,不在映射内)
states: {approving: 10, passed: 20, rejected: 30, withdrawn: 40}
# 变量契约:条件路由表达式取的两个键(发起前本地预检 + 启动自检依据;与 NoticeFlowService.buildFormData 同口径)
variables: [deptId, deptName]
# bizUrl 自动装配模式:与迁移前 JumpTarget.page("list/detail").param("serid", id) 的产物
# 逐字节相同(/list/detail?serid=27,裸相对路径,绝对化由接收方按页面归属拼)
detail-route: /list/detail?serid={bizId}
open:
# 四域服务目录零配置:userbase/userclass/usermsg/flow-center 枚举兜底 = base-host + 默认 ctx
base-host: http://base.yunhaixingtong.com
# flow-center 显式指向本地流程中心(默认枚举兜底会打 base 域网关,网关无 /oapi 路由);
# 生产改容器直连 http://flow-center-service:10008/flow-center(projman 注入)。
services:
flow-center: http://localhost:8085
# usermsg 显式指向本地消息中心(生产部署 UserMsg 后改容器直连,如 http://usermsg-service:8080/usermsg)
usermsg: http://localhost:8080
# env-config 前端运行时配置(免登录 GET /api/env-config?target=front,数据源见
# config/PropertyEnvConfigSource:聚合 starter 自动装配,有 bean 即注册端点)。
# 本地无需配值(前端 dev 走 .env.dev);线上值经环境变量 YH_ENV_CONFIG_SOURCE_FRONT
# 或同名键 yh.env-config.source.front 注入(projman 配置管理维护),未配置时端点返回 {},
# 前端走同域推导兜底(serviceHost/baseHost 正确,ssoHost 为空登出跳转不可用)。
# 如需本地联调可打开:
# env-config:
# source:
# front: '{"baseHost":"http://base.yunhaixingtong.com","ssoHost":"http://sso.yunhaixingtong.com","serviceHost":"http://localhost:8101","relayConf":{"ziyuankuHost":"https://base.bestsch.com/BschZyk","zhuanxiangHost":"https://base.bestsch.com/BschZncpd"}}'
# 密钥链验签依赖 Redis(sign:app:*)。关掉 Redis 健康指标:Redis 抖动不应把 /actuator/health
# 拉成 DOWN(503),否则部署健康检查与探活会误判整机不可用(同 flow-center 口径)。
management:
health:
redis:
enabled: false