| | |
| | | package com.sandu.ximon.admin.controller; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.map.MapBuilder; |
| | | import cn.hutool.core.map.MapUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | |
| | | import com.sandu.ximon.dao.domain.Admin; |
| | | import com.sandu.ximon.dao.domain.Menu; |
| | | import com.sandu.ximon.dao.domain.Role; |
| | | import com.sandu.ximon.dao.enums.AdministratorEnums; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage()); |
| | | } |
| | | UserDetails userJwtUser = new AdminJwtUser(admin, roleService.mapToGrantedAuthorities(admin.getId())); |
| | | UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userJwtUser, admin.getId(), userJwtUser.getAuthorities()); |
| | | if(!userJwtUser.isEnabled()){ |
| | | return ResponseUtil.error(ResponseStatusEnums.DISABLE_ACCOUNT.getCode(), ResponseStatusEnums.DISABLE_ACCOUNT.getMessage()); |
| | | } |
| | | UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userJwtUser, AdministratorEnums.ADMIN.getCode(), userJwtUser.getAuthorities()); |
| | | |
| | | SecurityContextHolder.getContext().setAuthentication(authentication); |
| | | |
| | |
| | | |
| | | @GetMapping(value = "/info") |
| | | public ResponseVO<Object> getUserInfo() { |
| | | Integer administratorIdentity = SecurityUtils.getAdministratorIdentity(); |
| | | Long userId = SecurityUtils.getUserId(); |
| | | Admin admin = adminService.getById(userId); |
| | | List<Role> roles = roleService.listByAdminId(admin.getId()); |
| | | List<Menu> menus = menuService.listByRoleIds(roles.stream().map(Role::getId).collect(Collectors.toList())); |
| | | MapBuilder<Object, Object> builder = MapUtil.builder().put("info", admin); |
| | | if(CollectionUtil.isNotEmpty(menus)){ |
| | | List<Menu> collect = menus.stream().filter(menu -> menu.getType() == 0).collect(Collectors.toList()); |
| | | Map<Object, Object> build = MapUtil.builder().put("info", admin).put("menus", collect).build(); |
| | | return ResponseUtil.success(build); |
| | | builder.put("menus", collect); |
| | | } |
| | | return ResponseUtil.success(builder.build()); |
| | | } |
| | | |
| | | @GetMapping(value = "/list") |