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