学生导入

beetlsql3-dev
Mlxa0324 2 years ago
parent 39380104d9
commit 220100bb2a

@ -99,7 +99,7 @@ public class OrgConsoleService extends CoreBaseService<CoreOrg> {
public static <T> void setObjectOrgId(List<T> obj, Function<T, Long> function, boolean is) {
for (T t : obj) {
Long orgId = function.apply(t);
ReflectUtil.setFieldValue(obj, "orgId", orgId);
ReflectUtil.setFieldValue(t, "orgId", orgId);
}
}
}

@ -0,0 +1,32 @@
package com.ibeetl.admin.core.util;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* : <br>
*
*
* @Author: lx
* @Date: 2023/2/13 15:25
*/
@SuppressWarnings("ALL")
public abstract class ListUtils {
/**
* list
*
* @param list
* @param <E>
* @return
*/
public static <E> List<E> getDuplicateElements(List<E> list) {
return list.stream() .filter( i -> i!="") // list 对应的 Stream 并过滤""
.collect(Collectors.toMap(e -> e, e -> 1, Integer::sum)) // 获得元素出现频率的 Map键为元素值为元素出现的次数
.entrySet()
.stream() // 所有 entry 对应的 Stream
.filter(e -> e.getValue() > 1) // 过滤出元素出现次数大于 1 (重复元素)的 entry
.map(Map.Entry::getKey) // 获得 entry 的键(重复元素)对应的 Stream
.collect(Collectors.toList()); // 转化为 List
}
}

@ -21,6 +21,7 @@ import java.util.List;
import java.util.stream.Collectors;
import static cn.hutool.core.util.ObjectUtil.defaultIfBlank;
import static com.ibeetl.admin.core.util.ListUtils.getDuplicateElements;
/**
@ -83,6 +84,11 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
}
// 查询所有的班级编号
List<String> classSnList = classList.stream().map(SchoolClass::getClassSn).collect(Collectors.toList());
// 获取重复的元素
List<String> duplicateElements = getDuplicateElements(classSnList);
// 构建异常信息,传给前端
String duplicateElementsAsString = CollectionUtil.emptyIfNull(duplicateElements).stream().collect(Collectors.joining(","));
Assert.isTrue(CollectionUtil.isEmpty(duplicateElements), "本次上传,存在重复的的班级编号:\"{}\",请修改后再进行提交!", duplicateElementsAsString);
// 查询库里已经存在的编号
List<String> existsList = schoolClassDao.createLambdaQuery()
.andIsNotNull(SchoolClass::getClassSn)

@ -62,6 +62,7 @@ import static cn.jlw.token.TokenService.updateByIds;
import static cn.jlw.util.CacheUserUtil.getUniAdmin;
import static com.ibeetl.admin.core.enums.MenuEnums.JT_02;
import static com.ibeetl.admin.core.enums.MenuEnums.JT_S_03;
import static com.ibeetl.admin.core.util.ListUtils.getDuplicateElements;
import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap;
@ -966,6 +967,11 @@ public class StudentService extends CoreBaseService<Student>{
}
// 查询所有的班级编号
List<String> studentSnList = list.stream().map(Student::getStudentSn).collect(Collectors.toList());
// 获取重复的元素
List<String> duplicateElements = getDuplicateElements(studentSnList);
// 构建异常信息,传给前端
String duplicateElementsAsString = CollectionUtil.emptyIfNull(duplicateElements).stream().collect(Collectors.joining(","));
Assert.isTrue(CollectionUtil.isEmpty(duplicateElements), "本次上传,存在重复的的学生编号:\"{}\",请修改后再进行提交!", duplicateElementsAsString);
// 查询库里已经存在的编号
List<String> existsList = studentDao.createLambdaQuery()
.andIsNotNull(Student::getStudentSn)

Loading…
Cancel
Save