feat: OA(ecology)项目拉取 + 会议邀请函PDF/微信分享 + 参会人/执行意向增强

OA ecology:
- BizEcologyController + EcologyProjectService: 项目编号搜索/详情回填, 负责人静默建档
- ComplianceLoginService: 合规/负责人登录校验 + 视图 role 匹配
- application-prod/test.yml: ecology 只读库数据源

会议邀请函/分享:
- InvitationPdfService + WxShareService: 邀请函 PDF 生成 + 微信分享
- PdfViewer.vue (pdfjs-dist) + MeetingInvitation.vue: PDF 预览 + 邀请函页

参会人/执行意向:
- BizMeetingAttendee*: 参会人模块增强
- BizExecutionIntent*: 执行意向增强

签到/劳务/导入:
- BizSignServiceImpl + SignFill.vue: 签到劳务
- FieldMismatch/ImportMismatch: 导入校验 VO

公示/会议详情:
- PublicityDetail.vue / MeetingDetail.vue 等前端增强

配置:
- test 短信 mock + 供应商/招标接口切生产域名
This commit is contained in:
郭庆泰
2026-09-03 20:12:15 +08:00
parent beb9799a06
commit 56615f9806
55 changed files with 3296 additions and 516 deletions
@@ -1,93 +1,3 @@
# 项目相关配置
ruoyi:
# 名称
name: RuoYi
# 版本
version: 3.9.2
# 版权年份
copyrightYear: 2026
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath
# 医生劳务协议签署 — token 签名密钥 (HMAC-SHA1)
sign-token-secret: hwt-sign-secret-2026
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数字计算 char 字符验证
captchaType: math
# OSS 配置 (前端直传签名, secretKey 仅后端使用)
oss:
enabled: true
endpoint: https://hwtossbamlorgcn.oss-cn-beijing.aliyuncs.com
bucket: hwtossbamlorgcn
accessKeyId: LTAI5tQKWWu96ihmg2VChQsY
accessKeySecret: gA0fTFa8arUYaYA5Us2ClPKVSM1Ypv
dirPrefix: ry8080/
expireSeconds: 3600
# 阿里云函数计算 (FC) 打 zip 端点 (与 hwt-serve 共用同一 bucket, 参考 OssApi.ossDownload)
zip-func-url: https://zip-oss-func-zip-oss-swqpembfsl.cn-beijing.fcapp.run
# 阿里云短信配置 (hwt-code ali.sms 模式)
# dev/prod 区分走代码: phone 以 "10" 开头视为 dev 测试 (固定码 1234), 其它走 aliyun 真发
sms:
accessKeyId: LTAI5tAgeAUviVdPSsxYCkPY
accessKeySecret: 556LX6mXnJIPZgf0vFXcl4mKCzzgKq
signName: 北京整合医学学会
template: SMS_291440833
esignTemplate: SMS_512040098
endpoint: dysmsapi.aliyuncs.com
regionId: cn-hangzhou
# 发票 OCR (本地 Java 识别, PaddleOCR ONNX Runtime, 替代原 ry-ocr Python 微服务)
ocr:
version: 0.1.0
# 模型目录: 绝对路径 → 直读; 相对路径 → 相对进程工作目录 (java -jar 启动目录 = jar 同目录, 部署时 models/ 与 jar 同级)
models-dir: models
# 模型版本: v5_mobile (H=48, 20MB, 推荐) / v5_server (90MB+) / v4_mobile (15MB, 最快)
model-version: v5_mobile
# 单页 OCR 超时 / 整流程超时 (秒)
page-timeout-s: 15
total-timeout-s: 60
# QR 命中后是否继续跑全量 OCR (false = 快路径只返回 QR 3 字段)
qr-full-ocr: false
lang: ch
# PDF 优先抽内嵌文本层 (电子发票秒出, 扫描件自动回退 ONNX)
use-pdf-text-first: true
pdf-text-min-chars: 30
upload:
max-mb: 20
pdf-dpi: 150
# 供应商账号接口 (拉取/解密) 配置 (base-url 按环境拆分到 application-test/prod.yml)
supplier-account-api:
# 每页条数
page-size: 20
# 每次拉取最近 N 分钟更新的数据
pull-minutes: 5
# 供应商账号接口 AES 密钥 (supplier-account-api-aes.key 按环境拆分到 application-test/prod.yml)
# 招标公告查询接口 (notice-list-url / detail-url 按环境拆分到 application-test/prod.yml)
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8080
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# 连接数满后的排队数,默认为100
accept-count: 1000
threads:
# tomcat最大线程数,默认为200
max: 800
# Tomcat启动初始化的线程数,默认值10
min-spare: 100
# 日志配置
logging:
level:
com.ruoyi: debug
org.springframework: debug
com.ruoyi.business: debug
# Spring配置
spring:
@@ -192,4 +102,99 @@ xss:
# 排除链接(多个用逗号分隔)
excludes: /system/notice
# 匹配链接
urlPatterns: /system/*,/monitor/*,/tool/*
urlPatterns: /system/*,/monitor/*,/tool/*
# 项目相关配置
ruoyi:
# 名称
name: RuoYi
# 版本
version: 3.9.2
# 版权年份
copyrightYear: 2026
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath
# 医生劳务协议签署 — token 签名密钥 (HMAC-SHA1)
sign-token-secret: hwt-sign-secret-2026
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数字计算 char 字符验证
captchaType: math
# OSS 配置 (前端直传签名, secretKey 仅后端使用)
oss:
enabled: true
endpoint: https://hwtossbamlorgcn.oss-cn-beijing.aliyuncs.com
bucket: hwtossbamlorgcn
accessKeyId: LTAI5tQKWWu96ihmg2VChQsY
accessKeySecret: gA0fTFa8arUYaYA5Us2ClPKVSM1Ypv
dirPrefix: ry8080/
expireSeconds: 3600
# 阿里云函数计算 (FC) 打 zip 端点 (与 hwt-serve 共用同一 bucket, 参考 OssApi.ossDownload)
zip-func-url: https://zip-oss-func-zip-oss-swqpembfsl.cn-beijing.fcapp.run
# 阿里云短信配置 (hwt-code ali.sms 模式)
# mock-enabled 按环境拆分到 application-test/prod.yml: test=true 固定码 1234 不真发, prod=false aliyun 真发
sms:
accessKeyId: LTAI5tAgeAUviVdPSsxYCkPY
accessKeySecret: 556LX6mXnJIPZgf0vFXcl4mKCzzgKq
signName: 北京整合医学学会
template: SMS_291440833
esignTemplate: SMS_512040098
endpoint: dysmsapi.aliyuncs.com
regionId: cn-hangzhou
# 发票 OCR (本地 Java 识别, PaddleOCR ONNX Runtime, 替代原 ry-ocr Python 微服务)
ocr:
version: 0.1.0
# 模型目录: 绝对路径 → 直读; 相对路径 → 相对进程工作目录 (java -jar 启动目录 = jar 同目录, 部署时 models/ 与 jar 同级)
models-dir: models
# 模型版本: v5_mobile (H=48, 20MB, 推荐) / v5_server (90MB+) / v4_mobile (15MB, 最快)
model-version: v5_mobile
# 单页 OCR 超时 / 整流程超时 (秒)
page-timeout-s: 15
total-timeout-s: 60
# QR 命中后是否继续跑全量 OCR (false = 快路径只返回 QR 3 字段)
qr-full-ocr: false
lang: ch
# PDF 优先抽内嵌文本层 (电子发票秒出, 扫描件自动回退 ONNX)
use-pdf-text-first: true
pdf-text-min-chars: 30
upload:
max-mb: 20
pdf-dpi: 150
# 供应商账号接口 (拉取/解密) 配置 (base-url 按环境拆分到 application-test/prod.yml)
supplier-account-api:
# 每页条数
page-size: 20
# 每次拉取最近 N 分钟更新的数据
pull-minutes: 5
# 供应商账号接口 AES 密钥 (supplier-account-api-aes.key 按环境拆分到 application-test/prod.yml)
# 招标公告查询接口 (notice-list-url / detail-url 按环境拆分到 application-test/prod.yml)
# 公众号 JS-SDK 分享签名 (appId/appSecret 与 hwt-serve biz_conf 表一致)
wx:
app-id: wx2414cddf4bd56092
app-secret: 792300428a4998da9294e263ec55e71a
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8080
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# 连接数满后的排队数,默认为100
accept-count: 1000
threads:
# tomcat最大线程数,默认为200
max: 800
# Tomcat启动初始化的线程数,默认值10
min-spare: 100
# 日志配置
logging:
level:
com.ruoyi: debug
org.springframework: debug
com.ruoyi.business: debug