|
@@ -18,6 +18,7 @@ import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
|
|
import com.qmth.distributed.print.business.mapper.TeachCourseMapper;
|
|
import com.qmth.distributed.print.business.mapper.TeachCourseMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.teachcloud.common.base.BaseEntity;
|
|
import com.qmth.teachcloud.common.base.BaseEntity;
|
|
|
|
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.params.UserSaveParams;
|
|
import com.qmth.teachcloud.common.bean.params.UserSaveParams;
|
|
import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
|
|
import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
|
|
import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
|
|
import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
|
|
@@ -89,10 +90,17 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
@Resource
|
|
@Resource
|
|
private SysUserRoleService sysUserRoleService;
|
|
private SysUserRoleService sysUserRoleService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private BasicRoleDataPermissionService basicRoleDataPermissionService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
- public IPage<TeachCourseResult> teachCoursePage(Long examId, String courseName, int pageNumber, int pageSize, Long userId) {
|
|
|
|
|
|
+ public IPage<TeachCourseResult> teachCoursePage(Long examId, String courseName, int pageNumber, int pageSize) {
|
|
courseName = SystemConstant.translateSpecificSign(courseName);
|
|
courseName = SystemConstant.translateSpecificSign(courseName);
|
|
- return this.baseMapper.findTeachCoursePage(new Page<>(pageNumber, pageSize), examId, courseName, userId);
|
|
|
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+
|
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(requestUser.getSchoolId(),
|
|
|
|
+ requestUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
|
+ return this.baseMapper.findTeachCoursePage(new Page<>(pageNumber, pageSize), examId, courseName, dpr);
|
|
}
|
|
}
|
|
|
|
|
|
@Deprecated
|
|
@Deprecated
|
|
@@ -171,7 +179,7 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
this.save(cell);
|
|
this.save(cell);
|
|
|
|
|
|
// 创建默认评价方式
|
|
// 创建默认评价方式
|
|
- courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, userId);
|
|
|
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(cell.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -232,9 +240,10 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
@Override
|
|
@Override
|
|
public void deleteTeachCourseBatch(List<Long> idList) {
|
|
public void deleteTeachCourseBatch(List<Long> idList) {
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
- Long userId = requestUser.getId();
|
|
|
|
|
|
+ Long requestUserId = requestUser.getId();
|
|
List<TeachCourse> teachCourseList = this.listByIds(idList);
|
|
List<TeachCourse> teachCourseList = this.listByIds(idList);
|
|
- List<String> cantDeleteCourseCodeList = teachCourseList.stream().filter(e -> !e.getCreateId().equals(userId)).map(TeachCourse::getCourseCode).collect(Collectors.toList());
|
|
|
|
|
|
+ List<String> cantDeleteCourseCodeList = teachCourseList.stream().filter(e -> !e.getCreateId().equals(requestUserId)).map(TeachCourse::getCourseCode)
|
|
|
|
+ .collect(Collectors.toList());
|
|
if (CollectionUtils.isNotEmpty(cantDeleteCourseCodeList)) {
|
|
if (CollectionUtils.isNotEmpty(cantDeleteCourseCodeList)) {
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
String.format("[%s]课程非本人创建,无法删除", String.join(",", cantDeleteCourseCodeList)));
|
|
String.format("[%s]课程非本人创建,无法删除", String.join(",", cantDeleteCourseCodeList)));
|
|
@@ -245,7 +254,7 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
List<TeachCourse> teamList = this.list(
|
|
List<TeachCourse> teamList = this.list(
|
|
new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, mainTeachCourse.getExamId())
|
|
new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, mainTeachCourse.getExamId())
|
|
.eq(TeachCourse::getCourseCode, mainTeachCourse.getCourseCode())
|
|
.eq(TeachCourse::getCourseCode, mainTeachCourse.getCourseCode())
|
|
- .eq(TeachCourse::getCreateId, userId).ne(TeachCourse::getUserId, userId));
|
|
|
|
|
|
+ .eq(TeachCourse::getCreateId, requestUserId).ne(TeachCourse::getUserId, requestUserId));
|
|
if (CollectionUtils.isNotEmpty(teamList)) {
|
|
if (CollectionUtils.isNotEmpty(teamList)) {
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
String.format("请先删除课程(编号)[%s]下的教师团队,再删除课程", mainTeachCourse.getCourseCode()));
|
|
String.format("请先删除课程(编号)[%s]下的教师团队,再删除课程", mainTeachCourse.getCourseCode()));
|
|
@@ -285,8 +294,14 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
public void manualCreateTeacher(TeacherTeamParam teacherTeamParam, SysUser requestUser) throws IllegalAccessException {
|
|
public void manualCreateTeacher(TeacherTeamParam teacherTeamParam, SysUser requestUser) throws IllegalAccessException {
|
|
String name = teacherTeamParam.getTeacherName();
|
|
String name = teacherTeamParam.getTeacherName();
|
|
String code = teacherTeamParam.getTeacherCode();
|
|
String code = teacherTeamParam.getTeacherCode();
|
|
- Long examId = teacherTeamParam.getExamId();
|
|
|
|
- String courseCode = teacherTeamParam.getCourseCode();
|
|
|
|
|
|
+ Long teachCourseId = teacherTeamParam.getTeachCourseId();
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
|
|
|
|
+ }
|
|
|
|
+ Long examId = teachCourse.getExamId();
|
|
|
|
+ String courseCode = teachCourse.getCourseCode();
|
|
|
|
+
|
|
Long requestUserId = requestUser.getId();
|
|
Long requestUserId = requestUser.getId();
|
|
Long schoolId = requestUser.getSchoolId();
|
|
Long schoolId = requestUser.getSchoolId();
|
|
Long teacherId;
|
|
Long teacherId;
|
|
@@ -325,25 +340,33 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
teacherId = sysUserService.saveUser(userSaveParams);
|
|
teacherId = sysUserService.saveUser(userSaveParams);
|
|
}
|
|
}
|
|
// 添加教师团队
|
|
// 添加教师团队
|
|
- TeachCourse teachCourse = new TeachCourse();
|
|
|
|
- teachCourse.setSchoolId(schoolId);
|
|
|
|
- teachCourse.setExamId(examId);
|
|
|
|
- teachCourse.setCourseCode(courseCode);
|
|
|
|
- teachCourse.setWeightSetting(false);
|
|
|
|
- teachCourse.setUserId(teacherId);
|
|
|
|
- teachCourse.setEnable(true);
|
|
|
|
- teachCourse.insertInfo(requestUserId);
|
|
|
|
- this.save(teachCourse);
|
|
|
|
|
|
+ TeachCourse tmp = new TeachCourse();
|
|
|
|
+ tmp.setSchoolId(schoolId);
|
|
|
|
+ tmp.setExamId(examId);
|
|
|
|
+ tmp.setCourseCode(courseCode);
|
|
|
|
+ tmp.setWeightSetting(false);
|
|
|
|
+ tmp.setUserId(teacherId);
|
|
|
|
+ tmp.setEnable(true);
|
|
|
|
+ tmp.insertInfo(requestUserId);
|
|
|
|
+ this.save(tmp);
|
|
|
|
|
|
// 创建默认的评价方式
|
|
// 创建默认的评价方式
|
|
- courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, teacherId);
|
|
|
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(tmp.getId());
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
- public void selectCreateTeacher(Long examId, String courseCode, List<Long> userIdList, SysUser requestUser) {
|
|
|
|
|
|
+ public void selectCreateTeacher(Long teachCourseId, List<Long> userIdList, SysUser requestUser) {
|
|
Long schoolId = requestUser.getSchoolId();
|
|
Long schoolId = requestUser.getSchoolId();
|
|
Long requestUserId = requestUser.getId();
|
|
Long requestUserId = requestUser.getId();
|
|
|
|
+
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学班不存在");
|
|
|
|
+ }
|
|
|
|
+ Long examId = teachCourse.getExamId();
|
|
|
|
+ String courseCode = teachCourse.getCourseCode();
|
|
|
|
+
|
|
if (CollectionUtils.isNotEmpty(userIdList)) {
|
|
if (CollectionUtils.isNotEmpty(userIdList)) {
|
|
// 过滤userIdList
|
|
// 过滤userIdList
|
|
userIdList = sysUserService.listByIds(userIdList).stream().filter(SysUser::getEnable).map(BaseEntity::getId)
|
|
userIdList = sysUserService.listByIds(userIdList).stream().filter(SysUser::getEnable).map(BaseEntity::getId)
|
|
@@ -360,23 +383,23 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
|
|
|
|
// 创建教学课程
|
|
// 创建教学课程
|
|
List<TeachCourse> teachCourseList = userIdList.stream().flatMap(e -> {
|
|
List<TeachCourse> teachCourseList = userIdList.stream().flatMap(e -> {
|
|
- TeachCourse teachCourse = new TeachCourse();
|
|
|
|
- teachCourse.setSchoolId(schoolId);
|
|
|
|
- teachCourse.setExamId(examId);
|
|
|
|
- teachCourse.setCourseCode(courseCode);
|
|
|
|
- teachCourse.setWeightSetting(false);
|
|
|
|
- teachCourse.setUserId(e);
|
|
|
|
- teachCourse.setEnable(true);
|
|
|
|
- teachCourse.insertInfo(requestUserId);
|
|
|
|
- return Stream.of(teachCourse);
|
|
|
|
|
|
+ TeachCourse tmp = new TeachCourse();
|
|
|
|
+ tmp.setSchoolId(schoolId);
|
|
|
|
+ tmp.setExamId(examId);
|
|
|
|
+ tmp.setCourseCode(courseCode);
|
|
|
|
+ tmp.setWeightSetting(false);
|
|
|
|
+ tmp.setUserId(e);
|
|
|
|
+ tmp.setEnable(true);
|
|
|
|
+ tmp.insertInfo(requestUserId);
|
|
|
|
+ return Stream.of(tmp);
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
// 新增课程
|
|
// 新增课程
|
|
this.saveBatch(teachCourseList);
|
|
this.saveBatch(teachCourseList);
|
|
|
|
|
|
- for (Long userId : userIdList) {
|
|
|
|
|
|
+ for (TeachCourse tmp : teachCourseList) {
|
|
// 创建默认评价方式
|
|
// 创建默认评价方式
|
|
- courseEvaluationService.createDefaultCourseEvaluation(examId, courseCode, userId);
|
|
|
|
|
|
+ courseEvaluationService.createDefaultCourseEvaluation(tmp.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -414,9 +437,15 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public IPage<TeacherTeamResult> findTeacherTeamPage(Long examId, String courseCode, String userInfo, int pageNumber,
|
|
|
|
|
|
+ public IPage<TeacherTeamResult> findTeacherTeamPage(Long teachCourseId, String userInfo, int pageNumber,
|
|
int pageSize) {
|
|
int pageSize) {
|
|
- Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
|
|
|
|
+ }
|
|
|
|
+ Long examId = teachCourse.getExamId();
|
|
|
|
+ String courseCode = teachCourse.getCourseCode();
|
|
|
|
+
|
|
if (SystemConstant.strNotNull(userInfo)) {
|
|
if (SystemConstant.strNotNull(userInfo)) {
|
|
userInfo = SystemConstant.translateSpecificSign(userInfo);
|
|
userInfo = SystemConstant.translateSpecificSign(userInfo);
|
|
}
|
|
}
|
|
@@ -500,7 +529,7 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
UpdateWrapper<TeachCourse> teachCourseUpdateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<TeachCourse> teachCourseUpdateWrapper = new UpdateWrapper<>();
|
|
teachCourseUpdateWrapper.lambda().eq(TeachCourse::getId, teachCourseId)
|
|
teachCourseUpdateWrapper.lambda().eq(TeachCourse::getId, teachCourseId)
|
|
.set(TeachCourse::getWeightSettingSign, SystemConstant.getDbUuid())
|
|
.set(TeachCourse::getWeightSettingSign, SystemConstant.getDbUuid())
|
|
- .set(TeachCourse::getDimensionSign,SystemConstant.getDbUuid());
|
|
|
|
|
|
+ .set(TeachCourse::getDimensionSign, SystemConstant.getDbUuid());
|
|
this.update(teachCourseUpdateWrapper);
|
|
this.update(teachCourseUpdateWrapper);
|
|
} else {
|
|
} else {
|
|
// 删除权重设置
|
|
// 删除权重设置
|
|
@@ -509,10 +538,12 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public CourseWeightSettingStatusResult findCourseWeightSettingStatus(Long examId, String courseCode, Long userId) {
|
|
|
|
|
|
+ public CourseWeightSettingStatusResult findCourseWeightSettingStatus(Long teachCourseId) {
|
|
CourseWeightSettingStatusResult result = new CourseWeightSettingStatusResult();
|
|
CourseWeightSettingStatusResult result = new CourseWeightSettingStatusResult();
|
|
- TeachCourse teachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, userId);
|
|
|
|
- Long teachCourseId = teachCourse.getId();
|
|
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
|
|
|
|
+ }
|
|
Boolean everSettingStatus = teachCourse.getWeightSetting();
|
|
Boolean everSettingStatus = teachCourse.getWeightSetting();
|
|
Boolean currenSettingStatus = courseWeightService.count(
|
|
Boolean currenSettingStatus = courseWeightService.count(
|
|
new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId)) > 0;
|
|
new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId)) > 0;
|
|
@@ -524,12 +555,16 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<ClazzDistributedResult> findClazzDistributedStatus(Long examId, String courseCode, String clazzName) {
|
|
|
|
|
|
+ public List<ClazzDistributedResult> findClazzDistributedStatus(Long teachCourseId, String clazzName) {
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
Long requestUserId = requestUser.getId();
|
|
Long requestUserId = requestUser.getId();
|
|
clazzName = SystemConstant.translateSpecificSign(clazzName);
|
|
clazzName = SystemConstant.translateSpecificSign(clazzName);
|
|
|
|
|
|
- TeachCourse teachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, requestUserId);
|
|
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!requestUserId.equals(teachCourse.getCreateId())) {
|
|
if (!requestUserId.equals(teachCourse.getCreateId())) {
|
|
throw ExceptionResultEnum.ERROR.exception("非课程创建人没有分配班级的权限");
|
|
throw ExceptionResultEnum.ERROR.exception("非课程创建人没有分配班级的权限");
|
|
}
|
|
}
|
|
@@ -575,24 +610,26 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
|
|
@Override
|
|
@Override
|
|
public void assignClazz(AssignClazzParam assignClazzParam, SysUser requestUser) {
|
|
public void assignClazz(AssignClazzParam assignClazzParam, SysUser requestUser) {
|
|
Long requestUserId = requestUser.getId();
|
|
Long requestUserId = requestUser.getId();
|
|
- Long examId = assignClazzParam.getExamId();
|
|
|
|
- String courseCode = assignClazzParam.getCourseCode();
|
|
|
|
|
|
+ Long teachCourseId = assignClazzParam.getTeachCourseId();
|
|
Long teacherId = assignClazzParam.getTeacherId();
|
|
Long teacherId = assignClazzParam.getTeacherId();
|
|
List<Long> basicTeachClazzIdList = assignClazzParam.getClazzIdList();
|
|
List<Long> basicTeachClazzIdList = assignClazzParam.getClazzIdList();
|
|
|
|
|
|
- TeachCourse teachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, requestUserId);
|
|
|
|
|
|
+ TeachCourse teachCourse = this.getById(teachCourseId);
|
|
|
|
+ if (Objects.isNull(teachCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学班不存在");
|
|
|
|
+ }
|
|
|
|
+ Long examId = teachCourse.getExamId();
|
|
|
|
+ String courseCode = teachCourse.getCourseCode();
|
|
if (!teachCourse.getCreateId().equals(requestUserId)) {
|
|
if (!teachCourse.getCreateId().equals(requestUserId)) {
|
|
throw ExceptionResultEnum.ERROR.exception("该用户没有分配教师班级的权限");
|
|
throw ExceptionResultEnum.ERROR.exception("该用户没有分配教师班级的权限");
|
|
}
|
|
}
|
|
- Long teachCourseId = teachCourse.getId();
|
|
|
|
|
|
|
|
if (teacherId.equals(requestUserId)) {
|
|
if (teacherId.equals(requestUserId)) {
|
|
// 课程负责人分配自己的班级
|
|
// 课程负责人分配自己的班级
|
|
// 清除之前关联的班级
|
|
// 清除之前关联的班级
|
|
UpdateWrapper<TeachClazz> clearUpdateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<TeachClazz> clearUpdateWrapper = new UpdateWrapper<>();
|
|
clearUpdateWrapper.lambda().set(TeachClazz::getBelongTeachCourseId, teachCourseId)
|
|
clearUpdateWrapper.lambda().set(TeachClazz::getBelongTeachCourseId, teachCourseId)
|
|
- .set(TeachClazz::getBelongTeachCourseId,null)
|
|
|
|
- .eq(TeachClazz::getTeachCourseId, teachCourseId);
|
|
|
|
|
|
+ .set(TeachClazz::getBelongTeachCourseId, null).eq(TeachClazz::getTeachCourseId, teachCourseId);
|
|
teachClazzService.update(clearUpdateWrapper);
|
|
teachClazzService.update(clearUpdateWrapper);
|
|
// 更新新关联班级
|
|
// 更新新关联班级
|
|
UpdateWrapper<TeachClazz> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<TeachClazz> updateWrapper = new UpdateWrapper<>();
|