From 86df207c37502cce1b2043e1c7c0486459eef1d6 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 13 三月 2025 19:58:45 +0800
Subject: [PATCH] 党员、诉求评论基础代码

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java |  240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 235 insertions(+), 5 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 05e1b65..8e2fda9 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
@@ -33,7 +33,7 @@
         //构建单个用户数据
         List<Object> userData = new ArrayList<>();
 
-        String noExport = "以上信息仅用于";
+        String noExport = "本人对信息内容";
         //遍历答案列表
         Long reserveRecordId = 0L;
         Long reserveSubId = 0L;
@@ -44,10 +44,10 @@
             for (ComActQuestnaireAnswerContentVO userAnswers : answerContentVOList) {
                 a++;
                 if(answerContentVOList.size()==26&&a==9){
-                   userData.add("");
+                   userData.add(" ");
                 }
                 //判断是文字描述直接跳过
-                if (userAnswers.getOptionType().equals(5) || userAnswers.getOptionType().equals(11)
+                if (userAnswers.getOptionType().equals(5)
                         || (StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport))) {
                     continue;
                 }
@@ -94,9 +94,27 @@
                         if(userAnswers.getOptionType().equals(11)){
                             reserveSubId = userAnswers.getReserveSubId();
                             try {
-                                userData.add(new URL(userAnswers.getAnswerContent()));
+                                if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){
+                                    if(userAnswers.getAnswerContent().contains("_compress")){
+                                        userData.add(new URL(userAnswers.getAnswerContent()));
+                                    }
+                                    else {
+                                        URL url=new URL(userAnswers.getAnswerContent().substring(0,userAnswers.getAnswerContent().lastIndexOf("."))+"_compress.jpg");
+                                        if(url.getContent()!=null){
+                                            userData.add(url);
+                                        }
+                                        else {
+                                            userData.add(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(" ");
+                                e.printStackTrace();
                                 log.error("导出转换图片失败!");
                             }
                             continue;
@@ -138,7 +156,219 @@
                         if(userAnswers.getOptionType().equals(11)){
                             reserveSubId = userAnswers.getReserveSubId();
                             try {
-                                userData.add(new URL(userAnswers.getAnswerContent()));
+                                if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){
+                                    if(userAnswers.getAnswerContent().contains("_compress")){
+                                        userData.add(new URL(userAnswers.getAnswerContent()));
+                                    }
+                                    else {
+                                        URL url=new URL(userAnswers.getAnswerContent().substring(0,userAnswers.getAnswerContent().lastIndexOf("."))+"_compress.jpg");
+                                        if(url.getContent()!=null){
+                                            userData.add(url);
+                                        }
+                                        else {
+                                            userData.add(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(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() + ",");
+                        String answer = sb.toString();
+                        userData.add(answer.substring(0, answer.length() - 1));
+                        sb = new StringBuffer();
+                    }
+                }
+            }
+            if(isOldDuo){
+                String answer = sb.toString();
+                userData.add(answer.substring(0, answer.length() - 1));
+            }
+            resultList.add(userData);
+        }
+        return resultList;
+    }
+
+    public static List<List<Object>> ReserveDataNoImage(List<ComActQuestnaireAnswerContentVO> answerContentVOList) {
+        //结果数据集合
+        List<List<Object>> resultList = new ArrayList<>();
+        //构建单个用户数据
+        List<Object> userData = new ArrayList<>();
+
+        String noExport = "以上信息仅用于";
+        //遍历答案列表
+        Long reserveRecordId = 0L;
+        Long reserveSubId = 0L;
+        Boolean isOldDuo = false;
+        StringBuffer sb = new StringBuffer();
+        if (answerContentVOList != null && answerContentVOList.size() > 0) {
+            int a=0;
+            for (ComActQuestnaireAnswerContentVO userAnswers : answerContentVOList) {
+                a++;
+                if(answerContentVOList.size()==26&&a==9){
+                    userData.add(" ");
+                }
+                //判断是文字描述直接跳过
+                if (userAnswers.getOptionType().equals(5) ||userAnswers.getOptionType().equals(11)
+                        || (StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport))) {
+                    continue;
+                }
+                //判断reserveRecordId为空则为第一条记录,默认加上昵称和灯谜是
+                if (reserveRecordId.equals(0L)) {
+                    reserveRecordId = userAnswers.getReserveRecordId();
+                    userData.add(userAnswers.getNickName());
+                    userData.add(DateUtils.format(userAnswers.getTime(), DateUtils.ymdhms_format));
+                }
+                //根据reserveRecordId判断是否是第二条填报记录
+                if (!reserveRecordId.equals(userAnswers.getReserveRecordId())) {
+                    reserveSubId = 0L;
+
+                    if(isOldDuo){
+                        String answer = sb.toString();
+                        userData.add(answer.substring(0, answer.length() - 1));
+                        sb = new StringBuffer();
+                        isOldDuo = false;
+                    }
+                    resultList.add(userData);
+                    userData = new ArrayList<>();
+                    reserveRecordId = userAnswers.getReserveRecordId();
+                    userData.add(userAnswers.getNickName());
+                    userData.add(DateUtils.format(userAnswers.getTime(), DateUtils.ymdhms_format));
+                    if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){
+                        userData.add(userAnswers.getAnswerContent());
+                    }else{
+                        userData.add(" ");
+                    }
+                }else{
+                    if(reserveSubId.equals(0L)){
+                        reserveSubId = userAnswers.getReserveSubId();
+                    }
+
+                    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 {
+                                if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){
+                                    if(userAnswers.getAnswerContent().contains("_compress")){
+                                        userData.add(new URL(userAnswers.getAnswerContent()));
+                                    }
+                                    else {
+                                        URL url=new URL(userAnswers.getAnswerContent().substring(0,userAnswers.getAnswerContent().lastIndexOf("."))+"_compress.jpg");
+                                        if(url.getContent()!=null){
+                                            userData.add(url);
+                                        }
+                                        else {
+                                            userData.add(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(" ");
+                                e.printStackTrace();
+                                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("导出转换图片失败!");
+                            }
+                            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() + ",");
+                        String answer = sb.toString();
+                        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();
+                            try {
+                                if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){
+                                    if(userAnswers.getAnswerContent().contains("_compress")){
+                                        userData.add(new URL(userAnswers.getAnswerContent()));
+                                    }
+                                    else {
+                                        URL url=new URL(userAnswers.getAnswerContent().substring(0,userAnswers.getAnswerContent().lastIndexOf("."))+"_compress.jpg");
+                                        if(url.getContent()!=null){
+                                            userData.add(url);
+                                        }
+                                        else {
+                                            userData.add(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("导出转换图片失败!");

--
Gitblit v1.7.1