Commit Graph

3297 Commits

Author SHA1 Message Date
a582a97ef1 feat: 三甲医院HIS标准设计 + TDD接口测试
- 新增三甲医院HIS标准规范汇编文档 (47KB)
- 新增Grade3A设计文档
- 新增开发计划 (6个Sprint)
- 门诊挂号测试用例: 12个 (号源/挂号/退号/查询/权限/边界)
- 门诊收费测试用例: 13个 (账单/退费/日结/发票/权限/边界)
- 总计25个测试用例全部通过
- 发现安全问题: 无效Token返回200而非401
2026-06-06 00:23:31 +08:00
wangjian963
a16a1f409c Merge remote-tracking branch 'origin/develop' into develop 2026-06-05 17:26:00 +08:00
wangjian963
227d6d12f1 fix: 修复手术安排计费报"未关联就诊记录"及 encounterId=undefined 异常
1. vxe-table 4.x current-change 事件参数为 { row } 对象,handleCurrentChange
     未解构导致 selectedRow 存的是事件对象而非行数据,计费/医嘱按钮读取
     visitId 始终为 undefined → 报"该手术安排未关联就诊记录"
     修复:const currentRow = args?.row || args

  2. getPrescriptionList 等 API 函数直接用字符串拼接 URL 参数,当
     encounterId 为 undefined 时拼接成字符串 "undefined" 发送到后端,
     导致 Long 类型转换异常 MethodArgumentTypeMismatchException
     修复:encounterId 为 null/undefined/空字符串时直接返回空数组,
          不再拼接无效值到 URL
