基于Spring Boot 2.2.7 + MyBatis-Plus + MySQL 8.0 + Spring Security + JWT的医学影像智能质控系统后端已完成核心功能开发。
目录: src/main/java/com/zskk/qconline/modules/auth/
AuthController.java: 认证控制器
POST /api/auth/login - 用户登录POST /api/auth/logout - 用户登出GET /api/auth/userInfo - 获取当前用户信息LoginVO.java: 登录请求对象
LoginDTO.java: 登录响应对象
技术要点:
目录: src/main/java/com/zskk/qconline/modules/pacs/
PacsController.java: PACS数据接收控制器
POST /api/pacs/study - 接收检查数据POST /api/pacs/report - 接收报告数据StudyDataDTO.java: PACS数据传输对象
PacsDataService.java: PACS数据处理服务
PacsDataServiceImpl.java: 服务实现
功能说明:
目录: src/main/java/com/zskk/qconline/modules/qc/engine/
notEmpty, notNull, equals, in, >=, <=, >, <规则示例:
{
"operator": ">=",
"value": 10,
"dataType": "number"
}
目录: src/main/java/com/zskk/qconline/modules/qc/task/
QcTaskExecutor.java: 异步任务执行器
QcTaskService.java: 任务管理服务
执行流程:
目录: src/main/java/com/zskk/qconline/modules/qc/preset/
配置说明:
qc_preset_config表读取配置目录: src/main/java/com/zskk/qconline/modules/qc/ai/
aiImageQc() - AI图像质控(评分0-100)aiReportQc() - AI报告质控(评分0-100)aiComprehensiveQc() - AI综合质控generateAiQcReport() - 生成AI质控报告评分逻辑:
目录: src/main/java/com/zskk/qconline/modules/qc/controller/
POST /api/qc/task/create - 创建并执行任务GET /api/qc/task/progress/{taskId} - 查询任务进度GET /api/qc/task/list - 查询任务列表GET /api/qc/task/detail/{taskId} - 查询任务详情POST /api/qc/task/cancel/{taskId} - 取消任务相关DTO:
GET /api/qc/result/list - 查询结果列表GET /api/qc/result/detail/{resultId} - 查询结果详情GET /api/qc/result/statistics/{taskId} - 查询结果统计GET /api/qc/result/export/{taskId} - 导出结果(待开发)相关DTO:
目录: src/main/java/com/zskk/qconline/modules/patient/
GET /api/patient/list - 查询患者列表GET /api/patient/study/list - 查询检查列表GET /api/patient/study/detail/{studyInstanceUid} - 查询检查详情GET /api/patient/study/viewerUrl/{studyInstanceUid} - 获取阅片器URLGET /api/patient/report/list - 查询报告列表相关DTO:
阅片器URL格式:
https://ppacsview.pacsonline.cn/#/pc
?studyurl=https%3A%2F%2Fquery.pacsonline.cn%2Fquery%2F
&study_id={studyInstanceUid}
&node_type=1
&version=V1.2.0.0
目录: src/main/java/com/zskk/qconline/modules/system/
GET /api/system/institution/tree - 获取机构树GET /api/system/menu/tree - 获取菜单树相关DTO:
目录: src/main/java/com/zskk/qconline/config/
AsyncConfig.java: 异步任务配置
qcTaskExecutorDataPermissionInterceptor.java: 数据权限拦截器
src/main/java/com/zskk/qconline/
├── modules/
│ ├── auth/ # 认证授权模块
│ │ ├── controller/
│ │ │ └── AuthController.java
│ │ ├── dto/
│ │ │ └── LoginDTO.java
│ │ └── vo/
│ │ └── LoginVO.java
│ │
│ ├── pacs/ # PACS数据接收模块
│ │ ├── controller/
│ │ │ └── PacsController.java
│ │ ├── dto/
│ │ │ └── StudyDataDTO.java
│ │ └── service/
│ │ ├── PacsDataService.java
│ │ └── impl/
│ │ └── PacsDataServiceImpl.java
│ │
│ ├── qc/ # 质控核心模块
│ │ ├── engine/ # 质控引擎
│ │ │ ├── QcRuleEngine.java
│ │ │ └── QcFactorChecker.java
│ │ ├── task/ # 任务执行
��� │ │ ├── QcTaskExecutor.java
│ │ │ └── QcTaskService.java
│ │ ├── preset/ # 预制结果
│ │ │ └── PresetResultService.java
│ │ ├── ai/ # AI质控
│ │ │ └── AiQcService.java
│ │ ├── controller/ # 控制器
│ │ │ ├── QcTaskManageController.java
│ │ │ └── QcResultController.java
│ │ └── dto/ # 数据传输对象
│ │ ├── QcTaskCreateDTO.java
│ │ ├── QcTaskProgressDTO.java
│ │ ├── QcResultDetailDTO.java
│ │ └── QcResultStatisticsDTO.java
│ │
│ ├── patient/ # 患者数据模块
│ │ ├── controller/
│ │ │ └── PatientQueryController.java
│ │ └── dto/
│ │ └── StudyDetailDTO.java
│ │
│ ├── system/ # 系统管理模块
│ │ ├── controller/
│ │ │ └── SystemController.java
│ │ └── dto/
│ │ ├── InstitutionTreeDTO.java
│ │ └── MenuTreeDTO.java
│ │
│ ├── entity/ # 实体类(代码生成器生成)
│ ├── mapper/ # Mapper接口(代码生成器生成)
│ └── service/ # 基础服务(代码生成器生成)
│
├── config/ # 配置类
│ ├── AsyncConfig.java
│ ├── DataPermissionInterceptor.java
│ ├── SecurityConfig.java
│ └── RedisConfig.java
│
├── security/ # 安全认证(已有)
│ ├── JwtAuthenticationFilter.java
│ ├── LoginUser.java
│ ├── MD5WithSaltPasswordEncoder.java
│ └── UserDetailsServiceImpl.java
│
├── utils/ # 工具类(已有)
│ ├── JwtUtil.java
│ └── AesEcbUtil.java
│
├── component/ # 通用组件(已有)
│ └── response/
│ └── RestResult.java
│
└── QconlineApplication.java # 启动类
@Async注解实现异步执行@Transactional注解qc:task:progress:{taskId})# 执行SQL脚本
mysql -u root -p < doc/sql/init.sql
mysql -u root -p < doc/sql/menu_data.sql
mysql -u root -p < doc/sql/qc_factor_data.sql
编辑 src/main/resources/application.yml:
spring:
datasource:
password: 你的密码
redis:
password: 你的密码(如有)
# 在IDE中运行
CodeGenerator.main()
# 或使用Maven
mvn exec:java -Dexec.mainClass="com.zskk.qconline.generator.CodeGenerator"
# 方式1:IDE中运行
运行 QconlineApplication.main()
# 方式2:Maven
mvn spring-boot:run
# 方式3:打包后运行
mvn clean package
java -jar target/QConline-1.0.0-SNAPSHOT.jar
http://localhost:8080/swagger-ui.html
adminadmin123如有问题或需要进一步的代码实现,请随时提出!
项目状态:✅ 后端核心功能已完成,等待前端开发
生成时间:2025-12-25 版本:v1.0.0