diff --git a/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java b/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java index 8aff961..e1f7510 100644 --- a/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java +++ b/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java @@ -108,7 +108,8 @@ public class UmsAdminController { @ApiOperation(value = "登出功能") @RequestMapping(value = "/logout", method = RequestMethod.POST) @ResponseBody - public CommonResult logout() { + public CommonResult logout(Principal principal) { + adminService.logout(principal.getName()); return CommonResult.success(null); } diff --git a/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java b/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java index 37f26b6..f465376 100644 --- a/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java +++ b/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java @@ -89,4 +89,10 @@ public interface UmsAdminService { * 获取缓存服务 */ UmsAdminCacheService getCacheService(); + + /** + * 登出功能 + * @param username 用户名 + */ + void logout(String username); } diff --git a/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java b/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java index 53428c1..5b02589 100644 --- a/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java +++ b/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java @@ -276,4 +276,12 @@ public class UmsAdminServiceImpl implements UmsAdminService { public UmsAdminCacheService getCacheService() { return SpringUtil.getBean(UmsAdminCacheService.class); } + + @Override + public void logout(String username) { + //清空缓存中的用户相关数据 + UmsAdmin admin = getCacheService().getAdmin(username); + getCacheService().delAdmin(admin.getId()); + getCacheService().delResourceList(admin.getId()); + } }