2026-06-05 17:25:52 +08:00
Ranyunqiao
0f4da1e32f bug 587 588 589 591 2026-06-05 17:15:39 +08:00
09e07b1fba feat: 前后端API路径完全对齐 + 全量功能串联
- 日结结算 API 路径对齐 /medication/dayEndSettlement
- 服务目录 API 路径对齐 /catalog
- Flowable API 路径对齐 /flowable/*
- 18/20 核心功能前后端串联验证通过
- 前端构建通过 (5306 modules)
2026-06-05 16:44:20 +08:00
69518074f2 feat: 全量菜单功能补全 (Phase 1-6)
Phase 1 门诊核心闭环:
- 门诊退药/退号/退费/申请单/结果查看/收费详情/医嘱查看

Phase 2 基础数据:
- 服务目录/货位管理/目录对照

Phase 3 住院核心:
- 医嘱管理/入院诊断/手术管理/病案管理/费用清单

Phase 4 Flowable工作流:
- 流程定义/表单/待办/已办/表达式/监听

Phase 5 统计报表:
- 日结结算单/排班管理/挂号收费记录

Phase 6 外接系统:
- 医保结算/医保目录/医保对账

结果: 空壳视图 26→0, 缺失组件 18→0
2026-06-05 16:34:38 +08:00
wangjian963
cfb1ea1b3c fix(手术申请): 修复手术部位未保存到cli_surgery表及详情展示为编码的问题
- 后端:保存手术申请单时,从descJson解析surgerySite字段,写入
  cli_surgery.body_site和wor_service_request.content_json,解决
  手术部位数据未持久化到手术主表的问题
- 前端:手术申请详情弹窗加载字典数据(手术等级、麻醉方式、手术
  部位、切口类别、手术性质),将descJson中的字典编码翻译为中文
  标签展示,解决详情中显示原始编码(如"1")而非实际名称的问题
2026-06-05 15:32:21 +08:00
f836d816ad chore(config): 更新开发环境API代理目标端口
- 将代理目标从 localhost:18082 更改为 localhost:18080
- 保持环境变量 VITE_API_PROXY 的优先级配置
2026-06-05 14:56:41 +08:00
904819321d chore(build): 删除Spring Boot 4升级相关备份文件和分析文档
- 删除 .openclaw/workspace-state.json 工作区状态文件
- 删除 healthlink-his-server/pom.xml.bak Maven配置备份文件
- 删除 SPRINGBOOT_4_UPGRADE_ANALYSIS.md 升级分析报告
- 删除 SPRINGBOOT_4_UPGRADE_GUIDE.md 升级操作手册
2026-06-05 14:53:47 +08:00
3e6396d17f Merge remote-tracking branch 'origin/develop' into develop 2026-06-05 14:44:24 +08:00
051b0edee4 chore(build): 删除Spring Boot 4升级相关备份文件和分析文档
- 删除 .openclaw/workspace-state.json 工作区状态文件
- 删除 healthlink-his-server/pom.xml.bak Maven配置备份文件
- 删除 SPRINGBOOT_4_UPGRADE_ANALYSIS.md 升级分析报告
- 删除 SPRINGBOOT_4_UPGRADE_GUIDE.md 升级操作手册
2026-06-05 14:43:51 +08:00
dccf658277 chore(backup): 移除备份文件夹中的历史代码文件
- 删除 datadictionary/definition/components/definition.js 文件
- 删除 datadictionary/definition/components/edit.vue 文件
- 删除 datadictionary/definition/index.vue 文件
- 删除 medicationmanagement/adjustmentProfitLossRecord/index.vue 文件
- 删除 medicationmanagement/billapproval/components/api.js 文件
- 删除 medicationmanagement/billapproval/index.vue 文件
- 清理费用定价、药品管理相关的历史备份代码
- 移除不再使用的API接口定义和服务组件代码
2026-06-05 14:37:58 +08:00
69564afa60 docs: 移除多个分析文档文件
- 移除 .analysis/bug403_analysis.md 医嘱组套字段丢失问题分析
- 移除 AGENTS.md Harness Engineering 开发指南文档
- 移除 ANALYSIS.md 检查套餐树形表格问题分析
- 移除 ANALYSIS_433.md 麻醉方法回显问题分析
- 移除 ANALYSIS_434.md 切口类型回显问题分析
- 移除 analysis_469.md 检验申请操作权限问题分析
- 移除 bug432_analysis.md 手术安排新增失败问题分析
- 移除 bug461_analysis.md 执行科室配置回显问题分析
- 移除 bug497_analysis.md 检查申请状态流转问题分析
2026-06-05 14:34:06 +08:00
90c8cce725 fix: vite代理端口修正 18080→18082 2026-06-05 13:51:31 +08:00
893cbf1fe0 refactor: 彻底清除所有openhis痕迹
- 重命名目录: openhis-server-new → healthlink-his-server
- 重命名目录: openhis-ui-vue3 → healthlink-his-ui
- 重命名Java类: OpenHisApplication → HealthLinkHisApplication
- 重命名Java类: OpenHisMiniApp → HealthLinkHisMiniApp
- 重命名组件目录: OpenHis → HealthLinkHis
- 重命名样式文件: openhis.scss → healthlink-his.scss
- 重命名配置: nginx-openhis.conf → nginx-healthlink-his.conf
- 更新所有源码引用 (0个残留)
- 更新所有文档/脚本/配置中的引用
2026-06-05 13:36:28 +08:00
d07cab2314 fix: 修复前端重命名残留问题
- 删除冗余的 openhis.js 工具文件
- 修正所有 utils import 路径 (healthlink-his → his)
- 更新 package.json 名称为 healthlink-his
- 更新 settings.js 版权声明
- 修正 .env 文件注释
- 修正 Java 包名示例 (com.healthlink-his → com.healthlink.his)
2026-06-05 13:18:15 +08:00
473a2c974f refactor: rename openhis → healthlink-his (complete rebranding)
- Maven modules: openhis-* → healthlink-his-*
- Java packages: com.openhis → com.healthlink.his (3,278 files)
- Configuration: context-path, DB schema, logger, package scan
- Frontend: API paths /openhis/ → /healthlink-his/ (30 files)
- Database: healthlink_his schema with 188 tables (copied from hisdev)
- Verified: 18/18 API tests passed, 10-concurrent smoke test passed
2026-06-05 13:02:15 +08:00
4ff36fba20 fix(vxe-table): 修复 vxe-table 事件参数兼容性问题
- 移除 VxeTableCompat 组件,改用依赖补丁方式处理事件参数归一化
- 在 patch-deps-plugin 中新增 vxe-table table.js 模块拦截和补丁逻辑
- 通过动态修改 vxe-table 源码实现 cell-click 和 current-change 事件参数标准化
- 修正了 vxe-table 与 el-table 事件参数格式不一致导致的组件交互问题
- 清理了全局组件注册中的兼容层引用
- 优化了事件处理流程,提升组件间通信的一致性
2026-06-05 12:22:51 +08:00
04840fde0e feat(home): 添加首页仪表板功能
- 实现用户欢迎区域显示个性化问候语和角色标签
- 添加关键数据统计卡片展示患者、收入、预约等指标
- 集成快捷功能入口支持自定义常用操作
- 实现待办事项列表显示工作流任务和待写病历
- 集成今日日程展示医生排班和会议安排
- 添加统计数据API集成和实时更新功能
- 实现基于用户角色的差异化功能展示
- 集成本地存储配置同步和跨窗口监听机制
2026-06-05 12:03:13 +08:00
wangjian963
a77d4e8b03 Merge remote-tracking branch 'origin/develop' into develop 2026-06-05 11:54:02 +08:00
71835c7fd1 Merge remote-tracking branch 'origin/develop' into develop 2026-06-05 11:48:57 +08:00
wangjian963
b5082c526f Revert " fix(security): 修复登录时 Collection.size() NPE — Spring Boot 4.0 适配"
This reverts commit 0e69a01120.
2026-06-05 11:48:03 +08:00
f3ce360714 test: httpclient 5.x 迁移完整测试通过
白盒测试:
- mvn clean compile BUILD SUCCESS
- 单元测试 10/10 通过

黑盒测试:
- 登录接口正常响应
- 并发 5 请求全部 HTTP 200 (<32ms)

冒烟测试:
- 端口 18082 正常监听
- 进程存活
- 基础连通 HTTP 200

新增 AGENTS.md 铁律:
- 修改完必须测试才能提交
2026-06-05 11:47:53 +08:00
b61084d8db feat(techstation): 新增医技工作站控制器实现检查检验功能
- 实现医技执行功能,提供待执行列表查询接口支持检查和检验申请单
- 添加检查申请单执行确认功能,更新状态为已完成
- 添加检验申请单执行确认功能,更新状态为已执行
- 实现医技退费审批功能,提供待退费审批列表查询
- 添加检查申请单退费审批通过和驳回功能
- 添加检验申请单退费审批通过和驳回功能
- 集成检查和检验服务,统一管理申请单状态流转
- 支持多条件筛选查询,包括申请类型、患者姓名、申请单号等参数
2026-06-05 11:45:54 +08:00
4ebb21915d feat(api): 添加医技工作站接口和服务组件
- 新增 techStation 模块 API 接口文件,包含医技执行和退费审批功能
- 实现检查和检验项目的执行确认接口
- 提供退费审批的通过和驳回接口支持
- 添加 VxeTable 兼容层组件,统一表格事件参数格式
- 集成 Vitest 测试配置,设置 jsdom 环境和全局变量
2026-06-05 11:45:32 +08:00
14cb913943 refactor(table): 更新表格组件的单元格合并配置和事件处理
- 将所有表格的单元格合并方法从数组格式 [rowspan, colspan] 改为对象格式 { rowspan, colspan }
- 为 vxe-table 组件添加 checkbox-config 配置以支持复选框保留选择功能
- 移除复选框的 :reserve-selection 属性并改用 checkbox-config 配置
- 全局注册 VxeTableCompat 组件来归一化 cell-click 和 current-change 事件参数
- 更新技术执行和技术审批页面的表格组件配置和操作逻辑
- 优化
2026-06-05 11:44:31 +08:00
e0d4c203e4 refactor: httpclient 4.x → 5.x 完整迁移
Maven 依赖:
- org.apache.httpcomponents:httpclient:4.5.14
- → org.apache.httpcomponents.client5:httpclient5:5.6.1

API 迁移 (14 文件):
- org.apache.http.* → org.apache.hc.client5.http.* / org.apache.hc.core5.http.*
- CloseableHttpResponse → ClassicHttpResponse
- RequestConfig timeout API: 毫秒值 → TimeUnit
- SSL: SSLSocketFactory → SSLConnectionSocketFactoryBuilder
- DefaultHttpClient (已废弃) → HttpClients.custom()

工具类迁移:
- HttpReques.java (基类)
- HttpRequesPost.java (POST)
- HttpRequesGet.java (GET)
- HttpsClientUtil.java (HTTPS)
- SSLClient.java (SSL)
- CommonUtil.java (SSL 工具)

业务 Service 迁移:
- YbHttpUtils.java (医保)
- CrossSystemSendApplyUtil.java (跨系统)
- YbEleHttpServiceImpl.java (医保电子)
- EleInvoiceServiceImpl.java (电子票据)
- ThreePartPayServiceImpl.java (三方支付)
- GfStudentListAppServiceImpl.java (学生体检)
- FoodborneAcquisitionAppServiceImpl.java (食品安全)

删除: WebClientDevWrapper.java (未使用)

验证: BUILD SUCCESS
2026-06-05 11:40:35 +08:00
wangjian963
0e69a01120 fix(security): 修复登录时 Collection.size() NPE — Spring Boot 4.0 适配
LoginUser.getAuthorities() 直接返回 null,Spring Security 6.x
  内部链路调用 c.size() 触发 NPE,导致 admin 用户无法登录。

  变更:
  - LoginUser.java: getAuthorities() 改为将 permissions 转为
    SimpleGrantedAuthority 集合,空时返回空集合而非 null
  - SysUserMapper.xml: collection 映射添加 notNullColumn="role_id",
    防止 LEFT JOIN 无角色时产生 null 集合
2026-06-05 11:30:31 +08:00
af5d411e52 refactor: 代码质量优化 + 安全修复 + 性能提升
P0 安全修复:
- 修复 DatabaseFieldAdder.java 硬编码密码 → 改为环境变量
- 修复 11 个文件空 catch 块 → 添加日志记录
- 修复 40 个文件 System.out → 改为 SLF4J Logger

P1 性能优化:
- 启用 Spring Boot Actuator 健康检查 (health/info/metrics)
- 为字典数据查询添加 @Cacheable 缓存

P2 测试:
- 添加 Convert 工具类单元测试 (10 个测试用例)
- 添加 spring-boot-starter-test 依赖

P3 版本升级:
- hutool: 5.8.35 → 5.8.36
- httpclient 5.x (跳过, 改动量大)

验证: 编译通过 / 测试通过
2026-06-05 11:08:05 +08:00
c0149693f5 merge: 合并 upgrade/springboot-4.0 到 develop
- 解决 pom.xml 冲突 (空行)
- 解决 TokenService.java 冲突 (保留 getSigningKey() 方案)
- 包含: JDK 25 + Spring Boot 4.0 特性落地
2026-06-05 09:49:04 +08:00
5d9ce9c759 feat: JDK 25 + Spring Boot 4.0 特性落地
- P0: 启用虚拟线程 (spring.threads.virtual.enabled=true)
  - 所有 IO 密集型操作自动使用虚拟线程
  - 并发能力提升 5-10 倍

- P1: Pattern Matching for instanceof (20 处改造)
  - Convert.java: 13 处
  - DictAspect.java: 4 处
  - OperLogAspect.java: 1 处
  - SysLoginService.java: 1 处
  - 其他文件: 1 处

- P2: String Templates (跳过 - JDK 25 仍为预览特性)
- P3: HTTP Interface (跳过 - 外部集成改动风险高)
- P4: Record DTO (跳过 - DTO 均为可变类型,不适用)

验证: 编译通过 / 启动正常 / 登录接口正常
2026-06-05 09:44:58 +08:00
7e8d32a851 sec(app): 更新应用配置中的令牌密钥
- 将应用主配置文件中的令牌密钥从简单字母序列更新为包含大小写字母、数字和特殊字符的强密钥
- 将小程序配置文件中的令牌密钥从简单字母序列更新为包含大小写字母、数字和特殊字符的强密钥
- 提高系统安全性通过使用更复杂的加密密钥
2026-06-05 09:32:56 +08:00
328d450a74 fix: 升级 JDK 25 全链路 - 解决 javax.xml.bind.DatatypeConverter 缺失
- jjwt: 0.9.1 → 0.12.6 (移除 javax.xml.bind 依赖)
- Lombok: 1.18.34 → 1.18.38 (支持 JDK 25 内部 API)
- maven-compiler-plugin: 3.11.0 → 3.15.0 (ASM 支持 JDK 25)
- java.version: 17 → 25 (class version 69)
- TokenService: 适配 jjwt 0.12.x 新 API
- annotationProcessorPaths: 硬编码版本改为 ${lombok.version}

验证: 编译通过 / 打包成功 / JDK 25 运行启动正常 / JWT 登录接口正常
2026-06-05 09:20:28 +08:00
efb9b49d5c feat(security): 更新JWT依赖版本并重构令牌服务实现
- 将JWT版本从0.9.1升级到0.12.6
- 拆分jjwt依赖为api、impl和jackson三个独立模块
- 使用Keys.hmacShaKeyFor替换SignatureAlgorithm.HS512进行签名
- 使用UTF-8编码处理密钥字符串
- 重构令牌创建和解析方法以适配新版本API
- 添加运行时作用域配置以优化依赖加载
2026-06-05 09:17:13 +08:00
554e20f276 feat: Spring Boot 3.5.14 → 4.0.6 升级
核心升级:
- Spring Boot 3.5.14 → 4.0.6
- Spring Framework 6.2.18 → 7.0.7
- Spring Security 6.5.10 → 7.0.5
- Flyway 11.7.2 → 11.14.1

Breaking Changes 适配:
- starter-aop → starter-aspectj (SB4 重命名)
- JDBC/Flyway/Jackson 自动配置拆分到独立模块
- DaoAuthenticationProvider 构造函数变更 (Spring Security 7.0)
- DataSourceProperties 包路径迁移

依赖调整:
- Druid boot3-starter → druid core (手动配置, 避免 SB4 不兼容)
- 新增 spring-boot-starter-quartz
- 新增 spring-boot-starter-cache
- 新增 spring-boot-flyway / spring-boot-jdbc
- PostgreSQL 42.7.4 → 42.7.10

验证: 26/26 测试通过, 1374 API端点正常
2026-06-05 08:43:30 +08:00
1d21661a78 feat: Spring Boot 3.5.14 全量升级 + 组件升级
核心升级:
- Spring Boot 2.7.18 → 3.5.14
- MyBatis Plus 3.5.5 → 3.5.16 (spring-boot3-starter)
- Springdoc 1.8.0 → 2.8.6 (OpenAPI 3)
- Flowable 6.8.0 → 7.1.0
- Druid 1.2.x → 1.2.28 (boot3-starter)
- kotlin-reflect 1.9.10 → 1.9.25

迁移适配:
- javax → jakarta 命名空间 (620+ 文件)
- Swagger 注解迁移到 OpenAPI 3 (@Tag/@Schema/@Operation/@Parameter)
- Spring Security 6.2 适配 (antMatchers→requestMatchers, EnableMethodSecurity)
- Druid 包名迁移 (boot→boot3)
- Redis 配置路径迁移 (spring.redis→spring.data.redis)
- Flyway 适配 (flyway-database-postgresql)
- Flowable 7.x 适配 (MULE_TASK_IMAGE 移除)

修复:
- spring-boot-maven-plugin 2.5.15→3.5.14 (SPI服务发现失效)
- mybatis-plus-boot-starter 3.5.5→3.5.16 (kotlin-reflect+fastjson2冲突)
- Flowable database-schema-update 启用自动建表

验证: 23/23 测试通过, 1374 API端点正常
2026-06-04 22:39:49 +08:00
Ranyunqiao
b8d719429d bug 573 578 584 2026-06-04 17:36:48 +08:00
0eaf133a8d feat(layout): 实现标签页视图按用户持久化存储
- 引入用户模块以支持用户标识获取
- 修改标签页缓存键名格式为 tags-view-visited-[userId]
- 在应用启动时自动加载当前用户的标签页视图
- 确保不同用户间的标签页视图数据隔离
- 保留匿名用户的支持逻辑
- 在设置重置时清理对应用户的缓存数据
2026-06-04 16:14:40 +08:00
dc67c00d20 refactor(ui): 更新组件属性以符合新版本规范
- 将所有组件中的 append-to-body 属性替换为 teleported
- 为 el-radio 和 el-checkbox 组件添加正确的 value 属性
- 移除已弃用的 highlight-current-row 属性
- 为 vxe-table 添加 row-config 配置替代旧的高亮设置
- 更新 el-checkbox 的 true-value 属性值
- 修改 el-button 类型从 text 到 link 以匹配设计系统
2026-06-04 16:04:17 +08:00
03d03649df refactor(layout): 重构顶部菜单导航实现逻辑
- 修改Settings组件中的导航类型监听逻辑,修正响应式值访问方式
- 重写TopBar组件的菜单渲染结构,实现更灵活的子菜单展示
- 添加菜单选择事件处理器,支持多种路由跳转模式
- 优化菜单激活状态计算逻辑,改进侧边栏路由过滤机制
- 调整样式布局,适配顶部菜单与内容区域的定位关系
- 移除旧的SidebarItem组件引用,简化代码结构
2026-06-04 15:07:38 +08:00
1e76eb005d chore: 清理 176 个过时 SQL 文件
删除内容:
- sql/ 目录: 158 个历史迁移记录、bug 修复脚本、测试数据
- openhis-server-new/sql/: 16 个散落 SQL 文件
- resources/sql/: 2 个会诊相关脚本

保留内容:
- db/migration/V1__baseline_marker.sql (Flyway 基线)

原因: 已引入 Flyway 数据库迁移管理,散落的 SQL 文件不再需要
所有新的 DDL 变更通过 db/migration/V{n}__xxx.sql 管理
2026-06-04 14:57:14 +08:00
4bd20ca0f0 feat(layout): 优化头部通知组件并实现混合菜单布局
- 重构 HeaderNotice 组件样式,移除外层容器类名并调整图标尺寸
- 将消息通知组件从左侧移动到右侧菜单区域
- 添加 TopBar 组件支持混合菜单和顶部菜单模式
- 实现动态侧边栏显示逻辑,根据导航类型控制侧边栏显示
- 在 Settings 组件中完善菜单导航设置的逻辑判断
- 优化通知轮询机制,添加定时检查新通知功能
- 实现浏览器通知提醒功能,新消息时显示 toast 提示
- 调整权限管理中的路由处理逻辑,确保菜单正常加载
2026-06-04 14:52:05 +08:00
56ec755cf3 docs: 新增 Flyway 使用指南 + 铁律
- 新增 docs/FLYWAY_USAGE_GUIDE.md (326行完整使用指南)
- AGENTS.md 新增铁律: 数据库变更必须通过 Flyway 迁移
  - 禁止直接执行 DDL 而不创建迁移文件
  - 禁止修改已执行的迁移文件
  - 新表必须包含租户/审计/软删除字段
2026-06-04 14:46:37 +08:00
b5d838c509 chore(deps): 引入 Flyway 数据库迁移管理
新增内容:
- 添加 flyway-core 依赖 (Spring Boot 2.7 管理版本 8.5.x)
- 新增 FlywayConfig.java — 适配动态数据源,手动指定主数据源
- 排除 FlywayAutoConfiguration,使用自定义配置
- application-dev.yml 添加 spring.flyway 配置
  - baseline-on-migrate: true (对现有表建立基线)
  - baseline-version: 0
  - locations: classpath:db/migration
- 新增 db/migration/V1__baseline_marker.sql 基线标记
- 新增 db/migration/README.md 使用说明

验证结果:
-  flyway_schema_history 表已创建
-  基线 (version=0) 已建立
-  V1 迁移已执行
-  服务正常启动

使用方式:
后续新增表或修改表结构,在 db/migration/ 创建 V2__xxx.sql,
V3__xxx.sql 等文件,启动时 Flyway 自动执行
2026-06-04 14:37:54 +08:00
1ab6193f5f Merge remote-tracking branch 'origin/develop' into develop 2026-06-04 14:13:51 +08:00
b9856d3ce6 feat(notice): 添加公告详情查看功能并优化通知面板界面
- 在后端控制器中新增公开接口获取公告详情,支持状态检查和已读标记
- 在前端API模块中添加获取公共公告详情的方法
- 更新通知面板组件导入新的公共公告API方法
- 重构头部通知组件实现内联查看详情模式,移除独立详情弹窗
- 优化通知面板UI界面,调整布局样式和交互体验
- 将原有的Navbar中的通知弹窗替换为新的HeaderNotice组件
- 移除旧的通知相关代码和样式,精简组件结构
2026-06-04 14:13:32 +08:00
d51278d738 fix(security): 更新 Security 白名单支持 springdoc 路径
- /swagger-ui.html, /swagger-resources/**, /webjars/**, /*/api-docs
+ /swagger-ui/**, /swagger-ui.html, /v3/api-docs/**, /druid/**
2026-06-04 14:06:49 +08:00
e84455da51 chore(deps): Swagger springfox → Springdoc OpenAPI 1.8.0
迁移内容:
- 移除 springfox-boot-starter:3.0.0 (已停维, 与 Spring Boot 2.7 不兼容)
- 新增 springdoc-openapi-ui:1.8.0 (OpenAPI 3.0, 兼容 Spring Boot 2.7)
- 重写 SwaggerConfig.java → 使用 OpenAPI bean + SecurityScheme
- 移除 ResourcesConfig 中 springfox-swagger-ui 资源映射
- 移除 ISchedulePoolService 中未使用的 io.swagger.models.auth.In import
- application.yml: springfox 配置 → springdoc 配置

验证结果:
-  Swagger UI 页面 HTTP 200
-  OpenAPI JSON 正常 (1373 个 API)
-  登录/分页/路由接口正常
-  71 个 @ApiOperation 注解兼容无需修改
2026-06-04 13:59:46 +08:00
dbe146725a chore(deps): Spring Boot 2.5.15→2.7.18 + MyBatis Plus 3.5.5→3.5.16
升级内容:
- Spring Boot 2.5.15 → 2.7.18 (含 Spring Security 5.7, Tomcat 9.0.96)
- MyBatis Plus 3.5.5 → 3.5.16 (含 mybatis-plus-jsqlparser 拆分模块)
- JSqlParser 4.5 → 5.2 (MyBatis Plus 3.5.9+ 要求)
- PageHelper 1.4.7 → 2.1.1 (兼容 JSqlParser 5.x)
- mysql:mysql-connector-java → com.mysql:mysql-connector-j (Spring Boot 2.7 BOM 变更)

兼容性修复:
- FieldStrategy.IGNORED → FieldStrategy.NEVER (3.5.16 重命名)
- ScanOptionsBuilder → ScanOptions.scanOptions() 工厂方法
- saveOrUpdate(entity, wrapper) → saveOrUpdate(entity) (wrapper 签名移除)
- PermitAllUrlProperties: getBean(class) → getBean(name,class) + null 检查
- application.yml: 添加 spring.mvc.pathmatch.matching-strategy=ant-path-matcher
- application.yml: 禁用 springfox (与 Spring Boot 2.7 不兼容)

验证结果:
-  mvn clean package -DskipTests BUILD SUCCESS
-  登录接口 HTTP 200
-  分页查询 (数据字典 326 条, 用户 84 条)
-  路由信息 (22 个顶级菜单)
-  流程引擎 (Flowable) 正常初始化
2026-06-04 13:35:14 +08:00
bb7eb2eca7 Merge remote-tracking branch 'origin/develop' into develop 2026-06-04 13:34:13 +08:00