From f609e3ceceda060e1c88f49c0aa9f0c0b1630488 Mon Sep 17 00:00:00 2001
From: "zhaokaiyao@91isoft.com" <6922339zky>
Date: Sun, 25 Jul 2021 18:22:41 +0800
Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E4=B8=8B=E8=BD=BD=E6=97=B6?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B0=B4=E5=8D=B0=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
adc-da-base/pom.xml | 6 ++++
.../java/com/adc/da/util/WaterMarkUtil.java | 13 +++++--
adc-da-sys/pom.xml | 22 ++++++++++++
.../att/controller/AttFileEOController.java | 34 +++++++++++--------
.../main/java/com/adc/da/att/dao/UserDao.java | 8 +++++
.../java/com/adc/da/att/entity/TsUser.java | 24 +++++++++++++
6 files changed, 90 insertions(+), 17 deletions(-)
create mode 100644 adc-da-sys/src/main/java/com/adc/da/att/dao/UserDao.java
create mode 100644 adc-da-sys/src/main/java/com/adc/da/att/entity/TsUser.java
diff --git a/adc-da-base/pom.xml b/adc-da-base/pom.xml
index cbf24270..538935fe 100644
--- a/adc-da-base/pom.xml
+++ b/adc-da-base/pom.xml
@@ -37,6 +37,12 @@
UserAgentUtils
1.21
+
+ com.itextpdf
+ itextpdf
+ 5.5.13
+ compile
+
diff --git a/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java b/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java
index 304e9f35..d33481f1 100644
--- a/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java
+++ b/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java
@@ -1,5 +1,13 @@
package com.adc.da.util;
+import com.itextpdf.text.BaseColor;
+import com.itextpdf.text.Element;
+import com.itextpdf.text.Rectangle;
+import com.itextpdf.text.pdf.*;
+
+import java.io.FileOutputStream;
+import java.lang.reflect.Field;
+
/**
* @Description:水印
* @Author: super_liu
@@ -15,7 +23,7 @@ public class WaterMarkUtil {
*/
public static boolean waterMark(String inputFile,
String outputFile, String waterMarkName) {
-/* try {
+ try {
PdfReader reader = new PdfReader(inputFile);
Field f = PdfReader.class.getDeclaredField("encrypted");
f.setAccessible(true);
@@ -65,8 +73,7 @@ public class WaterMarkUtil {
} catch (Exception e) {
e.printStackTrace();
return false;
- }*/
-return false;
+ }
}
}
diff --git a/adc-da-sys/pom.xml b/adc-da-sys/pom.xml
index 67891c56..94a80bcc 100644
--- a/adc-da-sys/pom.xml
+++ b/adc-da-sys/pom.xml
@@ -77,6 +77,28 @@
dom4j
2.0.1
+
+
+
+ com.lowagie
+ itext
+ 2.1.7
+
+
+ com.lowagie
+ itextasian
+ 2.1.7
+
+
+ com.itextpdf
+ itextpdf
+ 5.5.9
+
+
+ com.itextpdf
+ itext-asian
+ 5.2.0
+
diff --git a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java
index 456e39c7..4df99038 100644
--- a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java
+++ b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java
@@ -1,13 +1,17 @@
package com.adc.da.att.controller;
+import com.adc.da.att.dao.UserDao;
import com.adc.da.att.entity.AttFileEO;
+import com.adc.da.att.entity.TsUser;
import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.att.vo.AttFileVo;
import com.adc.da.file.store.IFileStore;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
+import com.adc.da.sys.entity.UserEO;
import com.adc.da.util.MD5Util;
import com.adc.da.util.UUIDUtils;
+import com.adc.da.util.WaterMarkUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -46,6 +50,9 @@ public class AttFileEOController {
@Autowired
private IFileStore iFileStore;
+ @Autowired
+ private UserDao userDao;
+
@Value("${file.path}")
private String filePath;//文件存储路径
@@ -249,7 +256,7 @@ public class AttFileEOController {
@ApiOperation(value = "|File|下载文件加水印")
@GetMapping("/downloadFileForSarWaterMark")
// @RequiresPermissions("sys:file:downloadFileForSar")
- public void downloadFileForSarWaterMark(String fileId, HttpServletResponse response, HttpServletRequest request) throws Exception {
+ public void downloadFileForSarWaterMark(String userId,String fileId, HttpServletResponse response, HttpServletRequest request) throws Exception {
AttFileEO attFileEO = attFileEOService.getFileInfo(fileId);
InputStream is = null;
OutputStream os = null;
@@ -265,24 +272,23 @@ public class AttFileEOController {
}
String waterFilePath = newFilePath + attFileEO.getOldFileName();
// 添加水印
- String waterContent = "";
-// String userId = LoginUserUtil.getUserId();
-// String userMsg = "";
-// UserEO userEO = userEOService.selectByPrimaryKey(userId);
-// if (userEO != null) {
-// userMsg = userEO.getUname() + ",";
-// if (StringUtils.isNotEmpty(userEO.getWorkNum())) {
-// userMsg += userEO.getWorkNum() + ",";
-// }
-// }
+ String userMsg = "";
+ TsUser tsUser = userDao.selectById(userId);
+ if (tsUser != null) {
+ userMsg = tsUser.getUname() + ",";
+ if (StringUtils.isNotEmpty(tsUser.getWorkNum())) {
+ userMsg += tsUser.getWorkNum() + ",";
+ }
+ }
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");//设置日期格式
String date = df.format(new Date());
-// waterContent = userMsg + date;
+ String waterContent = userMsg + date;
//2020年9月5日 去掉水印处理
-// WaterMarkUtil.waterMark(oldFilePath,waterFilePath,waterContent);
+ //2021年7月25日要求下载生成水印
+ WaterMarkUtil.waterMark(oldFilePath,waterFilePath,waterContent);
response.setHeader("Content-Disposition", "attachment;filename=\""+fileOldName+"\"");
response.setContentType("application/octet-stream");
- File file = new File(filePath+attFileEO.getFilePath()+attFileEO.getFileName());
+ File file = new File(waterFilePath);
is = new FileInputStream(file);
os = response.getOutputStream();
IOUtils.copy(is, os);
diff --git a/adc-da-sys/src/main/java/com/adc/da/att/dao/UserDao.java b/adc-da-sys/src/main/java/com/adc/da/att/dao/UserDao.java
new file mode 100644
index 00000000..b7f6d6df
--- /dev/null
+++ b/adc-da-sys/src/main/java/com/adc/da/att/dao/UserDao.java
@@ -0,0 +1,8 @@
+package com.adc.da.att.dao;
+
+import com.adc.da.att.entity.TsUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface UserDao extends BaseMapper {
+
+}
diff --git a/adc-da-sys/src/main/java/com/adc/da/att/entity/TsUser.java b/adc-da-sys/src/main/java/com/adc/da/att/entity/TsUser.java
new file mode 100644
index 00000000..c088351b
--- /dev/null
+++ b/adc-da-sys/src/main/java/com/adc/da/att/entity/TsUser.java
@@ -0,0 +1,24 @@
+package com.adc.da.att.entity;
+
+import com.adc.da.base.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TsUser extends BaseEntity implements Serializable {
+ @TableId
+ private String usid;
+ @TableField
+ private String uname;
+ @TableField
+ private String workNum;
+
+
+}