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;