Files
tuanwei-java/src/main/resources/application.yml
T
weicw 11f0f90f7a feat(spec58): 模块注册表后端与模块硬编码收敛(#60)
- 新增 gxmu/module 包:ModuleRegistry 实体/Mapper/Service,listEnabled 按 sort_number 升序,titleOf 未注册回退 module 原串
- 新增 GET /api/gxmu/module-registry/list(需登录),返回启用模块元数据
- ReviewFlowConfigServiceImpl / ReviewListServiceImpl 的模块名映射改读注册表,查不到回退原串
- DeclareGuardServiceImpl 的模块集合改为注册表驱动,含 enabled=0(停用模块存量仍可撤回/作废)
- 启动期一致性校验:table_name≠module 或业务表缺失即启动失败,gxmu.module-registry.strict=false 可关闭
- 单测 13 例:注册表加载与排序、titleOf 回退、启动校验、module 名回退
2026-11-03 22:29:27 +08:00

221 lines
8.0 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: 38927
# 多环境配置
spring:
profiles:
active: dev
# active: prod
application:
name: server
# 连接池配置
datasource:
druid:
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 30000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
test-while-idle: true
test-on-borrow: true
test-on-return: false
remove-abandoned: true
remove-abandoned-timeout: 1800
#pool-prepared-statements: false
#max-pool-prepared-statement-per-connection-size: 20
filters: stat, wall
validation-query: SELECT 'x'
aop-patterns: com.gxwebsoft.*.*.service.*
stat-view-servlet:
url-pattern: /druid/*
reset-enable: true
login-username: admin
login-password: admin
# json时间格式设置
jackson:
time-zone: Asia/Shanghai
date-format: yyyy-MM-dd HH:mm:ss
# 设置上传文件大小
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
mvc:
async:
request-timeout: 600000
# 邮件服务器配置
mail:
host: smtp.qq.com
username: 517289602@qq.com
password: fhvgbekxmxrxcaec
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
socketFactory:
class: javax.net.ssl.SSLSocketFactory
port: 465
# Mybatis-plus配置
mybatis-plus:
mapper-locations: classpath*:com/gxwebsoft/**/*Mapper.xml
configuration:
map-underscore-to-camel-case: true
cache-enabled: true
global-config:
:banner: false
db-config:
id-type: auto
logic-delete-value: 1
logic-not-delete-value: 0
# 框架配置
config:
open-office-home: C:/OpenOffice4/
swagger-base-package: com.gxwebsoft
swagger-title: 网宿软件 API文档
swagger-version: 1.0
token-key: WLgNsWJ8rPjRtnjzX/Gx2RGS80Kwnm/ZeLbvIL+NrBs=
server-url: https://server.gxwebsoft.com/api
file-server: http://localhost:38927
upload-path: /Users/liangxin/Project/JAVA/tower-java/
local-upload-path: /Users/gxwebsoft/Documents/uploads/
wx:
miniapp:
configs:
- appid: wxf7ee9cd5801bf7a6
secret: b418211f69a64c9cecd1e5efc2a5765c
msgDataFormat: JSON
wxpay:
api-v3-key: g4ny70843ynmcoxwfej0v2yuv9n28nut
pub-key-id: PUB_KEY_ID_0117329300312025112800181693000807
app-id: wxf7ee9cd5801bf7a6
mch-id: 1732930031
mch-serial-no: 7EE24C695B278DB2C4F0C1CB42069065ECCBE3FD
# Dify 平台对接
#
# 唯一的实例:内网 http://10.100.158.15/v1(见《Dify API 文档》)。
#
# 2026-10-12 完成迁移:此前代码连的是公网实例 http://82.156.98.71/v1,
# 因开发机连不上内网而一直保留双份配置;VPN 打通后已全部并入内网。
#
# 两套实例的应用 Key、知识库 ID、密钥完全不通用(实测互打一律 401),
# 因此公网那套配置已整体移除,遗留一份只会造成误用。若确需回退,
# 到 git 历史取本段即可,不要再在配置里维护两套。
dify:
base-url: http://10.100.158.15/v1
timeout-ms: 600000
apps:
# 医科大团委智能知识库问答系统
chat: app-ZLUUbLkAX3FVzDubY06puxAo
# 活动策划大纲生成(advanced-chat,走 /chat-messages)
activity-outline: app-4oBWB3HrdNlANdPFG8ZvVTkY
# AI 内容创作与宣传助手
manuscript: app-fhhz4fXMkEdVivAEiuWpycn6
# AI 创意助手
creative-assistant: app-lAbpxMggNbIrByiDRDfckSSl
# 项目书质量初审
project-quality-review: app-J6h5I6Bo4oeBif2EofBGVrGs
# 竞赛文件预处理
competition-history-preprocess: app-UzVLKnGwg69uAUdbgFx6XNmc
# 医科大智能文档处理系统
document-process: ${DIFY_KEY_DOCUMENT_PROCESS:app-ohdIhk0lVfUwoy10xXRebmjD}
# 申报书生成
declaration: ${DIFY_KEY_DECLARATION:app-k20aDmiQYh3LxqZSLuX8wjkU}
dataset:
# 知识库列表等不区分知识库的接口所用密钥。
# 实测该密钥对实例内全部知识库均可用,keys 里逐库登记仅为将来分权留口子。
api-key: ${DIFY_DATASET_API_KEY:dataset-jaqtnAQvYcQTEjECzxhQfNCv}
# 知识库 ID -> 独立密钥
keys:
181d58e3-78c2-4b7d-939c-57e780a8f7d6: ${DIFY_DATASET_KEY_COMPETITION:dataset-jaqtnAQvYcQTEjECzxhQfNCv}
3e0ac108-3a0d-41e2-8447-aa1c1044d3ac: ${DIFY_DATASET_KEY_GXMU:dataset-f2a0Hjxix7lBcPNZtNMyKDTQ}
# 业务代号 -> 知识库 ID
ids:
# 竞赛案例(145 篇)。admin 端「竞赛历史」文档列表接口按此代号取库。
competition-cases: 181d58e3-78c2-4b7d-939c-57e780a8f7d6
# GXMU 团章(10 篇)
gxmu-constitution: 3e0ac108-3a0d-41e2-8447-aa1c1044d3ac
# 工作流变量名映射。
# 左边是入参实体的业务字段(中划线),右边是 Dify 工作流开始节点的真实变量名。
#
# 以下取自 2026-10-12 在内网实例上重跑 probe-dify.sh 的实际输出。
# 该实例的变量名会随工作流编排调整而漂移,所以每次动工作流都要以探针输出为准,
# 不要凭直觉推断。
#
# 映射为空串 = 丢弃该字段(见 DifyProperties.VariableMapping 的约定),
# 下面的失效变量即用此法显式剔除:它们已不在开始节点上,
# 留着只会让人误以为仍在生效。注意不要直接删掉整行 —— 那会退回"按原名透传",
# 反而把 pdfUrl / parseValue 这种驼峰名发给 Dify。
workflows:
# 内网实测仅 pdf_file(文件类)。query/pdf_url 已从开始节点移除,故丢弃;
# 实体里仍保留这两个字段,是为了不破坏 /documentProcess/upload 的入参契约
# (前端仍可传,只是不再转发给 Dify)。
document-process:
fields:
query: ""
pdf-url: ""
pdf-file: pdf_file
# 内网实测 core_idea,tech_route,team_intro,upload_file(文件类)。
# parse_value 已从开始节点移除,故丢弃。
declaration:
fields:
core-idea: core_idea
tech-route: tech_route
team-intro: team_intro
upload-file: upload_file
parse-value: ""
# 医科大开放平台对接
gxmu:
openplat:
base-url: http://210.36.49.10:15031/api/bd-api
app-id: d50666e1621f493688a2
app-secret: c12ba36360a82ae7a59a4f0a056ec39d
kfzzh: twxt2026
# 开发者密码, 建议用环境变量 OPENPLAT_KFZMM 覆盖
kfzmm: ${OPENPLAT_KFZMM:twxt2026}
timeout-ms: 30000
max-retries: 2
page-size: 10000
# 学校统一身份认证(微服务认证平台 API v2.3),小程序的「学号 + 统一身份认证密码」登录走这里。
#
# appid/appsecret 由学校认证管理员在认证后台 - 应用管理 - 应用列表 中签发。
# 2026-09-18 拿到后只在本地验证过(见 .scratch/student-sso/README.md 第 5.1 节),
# 但这段配置当时漏了提交,代码上线后 /api/sso/login 一直报
# 「学校统一身份认证未配置,请联系管理员」——见本文件所在提交的说明。
# 与 openplat 凭证同样处理:默认值写在这里,同时保留环境变量覆盖。
auth:
enabled: true
base-url: https://cas.gxmu.edu.cn/lyuapServer
app-id: ${GXMU_AUTH_APPID:7D8F6695611309E0}
app-secret: ${GXMU_AUTH_APPSECRET:24f9dab5-3319-42cc-908d-2748417b7f92}
timeout-ms: 10000
# 名册外的账号默认拒绝登录,见 ADR-0001:学生须先同步进名册
allow-unknown-user: false
# 模块注册表(spec #58 / ADR 0006):启动期校验注册表 table_name 与 module 一致、
# 且注册表引用的业务表在库里存在,不一致直接启动失败(用户故事 21)。
# strict 默认 true;本地无库启动可临时设为 false 跳过校验。
module-registry:
strict: true
openplat-sync:
enabled: true
# 每天 03:30
cron: 0 30 3 * * ?
# 教师同步时派生登录账号(手机号即用户名,后六位即密码),见 docs/adr/0008。
# 默认关闭:首次全量会建出上万账号,需要有意打开。
# 打开后重跑一次教师同步,即可给已有账号补授 teacher 角色。
teacher-account:
enabled: true