HarmonyHR Cloud - 企业级人力资源管理系统

🚀 一站式企业人力资源管理解决方案


📋 项目信息

项目名称HarmonyHR Cloud 后端
作者全能技术师
QQ号2531219451
Giteehttps://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 Boot3.2.0核心框架
Spring Security-安全框架
MyBatis2.1.0ORM框架
MySQL8.0关系型数据库
Redis-缓存数据库
RabbitMQ-消息队列
Spring Cache-缓存抽象
WebSocket-实时通讯
Druid1.1.10数据库连接池
FastDFS-分布式文件存储
POI4.1.1Excel处理
Flyway-数据库版本管理

前端技术栈

技术版本说明
Vue.js2.6.10前端框架
Element UI2.12.0UI组件库
Axios0.19.0HTTP客户端
Vue Router3.0.3路由管理
Vuex3.1.1状态管理
WebSocket-实时通讯
Font Awesome4.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即时通讯
  • 在线用户:在线状态显示
  • 消息通知:系统消息推送

⚙️ 环境配置

运行环境要求

环境版本要求
JDK1.8+
Maven3.6+
Node.js12+
MySQL8.0
Redis6.0+
RabbitMQ3.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:

  1. 确认RabbitMQ服务已启动
  2. 在application.properties中配置正确的邮箱账号和授权码
  3. 确保mailserver服务已启动

Q4: WebSocket连接失败?

A: 检查WebSocket代理配置,确保端口没有被防火墙拦截。


📄 开源协议

本项目遵循 MIT 开源协议,您可以自由使用、修改和分发本项目。


🤝 贡献指南

欢迎提交Issue和Pull Request!

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

📞 联系方式

  • 作者:全能技术师
  • QQ:2531219451
  • Gitee:https://gitee.com/zhousir03
  • 博客:https://blog.csdn.net/qq_60870118

如有问题或建议,欢迎通过以上方式联系我!


⭐ 如果这个项目对您有帮助,请给一个Star支持一下!

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