HarmonyHR Cloud - 企业级人力资源管理系统-自研
·
HarmonyHR Cloud - 企业级人力资源管理系统
🚀 一站式企业人力资源管理解决方案
📋 项目信息
| 项目名称 | HarmonyHR Cloud 后端 |
|---|---|
| 作者 | 全能技术师 |
| QQ号 | 2531219451 |
| Gitee | https://gitee.com/zhousir03 |
| 博客 | https://blog.csdn.net/qq_60870118?spm=1000.2115.3001.5343 |
| 创建时间 | 2025-12-05 |
| 前端项目地址 | https://gitee.com/zhousir03/harmonyhr-cloud-admin.git |
📖 项目简介
HarmonyHR Cloud 是一个功能完善的企业级人力资源管理系统,采用前后端分离架构设计。系统涵盖了人事管理、薪资管理、系统管理、统计报表等核心功能模块,为企业提供高效、便捷的人力资源管理解决方案。
核心特性
- 前后端分离架构:Vue.js + Spring Boot,开发维护更便捷
- RBAC权限控制:基于角色的访问控制,精细化权限管理
- 微服务设计:模块化设计,支持独立部署和扩展
- 消息队列:RabbitMQ异步消息处理,提升系统性能
- 实时通讯:WebSocket在线聊天,即时消息推送
- 缓存优化:Redis缓存机制,提升系统响应速度
🛠️ 技术栈
后端技术栈
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 3.2.0 | 核心框架 |
| Spring Security | - | 安全框架 |
| MyBatis | 2.1.0 | ORM框架 |
| MySQL | 8.0 | 关系型数据库 |
| Redis | - | 缓存数据库 |
| RabbitMQ | - | 消息队列 |
| Spring Cache | - | 缓存抽象 |
| WebSocket | - | 实时通讯 |
| Druid | 1.1.10 | 数据库连接池 |
| FastDFS | - | 分布式文件存储 |
| POI | 4.1.1 | Excel处理 |
| Flyway | - | 数据库版本管理 |
前端技术栈
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue.js | 2.6.10 | 前端框架 |
| Element UI | 2.12.0 | UI组件库 |
| Axios | 0.19.0 | HTTP客户端 |
| Vue Router | 3.0.3 | 路由管理 |
| Vuex | 3.1.1 | 状态管理 |
| WebSocket | - | 实时通讯 |
| Font Awesome | 4.7.0 | 图标库 |
📁 项目结构
HarmonyHR_Cloud-master/
├── HarmonyHR_Cloud-Java/ # 后端项目
│ ├── pom.xml # Maven配置文件
│ ├── src/main/java/org/example/harmonyhr_cloudjava/
│ │ ├── HarmonyHrCloudJavaApplication.java # 启动类
│ │ ├── common/ # 通用类
│ │ │ ├── RespBean.java # 统一响应结果
│ │ │ └── RespPageBean.java # 分页响应结果
│ │ ├── config/ # 配置类
│ │ │ ├── SecurityConfig.java # Spring Security配置
│ │ │ ├── MybatisPlusConfig.java # MyBatis-Plus配置
│ │ │ ├── RedisConfig.java # Redis配置
│ │ │ ├── RabbitMQConfig.java # RabbitMQ配置
│ │ │ ├── WebSocketConfig.java # WebSocket配置
│ │ │ └── CorsConfig.java # 跨域配置
│ │ ├── controller/ # 控制器层
│ │ │ ├── LoginController.java # 登录控制器
│ │ │ ├── EmployeeBasicController.java # 员工管理控制器
│ │ │ ├── SystemBasicController.java # 系统基础信息控制器
│ │ │ ├── HrController.java # HR管理控制器
│ │ │ ├── SalaryController.java # 薪资管理控制器
│ │ │ ├── MenuController.java # 菜单控制器
│ │ │ └── ChatController.java # 聊天控制器
│ │ ├── exception/ # 异常处理
│ │ │ └── GlobalExceptionHandler.java # 全局异常处理器
│ │ ├── listener/ # 消息监听器
│ │ │ └── MailReceiver.java # 邮件消息监听器
│ │ ├── mapper/ # 数据访问层
│ │ │ ├── HrMapper.java # HR Mapper
│ │ │ ├── EmployeeMapper.java # 员工Mapper
│ │ │ ├── DepartmentMapper.java # 部门Mapper
│ │ │ ├── MenuMapper.java # 菜单Mapper
│ │ │ └── ... # 其他Mapper
│ │ ├── model/ # 实体类
│ │ │ ├── Hr.java # HR用户实体
│ │ │ ├── Employee.java # 员工实体
│ │ │ ├── Department.java # 部门实体
│ │ │ ├── Position.java # 职位实体
│ │ │ ├── JobLevel.java # 职称实体
│ │ │ ├── Salary.java # 工资账套实体
│ │ │ ├── Menu.java # 菜单实体
│ │ │ ├── Role.java # 角色实体
│ │ │ └── ... # 其他实体
│ │ ├── service/ # 业务逻辑层
│ │ │ ├── HrService.java # HR服务
│ │ │ ├── EmployeeService.java # 员工服务
│ │ │ ├── DepartmentService.java # 部门服务
│ │ │ ├── MenuService.java # 菜单服务
│ │ │ └── ... # 其他服务
│ │ └── utils/ # 工具类
│ │ └── HrUtils.java # HR工具类
│ └── src/main/resources/
│ ├── application.yml # 应用配置文件
│ └── mapper/ # MyBatis XML映射
│ ├── HrMapper.xml
│ ├── EmployeeMapper.xml
│ ├── MenuMapper.xml
│ └── DepartmentMapper.xml
├── HarmonyHR_Cloud-Admin/ # 前端项目(待开发)
├── HarmonyHR_Cloud.sql # 数据库脚本
├── 虚拟机说明.md # 虚拟机环境说明
└── README.md # 项目文档
🚀 功能模块
1. 员工管理
- 员工信息管理:员工基本信息的增删改查
- 员工档案:员工详细档案管理
- 合同管理:劳动合同期限管理
- Excel导入导出:批量数据处理
2. 人事管理
- 员工资料:员工个人资料管理
- 员工奖惩:奖惩记录管理
- 员工培训:培训计划和记录
- 员工调薪:薪资调整记录
- 员工调动:岗位调动管理
3. 薪资管理
- 工资账套:工资结构配置
- 员工账套:员工工资账套绑定
- 薪资计算:自动计算月度工资
4. 统计管理
- 人事信息统计:员工数据统计分析
- 人员套账统计:薪资分布统计
- 部门统计:部门人员分布
- 职位统计:职位结构分析
5. 系统管理
- 基础信息设置:
- 部门管理(树形结构)
- 职位管理
- 职称管理
- 权限组管理
- 操作员管理:系统用户管理
- 操作日志:系统操作审计
6. 在线聊天
- 实时消息:WebSocket即时通讯
- 在线用户:在线状态显示
- 消息通知:系统消息推送
⚙️ 环境配置
运行环境要求
| 环境 | 版本要求 |
|---|---|
| JDK | 1.8+ |
| Maven | 3.6+ |
| Node.js | 12+ |
| MySQL | 8.0 |
| Redis | 6.0+ |
| RabbitMQ | 3.8+ |
虚拟机环境配置(localhost)
MySQL 配置
Host: localhost
Port: 3306
Username: root
Password: 123
Database: harmonyhr_cloud
Redis 配置
Host: localhost
Port: 6379
Password: 123321
RabbitMQ 配置
Host: localhost
Port: 5672
Username: localhost
Password: 123321
Management Console: http://localhost:15672
📦 部署指南
1. 数据库初始化
# 登录MySQL
mysql -h localhost -u root -p123
# 创建数据库
CREATE DATABASE harmonyhr_cloud DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
# 导入数据
USE harmonyhr_cloud;
SOURCE /path/to/HarmonyHR_Cloud.sql;
2. 后端部署
# 进入后端项目目录
cd vhr
# Maven编译打包
mvn clean package -DskipTests
# 启动主服务 (vhr-web)
java -jar vhrserver/vhr-web/target/vhr-web-0.0.1-SNAPSHOT.jar
# 启动邮件服务 (mailserver)
java -jar mailserver/target/mailserver-0.0.1-SNAPSHOT.jar
3. 前端部署
# 进入前端项目目录
cd vuehr
# 安装依赖
npm install
# 开发模式运行
npm run serve
# 生产环境打包
npm run build
4. 访问系统
- 前端地址:http://localhost:8080
- 后端接口:http://localhost:8083
- 默认账号:admin / 123
🔧 配置文件说明
后端配置 (application.yml)
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
username: root
password: 123
url: jdbc:mysql://localhost:3306/harmonyhr_cloud?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
rabbitmq:
username: localhost
password: 123321
host: localhost
port: 5672
redis:
host: localhost
port: 6379
password: 123321
server:
port: 8083
前端配置 (vue.config.js)
module.exports = {
devServer: {
host: 'localhost',
port: 8080,
proxy: {
'/': {
target: 'http://localhost:8083',
changeOrigin: true
},
'/ws': {
ws: true,
target: 'ws://localhost:8081'
}
}
}
}
🎯 优化建议
🖼️ 项目截图展示
| 首页 | 员工管理 | 部门管理 |
|---|---|---|
![]() | ||
![]() | ||
![]() | ||
| 角色管理 | 新增员工 | 数据导入导出 |
|---|---|---|
![]() | ||
![]() | ||
![]() | ||
1. 性能优化
| 优化项 | 当前状态 | 建议方案 |
|---|---|---|
| 数据库查询 | 基础查询 | 添加索引优化、SQL调优、分页优化 |
| 缓存策略 | Redis基础缓存 | 多级缓存、缓存预热、热点数据缓存 |
| 接口响应 | 同步处理 | 异步处理、接口限流、数据压缩 |
| 前端加载 | 全量加载 | 路由懒加载、组件按需加载、CDN加速 |
2. 安全加固
- JWT Token:替换Session认证为JWT无状态认证
- 接口签名:关键接口添加签名验证
- SQL注入防护:参数化查询、输入验证
- XSS防护:输出编码、CSP策略
- 敏感数据加密:密码加盐哈希、敏感字段加密
3. 代码优化
- 统一异常处理:完善全局异常处理机制
- 参数校验:使用Bean Validation进行参数校验
- 日志规范:统一日志格式、分级别输出
- API文档:集成Swagger/OpenAPI文档
4. 架构升级
- 微服务改造:Spring Cloud微服务架构
- 容器化部署:Docker + Kubernetes
- CI/CD:Jenkins/GitLab CI自动化部署
- 监控告警:Prometheus + Grafana监控体系
📅 未来发展计划
第一阶段:功能完善 (v1.1)
-
考勤管理模块
- 打卡记录管理
- 考勤统计报表
- 请假/加班申请审批
-
招聘管理模块
- 招聘需求发布
- 简历管理
- 面试安排与记录
-
绩效考核模块
- 考核指标设置
- 考核评分
- 绩效报表
第二阶段:体验升级 (v1.2)
-
移动端适配
- 响应式布局优化
- 微信小程序版本
- APP版本(uni-app)
-
UI/UX升级
- 全新视觉设计
- 暗黑模式支持
- 个性化主题配置
-
智能化功能
- 数据大屏展示
- 智能报表生成
- 数据分析预警
第三阶段:架构演进 (v2.0)
-
微服务架构
- Spring Cloud Alibaba生态
- Nacos服务注册与配置
- Sentinel流量控制
- Seata分布式事务
-
云原生支持
- Docker容器化
- Kubernetes编排
- Helm Chart部署
-
DevOps体系
- 自动化测试
- CI/CD流水线
- 蓝绿发布/金丝雀发布
第四阶段:智能HR (v3.0)
-
AI赋能
- 智能简历筛选
- 员工离职预测
- 薪酬智能推荐
-
数据中台
- 统一数据标准
- 数据质量管理
- 数据资产目录
-
生态扩展
- 第三方系统集成(ERP/OA/财务)
- 开放API平台
- 插件化架构
🐛 常见问题
Q1: 项目启动失败,提示数据库连接错误?
A: 检查MySQL服务是否启动,确认配置文件中的数据库地址、端口、用户名、密码是否正确。
Q2: 登录时验证码不显示?
A: 确保后端服务已启动,检查前端代理配置是否正确。
Q3: 邮件发送失败?
A:
- 确认RabbitMQ服务已启动
- 在
application.properties中配置正确的邮箱账号和授权码 - 确保mailserver服务已启动
Q4: WebSocket连接失败?
A: 检查WebSocket代理配置,确保端口没有被防火墙拦截。
📄 开源协议
本项目遵循 MIT 开源协议,您可以自由使用、修改和分发本项目。
🤝 贡献指南
欢迎提交Issue和Pull Request!
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
📞 联系方式
- 作者:全能技术师
- QQ:2531219451
- Gitee:https://gitee.com/zhousir03
- 博客:https://blog.csdn.net/qq_60870118
如有问题或建议,欢迎通过以上方式联系我!
⭐ 如果这个项目对您有帮助,请给一个Star支持一下!
更多推荐









所有评论(0)