Procházet zdrojové kódy

实现资源(Menu)的启用和禁用

reghao před 2 roky
rodič
revize
4a8f2117f9

+ 3 - 3
manager/src/main/java/cn/reghao/devops/manager/account/controller/MenuController.java

@@ -47,9 +47,9 @@ public class MenuController {
     }
 
     @ApiOperation(value = "修改资源状态")
-    @PostMapping(value = "/status/{isEnabled}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String menuStatus(@PathVariable("isEnabled") boolean isEnabled, @RequestParam("ids") List<Integer> ids) {
-        // TODO 待实现
+    @PostMapping(value = "/status/{enabled}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String menuStatus(@PathVariable("enabled") boolean enabled, @RequestParam("ids") List<Integer> ids) {
+        menuServiceImpl.updateMenusStatus(enabled, ids);
         return WebResult.success();
     }
 

+ 7 - 0
manager/src/main/java/cn/reghao/devops/manager/account/service/impl/MenuServiceImpl.java

@@ -183,6 +183,13 @@ public class MenuServiceImpl implements MenuService {
         return Result.result(ResultStatus.SUCCESS);
     }
 
+    public void updateMenusStatus(boolean status, List<Integer> menuIds) {
+        menuRepository.findAllById(menuIds).forEach(menu -> {
+            menu.setEnabled(status);
+            menuRepository.save(menu);
+        });
+    }
+
     /**
      * 对组内的菜单进行重排序,只需调整 oldPos~newPos 之间的元素位置
      *

+ 2 - 2
manager/src/main/resources/templates/rbac/menu/index.html

@@ -45,10 +45,10 @@
                                 </button>
                                 <dl class="layui-nav-child layui-anim layui-anim-upbit">
                                     <dd>
-                                        <a class="ajax-status" th:href="@{/rbac/menu/status/1}">启用</a>
+                                        <a class="ajax-status" th:href="@{/api/rbac/menu/status/1}">启用</a>
                                     </dd>
                                     <dd>
-                                        <a class="ajax-status" th:href="@{/rbac/menu/status/0}">停用</a>
+                                        <a class="ajax-status" th:href="@{/api/rbac/menu/status/0}">停用</a>
                                     </dd>
                                 </dl>
                             </div>