From c0040f3580f4f7c30f24e1b96e3f538e91d0926b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 7 Aug 2024 11:15:31 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"feat:=20PDF=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E9=97=AE=E9=A2=98"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit fba4fe61 --- .../sys/controller/SysCommonController.java | 58 +++++------------- .../main/resources/pdfTemplate/预览无权限.pdf | Bin 29870 -> 0 bytes 2 files changed, 15 insertions(+), 43 deletions(-) delete mode 100644 laws-modules/src/main/resources/pdfTemplate/预览无权限.pdf diff --git a/laws-modules/src/main/java/com/jero/modules/sys/controller/SysCommonController.java b/laws-modules/src/main/java/com/jero/modules/sys/controller/SysCommonController.java index 9d97100f..8dd7fcdd 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/controller/SysCommonController.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/controller/SysCommonController.java @@ -3,11 +3,9 @@ package com.jero.modules.sys.controller; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; import com.jero.common.util.IntekeyUtils; import com.jero.common.util.MinioUtil; -import com.jero.common.util.RedisUtil; import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; @@ -54,9 +52,6 @@ public class SysCommonController { @Resource private EnterpriseStandardAuthUserService authUserService; - @Resource - private RedisUtil redisUtil; - /** * 下载文件 @@ -103,28 +98,9 @@ public class SysCommonController { */ @GetMapping(value = "/view/{id}") public void view(@PathVariable String id, HttpServletRequest request, HttpServletResponse response) { - if (!this.viewAuth(request)) { - noAuthFile(response, "预览无权限.pdf"); - return; - } downloadAndViewWithWaterMark(id, response); } - - private boolean viewAuth(HttpServletRequest request) { - String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN); - String at = request.getParameter(CommonConstant.AT); - if (StrUtil.isBlank(at)) { - return false; - } - if (StrUtil.isBlank(token)) { - // 判断是否是外部系统对接的账户 - Object o = redisUtil.get(at + "-X"); - return null != o; - } - return at.equals(token); - } - private void downloadAndViewWithWaterMark(@PathVariable String id, HttpServletResponse response) { // 查询数据表数据是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -141,8 +117,21 @@ public class SysCommonController { String userId = UserUtils.getUserId(); boolean auth = authUserService.detailPermissionByUser(standardId, null, userId); if (!auth) { - noAuthFile(response, "暂无该文件查看权限.pdf"); - return; + // 返回固定无权限pdf模板 + try (InputStream inputStream = new ClassPathResource("pdfTemplate/暂无该文件查看权限.pdf").getInputStream(); + OutputStream outputStream = response.getOutputStream() + ) { + byte[] buf = new byte[1024]; + int len; + while ((len = inputStream.read(buf)) > 0) { + outputStream.write(buf, 0, len); + } + response.flushBuffer(); + return; + } catch (Exception e) { + log.error(e.getMessage()); + response.setStatus(404); + } } } } @@ -210,21 +199,4 @@ public class SysCommonController { } - private static void noAuthFile(HttpServletResponse response, String fileName) { - // 返回固定无权限pdf模板 - try (InputStream inputStream = new ClassPathResource("pdfTemplate/" + fileName).getInputStream(); - OutputStream outputStream = response.getOutputStream() - ) { - byte[] buf = new byte[1024]; - int len; - while ((len = inputStream.read(buf)) > 0) { - outputStream.write(buf, 0, len); - } - response.flushBuffer(); - } catch (Exception e) { - log.error(e.getMessage()); - response.setStatus(404); - } - } - } diff --git a/laws-modules/src/main/resources/pdfTemplate/预览无权限.pdf b/laws-modules/src/main/resources/pdfTemplate/预览无权限.pdf deleted file mode 100644 index 5f5392e1982cfe69fb1954a51aa196aac3da95e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29870 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%0Awz_B+ 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