|
|
|
@ -28,14 +28,12 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
|
|
|
|
|
import static com.ibeetl.jlw.enums.OpenCourseMergeJoinTypeEnum.class_join;
|
|
|
|
|
import static com.ibeetl.jlw.enums.OpenCourseMergeJoinTypeEnum.student_join;
|
|
|
|
|
import static com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery.jsonToPO;
|
|
|
|
|
import static java.util.stream.Collectors.joining;
|
|
|
|
|
|
|
|
|
@ -235,9 +233,6 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService<Te
|
|
|
|
|
// 获取导入的班级IDs
|
|
|
|
|
final String classIds = list.stream().map(
|
|
|
|
|
o -> o.getSchoolClassId().toString()).distinct().collect(joining(","));
|
|
|
|
|
TeacherOpenCourseMergeStudentQuery studentQuery = new TeacherOpenCourseMergeStudentQuery();
|
|
|
|
|
studentQuery.setTeacherOpenCourseSchoolClassMergeStudentAddTime(now);
|
|
|
|
|
studentQuery.setTeacherOpenCourseId(teacherOpenCourseId);
|
|
|
|
|
|
|
|
|
|
// 查询开课和班级已经关联的数据
|
|
|
|
|
final TeacherOpenCourseMergeSchoolClassQuery paras = new TeacherOpenCourseMergeSchoolClassQuery();
|
|
|
|
@ -264,14 +259,29 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService<Te
|
|
|
|
|
List<Student> studentList = studentService.getValuesByQuery(sq);
|
|
|
|
|
|
|
|
|
|
// 或者学生的Ids
|
|
|
|
|
// 查询班级方式加入的学生
|
|
|
|
|
// 查询所有方式加入的学生,程序判断交集。添加学生方式 进来的学生,不会被添加班级的方式中被删除
|
|
|
|
|
TeacherOpenCourseMergeStudentQuery existsStudentQuery = new TeacherOpenCourseMergeStudentQuery();
|
|
|
|
|
existsStudentQuery.setTeacherOpenCourseSchoolClassMergeStudentStatus(1);
|
|
|
|
|
existsStudentQuery.setTeacherOpenCourseId(teacherOpenCourseId);
|
|
|
|
|
existsStudentQuery.setTeacherOpenCourseSchoolClassMergeStudentJoinType(class_join);
|
|
|
|
|
List<TeacherOpenCourseMergeStudent> studentDelList =
|
|
|
|
|
teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(existsStudentQuery);
|
|
|
|
|
|
|
|
|
|
HashSet<Long> existsSet = new HashSet<>();
|
|
|
|
|
|
|
|
|
|
// 移除添加学生方式进来的学生,优先级比较高吧
|
|
|
|
|
studentDelList.removeIf(teacherOpenCourseMergeStudent -> {
|
|
|
|
|
final Long studentId = teacherOpenCourseMergeStudent.getStudentId();
|
|
|
|
|
|
|
|
|
|
if (existsSet.contains(studentId)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
if (student_join.equals(teacherOpenCourseMergeStudent.getTeacherOpenCourseSchoolClassMergeStudentJoinType())
|
|
|
|
|
&& studentId != null) {
|
|
|
|
|
existsSet.add(studentId);
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 获取关联表要删除的主键Ids
|
|
|
|
|
String idsDelAdString = CollectionUtil.emptyIfNull(studentDelList).stream().map(
|
|
|
|
|
o -> o.getTeacherOpenCourseSchoolClassMergeStudentId().toString()).collect(joining(","));
|
|
|
|
@ -301,6 +311,6 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService<Te
|
|
|
|
|
return JsonResult.failMessage("新增失败," + msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return JsonResult.failMessage("新增失败, 请检查传递的参数!");
|
|
|
|
|
return JsonResult.failMessage("新增失败, 请检查必传参数:班级ID、教师开课ID");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|