|
@@ -11,15 +11,19 @@ import com.qmth.teachcloud.common.bean.params.mark.group.MarkClassUserParams;
|
|
import com.qmth.teachcloud.common.bean.params.mark.group.MarkGroupClassUserParams;
|
|
import com.qmth.teachcloud.common.bean.params.mark.group.MarkGroupClassUserParams;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
+import com.qmth.teachcloud.mark.bean.student.MarkStudentQuery;
|
|
|
|
+import com.qmth.teachcloud.mark.dto.mark.MarkStudentVo;
|
|
import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupClassProgressDto;
|
|
import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupClassProgressDto;
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDetailDto;
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDetailDto;
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDto;
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDto;
|
|
import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkStudent;
|
|
import com.qmth.teachcloud.mark.entity.MarkUserClass;
|
|
import com.qmth.teachcloud.mark.entity.MarkUserClass;
|
|
import com.qmth.teachcloud.mark.entity.MarkUserGroup;
|
|
import com.qmth.teachcloud.mark.entity.MarkUserGroup;
|
|
import com.qmth.teachcloud.mark.mapper.MarkUserClassMapper;
|
|
import com.qmth.teachcloud.mark.mapper.MarkUserClassMapper;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
+import org.apache.commons.collections4.MapUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -162,4 +166,29 @@ public class MarkUserClassServiceImpl extends ServiceImpl<MarkUserClassMapper, M
|
|
.eq(MarkUserClass::getUserId, userId);
|
|
.eq(MarkUserClass::getUserId, userId);
|
|
return this.list(queryWrapper);
|
|
return this.list(queryWrapper);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void autoBindTeacherIdAndTeachClassName(Long examId, String paperNumber) {
|
|
|
|
+ MarkStudentQuery markStudentQuery = new MarkStudentQuery();
|
|
|
|
+ markStudentQuery.setExamId(examId);
|
|
|
|
+ markStudentQuery.setPaperNumber(paperNumber);
|
|
|
|
+ List<MarkStudentVo> markStudentList = markStudentService.listMarkStudentVo(markStudentQuery);
|
|
|
|
+ Map<String, Long> map = markStudentList.stream().filter(m -> m.getTeacherId() != null).collect(Collectors.toMap(m -> m.getTeachClassName(), n -> n.getTeacherId(), (m, n) -> m));
|
|
|
|
+ if (MapUtils.isNotEmpty(map)) {
|
|
|
|
+
|
|
|
|
+ List<MarkUserClass> markUserClassList = new ArrayList<>();
|
|
|
|
+ for (Map.Entry<String, Long> entry : map.entrySet()) {
|
|
|
|
+ if (CollectionUtils.size(markUserGroupService.listByExamIdAndPaperNumberAndUserId(examId, paperNumber, entry.getValue())) > 0) {
|
|
|
|
+ MarkUserClass markUserClass = new MarkUserClass();
|
|
|
|
+ markUserClass.setId(SystemConstant.getDbUuid());
|
|
|
|
+ markUserClass.setExamId(examId);
|
|
|
|
+ markUserClass.setPaperNumber(paperNumber);
|
|
|
|
+ markUserClass.setClassName(entry.getKey());
|
|
|
|
+ markUserClass.setUserId(entry.getValue());
|
|
|
|
+ markUserClassList.add(markUserClass);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.saveBatch(markUserClassList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|