/SaaS_IHRM

基于SpringBoot2.0+Shiro+SpringDataJpa+SpringCloud框架的SaaS多租户iHrm平台开发实战,里面涉及到知识点众多,项目基于前后端分离进行开发,前端使用的是vue+ElementUI。 除了常见的框架应用之外,还有导出导入表格(POI),如何处理百万数据防止oom, 图片上传(七牛云接口实现),刷脸认证(百度开放平台API), 以及Shiro高级认证,如何实现在前后端分离环境下完成认证授权。

Primary LanguageJava

基于Saas的IHRM系统

Stargazers over time

开发环境

  • JDK : Oracle JDK 1.8
  • Mysql: 5.7
  • Maven: 3.5.2
  • Redis: 2.4.5

项目截图

SaaS管理员模块

企业管理员模块

员工模块

系统架构

系统架构图.png

此图为博学谷宣传图,图中的招聘模块没有,也没有RabbitMq,其他都有,大家也可以对其进行改进。

f2654072e7e6f8b481250d26910ef1c6.png

微服务模块

微信图片_20200618211632.png

各个模块的功能介绍:

启动顺序

  1. ihrm_eureka
  2. ihrm_gate
  3. ihrm_company
  4. ihrm_system
  5. ihrm_attendance
  6. ihrm_social_securitys
  7. ihrm_salarys
  8. ihrm_employee
  9. ihrm_audit

启动顺序原因:

  • 因为所有模块都注册到了Eureka中,故最先启动Eureka模块
  • 因为在gate模块后面都是业务模块,所以网关模块放在第二位启动
  • 因为system模块通过feign调用了company模块的接口,所以company要在system模块之前启动
  • 因为salarys模块通过feign调用了attendance和social_securitys模块的接口,所以salarys在其之后启动
  • 后面两个顺序可以打乱
  • 服务调用了其他服务的接口,最好是先去启动被调用的模块

使用技术

  • SpringBoot + SpringCloud + SpringMVC + SpringData

用户登录

登录时用户名为手机号,密码大多为123456。

帐号信息表在bs_user中。

登录时使用MD5加密,对密码进行三次MD5加密,salt为手机号。

登录时需开启redis,因为登录成功后会把登录信息存储在redis中。

因为我本机的redis使用的是默认,如果设置了帐号和密码,可在ShiroConfiguration.java中配置即可。

  • SaaS管理员帐号密码
    • 13800000001
    • 123456
  • 企业管理员帐号密码
    • 13800000002
    • 123456
  • 员工帐号密码
    • 13800000003
    • 123456

Swagger接口

下载地址 :

注意事项:

  • 使用cmd进行目录运行nginx.exe,直接双击运行会无效
  • 然后访问localhost:801即可,也可在nginx.conf进行设置接口

数据库文件

数据库主要一个主数据库,数据库名为ihrm;另一个数据库名为act,是activity7使用的,可以自动生成

ihrm:

  • 链接:https://pan.baidu.com/s/1Alk4MYSU95Esh4QZXB-YOg
  • 提取码:hywc
  • 介绍
    • bs
      • bs开头的表,表示业务相关的内容
    • pe
      • pe开头的表,表示权限相关的内容
    • co
      • co开头的表,表示公司相关的内容
    • em
      • em开头的表,表示员工相关的内容

act :

BPMN流程文件

在加班、请假、离职时需要进行走流程,使用的是activity7工作流。

流程BPMN文件:

  • 链接:链接:https://pan.baidu.com/s/1Sz2jc2782hw2LpuxVeXlSA
  • 提取码:t9hb
  • 介绍
    • 将BPMN文件在线上Demo部署,会直接把BPMN文件解析到act数据库
    • act数据库会在线上Demo部署时自动创建
    • 线上Demo部署可以网上找下,官网提供的也有

项目讲义

  • 市面只有前7章讲义,这边讲义是全17章

  • 因为视频适合电脑CPU加密的,所以发出来也没用,但是有后面的PDF,大家可以看下

下载地址

项目存在的问题

员工管理模块

  • 保存用户信息时部门id和name不统一

其他

部署教程 : https://www.cnblogs.com/ArvinYL/p/14460255.html

  • 有其他问题请提Issues,也可以关注公众号回复微信加我好友

https://img2020.cnblogs.com/blog/1877030/202102/1877030-20210228194759279-1012620345.jpg

前端

前端使用Vue编写,地址为:https://github.com/Han-YLun/SaaS_IHRM_Vue