1、依赖
<poi.version>4.1.0</poi.version>
<commons.io>2.6</commons.io>
<hutool.version>4.5.16</hutool.version>
<!-- 日志打印 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${
poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${
poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${
poi.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${
commons.io}</version>
</dependency>
<!-- entity 映射 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${
hutool.version}</version>
</dependency>
2、Vo
package com.example.entity.vo;
import cn.hutool.core.collection.CollectionUtil;
import com.example.util.DataCheck;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Data
public class StudentVo {
@NotNull(message = "姓名不能为空")
@Size(min = 1, message = "姓名格式不正确")
private String name;
private String age;
private String mony;
private String message;
public static List<StudentVo> check(List<StudentVo> studentVoList) {
List<StudentVo> failList = Collections.synchronizedList(new ArrayList<>());
Map<String, List<StudentVo>> collect = studentVoList.parallelStream().filter(studentVo -> {
List<String> strings = DataCheck.validMessage(studentVo);
if (CollectionUtil.isEmpty(strings)) {
return true;
}
studentVo.setMessage(StringUtils.join(strings, ","));
failList.add(studentVo);
return false;
}).collect(
Collectors.groupingBy(
studentVo -> studentVo.getName().hashCode() + ""
)
);
collect.forEach(
(s, List) -> {
}
);
return failList;
}
}
3、解析
package com.example.util;
import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j