# HRMS-liubo **Repository Path**: organization-one/hrms-chenliang ## Basic Information - **Project Name**: HRMS-liubo - **Description**: 人资管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-10 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HRMS Backend HRMS 后端采用 Java 8、Spring Boot 2.7.18 和单 Maven 工程,以一个模块化单体应用运行。业务代码统一放在 `com.hrms.module` 下,公共技术能力统一放在 `com.hrms.acommon.core` 下。 ## 技术栈 - Java 8、Spring Boot 2.7.18、Spring MVC - MySQL 8.0、MyBatis-Plus 3.5.6、Druid - Redis - RocketMQ、XXL-JOB - Hibernate Validator - Lombok、Hutool、Apache Commons - Knife4j - JUnit 5、Mockito、MockMvc 项目公共能力采用 Spring Security、JWT、Redis LoginUser、RBAC、数据权限、日志和通知等方案。项目以课程学习和前后端闭环为目标,不建设生产级网关、单点登录等复杂基础设施。 ## 工程结构 ```text src/main/java/com/hrms/ ├── HrmsApplication.java ├── acommon/core/ # 无业务含义的公共技术能力 │ ├── api/ # 统一响应和分页 │ ├── config/ # 全局 Web 配置 │ ├── exception/ # 公共异常和全局异常处理 │ └── interceptor/ # RequestId 等拦截器 └── module/ # 按业务能力隔离 ├── user/ # 账号、认证、角色、菜单 ├── permission/ # 数据权限 ├── audit/ # 登录日志 ├── notification/ # 站内通知 ├── employee/ # 组织和员工 ├── workflow/ # 审批和人事异动 ├── attendance/ # 考勤和假勤 ├── salary/ # 薪资 └── task/ # XXL-JOB 定时任务 ``` 每个业务模块内部按需使用 `controller/service/service/impl/mapper/entity/dto/query/vo` 等子包。跨模块状态变化和业务结果通知使用 RocketMQ,需要立即返回结果的查询使用公开 Service 接口。 ## 环境要求 - JDK 8 - Maven 3.8+ - MySQL 8.0 - Redis 6.x 或 7.x - RocketMQ - XXL-JOB 调度中心 ## 构建和启动 在仓库根目录执行: ```bash mvn clean test mvn clean package mvn spring-boot:run ``` 各业务功能是否完成,以对应负责人的系统分析、接口联调和实际运行结果为准。 ## 公共接口契约 - API 前缀:`/api/v1` - 成功业务码:`SUCCESS` - 分页字段:`list/pageNum/pageSize/total` - 请求追踪:`X-Request-Id` - 时间戳:ISO 8601,包含时区偏移 后端整体结构以 `docs/后端架构总览.md` 为准,共同开发约定以 `docs/后端开发规范-学习项目版.md` 为准。CL 负责的项目公共能力以 `docs/CL-项目公共能力-后端系统分析说明书.md` 为专项设计依据,全员整合版用于统一模块边界和跨模块契约。 ## 项目原则 - 保持单体应用和按业务模块分包; - 简单功能优先使用 Controller、Service、Mapper 三层; - 公共认证与权限能力使用项目统一方案,业务模块保留各自的 HRMS 业务设计; - 跨模块状态事件使用 RocketMQ,定时任务统一使用 XXL-JOB; - 以完成业务闭环和团队联调为目标,不为了架构形式增加额外负担。