From 5ea8f496a9bc1fc33ecf12d0055efa157d070290 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期三, 15 十二月 2021 17:49:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java | 69 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 1 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java
index b3eae4f..23f59d4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java
@@ -2,10 +2,18 @@
import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FileUtils;
+import javax.imageio.ImageIO;
+import javax.xml.bind.DatatypeConverter;
+import java.awt.image.BufferedImage;
+import java.io.*;
import java.net.URL;
+import java.nio.file.Files;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.List;
+import java.util.UUID;
/**
* @author lyq
@@ -25,6 +33,8 @@
List<List<Object>> resultList = new ArrayList<>();
//构建单个用户数据
List<Object> userData = new ArrayList<>();
+
+ String noExport = "以上信息仅用于";
//遍历答案列表
Long reserveRecordId = 0L;
Long reserveSubId = 0L;
@@ -33,7 +43,8 @@
if (answerContentVOList != null && answerContentVOList.size() > 0) {
for (ComActQuestnaireAnswerContentVO userAnswers : answerContentVOList) {
//判断是文字描述直接跳过
- if (userAnswers.getOptionType().equals(5) || userAnswers.getOptionType().equals(11)) {
+ if (userAnswers.getOptionType().equals(5) || userAnswers.getOptionType().equals(11)
+ || (StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport))) {
continue;
}
//判断reserveRecordId为空则为第一条记录,默认加上昵称和灯谜是
@@ -70,11 +81,27 @@
if(!reserveSubId.equals(userAnswers.getReserveSubId())){
reserveSubId = userAnswers.getReserveSubId();
+ //如果是承诺字段则不导出
+ if(StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport)){
+ continue;
+ }
+
//判断当前的组件类型是否是图片上传,导出时需要导出图片
if(userAnswers.getOptionType().equals(11)){
reserveSubId = userAnswers.getReserveSubId();
try {
userData.add(new URL(userAnswers.getAnswerContent()));
+ }catch (Exception e){
+ userData.add(" ");
+ log.error("导出转换图片失败!");
+ }
+ continue;
+ }
+ //判断当前组件类型是否签名
+ if(userAnswers.getOptionType().equals(12)){
+ reserveSubId = userAnswers.getReserveSubId();
+ try {
+ userData.add(DatatypeConverter.parseBase64Binary(userAnswers.getAnswerContent().substring(userAnswers.getAnswerContent().indexOf(",") + 1)));
}catch (Exception e){
userData.add(" ");
log.error("导出转换图片失败!");
@@ -87,6 +114,11 @@
sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ",");
continue;
}else{
+ if(isOldDuo){
+ String answer = sb.toString();
+ userData.add(answer.substring(0, answer.length() - 1));
+ sb = new StringBuffer();
+ }
isOldDuo = false;
}
sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ",");
@@ -94,6 +126,10 @@
userData.add(answer.substring(0, answer.length() - 1));
sb = new StringBuffer();
}else{
+ //如果是承诺字段则不导出
+ if(StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport)){
+ continue;
+ }
//判断当前的组件类型是否是图片上传,导出时需要导出图片
if(userAnswers.getOptionType().equals(11)){
reserveSubId = userAnswers.getReserveSubId();
@@ -105,11 +141,28 @@
}
continue;
}
+ //判断当前组件类型是否签名
+ if(userAnswers.getOptionType().equals(12)){
+ reserveSubId = userAnswers.getReserveSubId();
+ try {
+ //userData.add(new URL("http://image.panzhihua.nhys.cdnhxx.com//idcard/967dbdef3ef3465a9169fbea204f9aa7.jpg"));
+ userData.add(DatatypeConverter.parseBase64Binary(userAnswers.getAnswerContent().substring(userAnswers.getAnswerContent().indexOf(",") + 1)));
+ }catch (Exception e){
+ userData.add(" ");
+ log.error("导出转换图片失败!");
+ }
+ continue;
+ }
if(userAnswers.getOptionType().equals(1)){
isOldDuo = true;
sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ",");
continue;
}else{
+ if(isOldDuo){
+ String answer = sb.toString();
+ userData.add(answer.substring(0, answer.length() - 1));
+ sb = new StringBuffer();
+ }
isOldDuo = false;
}
sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ",");
@@ -127,4 +180,18 @@
}
return resultList;
}
+
+ public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException {
+ File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile);
+ resultFile.deleteOnExit();
+ FileUtils.copyToFile(inputStream, resultFile);
+ return resultFile;
+ }
+
+ public static File bytesToFile(byte[] bytes, String fileType) throws IOException {
+ return createTmpFile(new ByteArrayInputStream(bytes),
+ UUID.randomUUID().toString(),
+ fileType,
+ Files.createTempDirectory("tempFile").toFile());
+ }
}
--
Gitblit v1.7.1