Ver código fonte

查询所有菜单接口
常用功能接口

ZhangManMan 2 anos atrás
pai
commit
51b9c7a462

+ 18 - 2
src/main/java/com/sky/ioc/controller/system/MenuController.java

@@ -1,13 +1,29 @@
 package com.sky.ioc.controller.system;
 
+import com.sky.ioc.entity.domain.system.Menus;
+import com.sky.ioc.service.system.MenuService;
+import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Api(tags = "系统设置--菜单")
 @Slf4j
 @RestController
 @RequestMapping("/system_menu")
 public class MenuController {
+
+    @Autowired
+    MenuService menuService;
+    @ApiOperation("查询所有菜单")
+    @GetMapping("getMenusList")
+    public ReturnMsg getMenusList( @RequestParam(value = "parentId", required=false,defaultValue = "0")  long parentId){
+        return menuService.getMenusInfoList(parentId);
+    }
+
 }

+ 12 - 2
src/main/java/com/sky/ioc/controller/system/UserController.java

@@ -1,9 +1,12 @@
 package com.sky.ioc.controller.system;
 
+import com.sky.ioc.service.system.UserService;
+import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 @Api(tags = "系统设置--用户")
 @Slf4j
@@ -11,4 +14,11 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/system_user")
 public class UserController {
 
+    @Autowired
+    UserService userService;
+    @ApiOperation("更新常用菜单")
+    @PostMapping("saveCommonMenus")
+    public ReturnMsg saveCommonMenus(@RequestParam(value = "userID")  long userID,@RequestParam(value = "menuIDs") String menuIDs){
+        return userService.updateCommonMenusByUserIdAndMenuId(userID,menuIDs);
+    }
 }

+ 2 - 0
src/main/java/com/sky/ioc/entity/domain/system/Menus.java

@@ -2,6 +2,7 @@ package com.sky.ioc.entity.domain.system;
 
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Data
@@ -51,4 +52,5 @@ public class Menus {
 
     /** 子菜单 */
     private List<Menus> children;
+
 }

+ 2 - 0
src/main/java/com/sky/ioc/mapper/system/MenuMapper.java

@@ -15,4 +15,6 @@ public interface MenuMapper extends BaseMapper<Menus> {
 
     @Select("select * from  menus WHERE parent_id = #{parentId} ORDER BY order_num ")
     List<Menus> getListParentId(@Param("parentId") Integer parentId);
+    @Select("select * from  menus  ")
+    List<Menus> getList();
 }

+ 6 - 0
src/main/java/com/sky/ioc/mapper/system/UserMapper.java

@@ -2,7 +2,13 @@ package com.sky.ioc.mapper.system;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sky.ioc.entity.domain.system.Users;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
+@Mapper
 public interface UserMapper extends BaseMapper<Users> {
+    @Update("update  users set common_menus=#{menuIDs} WHERE id=#{userId} ")
+    Integer updateCommonMenusByUserIdAndMenuId(@Param("userId") long userId,@Param("menuIDs")  String menuIDs);
 
 }

+ 6 - 1
src/main/java/com/sky/ioc/service/system/MenuService.java

@@ -1,7 +1,12 @@
 package com.sky.ioc.service.system;
 
+import com.sky.ioc.entity.domain.system.Menus;
 import com.sky.ioc.tool.ReturnMsg;
 
+import java.util.List;
+
 public interface MenuService {
-    ReturnMsg getMenusInfoList();
+    ReturnMsg getMenusInfoList(long parentId);
+
+    List<Menus> listWithTree(List<Menus> list,long parentId);
 }

+ 9 - 0
src/main/java/com/sky/ioc/service/system/UserService.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.service.system;
+
+import com.sky.ioc.tool.ReturnMsg;
+import org.apache.ibatis.annotations.Param;
+
+public interface UserService {
+
+    ReturnMsg updateCommonMenusByUserIdAndMenuId(long userId, String menuIDs);
+}

+ 35 - 5
src/main/java/com/sky/ioc/service/system/impl/MenuServiceImpl.java

@@ -1,13 +1,17 @@
 package com.sky.ioc.service.system.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.sky.ioc.entity.domain.system.Menus;
 import com.sky.ioc.mapper.system.MenuMapper;
 import com.sky.ioc.service.system.MenuService;
 import com.sky.ioc.tool.ReturnMsg;
+import org.ehcache.core.util.CollectionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class MenuServiceImpl implements MenuService {
@@ -15,8 +19,34 @@ public class MenuServiceImpl implements MenuService {
     @Autowired
     MenuMapper menuMapper;
     @Override
-    public ReturnMsg getMenusInfoList() {
-        List<Menus> list  = menuMapper.getListParentId(0);
-        return ReturnMsg.ok(list);
+    public ReturnMsg getMenusInfoList(long parentId) {
+        List<Menus> lists = menuMapper.getList();
+        return  ReturnMsg.ok(listWithTree(lists,parentId));
     }
-}
+
+    @Override
+    public List<Menus> listWithTree(List<Menus> list,long parentId) {
+        List<Menus> result = new ArrayList<>();
+        for (Menus Menus : list) {
+            if (Menus.getParentId()==parentId) {
+                result.add(Menus);
+            }
+            for (Menus child : list) {
+                if (child.getParentId().equals(Menus.getId())) {
+                    List<Menus> children = Menus.getChildren();
+                    if (children == null) {
+                        children = new ArrayList<>();
+                        Menus.setChildren(children);
+                    }
+                    children.add(child);
+                }
+            }
+        }
+        return result;
+     }
+    }
+
+
+
+
+

+ 19 - 0
src/main/java/com/sky/ioc/service/system/impl/UserServiceImpl.java

@@ -0,0 +1,19 @@
+package com.sky.ioc.service.system.impl;
+
+import com.sky.ioc.mapper.system.UserMapper;
+import com.sky.ioc.service.system.UserService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserServiceImpl implements UserService {
+
+    @Autowired
+    UserMapper userMapper;
+    @Override
+    public ReturnMsg updateCommonMenusByUserIdAndMenuId(long userId, String menuIDs) {
+        userMapper.updateCommonMenusByUserIdAndMenuId(userId,menuIDs);
+       return ReturnMsg.ok();
+    }
+}