Staffjoy 是一个基于微服务架构的企业级人力资源管理系统,主要提供账户管理、公司组织、排班调度、消息通知等功能。系统采用Spring Boot和Spring Cloud技术栈构建,包含多个独立部署的微服务模块,通过Feign客户端进行服务间通信。整体架构遵循分层设计原则,各模块职责明确,具备良好的扩展性和可维护性。
系统主要特点包括:
- 模块化设计,服务边界清晰
- 统一的认证授权机制
- 标准化的API响应格式
- 完善的异常处理和监控
- 支持多环境配置
- 异步处理提升系统吞吐量
- 账户全生命周期:注册、激活、信息维护、密码重置、账户删除
- 认证与安全:基于JWT的身份验证,密码哈希存储,敏感信息隔离
- 权限控制:通过角色和字段实现细粒度权限管理
- 第三方集成:支持Intercom用户数据同步
- 公司基础管理:创建、查询、更新及状态管理
- 团队管理:团队创建与时区配置
- 职位管理:岗位设置与分类
- 人员管理:员工入职、团队分配、权限控制
- 班次管理:创建、发布、更新、删除班次
- 批量操作:支持班次的批量发布和修改
- 日历集成:生成iCalendar格式排班数据
- 提醒通知:班次变更自动触发提醒
- 邮件通知:账户激活、密码重置、入职欢迎等邮件模板
- 短信通知:验证码、班次提醒等短信发送
- 机器人服务:自动化处理入职流程、班次变更提醒
- 异步处理:通过线程池提高通知发送效率
- API网关:Faraday服务提供请求转发、负载均衡和安全控制
- 统一认证:whoami服务处理用户身份识别
- 监控告警:集成Sentry实现错误监控和上报
- 配置管理:通过Common Lib提供多环境支持
- Web应用:提供用户注册、登录、密码重置等界面
- 静态页面:关于页、错误页等静态内容展示
- 动态页面:基于工厂模式构建业务页面
- 资源管理:图像加载和Base64编码转换
- Feign客户端:标准化服务调用接口
- DTO传输:统一的数据传输对象定义
- 服务发现:通过常量维护服务名称映射
- 异常处理:统一的业务异常和错误码
该系统通过模块化设计和标准化接口,为企业提供了完整的账户管理、组织架构和排班调度解决方案,同时具备良好的扩展性和可靠性。各微服务既可独立部署又可协同工作,满足不同规模企业的需求。