From d22b530fa0fbd910d8d7baefa29d88d755568e68 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 15 十二月 2025 10:01:41 +0800
Subject: [PATCH] 1、 修复权限相关的bug

---
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java        |   13 +++++--------
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java                  |    2 ++
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java |    2 +-
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java              |    1 +
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java     |   20 ++++++++++++++------
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java     |    8 ++------
 6 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
index 27eab58..a24a214 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
@@ -30,21 +30,18 @@
     @ApiOperation("鏂板鑿滃崟")
     @PostMapping("/save")
 //    @PreAuthorize("hasAuthority('sys:menu:save')")
-    public Result save(@Validated @RequestBody SysMenu sysMenu) {
-        sysMenuService.save(sysMenu);
-        GeneralRequest request = new GeneralRequest();
-        return Result.success(sysMenuService.getMenuTree(request));
+    public Result saveMenu(@Validated @RequestBody SysMenu sysMenu) {
+        sysMenuService.saveMenu(sysMenu);
+        return Result.build(200, "鏂板鎴愬姛", Boolean.TRUE);
 
     }
 
     @ApiOperation("淇敼鑿滃崟淇℃伅")
     @PostMapping("/updateMenu")
 //    @PreAuthorize("hasAuthority('sys:menu:update')")
-    public Result<List<SysMenu>> updateMenu(@Validated @RequestBody SysMenu sysMenu) {
-        //return Result.success(sysMenu);
+    public Result<Boolean> updateMenu(@Validated @RequestBody SysMenu sysMenu) {
         sysMenuService.updateMenu(sysMenu);
-        GeneralRequest request = new GeneralRequest();
-        return Result.build(200, "淇敼鎴愬姛", sysMenuService.getMenuTree(request));
+        return Result.build(200, "淇敼鎴愬姛", Boolean.TRUE);
     }
 
     @ApiOperation("鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑鎵�鏈夎彍鍗�")
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
index 014d1cd..b01647b 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
@@ -63,4 +63,5 @@
      */
     String batchDeleteMenu(List<Long> menuIds);
 
+    Boolean saveMenu(SysMenu sysMenu);
 }
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
index 4e96f47..69d60d9 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
@@ -15,7 +15,7 @@
 import com.mes.role.service.SysRoleMenuService;
 import com.mes.userinfo.entity.SysUser;
 import com.mes.userinfo.entity.SysUserRole;
-import com.mes.userinfo.mapper.SysUserRoleMapper;
+import com.mes.userinfo.service.SysUserRoleService;
 import com.mes.userinfo.service.SysUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +41,7 @@
     SysUserService sysUserService;
 
     @Autowired
-    SysUserRoleMapper sysUserRoleMapper;
+    SysUserRoleService sysUserRoleService;
 
     @Autowired
     SysRoleMenuService sysRoleMenuService;
@@ -64,12 +64,11 @@
                 .innerJoin(SysUser.class, SysUser::getId, SysUserRole::getUserId)
                 .innerJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysUserRole::getRoleId)
                 .innerJoin(SysMenu.class, SysMenu::getId, SysRoleMenu::getMenuId)
-                .eq(SysUser::getId, user.getId())
-                .like(StringUtils.isNotBlank(request.getKey()), SysMenu::getMenuName, request.getKey())
+                .eq(StringUtils.isNotBlank(request.getKey()), SysUser::getId, user.getId())
                 .orderByAsc(SysMenu::getListSort);
 
         //
-        List<SysMenu> menuList = sysUserRoleMapper.selectJoinList(SysMenu.class, wrapper);
+        List<SysMenu> menuList = sysUserRoleService.selectJoinList(SysMenu.class, wrapper);
         log.info("userinfos:{}", menuList);
         return create(menuList);
     }
@@ -114,6 +113,15 @@
         return "鎵归噺鍒犻櫎鎴愬姛";
     }
 
+    @Override
+    public Boolean saveMenu(SysMenu sysMenu) {
+        this.save(sysMenu);
+        SysUser user = UserInfoUtils.get();
+        SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getId()));
+        sysRoleMenuService.save(new SysRoleMenu(one.getRoleId(), sysMenu.getId()));
+        return Boolean.TRUE;
+    }
+
 
     /**
      * 灏嗘暟鎹簱涓煡璇㈠嚭鏉ョ殑list闆嗗悎浼犲叆姝ゆ柟娉曞嵆鍙幏寰楁帓鎴愭爲褰㈢粨鏋勭殑list闆嗗悎
@@ -127,7 +135,7 @@
                 .map(item -> {
                     item.setChildren(getChildren(item, lists));
                     return item;
-                }).collect(Collectors.toList());
+                }).sorted((o1, o2) -> o1.getListSort() - o2.getListSort()).collect(Collectors.toList());
         return deptTreeList;
     }
 
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
index aae2aed..b1c052c 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -16,6 +17,7 @@
  * @since 2024-04-11
  */
 @Data
+@AllArgsConstructor
 @EqualsAndHashCode(callSuper = false)
 public class SysRoleMenu implements Serializable {
 
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
index a787182..8201887 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
@@ -112,18 +112,14 @@
             return "success";
         }
         List<SysRoleMenu> roleMenuList = menuList.stream().map(menu -> {
-            SysRoleMenu roleMenu = new SysRoleMenu();
-            roleMenu.setRoleId(roleId);
-            roleMenu.setMenuId(menu.getId());
+            SysRoleMenu roleMenu = new SysRoleMenu(roleId,menu.getId());
             return roleMenu;
         }).collect(Collectors.toList());
         // 浣跨敤娴佸鐞嗚彍鍗曞垪琛紝鎻愬彇 children 鐨� id锛屽苟璁剧疆鍒� SysRoleMenu 涓�
         List<SysRoleMenu> childrenList = menuList.stream()
                 .flatMap(menu -> menu.getChildren().stream()) // 鎵佸钩鍖栧鐞� children 鍒楄〃
                 .map(child -> {
-                    SysRoleMenu roleMenu = new SysRoleMenu();
-                    roleMenu.setRoleId(roleId);
-                    roleMenu.setMenuId(child.getId()); // 璁剧疆 child 鐨� id 鍒� menuId
+                    SysRoleMenu roleMenu = new SysRoleMenu(roleId,child.getId());
                     return roleMenu;
                 })
                 .collect(Collectors.toList());
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
index f6447db..4e45773 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
@@ -108,7 +108,7 @@
     public String saveUser(SysUserVO user) {
         log.info("淇濆瓨鐢ㄦ埛淇℃伅");
         // 榛樿瀵嗙爜
-        String password = passwordEncoder.encode(Const.DEFULT_PASSWORD);
+        String password = passwordEncoder.encode(user.getPassword());
         user.setPassword(password);
         SysUser sysUser = new SysUser();
         BeanUtils.copyProperties(user, sysUser);

--
Gitblit v1.8.0