diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoDataController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoDataController.java index 5215dc1ab..b71be6192 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoDataController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoDataController.java @@ -123,9 +123,12 @@ public class ExtRepoDataController extends JeroController add(@Validated @RequestBody ExtRepoData extRepoData) { + public Result add(@Validated @RequestBody ExtRepoData extRepoData,HttpSession session) { Result result = new Result(); - if (extRepoFolderService.haveManageAuth(extRepoData.getSupFolder())) { + //判断当前文件夹或者上级文件夹是否有权限 + session.setAttribute("haveSuperiorManageAuth", false); + extRepoFolderService.haveSuperiorManageAuth(extRepoData.getSupFolder(),session); + if ((Boolean)session.getAttribute("haveSuperiorManageAuth")) { log.info("对外报告数据表收到文件添加请求,开始处理文件:【" + sdf.format(new Date()) + "】"); int res = extRepoDataService.add(extRepoData); if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { @@ -153,11 +156,14 @@ public class ExtRepoDataController extends JeroController edit(@Validated @RequestBody ExtRepoData extRepoData) { + public Result edit(@Validated @RequestBody ExtRepoData extRepoData,HttpSession session) { Result result = new Result(); ExtRepoData erd = extRepoDataService.queryById(extRepoData.getId()); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) { + //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //判断当前文件夹或者上级文件夹是否有权限 + session.setAttribute("haveSuperiorManageAuth", false); + extRepoFolderService.haveSuperiorManageAuth(erd.getSupFolder(),session); + if (extRepoFolderService.isManager() || (Boolean)session.getAttribute("haveSuperiorManageAuth")) { extRepoData.setSupFolder(erd.getSupFolder()); extRepoDataService.editById(extRepoData); if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { @@ -185,12 +191,15 @@ public class ExtRepoDataController extends JeroController delete(@RequestParam("id") String id, - @RequestParam(name = "cut", defaultValue = "cn") String cut) { + @RequestParam(name = "cut", defaultValue = "cn") String cut,HttpSession session) { Result result = new Result(); ExtRepoData erd = extRepoDataService.queryById(id); if (null != erd) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) { + //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //判断当前文件夹或者上级文件夹是否有权限 + session.setAttribute("haveSuperiorManageAuth", false); + extRepoFolderService.haveSuperiorManageAuth(erd.getSupFolder(),session); + if (extRepoFolderService.isManager() || (Boolean)session.getAttribute("haveSuperiorManageAuth")) { extRepoDataService.deleteById(id); CosBootUtil.delete(erd.getFileKey()); if (CutEnum.CN.getValue().equals(cut)) {