恢复下载时添加水印接口

This commit is contained in:
zhaokaiyao@91isoft.com
2021-07-25 18:22:41 +08:00
parent 3154533fb8
commit f609e3cece
6 changed files with 90 additions and 17 deletions
@@ -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);
@@ -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<TsUser> {
}
@@ -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;
}