Ver Fonte

优化调整 Role 相关数据和操作

reghao há 4 anos atrás
pai
commit
0939201231

+ 1 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/config/UserDetailsServiceImpl.java

@@ -1,7 +1,6 @@
 package cn.reghao.autodop.dmaster.auth.config;
 
 import cn.reghao.autodop.dmaster.auth.model.po.User;
-import cn.reghao.autodop.dmaster.auth.db.repository.UserRepository;
 import cn.reghao.autodop.dmaster.auth.service.UserService;
 import org.springframework.security.authentication.DisabledException;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -18,16 +17,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserDetailsServiceImpl implements UserDetailsService {
     private UserService userService;
-    private final UserRepository userRepository;
 
-    public UserDetailsServiceImpl(UserService userService, UserRepository userRepository) {
+    public UserDetailsServiceImpl(UserService userService) {
         this.userService = userService;
-        this.userRepository = userRepository;
     }
 
     @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
-        //User user = userRepository.findByUsername(username);
         User user = userService.getUser(username);
         if (user != null) {
             return user;

+ 8 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/db/crud/RoleCrud.java

@@ -26,4 +26,12 @@ public class RoleCrud {
     public void saveAll(List<Role> roles) {
         roleRepository.saveAll(roles);
     }
+
+    public void update(Role role) {
+        roleRepository.save(role);
+    }
+
+    public void delete(Role role) {
+        roleRepository.delete(role);
+    }
 }

+ 6 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/db/crud/RoleQuery.java

@@ -24,8 +24,8 @@ import java.util.stream.Collectors;
  */
 @Service
 public class RoleQuery {
-    private RoleRepository roleRepository;
-    private UserRepository userRepository;
+    private final RoleRepository roleRepository;
+    private final UserRepository userRepository;
 
     public RoleQuery(RoleRepository roleRepository, UserRepository userRepository) {
         this.roleRepository = roleRepository;
@@ -36,6 +36,10 @@ public class RoleQuery {
         return new HashSet<>(roleRepository.findAll());
     }
 
+    public Role findByTitle(String title) {
+        return roleRepository.findByTitle(title);
+    }
+
     public Page<RoleVO> getRoleVOByPage(PageRequest pageRequest) {
         return roleRepository.findAll(pageRequest).map(RoleVO::new);
     }

+ 8 - 8
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/service/RoleServiceImpl.java

@@ -1,10 +1,10 @@
 package cn.reghao.autodop.dmaster.auth.service;
 
+import cn.reghao.autodop.dmaster.auth.db.crud.RoleCrud;
 import cn.reghao.autodop.dmaster.auth.db.crud.RoleQuery;
 import cn.reghao.autodop.dmaster.auth.model.po.Menu;
 import cn.reghao.autodop.dmaster.auth.model.po.Role;
 import cn.reghao.autodop.dmaster.auth.model.po.User;
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -19,19 +19,19 @@ import java.util.Set;
 @Service
 public class RoleServiceImpl implements RoleService {
     private final String rolePrefix = "ROLE_";
-    private final RoleRepository roleRepository;
     private final RoleQuery roleQuery;
+    private RoleCrud roleCrud;
 
-    public RoleServiceImpl(RoleRepository roleRepository, RoleQuery roleQuery) {
-        this.roleRepository = roleRepository;
+    public RoleServiceImpl(RoleQuery roleQuery, RoleCrud roleCrud) {
         this.roleQuery = roleQuery;
+        this.roleCrud = roleCrud;
     }
 
     @Override
     public void addOrModify(Role role) {
         String title = rolePrefix + role.getTitle();
         role.setTitle(title);
-        roleRepository.save(role);
+        roleCrud.save(role);
     }
 
     @Override
@@ -44,14 +44,14 @@ public class RoleServiceImpl implements RoleService {
         }
 
         role.getMenus().clear();
-        roleRepository.save(role);
-        roleRepository.delete(role);
+        roleCrud.save(role);
+        roleCrud.delete(role);
     }
 
     @Override
     public void setRoleMenus(Integer roleId, Set<Menu> menus) {
         Role role = roleQuery.getRoleById(roleId);
         role.setMenus(menus);
-        roleRepository.save(role);
+        roleCrud.save(role);
     }
 }

+ 2 - 10
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysController.java

@@ -1,8 +1,6 @@
 package cn.reghao.autodop.dmaster.sys.controller;
 
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
-import cn.reghao.autodop.dmaster.sys.service.BakService;
 import cn.reghao.autodop.dmaster.sys.service.SysConfig;
 import cn.reghao.autodop.dmaster.utils.UploadDownload;
 import cn.reghao.autodop.dmaster.utils.WebBody;
@@ -25,22 +23,16 @@ import java.nio.charset.StandardCharsets;
 @RequestMapping("/api/sys")
 @RestController
 public class SysController {
-    private BakService bakService;
     private UploadDownload uploadDownload;
-    private RoleRepository roleRepository;
 
-    public SysController(BakService bakService,
-                         UploadDownload uploadDownload,
-                         RoleRepository roleRepository) {
-        this.bakService = bakService;
+    public SysController(UploadDownload uploadDownload) {
         this.uploadDownload = uploadDownload;
-        this.roleRepository = roleRepository;
     }
 
     @ApiOperation(value = "数据备份")
     @GetMapping("/bak/export")
     public void dataBackup(HttpServletResponse response) throws IOException {
-        String json = bakService.bakSysConfig();
+        String json = "test data";
         ByteArrayInputStream bytesIn = new ByteArrayInputStream(json.getBytes());
         BufferedInputStream bis = new BufferedInputStream(bytesIn);
         uploadDownload.download(bis, response);

+ 2 - 21
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysPageController.java

@@ -4,18 +4,11 @@ import cn.reghao.autodop.common.jvm.JVM;
 import cn.reghao.autodop.common.jvm.pojo.JvmInfo;
 import cn.reghao.autodop.common.jvm.pojo.JvmStat;
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.auth.model.po.Role;
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
-import cn.reghao.autodop.dmaster.sys.service.BakService;
 import cn.reghao.autodop.dmaster.sys.service.SysConfig;
 import cn.reghao.autodop.dmaster.utils.UploadDownload;
 import cn.reghao.autodop.dmaster.utils.WebBody;
-import cn.reghao.autodop.dmaster.utils.db.PageList;
-import cn.reghao.autodop.dmaster.utils.db.PageSort;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
@@ -33,29 +26,17 @@ import java.nio.charset.StandardCharsets;
 @RequestMapping("/sys")
 @Controller
 public class SysPageController {
-    private BakService bakService;
     private UploadDownload uploadDownload;
-    private RoleRepository roleRepository;
     private JVM jvm;
 
-    public SysPageController(BakService bakService,
-                             UploadDownload uploadDownload,
-                             RoleRepository roleRepository) {
-        this.bakService = bakService;
+    public SysPageController(UploadDownload uploadDownload) {
         this.uploadDownload = uploadDownload;
-        this.roleRepository = roleRepository;
         this.jvm = new JVM();
     }
 
     @ApiOperation(value = "系统备份还原页面")
     @GetMapping("/bak")
     public String sysBakPage(Model model) {
-        PageRequest pageRequest = PageSort.pageRequest();
-        Page<Role> rolePage = roleRepository.findAll(pageRequest);
-        PageList<Role> pageList = PageList.pageList(rolePage);
-
-        model.addAttribute("page", rolePage);
-        model.addAttribute("list", pageList.getList());
         return "/sys/bak";
     }
 
@@ -74,7 +55,7 @@ public class SysPageController {
     @GetMapping("/bak/export")
     @ResponseBody
     public void dataBackup(HttpServletResponse response) throws IOException {
-        String json = bakService.bakSysConfig();
+        String json = "test data";
         ByteArrayInputStream bytesIn = new ByteArrayInputStream(json.getBytes());
         BufferedInputStream bis = new BufferedInputStream(bytesIn);
         uploadDownload.download(bis, response);

+ 16 - 16
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/TestController.java

@@ -1,5 +1,6 @@
 package cn.reghao.autodop.dmaster.sys.controller;
 
+import cn.reghao.autodop.dmaster.auth.db.crud.*;
 import cn.reghao.autodop.dmaster.auth.model.constant.MenuType;
 import cn.reghao.autodop.dmaster.auth.model.po.UserAuthority;
 import cn.reghao.autodop.dmaster.auth.model.po.Menu;
@@ -9,9 +10,6 @@ import cn.reghao.autodop.dmaster.utils.WebBody;
 import cn.reghao.autodop.common.utils.security.Cryptor;
 import cn.reghao.autodop.common.utils.security.Md5Cryptor;
 import cn.reghao.autodop.common.utils.security.Salt;
-import cn.reghao.autodop.dmaster.auth.db.repository.MenuRepository;
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
-import cn.reghao.autodop.dmaster.auth.db.repository.UserRepository;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,17 +28,19 @@ import java.util.Set;
 @Controller
 @RequestMapping("/api/test")
 public class TestController {
-    private UserRepository userRepository;
-    private RoleRepository roleRepository;
-    private MenuRepository menuRepository;
+    private UserCrud userCrud;
+    private RoleQuery roleQuery;
+    private RoleCrud roleCrud;
+    private MenuCrud menuCrud;
     private Cryptor cryptor;
 
-    public TestController(UserRepository userRepository, RoleRepository roleRepository, MenuRepository menuRepository)
+    public TestController(UserCrud userCrud, RoleQuery roleQuery, RoleCrud roleCrud, MenuCrud menuCrud)
             throws NoSuchAlgorithmException {
+        this.userCrud = userCrud;
+        this.roleQuery = roleQuery;
+        this.roleCrud = roleCrud;
+        this.menuCrud = menuCrud;
         this.cryptor = new Md5Cryptor();
-        this.userRepository = userRepository;
-        this.roleRepository = roleRepository;
-        this.menuRepository = menuRepository;
     }
 
     @GetMapping("/init")
@@ -66,7 +66,7 @@ public class TestController {
         List<Role> roles = new ArrayList<>();
         roles.add(admin);
         roles.add(user);
-        roleRepository.saveAll(roles);
+        roleCrud.saveAll(roles);
     }
 
     private void addMenus() {
@@ -88,7 +88,7 @@ public class TestController {
         sysMenu.setType(MenuType.dir.name());
         sysMenu.setIcon("fa fa-cog");
         menus.add(sysMenu);
-        menuRepository.saveAll(menus);
+        menuCrud.saveAll(new ArrayList<>(menus));
 
         menus.clear();
         Menu userMenu = new Menu();
@@ -117,11 +117,11 @@ public class TestController {
         resourceMenu.setType(MenuType.page.name());
         resourceMenu.setIcon("fa fa-cog");
         menus.add(resourceMenu);
-        menuRepository.saveAll(menus);
+        menuCrud.saveAll(new ArrayList<>(menus));
 
-        Role admin = roleRepository.findByTitle("ROLE_ADMIN");
+        Role admin = roleQuery.findByTitle("ROLE_ADMIN");
         admin.setMenus(menus);
-        roleRepository.save(admin);
+        roleCrud.save(admin);
     }
 
     private void addUsers() {
@@ -143,6 +143,6 @@ public class TestController {
         user.setGender(1);
         user.setAvatarUrl("/imgs/avatar/default.png");
 
-        userRepository.save(user);
+        userCrud.save(user);
     }
 }

+ 0 - 70
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/service/BakService.java

@@ -1,70 +0,0 @@
-package cn.reghao.autodop.dmaster.sys.service;
-
-import cn.reghao.autodop.common.utils.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.auth.db.crud.MenuQuery;
-import cn.reghao.autodop.dmaster.auth.model.po.Menu;
-import cn.reghao.autodop.dmaster.auth.model.po.Role;
-import cn.reghao.autodop.dmaster.auth.model.po.User;
-import cn.reghao.autodop.dmaster.auth.db.repository.MenuRepository;
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
-import cn.reghao.autodop.dmaster.auth.db.repository.UserRepository;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2021-06-04 10:01:41
- */
-@Deprecated
-@Service
-public class BakService {
-    private MenuQuery menuQuery;
-    private RoleRepository roleRepository;
-    private UserRepository userRepository;
-
-    public BakService(MenuQuery menuQuery,
-                      RoleRepository roleRepository,
-                      UserRepository userRepository) {
-        this.menuQuery = menuQuery;
-        this.roleRepository = roleRepository;
-        this.userRepository = userRepository;
-    }
-
-    public String bakSysConfig() {
-        List<Menu> menus = menuQuery.findAll().stream()
-                .peek(menu -> {
-                    menu.setRoles(null);
-                    menu.setId(null);
-                    menu.setIsDelete(null);
-                    menu.setCreateTime(null);
-                    menu.setUpdateTime(null);
-                })
-                .collect(Collectors.toList());
-
-        List<Role> roles = roleRepository.findAll().stream()
-                .filter(role -> "ROLE_ADMIN".equals(role.getTitle()))
-                .peek(role -> {
-                    role.setMenus(null);
-                    role.setId(null);
-                    role.setIsDelete(null);
-                    role.setCreateTime(null);
-                    role.setUpdateTime(null);
-                })
-                .collect(Collectors.toList());
-
-        List<User> users = userRepository.findAll().stream()
-                .filter(user -> "admin".equals(user.getUsername()))
-                .peek(user -> {
-                    user.setId(null);
-                    user.setIsDelete(null);
-                    user.setCreateTime(null);
-                    user.setUpdateTime(null);
-                })
-                .collect(Collectors.toList());
-
-        SysConfig sysConfig = new SysConfig(menus, roles, users);
-        return JsonConverter.objectToJson(sysConfig);
-    }
-}

+ 5 - 8
dmaster/src/main/java/cn/reghao/autodop/dmaster/view/service/HomeService.java

@@ -1,8 +1,7 @@
 package cn.reghao.autodop.dmaster.view.service;
 
-import cn.reghao.autodop.dmaster.auth.db.repository.RoleRepository;
+import cn.reghao.autodop.dmaster.auth.db.crud.RoleQuery;
 import cn.reghao.autodop.dmaster.auth.model.po.Menu;
-import cn.reghao.autodop.dmaster.auth.db.repository.MenuRepository;
 import cn.reghao.autodop.dmaster.auth.model.po.Role;
 import org.springframework.stereotype.Service;
 
@@ -14,12 +13,10 @@ import java.util.*;
  */
 @Service
 public class HomeService {
-    private final RoleRepository roleRepository;
-    private MenuRepository menuRepository;
+    private final RoleQuery roleQuery;
 
-    public HomeService(RoleRepository roleRepository, MenuRepository menuRepository) {
-        this.roleRepository = roleRepository;
-        this.menuRepository = menuRepository;
+    public HomeService(RoleQuery roleQuery) {
+        this.roleQuery = roleQuery;
     }
 
     /**
@@ -32,7 +29,7 @@ public class HomeService {
     public List<Menu> userMenus(Set<String> roles) {
         List<Menu> menus = new ArrayList<>();
         roles.forEach(roleTitle -> {
-            Role role = roleRepository.findByTitle(roleTitle);
+            Role role = roleQuery.findByTitle(roleTitle);
             menus.addAll(role.getMenus());
         });