From 2923a9c05f21ee9ed991e244e85d1400e992c09b Mon Sep 17 00:00:00 2001 From: wangqing Date: Fri, 20 Aug 2021 11:22:55 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E8=A1=A8=E5=8D=95=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=88=97=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/common/sms/AliyunSmsServiceImpl.java | 2 +- .../impl/UserProjectResultServiceImpl.java | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/sms/AliyunSmsServiceImpl.java b/tduck-common/src/main/java/com/tduck/cloud/common/sms/AliyunSmsServiceImpl.java index 2610224..eeef0f8 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/sms/AliyunSmsServiceImpl.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/sms/AliyunSmsServiceImpl.java @@ -14,7 +14,7 @@ import java.util.Map; /** * @author : smalljop - * @description : 腾讯云短信 + * @description : 阿里云短信 * @create : 2020-12-15 10:33 **/ @Data diff --git a/tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java b/tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java index 9822c5e..4a82b3a 100644 --- a/tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java +++ b/tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java @@ -36,6 +36,7 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.FileInputStream; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import static com.tduck.cloud.project.constant.ProjectRedisKeyConstants.PROJECT_RESULT_NUMBER; @@ -108,17 +109,28 @@ public class UserProjectResultServiceImpl extends ServiceImpl isFillRow = new AtomicReference<>(false); List> resultList = resultEntityList.stream().map(item -> { Map processData = item.getProcessData(); + if (!isFillRow.get()) { + titleList.stream() + .map(ExportProjectResultVO.ExcelHeader::getFieldKey).collect(Collectors.toList()).forEach(key -> { + if (!processData.containsKey(key)) + processData.put(key, StrUtil.EMPTY); + }); + isFillRow.set(true); + } Iterator iterator = processData.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); - if (!titleList.stream() - .map(ExportProjectResultVO.ExcelHeader::getFieldKey).collect(Collectors.toList()).contains(key)) { + List titleStrList = titleList.stream() + .map(ExportProjectResultVO.ExcelHeader::getFieldKey).collect(Collectors.toList()); + // 不存在导出列的数据移除掉 避免多于字段导致excel格式错乱 + if (!titleStrList.contains(key)) { iterator.remove(); } } - processData.put(BaseEntity.Fields.createTime, item.getCreateTime()); processData.put(UserProjectResultEntity.Fields.submitAddress, item.getSubmitAddress()); return processData;