Przeglądaj źródła

添加菜单,自动为超管添加权限

lyhzzz 2 lat temu
rodzic
commit
3391397409

+ 11 - 4
src/main/java/com/fdkankan/manage/controller/SysMenuController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.config.MenuInit;
 import com.fdkankan.manage.exception.BusinessException;
+import com.fdkankan.manage.service.ISysRoleMenuService;
 import com.fdkankan.manage.vo.request.RequestBase;
 import com.fdkankan.manage.common.ResultData;
 import com.fdkankan.common.util.DateUtil;
@@ -27,12 +28,14 @@ public class SysMenuController extends BaseController{
     @Autowired
     ISysMenuService menuService;
     @Autowired
+    ISysRoleMenuService roleMenuService;
+    @Autowired
     MenuInit menuInit;
 
     @PostMapping("/add")
     public ResultData add(@RequestBody SysMenu param){
-        param.setUpdateTime(DateUtil.date2String(new Date(),DateUtil.DEFAULT_DATE_FORMAT));
-        menuService.saveOrUpdate(param);
+        menuService.save(param);
+        roleMenuService.addByMenuId(param.getId(),1L);  //添加菜单,自动为超管添加权限
         menuInit.initMenu();
         return ResultData.ok();
     }
@@ -42,18 +45,22 @@ public class SysMenuController extends BaseController{
         if(StringUtils.isEmpty(param.getId())){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        param.setUpdateTime(DateUtil.date2String(new Date(),DateUtil.DEFAULT_DATE_FORMAT));
-        menuService.saveOrUpdate(param);
+        param.setUpdateTime(null);
+        menuService.updateById(param);
         menuInit.initMenu();
         return ResultData.ok();
     }
 
     @PostMapping("/delete")
     public ResultData delete(@RequestBody SysMenu param){
+        if(param.getId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
         LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SysMenu::getParentId,param.getId());
         menuService.remove(wrapper);
         menuService.removeById(param.getId());
+        roleMenuService.deleteByMenuId(param.getId());
         menuInit.initMenu();
         return ResultData.ok();
     }

+ 3 - 0
src/main/java/com/fdkankan/manage/service/ISysRoleMenuService.java

@@ -22,4 +22,7 @@ public interface ISysRoleMenuService extends IService<SysRoleMenu> {
 
     List<SysRoleMenu> getByRoleId(Long roleId);
 
+    void deleteByMenuId(Long menuId);
+
+    void addByMenuId(Long menuId, Long  roleId);
 }

+ 14 - 0
src/main/java/com/fdkankan/manage/service/impl/SysRoleMenuServiceImpl.java

@@ -86,4 +86,18 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<ISysRoleMenuMapper, SysR
         return this.list(wrapper);
     }
 
+    @Override
+    public void deleteByMenuId(Long menuId) {
+        LambdaQueryWrapper<SysRoleMenu> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysRoleMenu::getMenuId,menuId);
+        this.remove(wrapper);
+    }
+
+    @Override
+    public void addByMenuId(Long menuId, Long roleId) {
+        SysRoleMenu roleMenu = new SysRoleMenu();
+        roleMenu.setRoleId(roleId);
+        roleMenu.setMenuId(menuId);
+        this.save(roleMenu);
+    }
 }