|
|
@@ -1,6 +1,7 @@
|
|
|
package com.lc.ibps.cloud.file.provider;
|
|
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.io.InputStream;
|
|
|
import java.net.URL;
|
|
|
@@ -11,9 +12,12 @@ import java.util.Map;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
|
|
|
+import com.lc.ibps.api.base.file.FileInfo;
|
|
|
import com.lc.ibps.base.core.encrypt.Base64;
|
|
|
import com.lc.ibps.base.db.util.TableMetaUtil;
|
|
|
import com.lc.ibps.cloud.entity.APIRequest;
|
|
|
+import com.lc.ibps.cloud.file.util.PDFFileUtil;
|
|
|
+import com.lc.ibps.components.upload.util.UploadUtil;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.mock.web.MockMultipartFile;
|
|
|
@@ -388,6 +392,7 @@ public class UploadProvider extends GenericUploadProvider implements IUploadServ
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@ApiOperation(value = "检查分块文件", notes = "检查分块文件")
|
|
|
@Override
|
|
|
public APIResult<String> checkChunk(
|
|
|
@@ -520,4 +525,43 @@ public class UploadProvider extends GenericUploadProvider implements IUploadServ
|
|
|
return params;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public APIResult<AttachmentPo> stamp(String attachmentId, String action, Boolean waterMark) {
|
|
|
+ APIResult<AttachmentPo> result = new APIResult<>();
|
|
|
+ try {
|
|
|
+ this.getUploadService();
|
|
|
+ FileInfo fileInfo = uploadService.downloadFile(attachmentId);
|
|
|
+ if (BeanUtils.isNotEmpty(fileInfo)) {
|
|
|
+ if(!"pdf".equalsIgnoreCase(fileInfo.getExt())){
|
|
|
+ result.setMessage("不支持非PDF文件!");
|
|
|
+ result.setState(StateEnum.ERROR_ATTACHMENT.getCode());
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ byte[] fileBlob = fileInfo.getFileBytes();
|
|
|
+ InputStream input = new ByteArrayInputStream(fileBlob);
|
|
|
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
|
|
|
+ PDFFileUtil.stamp(input,output,action);
|
|
|
+
|
|
|
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(output.toByteArray());
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ params.put(FileParam.CUR_USER_ID, ContextUtil.getCurrentUser().getUserId());
|
|
|
+ params.put(FileParam.CUR_USER_ACCOUNT, ContextUtil.getCurrentUser().getAccount());
|
|
|
+ params.put(FileParam.CUR_USER_NAME, ContextUtil.getCurrentUser().getFullname());
|
|
|
+ params.put(FileParam.ORIGINAL_FILE_NAME,fileInfo.getFileName()+"."+fileInfo.getExt());
|
|
|
+ params.put(FileParam.FILE_SIZE,fileInfo.getTotalBytes());
|
|
|
+// params.put(FileParam.UPLOAD_TYPE, fileInfo.get);
|
|
|
+// params.put(FileParam.FILE_MD5, fileInfo.getMd5());
|
|
|
+// params.put(FileParam.IS_CHUNK, isChunk);
|
|
|
+// params.put(FileParam.CHUNK, chunk);
|
|
|
+// params.put(FileParam.CHUNK_SIZE, chunkSize);
|
|
|
+ AttachmentPo attachmentPo = uploadService.uploadFile(inputStream, params);
|
|
|
+ result.setData(attachmentPo);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("/upload/stamp", e);
|
|
|
+ result.setMessage(StateEnum.ERROR_ATTACHMENT.getText());
|
|
|
+ result.setState(StateEnum.ERROR_ATTACHMENT.getCode());
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|