Admin Module (mall-admin) 是 Mall 电商平台的后端管理系统。它提供了一套完整的 API 来处理管理功能,包括用户管理、基于角色的访问控制、产品管理、类别管理以及其他重要的电商管理操作。该模块由 mall-admin-web 前端应用消费,并且设计为仅供拥有适当权限的已认证管理员访问。
有关面向客户的功能,请参阅 Portal Module (mall-portal)。有关产品搜索功能,请参阅 Search Module (mall-search)。
mall-admin 模块遵循分层架构模式,具有清晰的关注点分离,使其易于维护和扩展。
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java mall-admin/src/main/java/com/macro/mall/bo/AdminUserDetails.java mall-admin/src/main/java/com/macro/mall/dao/UmsAdminRoleRelationDao.java
Admin Module 提供全面的用户管理,支持基于角色的访问控制,允许为管理员用户进行精细化的权限分配。
UmsAdminController 和 UmsAdminService 负责处理与管理员用户相关的操作,包括:
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java58-70 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java98-119
系统实现了基于角色的访问控制机制,包括:
来源:mall-admin/src/main/java/com/macro/mall/service/UmsRoleService.java mall-admin/src/main/java/com/macro/mall/controller/UmsRoleController.java mall-admin/src/main/java/com/macro/mall/service/impl/UmsRoleServiceImpl.java
管理员用户登录时,系统会检索其关联的角色、资源和菜单。
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java87-106 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java220-223 mall-admin/src/main/java/com/macro/mall/dao/UmsAdminRoleRelationDao.java21-23
Admin Module 的核心功能之一是全面的产品管理。这包括产品创建、修改、分类和状态管理。
系统中的产品通过 PmsProductController 和 PmsProductService 进行管理。
来源:mall-admin/src/main/java/com/macro/mall/controller/PmsProductController.java mall-admin/src/main/java/com/macro/mall/service/PmsProductService.java mall-admin/src/main/java/com/macro/mall/dto/PmsProductParam.java
产品创建过程复杂,涉及多个相关实体。
来源:mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductServiceImpl.java68-95 mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductServiceImpl.java310-325
产品分类通过 PmsProductCategoryController 和 PmsProductCategoryService 进行管理。
来源:mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java mall-admin/src/main/java/com/macro/mall/service/PmsProductCategoryService.java mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java137-153
Admin Module 实现了一个基于 JWT 的认证系统,并集成了 Spring Security。
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java58-70 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java98-119 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java264-273
系统实现了一个自定义的 AdminUserDetails 类,该类与 Spring Security 集成。
来源:mall-admin/src/main/java/com/macro/mall/bo/AdminUserDetails.java
当用户尝试访问受保护的资源时,系统会检查用户是否拥有所需的权限。
Admin Module 按领域组织 RESTful API。
| 控制器 | 基础路径 | 关键端点 | 功能 |
|---|---|---|---|
| UmsAdminController | /admin | /register, /login, /info, /logout | 管理员用户管理 |
| UmsRoleController | /role | /create, /update, /delete, /list | 角色管理 |
| PmsProductController | /product | /create, /update, /list, /update/publishStatus | 产品管理 |
| PmsProductCategoryController | /productCategory | /create, /update, /list, /list/withChildren | 类别管理 |
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java36 mall-admin/src/main/java/com/macro/mall/controller/UmsRoleController.java23 mall-admin/src/main/java/com/macro/mall/controller/PmsProductController.java26 mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java26
mall-admin 模块与系统中的其他几个模块进行了集成
来源:mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java4-12 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java3-18
Admin 模块依赖于:
该模块通过 MyBatis mappers 和自定义 DAOs 与多个数据库表进行交互。
来源:mall-admin/src/main/java/com/macro/mall/dao/UmsAdminRoleRelationDao.java mall-admin/src/main/resources/dao/UmsAdminRoleRelationDao.xml
Admin 模块实现了一个缓存机制,用于缓存经常访问的数据,例如管理员用户信息和资源列表。
来源:mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java62-74 mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java225-238 mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java88-91
缓存策略通过减少对常用数据的数据库查询来提高性能。服务首先尝试从缓存中检索数据,然后再查询数据库。
Admin 模块(mall-admin)是 Mall 电子商务系统的管理骨干,为管理员、产品、类别和平台其他关键方面提供了全面的管理功能。它实现了分层架构,具有清晰的关注点分离、强大的 JWT 和基于角色的访问控制安全性,以及用于提高性能的全面缓存策略。
其 RESTful API 设计能够与管理员前端应用程序无缝集成,同时与核心模块的集成确保了整个系统功能的统一性。该模块的事务管理和全面的审计日志记录确保了数据完整性和管理操作的可追溯性。