|  |  |  | 
|---|
|  |  |  | String token = request.getHeader("token"); | 
|---|
|  |  |  | Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); | 
|---|
|  |  |  | Map<String, Object> result = menuService.selectMenusByOrgId((Integer) currentUserInfo.get("organizationId")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ResultMessage.ok(); | 
|---|
|  |  |  | return ResultMessage.ok(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, Object> login(Map<String, Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, Object> getMenus(Map<String, Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, Object> addUser(User user, String token); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void deleteUser(User user); | 
|---|
|  |  |  | 
|---|
|  |  |  | package com.moral.api.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.moral.api.entity.Menu; | 
|---|
|  |  |  | 
|---|
|  |  |  | public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements MenuService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UserServiceImpl userService; | 
|---|
|  |  |  | private UserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Map<String, Object> selectMenusByOrgId(Integer orgId) { | 
|---|
|  |  |  | userService.getMenus(-1, orgId); | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("orgId",orgId); | 
|---|
|  |  |  | Map<String, Object> menus = userService.getMenus(map); | 
|---|
|  |  |  | return menus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | userInfo.put("organizationName", organization.getName()); | 
|---|
|  |  |  | userInfo.put("locationLevel", organization.getLocationLevel()); | 
|---|
|  |  |  | userInfo.put("groups", groups); | 
|---|
|  |  |  | userInfo.putAll(getMenus(userBo.getId(), -1)); | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("userId",userBo.getId()); | 
|---|
|  |  |  | userInfo.putAll(getMenus(map)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //生成token,并存入redis | 
|---|
|  |  |  | String token = TokenUtils.getToken(userBo.getId().toString(), userInfo); | 
|---|
|  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //根据userId获取用户层级菜单 | 
|---|
|  |  |  | public Map<String, Object> getMenus(int userId, int orgId) { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Map<String, Object> getMenus(Map<String, Object> parameters) { | 
|---|
|  |  |  | List<Menu> allMenus; | 
|---|
|  |  |  | if (orgId == -1) { | 
|---|
|  |  |  | allMenus = menuMapper.selectUserMenu(userId); | 
|---|
|  |  |  | if (parameters.containsKey("userId")) { | 
|---|
|  |  |  | allMenus = menuMapper.selectUserMenu(Integer.parseInt(parameters.get("userId").toString())); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | allMenus = menuMapper.selectOrganizationMenu(orgId); | 
|---|
|  |  |  | allMenus = menuMapper.selectOrganizationMenu(Integer.parseInt(parameters.get("orgId").toString())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, Object> resultMap = new LinkedHashMap<>(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取用户层级菜单递归方法 | 
|---|
|  |  |  | public List<Map<String, Object>> getMenusByRecursion(Menu menu, List<Menu> menus) { | 
|---|
|  |  |  | private List<Map<String, Object>> getMenusByRecursion(Menu menu, List<Menu> menus) { | 
|---|
|  |  |  | List<List<Map<String, Object>>> resultList = new ArrayList(); | 
|---|
|  |  |  | Menu newMenu = new Menu(); | 
|---|
|  |  |  | newMenu.setParentId(menu.getId()); | 
|---|