123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- package com.tld.service.impl;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.tld.mapper.MenuMapper;
- import com.tld.model.Menu;
- import com.tld.service.MenuService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletRequest;
- import java.util.*;
- @Service
- public class MenuServiceImpl implements MenuService {
- @Autowired
- private MenuMapper menuMapper;
- @Override
- public Map<String, Object> getMenu(Menu menu) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<Map<String, Object>> list = new ArrayList<>();
- for(Menu menu1 : menuMapper.getMenu(menu)){
- Map<String, Object> treeMap = new TreeMap<>();
- treeMap.put("title", menu1.getName());
- treeMap.put("key", menu1.getId());
- treeMap.put("pId", menu1.getPId());
- treeMap.put("url", menu1.getUrl());
- menu1.setPId(menu1.getId());
- treeMap.put("children", getChildren(menu1));
- list.add(treeMap);
- }
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> addMenu(Menu menu, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- menu.setModifyUser(request.getHeader("userId"));
- menuMapper.addMenu(menu);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> updateMenu(Menu menu, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- menu.setModifyUser(request.getHeader("userId"));
- menuMapper.updateMenu(menu);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> delMenu(String id) {
- Map<String, Object> map = new HashMap<>();
- try{
- menuMapper.delMenu(id);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public Map<String, Object> getUserMenu(String userId) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<Menu> list = menuMapper.getUserMenu(userId);
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public Map<String, Object> getPage(Menu menu) {
- Map<String, Object> map = new HashMap<>();
- try{
- PageHelper.startPage(menu.getPage(), menu.getLimit());
- PageInfo<Menu> list = new PageInfo<>(menuMapper.getPage(menu));
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public Map<String, Object> getUserMenuPDA(String userId) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<Menu> list = menuMapper.getUserMenuPDA(userId);
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- /**
- * @Description: 根据用户查询菜单内容PC
- * @Param: userId 参数
- * @return: 返回结果
- * @Author: XiaoChen
- * @Date: 2023/5/6
- */
- @Override
- public Map<String, Object> getUserMenuPc(String userId) {
- Map<String, Object> map = new HashMap<>();
- try{
- //查询用户菜单
- List<Menu> list = menuMapper.getUserMenuPc(userId);
- //根据角色查询用户菜单权限
- List<Menu> list1 = menuMapper.getUserMenu(userId);
- ArrayList<Menu> menus = new ArrayList<>();
- HashSet<String> ids = new HashSet<>();
- for (Menu menu : list) {
- if (!ids.contains(menu.getId())){
- menus.add(menu);
- ids.add(menu.getId());
- }
- }
- for (Menu menu : list1) {
- if (!ids.contains(menu.getId())){
- menus.add(menu);
- ids.add(menu.getId());
- }
- }
- map.put("data", menus);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- /**
- * 树结构查询
- * @return
- */
- public List<Map<String, Object>> getChildren(Menu menu){
- List<Map<String, Object>> listTree = new ArrayList<>();
- for(Menu menu1 : menuMapper.getMenu(menu)){
- Map<String, Object> treeMap = new TreeMap<>();
- treeMap.put("title", menu1.getName());
- treeMap.put("key", menu1.getId());
- treeMap.put("pId", menu1.getPId());
- menu1.setPId(menu1.getId());
- treeMap.put("children", getChildren(menu1));
- treeMap.put("url", menu1.getUrl());
- listTree.add(treeMap);
- }
- return listTree;
- }
- }
|