From 2bc2f7c95c837864bdd249aa4f00dcc7ed123f0b Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期二, 15 二月 2022 10:51:44 +0800 Subject: [PATCH] 图片压缩功能提交 --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java | 62 ++++++++++++++++++++++++++++++- 1 files changed, 60 insertions(+), 2 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..92853d5 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 @@ -3,9 +3,16 @@ import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; import lombok.extern.slf4j.Slf4j; +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 +32,8 @@ List<List<Object>> resultList = new ArrayList<>(); //构建单个用户数据 List<Object> userData = new ArrayList<>(); + + String noExport = "以上信息仅用于"; //遍历答案列表 Long reserveRecordId = 0L; Long reserveSubId = 0L; @@ -33,7 +42,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) + || (StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport))) { continue; } //判断reserveRecordId为空则为第一条记录,默认加上昵称和灯谜是 @@ -70,11 +80,33 @@ 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())); + if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){ + userData.add(new URL(userAnswers.getAnswerContent())); + //userData.add(new File("/workspace/minio/data/files/"+userAnswers.getAnswerContent().substring(userAnswers.getAnswerContent().indexOf("files/")+6))); + } + else { + userData.add(" "); + } + }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 +119,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 +131,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 +146,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() + ","); -- Gitblit v1.7.1