From 7b18addebfc5e39cbd0318790daee8f97c89ba25 Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期一, 28 十一月 2022 12:22:48 +0800
Subject: [PATCH] #feat 新增商品上下架商品数量
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AssemblyUtils.java | 252 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 236 insertions(+), 16 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 23f59d4..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
@@ -2,7 +2,6 @@
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;
@@ -34,16 +33,21 @@
//构建单个用户数据
List<Object> userData = new ArrayList<>();
- String noExport = "以上信息仅用于";
+ 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)
+ if (userAnswers.getOptionType().equals(5)
|| (StringUtils.isNotEmpty(userAnswers.getAnswerContent()) && userAnswers.getAnswerContent().contains(noExport))) {
continue;
}
@@ -90,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;
@@ -134,7 +156,25 @@
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("导出转换图片失败!");
@@ -181,17 +221,197 @@
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 List<List<Object>> ReserveDataNoImage(List<ComActQuestnaireAnswerContentVO> answerContentVOList) {
+ //结果数据集合
+ List<List<Object>> resultList = new ArrayList<>();
+ //构建单个用户数据
+ List<Object> userData = new ArrayList<>();
- public static File bytesToFile(byte[] bytes, String fileType) throws IOException {
- return createTmpFile(new ByteArrayInputStream(bytes),
- UUID.randomUUID().toString(),
- fileType,
- Files.createTempDirectory("tempFile").toFile());
+ 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("导出转换图片失败!");
+ }
+ 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;
}
}
--
Gitblit v1.7.1