Prechádzať zdrojové kódy

修改管理员权限初始化方法

luoshi 2 rokov pred
rodič
commit
ffc515390c

+ 1 - 1
src/main/java/com/qmth/ops/api/controller/admin/UserController.java

@@ -105,7 +105,7 @@ public class UserController {
             @Validated @RequestBody UserPermissionDTO userPermission) {
         adminSession.hasPermission(Permission.USER_EDIT);
         User user = userService.getById(userPermission.getUserId());
-        userPermissionService.save(user, userPermission.getUserPermissionList());
+        userPermissionService.saveAll(user, userPermission.getUserPermissionList());
         return new UpdateTimeVO().set("userId", user.getId());
     }
 

+ 6 - 0
src/main/java/com/qmth/ops/biz/dao/UserPermissionDao.java

@@ -1,8 +1,14 @@
 package com.qmth.ops.biz.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.ops.api.security.Permission;
 import com.qmth.ops.biz.domain.UserPermission;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 public interface UserPermissionDao extends BaseMapper<UserPermission> {
 
+    @Update("replace into user_permission (user_id, permission, scope) values (#{userId}, #{permission}, #{scope})")
+    void replace(@Param("userId") Long userId, @Param("permission") Permission permission,
+            @Param("scope") String scope);
 }

+ 3 - 9
src/main/java/com/qmth/ops/biz/service/InitService.java

@@ -13,8 +13,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.stream.Collectors;
 
 @Service
 public class InitService implements SqlProvider, CommandLineRunner {
@@ -52,13 +50,9 @@ public class InitService implements SqlProvider, CommandLineRunner {
 
         User user = userService.findByLoginName("admin");
         if (user != null && user.hasRole(Role.ADMIN)) {
-            userPermissionService.save(user, Arrays.stream(Permission.values()).map(p -> {
-                UserPermission up = new UserPermission();
-                up.setUserId(user.getId());
-                up.setPermission(p);
-                up.setScope(UserPermission.UNLIMIT_SCOPE);
-                return up;
-            }).collect(Collectors.toList()));
+            for (Permission p : Permission.values()) {
+                userPermissionService.save(user, p, UserPermission.UNLIMIT_SCOPE);
+            }
             log.info("系统管理员权限更新完成");
         }
     }

+ 6 - 1
src/main/java/com/qmth/ops/biz/service/UserPermissionService.java

@@ -39,11 +39,16 @@ public class UserPermissionService extends ServiceImpl<UserPermissionDao, UserPe
     }
 
     @Transactional
-    public void save(User user, List<UserPermission> list) {
+    public void saveAll(User user, List<UserPermission> list) {
         userPermissionDao.delete(new LambdaUpdateWrapper<UserPermission>().eq(UserPermission::getUserId, user.getId()));
         saveBatch(list);
     }
 
+    @Transactional
+    public void save(User user, Permission permission, String scope) {
+        userPermissionDao.replace(user.getId(), permission, scope);
+    }
+
     @Transactional
     public void delete(User user, Permission permission) {
         userPermissionDao.delete(new LambdaUpdateWrapper<UserPermission>().eq(UserPermission::getUserId, user.getId())