parent
9d20cab1be
commit
614035325e
7 changed files with 225 additions and 488 deletions
@ -0,0 +1,94 @@ |
||||
# 后端 - SpringBlade(Spring Boot + Cloud) |
||||
|
||||
**技术栈:** Spring Boot 2.2.13, Spring Cloud Hoxton.SR11, MyBatis-Plus, Flowable 6.4.2, XXL-Job |
||||
**Java:** 1.8 | **构建:** Maven 3.8+ | **注册中心:** Nacos | **部署:** Docker(Harbor: 192.168.0.106) |
||||
|
||||
## 目录结构 |
||||
|
||||
``` |
||||
project_husbandry_back/ |
||||
├── lab-auth/ # 认证授权(OAuth2/JWT) |
||||
├── lab-common/ # 公共模块(Redis 缓存、配置、常量、工具类、启动类) |
||||
├── lab-gateway/ # Spring Cloud Gateway(路由、过滤器) |
||||
├── lab-ops/ # 运维模块(11 个子模块) |
||||
│ ├── lab-admin/ # 管理后台 |
||||
│ ├── lab-develop/ # 开发工具/代码生成器 |
||||
│ ├── lab-log/ # 审计日志 |
||||
│ ├── lab-mail/ # 邮件服务 |
||||
│ ├── lab-office/ # Office 文档处理 |
||||
│ ├── lab-report/ # 报表引擎 |
||||
│ ├── lab-resource/ # 文件/OSS 资源管理 |
||||
│ ├── lab-swagger/ # Swagger API 文档聚合 |
||||
│ ├── lab-turbine/ # Hystrix 监控面板 |
||||
│ ├── lab-xxljob/ # XXL-Job 分布式任务执行器 |
||||
│ └── lab-xxljob-admin/ # XXL-Job 管理后台 |
||||
├── lab-ops-api/ # 运维模块 Feign 客户端接口 |
||||
├── lab-plugin/lab-workflow/ # Flowable 工作流引擎 |
||||
├── lab-service/ # 业务服务模块 |
||||
│ ├── lab-capital/ # 资金/财务 |
||||
│ ├── lab-desk/ # 工作台/通知 |
||||
│ ├── lab-file/ # 文件管理 |
||||
│ ├── lab-iot/ # IoT 集成(已注释,未启用) |
||||
│ ├── lab-lims/ # LIMS 核心模块(最大模块,250+ Java 文件) |
||||
│ ├── lab-monitor/ # 监控 |
||||
│ ├── lab-repair/ # 维修管理 |
||||
│ ├── lab-system/ # 系统设置 |
||||
│ └── lab-user/ # 用户管理 |
||||
├── lab-service-api/ # 业务服务 Feign 客户端接口 |
||||
└── script/ # Docker Compose、SQL 迁移脚本、fatjar 脚本 |
||||
``` |
||||
|
||||
## 分层模式(每个模块) |
||||
|
||||
`controller/` → `service/`(接口)→ `service/impl/` → `mapper/`(MyBatis-Plus) |
||||
额外包: `entity/`, `vo/`, `dto/`, `wrapper/`, `feign/`, `excel/`, `utils/` |
||||
|
||||
## 快速定位 |
||||
|
||||
| 任务 | 路径模式 | |
||||
|------|---------| |
||||
| REST 控制器 | `lab-service/*/src/.../controller/*Controller.java` | |
||||
| 业务逻辑 | `lab-service/*/src/.../service/impl/*ServiceImpl.java` | |
||||
| 数据库 Mapper | `lab-service/*/src/.../mapper/*Mapper.java` | |
||||
| 实体类 | `lab-service/*/src/.../entity/*.java` / `lab-service-api/*/src/.../entity/*.java` | |
||||
| Feign 客户端 | `lab-service-api/*/src/.../feign/*Client.java` | |
||||
| 视图对象 | `lab-service-api/*/src/.../vo/*VO.java` | |
||||
| Excel 导出 | `lab-service/*/src/.../excel/*.java` | |
||||
|
||||
## 约定规范 |
||||
|
||||
- **包结构**: `org.springblade.{模块}.{领域}` — 如 `org.springblade.lims.capital` |
||||
- **API 版本**: 通过 `bladex.project.version` 管理(当前 2.8.1.RELEASE) |
||||
- **配置**: 每个模块有自己的 `application-{profile}.yml`,通过 Nacos bootstrap.yml 加载 |
||||
- **服务间调用**: 通过 `lab-*-api` 模块的 Feign 客户端实现 |
||||
- **认证**: JWT 令牌,网关层校验,通过请求头传播 |
||||
- **数据库**: MySQL + MyBatis-Plus(自动填充 createTime/updateTime) |
||||
- **日志**: SLF4J + Logback |
||||
- **Docker**: 每个可部署模块都有独立的 Dockerfile |
||||
|
||||
## 反模式 |
||||
|
||||
- 生产模块无单元测试(仅有 TestController/TestValue 空壳) |
||||
- `lab-iot` 和 `lab-plugin` 在根 pom 中被注释掉 |
||||
- `.idea/` 目录提交到了版本控制 |
||||
|
||||
## 常用命令 |
||||
|
||||
```bash |
||||
# 构建整个后端(跳过测试) |
||||
mvn clean install -Dmaven.test.skip=true |
||||
|
||||
# 运行某个模块 |
||||
cd lab-gateway && mvn spring-boot:run |
||||
|
||||
# Docker 打包 |
||||
mvn clean package -Dmaven.test.skip=true -Pprod |
||||
``` |
||||
|
||||
## 备注 |
||||
|
||||
- 最大模块: `lab-lims`(横跨 controller/service/mapper/entity,约 250+ Java 文件) |
||||
- `lab-common` 被所有模块共享 — 修改需谨慎 |
||||
- Docker 镜像标签格式: `${docker.registry.url}/${docker.namespace}/${artifactId}:${version}` |
||||
- 镜像仓库: 192.168.0.106:2375(Harbor,命名空间: lab) |
||||
- `lab-iot` 和 `lab-plugin` 在根 pom.xml 中被注释掉 |
||||
@ -0,0 +1,38 @@ |
||||
# lab-ops — 运维/基础设施模块 |
||||
|
||||
**路径:** `project_husbandry_back/lab-ops/` |
||||
**作用:** 11 个运维/基础设施 Maven 子模块 |
||||
|
||||
## 模块清单 |
||||
|
||||
| 模块 | 包名 | 用途 | |
||||
|------|------|------| |
||||
| `lab-admin` | `org.springblade.admin` | 管理控制台/仪表盘 | |
||||
| `lab-develop` | `org.springblade.develop` | 开发工具/代码生成器 | |
||||
| `lab-log` | `org.springblade.log` | 审计日志 | |
||||
| `lab-mail` | `org.springblade.mail` | 邮件发送服务 | |
||||
| `lab-office` | `org.springblade.office` | Office 文档处理 | |
||||
| `lab-report` | `org.springblade.report` | 报表引擎 | |
||||
| `lab-resource` | `org.springblade.resource` | 文件/OSS 资源管理 | |
||||
| `lab-swagger` | `org.springblade.swagger` | Swagger API 文档聚合 | |
||||
| `lab-turbine` | `org.springblade.turbine` | Hystrix 监控面板 | |
||||
| `lab-xxljob` | `org.springblade.xxljob` | XXL-Job 分布式任务执行器 | |
||||
| `lab-xxljob-admin` | `com.xxl.job.admin` | XXL-Job 管理后台(独立应用) | |
||||
|
||||
## 依赖关系 |
||||
|
||||
- `lab-ops-api/` 提供 `lab-mail-api`、`lab-resource-api` 的 Feign 客户端接口 |
||||
- `lab-xxljob-admin` 是嵌入的 XXL-Job 管理后台(非 SpringBlade 代码) |
||||
|
||||
## 约定规范 |
||||
|
||||
- **标准 SpringBlade 布局**: 每个模块都是 controller → service → mapper → entity |
||||
- **XXL-Job 内嵌**: 完整集成了 XXL-Job 管理后台作为子模块 |
||||
- **Swagger 聚合**: `lab-swagger` 汇总所有模块的 API |
||||
- **资源管理**: 文件上传/下载、OSS 集成 |
||||
|
||||
## 备注 |
||||
|
||||
- `lab-xxljob-admin` 包含大量静态资源(adminlte、codemirror 等)— 运维模块中文件数最多的 |
||||
- `lab-turbine` 服务于 Hystrix 监控(Spring Cloud Netflix 栈) |
||||
- 大部分模块是基础设施的轻量封装,业务逻辑较少 |
||||
@ -1,162 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> |
||||
<component name="FacetManager"> |
||||
<facet type="Spring" name="Spring"> |
||||
<configuration /> |
||||
</facet> |
||||
<facet type="web" name="Web"> |
||||
<configuration> |
||||
<webroots /> |
||||
</configuration> |
||||
</facet> |
||||
</component> |
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> |
||||
<output url="file://$MODULE_DIR$/target/classes" /> |
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" /> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/target" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-mybatis:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-auth:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-tool:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-launch:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.22.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:1.0.2.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:1.1.4.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.servlet:jakarta.servlet-api:4.0.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:30.0-jre" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.5.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-jwt:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.2.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-impl:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-jackson:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-tenant:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-cache:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.3.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.7" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-configuration:commons-configuration:1.8" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-lang:commons-lang:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.19" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.1.7" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springblade:blade-core-auto:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.18" level="project" /> |
||||
</component> |
||||
</module> |
||||
@ -0,0 +1,42 @@ |
||||
# lab-lims-api — LIMS API 接口 |
||||
|
||||
**路径:** `project_husbandry_back/lab-service-api/lab-lims-api/` |
||||
**包名:** `org.springblade.lims.*` |
||||
**作用:** Feign 客户端接口 + 服务间调用共享 DTO |
||||
|
||||
## 包结构 |
||||
|
||||
``` |
||||
org.springblade.lims/ |
||||
├── ao/ # 应用对象(2 个文件) |
||||
├── Cache/ # 缓存常量(1 个文件) |
||||
├── capital/ # 资金/财务 DTO(49 个文件) |
||||
├── entry/ # 实体定义(51 个文件) |
||||
└── feign/ # Feign 客户端接口(1 个文件) |
||||
``` |
||||
|
||||
## 关键包说明 |
||||
|
||||
| 包 | 文件数 | 用途 | |
||||
|----|--------|------| |
||||
| `entry/` | 51 | 共享实体类(JPA/MyBatis-Plus 映射) | |
||||
| `capital/` | 49 | 资金领域 DTO(VO、DTO、AO) | |
||||
| `feign/` | 1 | ILimsClient — 服务间调用的 Feign 接口 | |
||||
| `ao/` | 2 | 应用层 DTO | |
||||
| `Cache/` | 1 | 缓存键常量 | |
||||
|
||||
## 约定规范 |
||||
|
||||
- **单一 Feign 接口**: 所有 LIMS Feign 端点定义在 1 个客户端接口中 |
||||
- **实体共享**: `entry/` 包含跨服务共享的实体(不在实现模块中重复定义) |
||||
- **资金子域**: 拥有独立子包,49 个文件 — 重要的子领域 |
||||
- **无业务逻辑**: 纯 API 契约模块,不含 service/impl |
||||
|
||||
## 快速定位 |
||||
|
||||
| 任务 | 路径 | |
||||
|------|------| |
||||
| 查找实体定义 | `entry/*.java` | |
||||
| 查找资金模块 VO/DTO | `capital/vo/*.java` | |
||||
| 查找 Feign API 契约 | `feign/ILimsClient.java` | |
||||
| 添加跨服务 DTO | 在对应包中创建,然后同步 lab-lims 实现模块 | |
||||
@ -1,163 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> |
||||
<component name="FacetManager"> |
||||
<facet type="web" name="Web"> |
||||
<configuration> |
||||
<webroots /> |
||||
</configuration> |
||||
</facet> |
||||
<facet type="Spring" name="Spring"> |
||||
<configuration /> |
||||
</facet> |
||||
</component> |
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> |
||||
<output url="file://$MODULE_DIR$/target/classes" /> |
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" /> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/target" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-cache:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-tool:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-launch:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.22.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:1.0.2.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:1.1.4.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.servlet:jakarta.servlet-api:4.0.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:30.0-jre" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.5.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-auth:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-jwt:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.2.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-impl:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-jackson:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-mybatis:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-tenant:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.3.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.7" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-configuration:commons-configuration:1.8" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-lang:commons-lang:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.19" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.1.7" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springblade:blade-core-auto:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.18" level="project" /> |
||||
</component> |
||||
</module> |
||||
@ -1,163 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> |
||||
<component name="FacetManager"> |
||||
<facet type="Spring" name="Spring"> |
||||
<configuration /> |
||||
</facet> |
||||
<facet type="web" name="Web"> |
||||
<configuration> |
||||
<webroots /> |
||||
</configuration> |
||||
</facet> |
||||
</component> |
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> |
||||
<output url="file://$MODULE_DIR$/target/classes" /> |
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" /> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/target" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-cache:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-tool:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-core-launch:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.22.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.3.8.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:1.0.2.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.0.33.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:1.1.4.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.servlet:jakarta.servlet-api:4.0.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:30.0-jre" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.5.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.6.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-auth:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-jwt:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.2.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.58.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-impl:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-jackson:0.11.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-mybatis:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springblade:blade-starter-tenant:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.3.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.13.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" /> |
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.2.8.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.12" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.7" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-configuration:commons-configuration:1.8" level="project" /> |
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-lang:commons-lang:2.6" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.19" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.10.5" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.1.7" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.12.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" /> |
||||
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" /> |
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" /> |
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springblade:blade-core-auto:2.8.1.RELEASE" level="project" /> |
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.18" level="project" /> |
||||
</component> |
||||
</module> |
||||
@ -0,0 +1,51 @@ |
||||
# lab-lims — LIMS 核心模块 |
||||
|
||||
**路径:** `project_husbandry_back/lab-service/lab-lims/` |
||||
**包名:** `org.springblade.lims.*` |
||||
**规模:** 后端最大模块(约 250+ Java 源文件) |
||||
|
||||
## 包结构 |
||||
|
||||
``` |
||||
org.springblade.lims/ |
||||
├── api/ # 内部 API DTO(3 个文件) |
||||
├── config/ # 模块级配置(2 个文件) |
||||
├── controller/ # REST 接口(47 个控制器) |
||||
├── demo/ # 演示/测试桩(2 个文件) |
||||
├── excel/ # Excel 导出处理器(13 个文件) |
||||
├── feign/ # Feign 客户端实现(1 个文件) |
||||
├── mapper/ # MyBatis-Plus Mapper(46 个文件) |
||||
├── Scheduled/ # 定时任务(1 个文件) |
||||
├── service/ # 业务逻辑(92 个文件) |
||||
├── tools/ # 工具类(1 个文件) |
||||
└── utils/ # 工具类(15 个文件) |
||||
``` |
||||
|
||||
## 领域控制器分类 |
||||
|
||||
| 领域 | 关键控制器 | |
||||
|------|-----------| |
||||
| 样品/委托 | Entrust、HandleSample、RetentionSample、Simple、SimpleRel、SimpleSet、LsReservedSample | |
||||
| 检测/检验 | Examine、ExamineItem、ExamineResult、ExamineTask、ExamineBasis、SimpleDoExamineLog | |
||||
| 安全/危化品 | DangerApply、DangerApplyLog、DangerMoveLog、DangerRecoveryLog、DangerStorage | |
||||
| 仪器设备 | Instrument、InstrumentMaintLog、InstrumentUseLog、TemperatureControl | |
||||
| 试剂/实验动物 | Reagent、ReagentUseLog、ExperimentalAnimal | |
||||
| 质量/标准 | QualityStandard、DetermineFormula | |
||||
| 合同/维修 | Contract、ContractSample、RepairApplication、ScrapApplication | |
||||
| 环境 | EnvDict、EnvLog、DisinfectLog、SewageDischargeLog | |
||||
| 模板/蓝图 | Template、TaskBlueprint、LsTemplateLog | |
||||
| 日志/审计 | LsAuditTrailLog、LsEventLog、LsTemperatureHumidityLog | |
||||
| 统计/大屏 | LsDataStatistic、LargeScreen | |
||||
|
||||
## 约定规范 |
||||
|
||||
- **CRUD**: 标准 SpringBlade 模式 controller → service(接口)→ service/impl → mapper |
||||
- **Excel**: 导出处理器放在 `excel/` 包下,每个实体对应一个 |
||||
- **Mapper**: MyBatis-Plus BaseMapper 扩展,XML 映射文件在 resources 中 |
||||
- **内部 API**: DTO 放在 `api/` 包中,仅供模块内部使用 |
||||
- **定时任务**: `Scheduled` 包存放 @Scheduled 任务(不在 service/ 中) |
||||
|
||||
## 反模式 |
||||
|
||||
- 无单元测试(仅有 `demo/` 空壳) |
||||
- `Scheduled` 包只有单个类 — 功能可能不完整 |
||||
Loading…
Reference in new issue