|
@@ -6,9 +6,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.google.common.collect.Lists;
|
|
|
-import com.qmth.distributed.print.business.bean.dto.excel.TeachCourseDto;
|
|
|
import com.qmth.distributed.print.business.bean.dto.excel.TeacherTeamDto;
|
|
|
import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
|
|
|
+import com.qmth.distributed.print.business.bean.params.TeachCourseSelectParam;
|
|
|
import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
|
|
|
import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
|
|
|
import com.qmth.distributed.print.business.bean.result.DictionaryResult;
|
|
@@ -18,7 +18,6 @@ import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
|
|
|
import com.qmth.distributed.print.business.mapper.TeachCourseMapper;
|
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
import com.qmth.teachcloud.common.base.BaseEntity;
|
|
|
-import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
|
|
|
import com.qmth.teachcloud.common.bean.params.UserSaveParams;
|
|
|
import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
|
|
|
import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
|
|
@@ -87,118 +86,118 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
private CourseDimensionService courseDimensionService;
|
|
|
|
|
|
@Override
|
|
|
- public IPage<TeachCourseResult> teachCoursePage(String courseName, int pageNumber, int pageSize, Long userId) {
|
|
|
- if (!SystemConstant.longNotNull(userId)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("请先登录");
|
|
|
- }
|
|
|
- Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
+ public IPage<TeachCourseResult> teachCoursePage(Long examId, String courseName, int pageNumber, int pageSize, Long userId) {
|
|
|
courseName = SystemConstant.translateSpecificSign(courseName);
|
|
|
- return this.baseMapper.findTeachCoursePage(new Page<>(pageNumber, pageSize), courseName, userId, schoolId);
|
|
|
+ return this.baseMapper.findTeachCoursePage(new Page<>(pageNumber, pageSize), examId, courseName, userId);
|
|
|
}
|
|
|
|
|
|
+ @Deprecated
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Boolean manualCreate(TeachCourseParams teachCourseParams, SysUser requestUser) {
|
|
|
- String courseCode = teachCourseParams.getCourseCode();
|
|
|
- String courseName = teachCourseParams.getCourseName();
|
|
|
- Long schoolId = requestUser.getSchoolId();
|
|
|
- Long userId = requestUser.getId();
|
|
|
- Long basicCourseId;
|
|
|
-
|
|
|
- // 校验
|
|
|
- BasicCourse basicCourse = basicCourseService.getOne(
|
|
|
- new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode));
|
|
|
- if (Objects.nonNull(basicCourse)) {
|
|
|
- // 根据课程编号查询存在课程判断名称是否一致
|
|
|
- if (!courseName.equals(basicCourse.getName())) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("课程编号[" + courseCode + "]的课程名称错误");
|
|
|
- } else {
|
|
|
- basicCourseId = basicCourse.getId();
|
|
|
- // 判断重复教学课程
|
|
|
- if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getSchoolId, schoolId)
|
|
|
- .eq(TeachCourse::getUserId, userId).eq(TeachCourse::getBasicCourseId, basicCourseId)) > 0) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("课程[" + courseName + "]已经创建");
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 不存在课程,直接新增一个课程!
|
|
|
- BasicCourseParams basicCourseParams = new BasicCourseParams();
|
|
|
- basicCourseParams.setCourseCode(courseCode);
|
|
|
- basicCourseParams.setCourseName(courseName);
|
|
|
- basicCourseParams.setTeachingRoomId(requestUser.getOrgId());
|
|
|
- basicCourseId = basicCourseService.saveBasicCourse(basicCourseParams, requestUser);
|
|
|
- }
|
|
|
- TeachCourse teachCourse = new TeachCourse();
|
|
|
- teachCourse.setSchoolId(schoolId);
|
|
|
- teachCourse.setBasicCourseId(basicCourseId);
|
|
|
- teachCourse.setUserId(userId);
|
|
|
- teachCourse.setEnable(true);
|
|
|
- teachCourse.insertInfo(userId);
|
|
|
- return this.save(teachCourse);
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("废弃的方法");
|
|
|
+ // String courseCode = teachCourseParams.getCourseCode();
|
|
|
+ // String courseName = teachCourseParams.getCourseName();
|
|
|
+ // Long schoolId = requestUser.getSchoolId();
|
|
|
+ // Long userId = requestUser.getId();
|
|
|
+ // Long basicCourseId;
|
|
|
+ //
|
|
|
+ // // 校验
|
|
|
+ // BasicCourse basicCourse = basicCourseService.getOne(
|
|
|
+ // new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode));
|
|
|
+ // if (Objects.nonNull(basicCourse)) {
|
|
|
+ // // 根据课程编号查询存在课程判断名称是否一致
|
|
|
+ // if (!courseName.equals(basicCourse.getName())) {
|
|
|
+ // throw ExceptionResultEnum.ERROR.exception("课程编号[" + courseCode + "]的课程名称错误");
|
|
|
+ // } else {
|
|
|
+ // basicCourseId = basicCourse.getId();
|
|
|
+ // // 判断重复教学课程
|
|
|
+ // if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getSchoolId, schoolId)
|
|
|
+ // .eq(TeachCourse::getUserId, userId).eq(TeachCourse::getBasicCourseId, basicCourseId)) > 0) {
|
|
|
+ // throw ExceptionResultEnum.ERROR.exception("课程[" + courseName + "]已经创建");
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // // 不存在课程,直接新增一个课程!
|
|
|
+ // BasicCourseParams basicCourseParams = new BasicCourseParams();
|
|
|
+ // basicCourseParams.setCourseCode(courseCode);
|
|
|
+ // basicCourseParams.setCourseName(courseName);
|
|
|
+ // basicCourseParams.setTeachingRoomId(requestUser.getOrgId());
|
|
|
+ // basicCourseId = basicCourseService.saveBasicCourse(basicCourseParams, requestUser);
|
|
|
+ // }
|
|
|
+ // TeachCourse teachCourse = new TeachCourse();
|
|
|
+ // teachCourse.setSchoolId(schoolId);
|
|
|
+ // teachCourse.setBasicCourseId(basicCourseId);
|
|
|
+ // teachCourse.setUserId(userId);
|
|
|
+ // teachCourse.setEnable(true);
|
|
|
+ // teachCourse.insertInfo(userId);
|
|
|
+ // return this.save(teachCourse);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public void selectCreate(List<Long> basicCourseIdList, SysUser requestUser) {
|
|
|
- // TODO: 2024/3/4 选择课程改造 传一个list课程对象 创建时还有加默认的评价方式
|
|
|
+ public void selectCreate(TeachCourseSelectParam teachCourseSelectParam, SysUser requestUser) {
|
|
|
Long schoolId = requestUser.getSchoolId();
|
|
|
Long userId = requestUser.getId();
|
|
|
- if (CollectionUtils.isNotEmpty(basicCourseIdList)) {
|
|
|
- basicCourseIdList = basicCourseService.listByIds(basicCourseIdList).stream().filter(BasicCourse::getEnable)
|
|
|
- .map(BaseEntity::getId).distinct().collect(Collectors.toList());
|
|
|
-
|
|
|
- if (CollectionUtils.isNotEmpty(basicCourseIdList)) {
|
|
|
- List<Long> alreadyCreated = this.list(
|
|
|
- new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getUserId, userId).in(TeachCourse::getBasicCourseId, basicCourseIdList)).stream()
|
|
|
- .map(TeachCourse::getBasicCourseId).distinct().collect(Collectors.toList());
|
|
|
-
|
|
|
- // 去掉已经创建的教学课程
|
|
|
- basicCourseIdList.removeAll(alreadyCreated);
|
|
|
- // 创建教学课程
|
|
|
- List<TeachCourse> teachCourseList = basicCourseIdList.stream().flatMap(e -> {
|
|
|
- TeachCourse teachCourse = new TeachCourse();
|
|
|
- teachCourse.setSchoolId(schoolId);
|
|
|
- teachCourse.setBasicCourseId(e);
|
|
|
- teachCourse.setUserId(userId);
|
|
|
- teachCourse.setEnable(true);
|
|
|
- teachCourse.insertInfo(userId);
|
|
|
- return Stream.of(teachCourse);
|
|
|
- }).collect(Collectors.toList());
|
|
|
-
|
|
|
- // 新增课程
|
|
|
- this.saveBatch(teachCourseList);
|
|
|
+ Long examId = teachCourseSelectParam.getExamId();
|
|
|
+ List<String> courseCodeList = teachCourseSelectParam.getCourseCodeList();
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(courseCodeList)) {
|
|
|
+ List<String> occupiedCourseCodeList = this.list(
|
|
|
+ new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId).eq(TeachCourse::getUserId, userId)).stream().map(TeachCourse::getCourseCode)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ courseCodeList = courseCodeList.stream().filter(occupiedCourseCodeList::contains).collect(Collectors.toList());
|
|
|
+
|
|
|
+ TeachCourse tmp = new TeachCourse();
|
|
|
+ tmp.setSchoolId(schoolId);
|
|
|
+ tmp.setExamId(examId);
|
|
|
+ tmp.setUserId(userId);
|
|
|
+ tmp.setEnable(true);
|
|
|
+ tmp.setWeightSetting(false);
|
|
|
+
|
|
|
+ for (String courseCode : courseCodeList) {
|
|
|
+ TeachCourse cell = new TeachCourse();
|
|
|
+ BeanUtils.copyProperties(tmp, cell);
|
|
|
+ cell.insertInfo(userId);
|
|
|
+ this.save(cell);
|
|
|
+
|
|
|
+ // 创建默认评价方式
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, userId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Deprecated
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public void importTeachCourse(MultipartFile file, SysUser requestUser) throws IOException, NoSuchFieldException {
|
|
|
- List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeachCourseDto.class),
|
|
|
- (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
|
|
|
- if (finalExcelErrorList.size() > 0) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
|
|
|
- }
|
|
|
- return finalExcelList;
|
|
|
- }, 2);
|
|
|
-
|
|
|
- if (Objects.nonNull(finalList) && finalList.size() > 0) {
|
|
|
- for (int i = 0; i < finalList.size(); i++) {
|
|
|
- LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
|
|
|
- List<Object> teachCourseImportDtoList = map.get(i);
|
|
|
- for (int y = 0; y < Objects.requireNonNull(teachCourseImportDtoList).size(); y++) {
|
|
|
- if (teachCourseImportDtoList.get(y) instanceof TeachCourseDto) {
|
|
|
- TeachCourseDto teachCourseDto = (TeachCourseDto) teachCourseImportDtoList.get(y);
|
|
|
- String courseCode = teachCourseDto.getCourseCode();
|
|
|
- String courseName = teachCourseDto.getCourseName();
|
|
|
- TeachCourseParams teachCourseParams = new TeachCourseParams();
|
|
|
- teachCourseParams.setCourseCode(courseCode);
|
|
|
- teachCourseParams.setCourseName(courseName);
|
|
|
- this.manualCreate(teachCourseParams, requestUser);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ public void importTeachCourse(MultipartFile file, SysUser requestUser) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("废弃的方法");
|
|
|
+ // List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeachCourseDto.class),
|
|
|
+ // (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
|
|
|
+ // if (finalExcelErrorList.size() > 0) {
|
|
|
+ // throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
|
|
|
+ // }
|
|
|
+ // return finalExcelList;
|
|
|
+ // }, 2);
|
|
|
+ //
|
|
|
+ // if (Objects.nonNull(finalList) && finalList.size() > 0) {
|
|
|
+ // for (int i = 0; i < finalList.size(); i++) {
|
|
|
+ // LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
|
|
|
+ // List<Object> teachCourseImportDtoList = map.get(i);
|
|
|
+ // for (int y = 0; y < Objects.requireNonNull(teachCourseImportDtoList).size(); y++) {
|
|
|
+ // if (teachCourseImportDtoList.get(y) instanceof TeachCourseDto) {
|
|
|
+ // TeachCourseDto teachCourseDto = (TeachCourseDto) teachCourseImportDtoList.get(y);
|
|
|
+ // String courseCode = teachCourseDto.getCourseCode();
|
|
|
+ // String courseName = teachCourseDto.getCourseName();
|
|
|
+ // TeachCourseParams teachCourseParams = new TeachCourseParams();
|
|
|
+ // teachCourseParams.setCourseCode(courseCode);
|
|
|
+ // teachCourseParams.setCourseName(courseName);
|
|
|
+ // this.manualCreate(teachCourseParams, requestUser);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -224,17 +223,46 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void deleteTeachCourseBatch(List<Long> idList) {
|
|
|
- // 删除课程时,同步删除班级、学生、教师
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Long userId = requestUser.getId();
|
|
|
List<TeachCourse> teachCourseList = this.listByIds(idList);
|
|
|
- for (TeachCourse teachCourse : teachCourseList) {
|
|
|
- List<TeachClazz> teachClazzList = teachClazzService.listByBasicCourseIdAndUserId(teachCourse.getSchoolId(),
|
|
|
- teachCourse.getBasicCourseId(), teachCourse.getUserId());
|
|
|
- if (CollectionUtils.isNotEmpty(teachClazzList)) {
|
|
|
- List<Long> teachClazzIds = teachClazzList.stream().map(TeachClazz::getId).collect(Collectors.toList());
|
|
|
- teachClazzService.deleteTeachClazzBatch(teachClazzIds);
|
|
|
+ List<String> cantDeleteCourseCodeList = teachCourseList.stream().filter(e -> !e.getCreateId().equals(userId)).map(TeachCourse::getCourseCode).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(cantDeleteCourseCodeList)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(
|
|
|
+ String.format("[%s]课程非本人创建,无法删除", String.join(",", cantDeleteCourseCodeList)));
|
|
|
+ }
|
|
|
+ List<TeachCourse> mainTeachCourseList = teachCourseList.stream().filter(e -> e.getCreateId().equals(userId)).collect(Collectors.toList());
|
|
|
+ if (mainTeachCourseList.size() > 0) {
|
|
|
+ for (TeachCourse mainTeachCourse : mainTeachCourseList) {
|
|
|
+ List<TeachCourse> teamList = this.list(
|
|
|
+ new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, mainTeachCourse.getExamId())
|
|
|
+ .eq(TeachCourse::getCourseCode, mainTeachCourse.getCourseCode())
|
|
|
+ .eq(TeachCourse::getCreateId, userId).ne(TeachCourse::getUserId, userId));
|
|
|
+ if (CollectionUtils.isNotEmpty(teamList)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(
|
|
|
+ String.format("请先删除课程(编号)[%s]下的教师团队,再删除课程", mainTeachCourse.getCourseCode()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- this.removeByIds(idList);
|
|
|
+
|
|
|
+ for (Long teachCourseId : idList) {
|
|
|
+ // 删除知识点
|
|
|
+ courseDimensionService.remove(
|
|
|
+ new QueryWrapper<CourseDimension>().lambda().eq(CourseDimension::getTeachCourseId, teachCourseId));
|
|
|
+ // 删除课程目标
|
|
|
+ courseTargetService.remove(
|
|
|
+ new QueryWrapper<CourseTarget>().lambda().eq(CourseTarget::getTeachCourseId, teachCourseId));
|
|
|
+ // 删除课程评价方式
|
|
|
+ courseEvaluationService.remove(new QueryWrapper<CourseEvaluation>().lambda()
|
|
|
+ .eq(CourseEvaluation::getTeachCourseId, teachCourseId));
|
|
|
+ // 删除权重设置
|
|
|
+ courseWeightService.remove(
|
|
|
+ new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId));
|
|
|
+ // 删除教学课程
|
|
|
+ this.removeById(teachCourseId);
|
|
|
+
|
|
|
+ // TODO: 2024/3/6 可能还要删除教学班学生等
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -242,7 +270,8 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
public void manualCreateTeacher(TeacherTeamParam teacherTeamParam, SysUser requestUser) throws IllegalAccessException {
|
|
|
String name = teacherTeamParam.getTeacherName();
|
|
|
String code = teacherTeamParam.getTeacherCode();
|
|
|
- Long basicCourseId = teacherTeamParam.getBasicCourseId();
|
|
|
+ Long examId = teacherTeamParam.getExamId();
|
|
|
+ String courseCode = teacherTeamParam.getCourseCode();
|
|
|
Long requestUserId = requestUser.getId();
|
|
|
Long schoolId = requestUser.getSchoolId();
|
|
|
Long teacherId;
|
|
@@ -256,8 +285,8 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
} else {
|
|
|
teacherId = dbUser.getId();
|
|
|
// 判断在该教师团队下已经存在该教师
|
|
|
- if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getSchoolId, schoolId)
|
|
|
- .eq(TeachCourse::getBasicCourseId, basicCourseId).eq(TeachCourse::getUserId, teacherId)) > 0) {
|
|
|
+ if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId)
|
|
|
+ .eq(TeachCourse::getCourseCode, courseCode).eq(TeachCourse::getUserId, teacherId)) > 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("教师[" + name + "]已经在教师团队中");
|
|
|
}
|
|
|
}
|
|
@@ -283,16 +312,21 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
// 添加教师团队
|
|
|
TeachCourse teachCourse = new TeachCourse();
|
|
|
teachCourse.setSchoolId(schoolId);
|
|
|
- teachCourse.setBasicCourseId(basicCourseId);
|
|
|
+ teachCourse.setExamId(examId);
|
|
|
+ teachCourse.setCourseCode(courseCode);
|
|
|
+ teachCourse.setWeightSetting(false);
|
|
|
teachCourse.setUserId(teacherId);
|
|
|
teachCourse.setEnable(true);
|
|
|
teachCourse.insertInfo(requestUserId);
|
|
|
this.save(teachCourse);
|
|
|
+
|
|
|
+ // 创建默认的评价方式
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, teacherId);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public void selectCreateTeacher(Long basicCourseId, List<Long> userIdList, SysUser requestUser) {
|
|
|
+ public void selectCreateTeacher(Long examId, String courseCode, List<Long> userIdList, SysUser requestUser) {
|
|
|
Long schoolId = requestUser.getSchoolId();
|
|
|
Long requestUserId = requestUser.getId();
|
|
|
if (CollectionUtils.isNotEmpty(userIdList)) {
|
|
@@ -302,7 +336,8 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(userIdList)) {
|
|
|
List<Long> alreadyCreated = this.list(
|
|
|
- new QueryWrapper<TeachCourse>().lambda().in(TeachCourse::getUserId, userIdList).eq(TeachCourse::getBasicCourseId, basicCourseId)).stream().map(TeachCourse::getUserId)
|
|
|
+ new QueryWrapper<TeachCourse>().lambda().in(TeachCourse::getUserId, userIdList)
|
|
|
+ .eq(TeachCourse::getCourseCode, courseCode)).stream().map(TeachCourse::getUserId)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
|
|
|
// 去掉已经在该课程教师团队的老师
|
|
@@ -312,7 +347,9 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
List<TeachCourse> teachCourseList = userIdList.stream().flatMap(e -> {
|
|
|
TeachCourse teachCourse = new TeachCourse();
|
|
|
teachCourse.setSchoolId(schoolId);
|
|
|
- teachCourse.setBasicCourseId(basicCourseId);
|
|
|
+ teachCourse.setExamId(examId);
|
|
|
+ teachCourse.setCourseCode(courseCode);
|
|
|
+ teachCourse.setWeightSetting(false);
|
|
|
teachCourse.setUserId(e);
|
|
|
teachCourse.setEnable(true);
|
|
|
teachCourse.insertInfo(requestUserId);
|
|
@@ -321,47 +358,55 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
|
|
|
// 新增课程
|
|
|
this.saveBatch(teachCourseList);
|
|
|
+
|
|
|
+ for (Long userId : userIdList) {
|
|
|
+ // 创建默认评价方式
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, userId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Deprecated
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public void importTeacherTeam(MultipartFile file, Long basicCourseId, SysUser requestUser) throws IOException, NoSuchFieldException, IllegalAccessException {
|
|
|
- List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeacherTeamDto.class),
|
|
|
- (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
|
|
|
- if (finalExcelErrorList.size() > 0) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
|
|
|
- }
|
|
|
- return finalExcelList;
|
|
|
- }, 2);
|
|
|
-
|
|
|
- if (Objects.nonNull(finalList) && finalList.size() > 0) {
|
|
|
- for (int i = 0; i < finalList.size(); i++) {
|
|
|
- LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
|
|
|
- List<Object> teacherTeamImportList = map.get(i);
|
|
|
- for (int y = 0; y < Objects.requireNonNull(teacherTeamImportList).size(); y++) {
|
|
|
- if (teacherTeamImportList.get(y) instanceof TeacherTeamDto) {
|
|
|
- TeacherTeamDto teacherTeamDto = (TeacherTeamDto) teacherTeamImportList.get(y);
|
|
|
- TeacherTeamParam teacherTeamParam = new TeacherTeamParam();
|
|
|
- teacherTeamParam.setTeacherCode(teacherTeamDto.getCode());
|
|
|
- teacherTeamParam.setTeacherName(teacherTeamDto.getName());
|
|
|
- teacherTeamParam.setBasicCourseId(basicCourseId);
|
|
|
- this.manualCreateTeacher(teacherTeamParam, requestUser);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("废弃的方法");
|
|
|
+ // List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeacherTeamDto.class),
|
|
|
+ // (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
|
|
|
+ // if (finalExcelErrorList.size() > 0) {
|
|
|
+ // throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
|
|
|
+ // }
|
|
|
+ // return finalExcelList;
|
|
|
+ // }, 2);
|
|
|
+ //
|
|
|
+ // if (Objects.nonNull(finalList) && finalList.size() > 0) {
|
|
|
+ // for (int i = 0; i < finalList.size(); i++) {
|
|
|
+ // LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
|
|
|
+ // List<Object> teacherTeamImportList = map.get(i);
|
|
|
+ // for (int y = 0; y < Objects.requireNonNull(teacherTeamImportList).size(); y++) {
|
|
|
+ // if (teacherTeamImportList.get(y) instanceof TeacherTeamDto) {
|
|
|
+ // TeacherTeamDto teacherTeamDto = (TeacherTeamDto) teacherTeamImportList.get(y);
|
|
|
+ // TeacherTeamParam teacherTeamParam = new TeacherTeamParam();
|
|
|
+ // teacherTeamParam.setTeacherCode(teacherTeamDto.getCode());
|
|
|
+ // teacherTeamParam.setTeacherName(teacherTeamDto.getName());
|
|
|
+ // teacherTeamParam.setBasicCourseId(basicCourseId);
|
|
|
+ // this.manualCreateTeacher(teacherTeamParam, requestUser);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<TeacherTeamResult> findTeacherTeamPage(String userInfo, Long basicCourseId, int pageNumber, int pageSize) {
|
|
|
+ public IPage<TeacherTeamResult> findTeacherTeamPage(Long examId, String courseCode, String userInfo, int pageNumber,
|
|
|
+ int pageSize) {
|
|
|
Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
if (SystemConstant.strNotNull(userInfo)) {
|
|
|
userInfo = SystemConstant.translateSpecificSign(userInfo);
|
|
|
}
|
|
|
- IPage<TeacherTeamResult> page = this.baseMapper.findTeacherTeamPage(new Page<>(pageNumber, pageSize), userInfo,
|
|
|
- basicCourseId, schoolId);
|
|
|
+ IPage<TeacherTeamResult> page = this.baseMapper.findTeacherTeamPage(new Page<>(pageNumber, pageSize), examId,
|
|
|
+ courseCode, userInfo);
|
|
|
page.getRecords().forEach(e -> {
|
|
|
Long userId = e.getUserId();
|
|
|
List<Long> userIdList = new ArrayList<>();
|
|
@@ -396,18 +441,18 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void updateByCourseIdAndTeacherList(Long basicCourseId, Set<Long> teachIdSet) {
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- List<TeachCourse> teachCourseList = null;
|
|
|
- // 删除原有的全部
|
|
|
- this.remove(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getBasicCourseId, basicCourseId).gt(TeachCourse::getId, 0));
|
|
|
- // 新增
|
|
|
- if (!CollectionUtils.isEmpty(teachIdSet)) {
|
|
|
- teachCourseList = new ArrayList<>();
|
|
|
- for (Long teachId : teachIdSet) {
|
|
|
- teachCourseList.add(new TeachCourse(sysUser, basicCourseId, teachId));
|
|
|
- }
|
|
|
- this.saveBatch(teachCourseList);
|
|
|
- }
|
|
|
+ // SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ // List<TeachCourse> teachCourseList = null;
|
|
|
+ // // 删除原有的全部
|
|
|
+ // this.remove(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getBasicCourseId, basicCourseId).gt(TeachCourse::getId, 0));
|
|
|
+ // // 新增
|
|
|
+ // if (!CollectionUtils.isEmpty(teachIdSet)) {
|
|
|
+ // teachCourseList = new ArrayList<>();
|
|
|
+ // for (Long teachId : teachIdSet) {
|
|
|
+ // teachCourseList.add(new TeachCourse(sysUser, basicCourseId, teachId));
|
|
|
+ // }
|
|
|
+ // this.saveBatch(teachCourseList);
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
@Override
|