# management **Repository Path**: simon627/management ## Basic Information - **Project Name**: management - **Description**: 基于springboot的员工管理平台,用到了缓存、消息队列、AOP、Spring Security6,虽然项目老套但技术栈很新很全面 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-02 - **Last Updated**: 2025-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 人员管理系统 ## 一、核心功能模块 ### 1. 基础管理 - 用户管理:包含账号、密码、性别、状态等基础信息管理 - 部门管理:树形结构部门管理,支持多级部门划分 - 日志审计:操作日志记录与查询功能 ### 2. 权限管理 - 用户认证:基于JWT的Token鉴权体系 - 角色管理:RBAC权限模型实现多角色配置 - 菜单控制:动态菜单权限配置与访问控制 ### 3. 业务功能 - 短信服务:集成短信发送与状态追踪 - 系统配置:包含状态枚举、删除标记等基础配置 ## 二、核心技术栈 - Spring Boot - MyBatis-Plus - Spring Security6 - Redis - RabbitMQ - Redisson - Jackson - aliyun sms - guava ## 三、关键技术策略 ### 1. 分层架构设计 - Controller层:基于Restful API设计规范 - Service层:接口与实现分离,事务管理 - Mapper层:MyBatis-Plus Wrapper条件构造器 - Util层:封装通用工具类(Redis操作、JWT工具等) ### 2. 性能优化策略 - Redis缓存:热点数据缓存与Session共享 - 异步处理:通过RabbitMQ实现短信发送异步化 - 分布式锁:Redisson实现分布式环境下的并发控制 - 限流策略:基于Guava、令牌桶的限流实现 - 分页查询:PageParam封装分页参数处理 ### 3. 安全机制 - JWT认证:无状态的Token验证机制 - 密码策略:BCrypt加密存储,密码强校验 - 异常处理:全局异常捕获与统一错误码返回 ### 4. 权限控制 - 角色管理:基于RBAC权限模型实现多角色配置 - 接口防护:Spring Security方法级权限控制 - 菜单控制:动态菜单权限配置与访问控制 ### 5. 高并发群发短信 - 短信发送:阿里云短信服务实现(学习资源问题,没有找到可用模板,但可正常发送短信请求) - 消息队列:RabbitMQ实现高并发下短信发送,避免单机处理能力瓶颈和较长的等待时间 - 失败重试:消息发送失败时进行重试,避免消息丢失,避免业务数据不一致 - 幂等性:基于taskId的幂等性处理,避免重复发送相同的消息 ### 6. 开发规范 - 枚举统一:各业务状态和错误码使用枚举类管理 - 结果封装:Result统一响应格式 - 日志记录:AOP实现操作日志记录,并对敏感信息脱敏 - 代码结构:遵循Spring Boot标准目录结构