# edms-service **Repository Path**: ai_alp/edms-service ## Basic Information - **Project Name**: edms-service - **Description**: 专家库管理系统 (Expert database management system),提供数据支撑能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-16 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # edms-Service 专家库管理 ## 项目概述 edms-Service 是一个基于Spring Boot的专家库管理系统,采用微服务架构设计,提供专家库管理、会议管理、用户管理等核心功能。项目使用Maven多模块管理,遵循分层架构设计原则。 ## 技术栈 - **Java版本**: 17 - **构建工具**: Maven 3.x - **框架**: Spring Boot - **数据库**: MySQL 8.0 - **数据库连接池**: Druid - **ORM框架**: MyBatis-Plus - **API文档**: Swagger - **日志**: Lombok + SLF4J - **容器编排**: Kubernetes Client - **文件存储**: 本地文件系统 - **认证授权**: OAuth2 ## 项目结构 ``` edms-service/ ├── pom.xml # 父级POM文件 ├── .gitignore # Git忽略文件 ├── config/ # 配置文件目录 │ ├── application.yml # 主配置文件 │ ├── application-dev.yml # 开发环境配置 │ └── application-prod.yml # 生产环境配置 ├── doc/ # 文档目录 │ ├── htie-database.sql # 数据库脚本 │ └── 提示词-数据库.md # 项目数据库文档 ├── edms-main/ # 主启动模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── HighlyTrustApplication.java ├── edms-framework/ # 框架核心模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── framework/ │ ├── base/ # 基础类 │ ├── config/ # 配置类 │ ├── constant/ # 常量 │ ├── exception/ # 异常处理 │ ├── global/ # 全局处理 │ ├── handler/ # 处理器 │ ├── interceptor/ # 拦截器 │ ├── model/ # 模型类 │ └── properties/ # 属性配置 ├── edms-db/ # 数据库模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── db/ │ ├── dao/ # 数据访问层 │ ├── entity/ # 实体类 │ └── mapper/ # MyBatis映射器 ├── edms-sso/ # 单点登录模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── sso/ │ ├── controller/ │ ├── model/ │ └── service/ ├── edms-manage/ # 管理模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── manage/ ├── edms-meeting/ # 会议管理模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── meeting/ ├── edms-user/ # 用户管理模块 │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── alp/ │ └── starcode/ │ └── stock/ │ └── user/ └── edms-generate/ # 代码生成模块 ├── pom.xml └── src/ └── main/ └── java/ └── alp/ └── starcode/ └── stock/ └── db/ └── MyBatisPlusEntityGenerate.java ``` ## 模块说明 ### 核心模块 | 模块名称 | 模块描述 | 主要功能 | |---------|---------|---------| | **edms-main** | 主启动模块 | 应用程序入口,包含主启动类和配置 | | **edms-framework** | 框架核心模块 | 提供基础框架功能,包含BaseController、BaseService等基类 | | **edms-db** | 数据库模块 | 数据库相关配置、实体类、DAO层和Mapper | ### 业务模块 | 模块名称 | 模块描述 | 主要功能 | |---------|---------|---------| | **edms-sso** | 单点登录模块 | 用户认证、登录、登出等SSO功能 | | **edms-manage** | 管理模块 | 系统管理相关功能 | | **edms-meeting** | 会议管理模块 | 会议相关功能管理 | | **edms-user** | 用户管理模块 | 用户信息管理功能 | | **edms-generate** | 代码生成模块 | MyBatis-Plus实体类生成工具 | ## 包结构规范 ### 命名规范 - **包名**: `alp.starcode.edms.{模块名}` - **Controller类**: `{模块名首字母大写}Controller` - **Service类**: `{模块名首字母大写}Service` ### 目录结构 每个业务模块都遵循以下目录结构: ``` src/main/java/alp/starcode/stock/{模块名}/ ├── controller/ # 控制层 │ └── {模块名首字母大写}Controller.java ├── service/ # 服务层 │ └── {模块名首字母大写}Service.java └── model/ # 模型层 └── vo/ # 视图对象 └── {模块名首字母大写}Vo.java ``` ## 依赖关系 ### 模块依赖 - 所有业务模块都依赖 `edms-framework` 模块 - `edms-main` 模块依赖所有业务模块 - `edms-framework` 模块提供基础框架功能 ### 版本管理 项目使用统一的版本管理: - `htie-db.version`: 1.0.0 - `htie-framework.version`: 1.0.0 - `htie-admin.version`: 1.0.0 - `htie-generate.version`: 1.0.0 ### 第三方依赖 - **Kubernetes Client**: 18.0.0 (兼容 Kubernetes 1.23+) - **MySQL Driver**: 8.0 - **Druid**: 数据库连接池 - **MyBatis-Plus**: ORM框架 ## 开发规范 ### 代码规范 1. **注解使用**: 统一使用Swagger注解进行API文档化 2. **继承关系**: Controller继承BaseController,Service继承BaseService 3. **日志记录**: 使用Lombok的@Slf4j注解进行日志记录 4. **参数验证**: 使用@Validated注解进行参数验证 ### API设计规范 1. **URL命名**: 使用模块名作为基础路径 2. **方法命名**: 使用动词+名词的方式,如`getCloudList.do` 3. **返回格式**: 统一使用Result包装返回结果 4. **接口文档**: 使用Swagger注解进行API文档化 ## 构建和运行 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 构建命令 ```bash # 清理并编译 mvn clean compile # 打包 mvn clean package # 跳过测试打包 mvn clean package -DskipTests ``` ### 运行方式 ```bash # 开发环境运行 java -jar edms-main/target/edms-main-1.0.0.jar --spring.profiles.active=dev # 生产环境运行 java -jar edms-main/target/edms-main-1.0.0.jar --spring.profiles.active=prod ``` ## 配置说明 ### 配置文件 - `application.yml`: 主配置文件 - `application-dev.yml`: 开发环境配置 - `application-prod.yml`: 生产环境配置 ### 主要配置项 - **服务端口**: 8800 - **数据库**: MySQL 8.0 - **文件上传**: 最大4096MB - **Swagger**: 启用API文档 - **定时任务**: 启用调度功能 ### 环境切换 通过 `spring.profiles.active` 参数切换不同环境: - `dev`: 开发环境 - `prod`: 生产环境 ## 功能特性 ### 核心功能 1. **专家库管理**: 专家信息管理、分类管理 2. **会议管理**: 会议安排、会议记录 3. **用户管理**: 用户信息、权限管理 4. **单点登录**: OAuth2认证授权 5. **文件管理**: 文件上传下载、附件管理 ### 技术特性 1. **微服务架构**: 模块化设计,便于扩展 2. **数据库连接池**: 使用Druid提升性能 3. **API文档**: 自动生成Swagger文档 4. **日志管理**: 完整的操作日志记录 5. **定时任务**: 支持定时调度任务 ## 开发指南 ### 新增模块步骤 1. 在根目录创建模块文件夹 `edms-{模块名}` 2. 创建标准的Maven项目结构 3. 在根pom.xml中添加模块声明 4. 在dependencyManagement中添加版本管理 5. 创建Controller和Service类,遵循命名规范 ### 代码提交规范 - 使用有意义的提交信息 - 每次提交前进行代码格式化 - 确保所有测试通过 ## 部署说明 ### 数据库初始化 1. 创建数据库 `htie_service_db` 2. 执行 `doc/htie-database.sql` 脚本 3. 配置数据库连接信息 ### 应用部署 1. 打包应用: `mvn clean package` 2. 上传jar包到服务器 3. 配置环境变量和启动参数 4. 启动应用 ## 联系方式 - 项目维护者: liwang - 创建时间: 2025-01-07 ## 许可证 本项目采用内部许可证,仅供内部使用。