|
@@ -96,7 +96,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public IPage<ClassHomeworkPageVo> pageClassHomework(ClassHomeworkPageDto dto) {
|
|
public IPage<ClassHomeworkPageVo> pageClassHomework(ClassHomeworkPageDto dto) {
|
|
|
- if(com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty(dto.getEndDate())){
|
|
|
|
|
|
|
+ if (com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty(dto.getEndDate())) {
|
|
|
dto.setEndDate(dto.getEndDate().plusDays(1));
|
|
dto.setEndDate(dto.getEndDate().plusDays(1));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -128,7 +128,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
queryWrapper
|
|
queryWrapper
|
|
|
.disableSubLogicDel()
|
|
.disableSubLogicDel()
|
|
|
.select(ClassHomework::getId)
|
|
.select(ClassHomework::getId)
|
|
|
- .select(ClassHomework.class,x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkPageVo.class).contains(x.getProperty()))
|
|
|
|
|
|
|
+ .select(ClassHomework.class, x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkPageVo.class).contains(x.getProperty()))
|
|
|
.select("(select\n" +
|
|
.select("(select\n" +
|
|
|
" group_concat(b.name)\n" +
|
|
" group_concat(b.name)\n" +
|
|
|
" from class_homework_class a\n" +
|
|
" from class_homework_class a\n" +
|
|
@@ -143,7 +143,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.leftJoin(XjrUser.class, XjrUser::getId, ClassHomework::getTeacherId,
|
|
.leftJoin(XjrUser.class, XjrUser::getId, ClassHomework::getTeacherId,
|
|
|
wrapper -> wrapper
|
|
wrapper -> wrapper
|
|
|
.selectAs(XjrUser::getName, ClassHomeworkPageVo::getTeacherIdCn)
|
|
.selectAs(XjrUser::getName, ClassHomeworkPageVo::getTeacherIdCn)
|
|
|
- )
|
|
|
|
|
|
|
+ )
|
|
|
// .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, ClassHomework::getBaseCourseSubjectId,
|
|
// .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, ClassHomework::getBaseCourseSubjectId,
|
|
|
// wrapper -> wrapper
|
|
// wrapper -> wrapper
|
|
|
// .selectAs(BaseCourseSubject::getName, ClassHomeworkPageVo::getBaseCourseSubjectIdCn)
|
|
// .selectAs(BaseCourseSubject::getName, ClassHomeworkPageVo::getBaseCourseSubjectIdCn)
|
|
@@ -153,12 +153,12 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.le(ObjectUtils.isNotEmpty(dto.getEndDate()), ClassHomework::getCreateDate, dto.getEndDate())
|
|
.le(ObjectUtils.isNotEmpty(dto.getEndDate()), ClassHomework::getCreateDate, dto.getEndDate())
|
|
|
.orderByDesc(ClassHomework::getCreateDate)
|
|
.orderByDesc(ClassHomework::getCreateDate)
|
|
|
;
|
|
;
|
|
|
- if(roleType == 2){
|
|
|
|
|
|
|
+ if (roleType == 2) {
|
|
|
queryWrapper
|
|
queryWrapper
|
|
|
.eq(ClassHomework::getTeacherId, userId);
|
|
.eq(ClassHomework::getTeacherId, userId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(roleType == 3){
|
|
|
|
|
|
|
+ if (roleType == 3) {
|
|
|
queryWrapper
|
|
queryWrapper
|
|
|
.innerJoin(ClassHomeworkClass.class, ClassHomeworkClass::getClassHomeworkId, ClassHomework::getId)
|
|
.innerJoin(ClassHomeworkClass.class, ClassHomeworkClass::getClassHomeworkId, ClassHomework::getId)
|
|
|
.in(CollectionUtils.isNotEmpty(classIds), ClassHomeworkClass::getClassId, classIds);
|
|
.in(CollectionUtils.isNotEmpty(classIds), ClassHomeworkClass::getClassId, classIds);
|
|
@@ -172,19 +172,19 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.distinct()
|
|
.distinct()
|
|
|
.selectAs(CourseTable::getCourseId, CourseTable::getCourseId)
|
|
.selectAs(CourseTable::getCourseId, CourseTable::getCourseId)
|
|
|
.selectAs(CourseTable::getCourseName, CourseTable::getCourseName)
|
|
.selectAs(CourseTable::getCourseName, CourseTable::getCourseName)
|
|
|
- ;
|
|
|
|
|
|
|
+ ;
|
|
|
|
|
|
|
|
List<CourseTable> courseTables = courseTableMapper.selectJoinList(CourseTable.class, courseTableMPJLambdaWrapper);
|
|
List<CourseTable> courseTables = courseTableMapper.selectJoinList(CourseTable.class, courseTableMPJLambdaWrapper);
|
|
|
Map<Long, String> courseTableMap = courseTables.stream()
|
|
Map<Long, String> courseTableMap = courseTables.stream()
|
|
|
.collect(Collectors.toMap(CourseTable::getCourseId, CourseTable::getCourseName, (n1, n2) -> n1));
|
|
.collect(Collectors.toMap(CourseTable::getCourseId, CourseTable::getCourseName, (n1, n2) -> n1));
|
|
|
|
|
|
|
|
- for (ClassHomeworkPageVo vo : page.getRecords()){
|
|
|
|
|
- if(ObjectUtils.isNotEmpty(vo.getBaseCourseSubjectId()) && MapUtils.isNotEmpty(courseTableMap)){
|
|
|
|
|
|
|
+ for (ClassHomeworkPageVo vo : page.getRecords()) {
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(vo.getBaseCourseSubjectId()) && MapUtils.isNotEmpty(courseTableMap)) {
|
|
|
String baseCourseSubjectIdCn = courseTableMap.get(vo.getBaseCourseSubjectId());
|
|
String baseCourseSubjectIdCn = courseTableMap.get(vo.getBaseCourseSubjectId());
|
|
|
vo.setBaseCourseSubjectIdCn(baseCourseSubjectIdCn);
|
|
vo.setBaseCourseSubjectIdCn(baseCourseSubjectIdCn);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(ObjectUtils.isNotEmpty(vo.getFolderId())){
|
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(vo.getFolderId())) {
|
|
|
List<File> files = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getFolderId()));
|
|
List<File> files = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getFolderId()));
|
|
|
vo.setFiles(files);
|
|
vo.setFiles(files);
|
|
|
}
|
|
}
|
|
@@ -199,7 +199,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
queryWrapper
|
|
queryWrapper
|
|
|
.disableSubLogicDel()
|
|
.disableSubLogicDel()
|
|
|
.select(ClassHomework::getId)
|
|
.select(ClassHomework::getId)
|
|
|
- .select(ClassHomework.class,x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkVo.class).contains(x.getProperty()))
|
|
|
|
|
|
|
+ .select(ClassHomework.class, x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkVo.class).contains(x.getProperty()))
|
|
|
.select("(select\n" +
|
|
.select("(select\n" +
|
|
|
" group_concat(b.name)\n" +
|
|
" group_concat(b.name)\n" +
|
|
|
" from class_homework_class a\n" +
|
|
" from class_homework_class a\n" +
|
|
@@ -240,12 +240,12 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
Map<Long, String> courseTableMap = courseTables.stream()
|
|
Map<Long, String> courseTableMap = courseTables.stream()
|
|
|
.collect(Collectors.toMap(CourseTable::getCourseId, CourseTable::getCourseName, (n1, n2) -> n1));
|
|
.collect(Collectors.toMap(CourseTable::getCourseId, CourseTable::getCourseName, (n1, n2) -> n1));
|
|
|
|
|
|
|
|
- if(ObjectUtils.isNotEmpty(vo.getBaseCourseSubjectId()) && MapUtils.isNotEmpty(courseTableMap)){
|
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(vo.getBaseCourseSubjectId()) && MapUtils.isNotEmpty(courseTableMap)) {
|
|
|
String baseCourseSubjectIdCn = courseTableMap.get(vo.getBaseCourseSubjectId());
|
|
String baseCourseSubjectIdCn = courseTableMap.get(vo.getBaseCourseSubjectId());
|
|
|
vo.setBaseCourseSubjectIdCn(baseCourseSubjectIdCn);
|
|
vo.setBaseCourseSubjectIdCn(baseCourseSubjectIdCn);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(ObjectUtils.isNotEmpty(vo.getFolderId())){
|
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(vo.getFolderId())) {
|
|
|
List<File> files = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getFolderId()));
|
|
List<File> files = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getFolderId()));
|
|
|
vo.setFiles(files);
|
|
vo.setFiles(files);
|
|
|
}
|
|
}
|
|
@@ -266,7 +266,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
classHomework.setCreateDate(nowLocalDateTime);
|
|
classHomework.setCreateDate(nowLocalDateTime);
|
|
|
|
|
|
|
|
this.save(classHomework);
|
|
this.save(classHomework);
|
|
|
- for (Long classId : dto.getClassIds()){
|
|
|
|
|
|
|
+ for (Long classId : dto.getClassIds()) {
|
|
|
ClassHomeworkClass classHomeworkClass = new ClassHomeworkClass();
|
|
ClassHomeworkClass classHomeworkClass = new ClassHomeworkClass();
|
|
|
classHomeworkClass.setClassHomeworkId(classHomework.getId());
|
|
classHomeworkClass.setClassHomeworkId(classHomework.getId());
|
|
|
classHomeworkClass.setClassId(classId);
|
|
classHomeworkClass.setClassId(classId);
|
|
@@ -285,6 +285,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.select(User::getId)
|
|
.select(User::getId)
|
|
|
.select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
.select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
.innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
.innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
|
|
+ .isNotNull(User::getOpenId)
|
|
|
.in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
.in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
List<User> stuList = userMapper.selectJoinList(User.class, stuMPJLambdaWrapper);
|
|
List<User> stuList = userMapper.selectJoinList(User.class, stuMPJLambdaWrapper);
|
|
|
|
|
|
|
@@ -293,12 +294,15 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
parentMPJLambdaWrapper
|
|
parentMPJLambdaWrapper
|
|
|
.distinct()
|
|
.distinct()
|
|
|
.disableSubLogicDel()
|
|
.disableSubLogicDel()
|
|
|
- .select(User::getId).select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
|
|
- .leftJoin(UserStudent.class, UserStudent::getUserId, User::getId)
|
|
|
|
|
- .leftJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
|
|
|
|
|
- .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
|
|
|
|
+ .select(User::getId)
|
|
|
|
|
+ .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
|
|
+ .innerJoin(UserStudent.class, UserStudent::getUserId, User::getId)
|
|
|
|
|
+ .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, UserStudent::getStudentId)
|
|
|
|
|
+ .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
|
|
|
|
|
+ .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds())
|
|
|
.eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
|
|
.eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
|
|
|
- .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
|
|
|
|
+ .isNotNull(User::getOpenId)
|
|
|
|
|
+ ;
|
|
|
List<User> parentList = userMapper.selectJoinList(User.class, parentMPJLambdaWrapper);
|
|
List<User> parentList = userMapper.selectJoinList(User.class, parentMPJLambdaWrapper);
|
|
|
|
|
|
|
|
// 合并两个列表,并根据 User 的 id 去重
|
|
// 合并两个列表,并根据 User 的 id 去重
|
|
@@ -313,12 +317,12 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
// 发布作业的教师
|
|
// 发布作业的教师
|
|
|
User releaseUser = userMapper.selectById(loginId);
|
|
User releaseUser = userMapper.selectById(loginId);
|
|
|
|
|
|
|
|
- try {
|
|
|
|
|
- for (User user : combinedList) {
|
|
|
|
|
|
|
+ for (User user : combinedList) {
|
|
|
|
|
+ try {
|
|
|
WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
|
weChatSendMessageDto.setUserId(user.getOpenId());
|
|
weChatSendMessageDto.setUserId(user.getOpenId());
|
|
|
weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
|
|
weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
|
|
|
- weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/homework/info?id=={}", commonPropertiesConfig.getDomainApp(), classHomework.getId()));
|
|
|
|
|
|
|
+ weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/homework/info?id={}", commonPropertiesConfig.getDomainApp(), classHomework.getId()));
|
|
|
weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
|
|
weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
|
|
|
JSONObject paramJson = new JSONObject();
|
|
JSONObject paramJson = new JSONObject();
|
|
|
|
|
|
|
@@ -336,9 +340,9 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
|
|
|
|
|
weChatSendMessageDto.setContent(paramJson);
|
|
weChatSendMessageDto.setContent(paramJson);
|
|
|
weChatService.sendTemplateMessage(weChatSendMessageDto);
|
|
weChatService.sendTemplateMessage(weChatSendMessageDto);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("发送消息错误,Error processing event data", e);
|
|
|
}
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("发送消息错误,Error processing event data", e);
|
|
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -362,7 +366,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
|
|
.leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
|
|
|
;
|
|
;
|
|
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(dto.getClassId())){
|
|
|
|
|
|
|
+ if (ObjectUtils.isEmpty(dto.getClassId())) {
|
|
|
LambdaQueryWrapper<ClassHomeworkClass> classLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<ClassHomeworkClass> classLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
classLambdaQueryWrapper
|
|
classLambdaQueryWrapper
|
|
|
.eq(ClassHomeworkClass::getClassHomeworkId, dto.getClassHomeworkId())
|
|
.eq(ClassHomeworkClass::getClassHomeworkId, dto.getClassHomeworkId())
|
|
@@ -370,7 +374,7 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
;
|
|
;
|
|
|
|
|
|
|
|
List<ClassHomeworkClass> classHomeworkClassList = classHomeworkClassMapper.selectList(classLambdaQueryWrapper);
|
|
List<ClassHomeworkClass> classHomeworkClassList = classHomeworkClassMapper.selectList(classLambdaQueryWrapper);
|
|
|
- if(CollectionUtils.isEmpty(classHomeworkClassList)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(classHomeworkClassList)) {
|
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -381,8 +385,8 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
.collect(Collectors.toList()); // 收集为 List
|
|
.collect(Collectors.toList()); // 收集为 List
|
|
|
|
|
|
|
|
xjrUserMPJLambdaWrapper
|
|
xjrUserMPJLambdaWrapper
|
|
|
- .in(BaseStudentSchoolRoll::getClassId, uniqueClassIds);
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ .in(BaseStudentSchoolRoll::getClassId, uniqueClassIds);
|
|
|
|
|
+ } else {
|
|
|
xjrUserMPJLambdaWrapper
|
|
xjrUserMPJLambdaWrapper
|
|
|
.eq(BaseStudentSchoolRoll::getClassId, dto.getClassId());
|
|
.eq(BaseStudentSchoolRoll::getClassId, dto.getClassId());
|
|
|
}
|
|
}
|
|
@@ -411,13 +415,13 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
List<ClassHomeworkReadListVo> result = new ArrayList<>();
|
|
List<ClassHomeworkReadListVo> result = new ArrayList<>();
|
|
|
- if(ObjectUtils.isNotEmpty(dto.getIsRead())){
|
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getIsRead())) {
|
|
|
for (ClassHomeworkReadListVo vo : list) {
|
|
for (ClassHomeworkReadListVo vo : list) {
|
|
|
- if(Objects.equals(vo.getIsRead(), dto.getIsRead())){
|
|
|
|
|
|
|
+ if (Objects.equals(vo.getIsRead(), dto.getIsRead())) {
|
|
|
result.add(vo);
|
|
result.add(vo);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -431,13 +435,13 @@ public class ClassHomeworkServiceImpl extends MPJBaseServiceImpl<ClassHomeworkMa
|
|
|
// 查询用户是否已经阅读当前作业
|
|
// 查询用户是否已经阅读当前作业
|
|
|
LambdaQueryWrapper<ClassHomeworkRead> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<ClassHomeworkRead> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper
|
|
queryWrapper
|
|
|
- .select(ClassHomeworkRead.class,x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkRead.class).contains(x.getProperty()))
|
|
|
|
|
|
|
+ .select(ClassHomeworkRead.class, x -> VoToColumnUtil.fieldsToColumns(ClassHomeworkRead.class).contains(x.getProperty()))
|
|
|
.eq(ClassHomeworkRead::getClassHomeworkId, dto.getClassHomeworkId())
|
|
.eq(ClassHomeworkRead::getClassHomeworkId, dto.getClassHomeworkId())
|
|
|
.eq(ClassHomeworkRead::getUserId, loginId)
|
|
.eq(ClassHomeworkRead::getUserId, loginId)
|
|
|
;
|
|
;
|
|
|
ClassHomeworkRead classHomeworkRead = classHomeworkReadMapper.selectOne(queryWrapper);
|
|
ClassHomeworkRead classHomeworkRead = classHomeworkReadMapper.selectOne(queryWrapper);
|
|
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(classHomeworkRead)){
|
|
|
|
|
|
|
+ if (ObjectUtils.isEmpty(classHomeworkRead)) {
|
|
|
ClassHomeworkRead insert = BeanUtil.toBean(dto, ClassHomeworkRead.class);
|
|
ClassHomeworkRead insert = BeanUtil.toBean(dto, ClassHomeworkRead.class);
|
|
|
insert.setUserId(loginId);
|
|
insert.setUserId(loginId);
|
|
|
|
|
|