|
|
@@ -0,0 +1,387 @@
|
|
|
+package com.ssj.service.kmt.correctsys;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.LinkedList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.ssj.bean.kmt.kmt.domain.KmtExerciseBookCourse;
|
|
|
+import com.ssj.bean.kmt.kmt.domain.KmtExerciseQuestion;
|
|
|
+import com.ssj.bean.kmt.kmt.domain.KmtExerciseQuestionKnow;
|
|
|
+import com.ssj.bean.kmt.kmt.domain.KmtHomeworkWrongQuestion;
|
|
|
+import com.ssj.bean.sys.compositioncomment.domain.CompositionComment;
|
|
|
+import com.ssj.bean.sys.homework.domain.HomeworkHowDetail;
|
|
|
+import com.ssj.bean.sys.homework.domain.HomeworkPicture;
|
|
|
+import com.ssj.bean.sys.homework.domain.HomeworkPictureCorrect;
|
|
|
+import com.ssj.bean.sys.homework.domain.SconTeacherCorrectRecord;
|
|
|
+import com.ssj.bean.weixin.libmy.domain.TbLibManager;
|
|
|
+import com.ssj.bean.weixin.zyb.domain.ZuoybKnowHowDetails;
|
|
|
+import com.ssj.framework.core.security.exception.CommonException;
|
|
|
+import com.ssj.framework.core.util.Constant;
|
|
|
+import com.ssj.framework.core.util.ResponseConstant;
|
|
|
+import com.ssj.framework.core.util.ResponseEntity;
|
|
|
+import com.ssj.framework.core.util.StringUtil;
|
|
|
+import com.ssj.framework.weixin.util.DateUtil;
|
|
|
+import com.ssj.service.kmt.correctsys.service.HomeworkHowDetailsService;
|
|
|
+import com.ssj.service.kmt.correctsys.service.KmtCorrectHomeworkService;
|
|
|
+import com.ssj.service.kmt.dto.CompositionCommentDto;
|
|
|
+import com.ssj.service.kmt.dto.exercise.ExerciseQuestionAnswerSpace;
|
|
|
+import com.ssj.service.kmt.enums.HomeworkWrongQuestionTypeEnum;
|
|
|
+import com.ssj.service.kmt.service.KmtExerciseBookCourseService;
|
|
|
+import com.ssj.service.kmt.service.KmtExerciseQuestionKnowService;
|
|
|
+import com.ssj.service.kmt.service.KmtExerciseQuestionService;
|
|
|
+import com.ssj.service.kmt.service.KmtExerciseService;
|
|
|
+import com.ssj.service.kmt.service.KmtHomeworkWrongQuestionService;
|
|
|
+import com.ssj.service.sys.compositioncomment.service.CompositionCommentService;
|
|
|
+import com.ssj.service.sys.homework.request.CorrectionQuestionRequest;
|
|
|
+import com.ssj.service.sys.homework.request.CorrectionRequest;
|
|
|
+import com.ssj.service.sys.homework.request.CorrectionSpaceRequest;
|
|
|
+import com.ssj.service.sys.homework.request.CorrectionsRequest;
|
|
|
+import com.ssj.service.sys.homework.service.HomeworkPictureCorrectService;
|
|
|
+import com.ssj.service.sys.homework.service.HomeworkPictureService;
|
|
|
+import com.ssj.service.sys.homework.service.HomeworkPictureVagueRecordService;
|
|
|
+import com.ssj.service.sys.homework.service.SconTeacherCorrectRecordService;
|
|
|
+import com.ssj.service.sys.template.CommentTemplateMapperService;
|
|
|
+import com.ssj.service.weixin.library.service.IBookManagerService;
|
|
|
+import com.ssj.service.weixin.zuoyb.service.ZuoybKnowHowDetailsService;
|
|
|
+/**
|
|
|
+ * @author yrf
|
|
|
+ * @date 2019/1/21 11:28
|
|
|
+ */
|
|
|
+
|
|
|
+@Service
|
|
|
+@Transactional
|
|
|
+public class KmtCorrectHomeworkServiceImpl implements KmtCorrectHomeworkService {
|
|
|
+
|
|
|
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private HomeworkPictureService homeworkPictureService;
|
|
|
+ @Autowired
|
|
|
+ private KmtHomeworkWrongQuestionService kmtHomeworkWrongQuestionService;
|
|
|
+ @Autowired
|
|
|
+ private ZuoybKnowHowDetailsService zuoybKnowHowDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private HomeworkHowDetailsService homeworkHowDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private KmtExerciseQuestionKnowService kmtExerciseQuestionKnowService;
|
|
|
+ @Autowired
|
|
|
+ private KmtExerciseBookCourseService kmtExerciseBookCourseService;
|
|
|
+ @Autowired
|
|
|
+ private KmtExerciseQuestionService kmtExerciseQuestionService;
|
|
|
+ @Autowired
|
|
|
+ private IBookManagerService bookManagerService;
|
|
|
+ @Autowired
|
|
|
+ private HomeworkPictureCorrectService homeworkPictureCorrectService;
|
|
|
+ @Autowired
|
|
|
+ private CompositionCommentService compositionCommentService;
|
|
|
+ @Autowired
|
|
|
+ private CommentTemplateMapperService commentTemplateMapperService;
|
|
|
+ @Autowired
|
|
|
+ private SconTeacherCorrectRecordService sconTeacherCorrectRecordService;
|
|
|
+ @Autowired
|
|
|
+ private HomeworkPictureVagueRecordService homeworkPictureVagueRecordService;
|
|
|
+ @Autowired
|
|
|
+ private KmtExerciseService kmtExerciseService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 质检员保存作业批改结果
|
|
|
+ * @param correction
|
|
|
+ * @param homeworkPicture
|
|
|
+ */
|
|
|
+ private void correctionSaving4Checker (CorrectionRequest correction, HomeworkPicture homeworkPicture) throws CommonException {
|
|
|
+ Date nowDateTime = new Date();
|
|
|
+
|
|
|
+ //保存勾选的对错题
|
|
|
+ if (CollectionUtils.isNotEmpty(correction.getAnswerList())){
|
|
|
+ List<KmtHomeworkWrongQuestion> wrongQuestions = kmtHomeworkWrongQuestionService.findList(homeworkPicture.getId(), false);
|
|
|
+ List<HomeworkHowDetail> homeworkHowDetails = homeworkHowDetailsService.findHowDetailsByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ logger.info("保存对错题前对错题记录{}", JSON.toJSON(wrongQuestions));
|
|
|
+ logger.info("报错错题知识点前的知识点记录{}", JSON.toJSON(homeworkHowDetails));
|
|
|
+ kmtHomeworkWrongQuestionService.deleteByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ homeworkHowDetailsService.deleteExerciseByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ this.saveExerciseCorretion(correction, homeworkPicture);
|
|
|
+ }
|
|
|
+
|
|
|
+ //保存质检员批改修改前的数据
|
|
|
+ SconTeacherCorrectRecord sconTeacherCorrectRecord = sconTeacherCorrectRecordService.findByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ if (sconTeacherCorrectRecord == null){
|
|
|
+ sconTeacherCorrectRecord = new SconTeacherCorrectRecord();
|
|
|
+ sconTeacherCorrectRecord.setCorrected_picture_url(homeworkPicture.getCorrectedPictureUrl());
|
|
|
+ sconTeacherCorrectRecord.setHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ sconTeacherCorrectRecord.setTeacherId(homeworkPicture.getTeacherId());
|
|
|
+ sconTeacherCorrectRecord.setCreateTime(nowDateTime);
|
|
|
+ sconTeacherCorrectRecordService.save(sconTeacherCorrectRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ //保存作文评语的批改结果
|
|
|
+ List<CompositionCommentDto> selectedCompositionCommentList = correction.getCompositionCommentList();
|
|
|
+ if (CollectionUtils.isNotEmpty(selectedCompositionCommentList)){
|
|
|
+ homeworkPicture.setIsComposition(1);
|
|
|
+ List<String> selectedCompositionCommentIdList = selectedCompositionCommentList.stream()
|
|
|
+ .map(CompositionCommentDto::getCompositionCommentId)
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ boolean checkResult = commentTemplateMapperService.checkSelectedCompositionComment(selectedCompositionCommentIdList);
|
|
|
+ if (!checkResult) {
|
|
|
+ throw new CommonException("作文评语至少选择3个维度,同维度只能选择1个级别");
|
|
|
+ }
|
|
|
+
|
|
|
+ //清除旧的批改结果
|
|
|
+ List<CompositionComment> tmpList = compositionCommentService.findByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ logger.info("作业批改保存作文批改前的记录{}", JSON.toJSON(tmpList));
|
|
|
+ compositionCommentService.deleteByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+
|
|
|
+ List<CompositionComment> compositionCommentList = new LinkedList<>();
|
|
|
+ selectedCompositionCommentList.forEach(compositionCommentDto -> {
|
|
|
+ CompositionComment compositionComment = new CompositionComment();
|
|
|
+ compositionComment.setHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ compositionComment.setCommentTemplateId(compositionCommentDto.getCompositionCommentId());
|
|
|
+ compositionComment.setCreateTime(nowDateTime);
|
|
|
+ compositionCommentList.add(compositionComment);
|
|
|
+ });
|
|
|
+ compositionCommentService.save(compositionCommentList);
|
|
|
+ }
|
|
|
+
|
|
|
+ //二次批改状态记录,只有是可批改时间才设置为未匹配
|
|
|
+ if (homeworkPicture.getIsFeedback() == 1 && DateUtil.compareDate(DateUtil.parse_yyyyMMdd(this.getQueryBeginDate()), homeworkPicture.getCreateTime())) {
|
|
|
+ homeworkPicture.setIsKnowFeedback(0);
|
|
|
+ HomeworkPictureCorrect knowCorrect = homeworkPictureCorrectService.findByHomeworkPictureIdAndType(homeworkPicture.getId(), Constant.KNOW_MATCH_TYPE);
|
|
|
+ if (knowCorrect != null){
|
|
|
+ knowCorrect.setSecondCorrectType(1);
|
|
|
+ knowCorrect.setEndTime(null);
|
|
|
+ homeworkPictureCorrectService.save(knowCorrect);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (homeworkPicture.getIsMark() == 10){
|
|
|
+ homeworkPicture.setIsMark(0);
|
|
|
+ if (CollectionUtils.isNotEmpty(homeworkPictureVagueRecordService.findByHomeworkPictureId(homeworkPicture.getId()))){
|
|
|
+ homeworkPicture.setIsMark(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ homeworkPicture.setCorrectedPictureUrl(correction.getHomeworkPictureEditPath());
|
|
|
+ homeworkPicture.setIsCorrect(12);
|
|
|
+ homeworkPicture.setIsCheckerCorrect(1);
|
|
|
+ homeworkPictureService.save(homeworkPicture);
|
|
|
+
|
|
|
+ //异步推送报告、作文批改处理,减少批改老师的权重
|
|
|
+ //ThreadPool.getInstance().addTask(new SyncCheckerSubmitHomeworkCorrect(correction, homeworkPicture));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private String getQueryBeginDate(){
|
|
|
+ String beginTime;
|
|
|
+ if (DateUtil.getHour(new Date()) < 14) {
|
|
|
+ beginTime=DateUtil.format_yyyyMMdd(DateUtil.addDays(new Date(), -1));
|
|
|
+ } else {
|
|
|
+ beginTime=DateUtil.format_yyyyMMdd(DateUtil.getTodatDate());
|
|
|
+ }
|
|
|
+ return beginTime;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void saveExerciseCorretion (CorrectionRequest correction, HomeworkPicture homeworkPicture){
|
|
|
+ List<KmtHomeworkWrongQuestion> kmtHomeworkQuestions = new ArrayList<>();
|
|
|
+ List<HomeworkHowDetail> knowList = new ArrayList<>();
|
|
|
+ List<CorrectionQuestionRequest> correctionQuestions = correction.getAnswerList();
|
|
|
+
|
|
|
+ if (correctionQuestions != null && correctionQuestions.size() > 0){
|
|
|
+ List<KmtExerciseQuestion> questions = kmtExerciseQuestionService.findByIdIn(correctionQuestions.stream().map(CorrectionQuestionRequest::getQuestionId).collect(Collectors.toList()));
|
|
|
+ kmtExerciseService.appendQuestionDataFromJSONFile(questions);
|
|
|
+ if (questions != null && questions.size() > 0) {
|
|
|
+ KmtExerciseBookCourse bookCourse = kmtExerciseBookCourseService.findBookDataByBookId(questions.get(0).getBookId());
|
|
|
+ //循环添加对错题
|
|
|
+ for (CorrectionQuestionRequest correctionQuestion : correctionQuestions) {
|
|
|
+ //判断题目有没有分空
|
|
|
+ boolean isSpace = false;
|
|
|
+ for (KmtExerciseQuestion kmtExerciseQuestion : questions){
|
|
|
+ //找到那道题目
|
|
|
+ if (kmtExerciseQuestion.getId().equals(correctionQuestion.getQuestionId())){
|
|
|
+ //json转对象后数组长度大于1则有分空
|
|
|
+ if (StringUtils.isNotBlank(kmtExerciseQuestion.getAnswerJson())){
|
|
|
+ List<ExerciseQuestionAnswerSpace> answerSpaces = JSON.parseArray(kmtExerciseQuestion.getAnswerJson(), ExerciseQuestionAnswerSpace.class);
|
|
|
+ if (answerSpaces.size() > 1){
|
|
|
+ isSpace = true;
|
|
|
+ }
|
|
|
+ } else if (StringUtil.isNotBlank(kmtExerciseQuestion.getOptionAnswer())){
|
|
|
+ //没有json的话,它的答案html按符号分割后空的数组长度大于1,则有分空
|
|
|
+ String[] answerArray = kmtExerciseQuestion.getOptionAnswer().split(" ");
|
|
|
+ if (answerArray != null && answerArray.length > 1){
|
|
|
+ isSpace = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(correctionQuestion.getSpaces())){
|
|
|
+ List<CorrectionSpaceRequest> wrongSpaces = correctionQuestion.getSpaces().stream()
|
|
|
+ .filter(correctionSpaceRequest -> correctionSpaceRequest.getType() == HomeworkWrongQuestionTypeEnum.WrongAnswer.getCode()).collect(Collectors.toList());
|
|
|
+ List<CorrectionSpaceRequest> rightSpaces = correctionQuestion.getSpaces().stream()
|
|
|
+ .filter(correctionSpaceRequest -> correctionSpaceRequest.getType() == HomeworkWrongQuestionTypeEnum.Right.getCode()).collect(Collectors.toList());
|
|
|
+ //只有一个空,表示不分空
|
|
|
+ KmtHomeworkWrongQuestion temp = null;
|
|
|
+ if (isSpace){
|
|
|
+ List<Integer> spaceIndexs = wrongSpaces.stream().map(CorrectionSpaceRequest::getIndex).collect(Collectors.toList());
|
|
|
+ List<Integer> correctIndexs = rightSpaces.stream().map(CorrectionSpaceRequest::getIndex).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(wrongSpaces)){
|
|
|
+ temp = createKmtHomeworkWrongQuestionV1(homeworkPicture, new Date(),
|
|
|
+ correctionQuestion.getQuestionId(), spaceIndexs, correctIndexs,
|
|
|
+ HomeworkWrongQuestionTypeEnum.WrongAnswer.getCode());
|
|
|
+ temp = kmtHomeworkWrongQuestionService.save(temp);
|
|
|
+ this.saveWrongQuestionKnowHowDetails(knowList, temp, correctionQuestion.getQuestionId(), bookCourse);
|
|
|
+ } else if (CollectionUtils.isNotEmpty(rightSpaces)){
|
|
|
+ temp = createKmtHomeworkWrongQuestionV1(homeworkPicture, new Date(),
|
|
|
+ correctionQuestion.getQuestionId(), null, correctIndexs,
|
|
|
+ HomeworkWrongQuestionTypeEnum.Right.getCode());
|
|
|
+ kmtHomeworkQuestions.add(temp);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (CollectionUtils.isNotEmpty(wrongSpaces)){
|
|
|
+ temp = createKmtHomeworkWrongQuestionV1(homeworkPicture, new Date(),
|
|
|
+ correctionQuestion.getQuestionId(), null, null,
|
|
|
+ HomeworkWrongQuestionTypeEnum.WrongAnswer.getCode());
|
|
|
+ temp = kmtHomeworkWrongQuestionService.save(temp);
|
|
|
+ this.saveWrongQuestionKnowHowDetails(knowList, temp, correctionQuestion.getQuestionId(), bookCourse);
|
|
|
+ } else if (CollectionUtils.isNotEmpty(rightSpaces)){
|
|
|
+ temp = createKmtHomeworkWrongQuestionV1(homeworkPicture, new Date(),
|
|
|
+ correctionQuestion.getQuestionId(), null, null,
|
|
|
+ HomeworkWrongQuestionTypeEnum.Right.getCode());
|
|
|
+ kmtHomeworkQuestions.add(temp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //保存
|
|
|
+ if (kmtHomeworkQuestions.size() > 0){
|
|
|
+ kmtHomeworkWrongQuestionService.save(kmtHomeworkQuestions);
|
|
|
+ }
|
|
|
+ if (knowList.size() > 0){
|
|
|
+ homeworkHowDetailsService.save(knowList);
|
|
|
+
|
|
|
+ // 更新needUpdateWrongQuestionKnowledgeCount字段
|
|
|
+// homeworkMapper.updateNeedUpdateWrongQuestionKnowledgeCount(Collections.singleton(homeworkPicture.getHomeworkId()), 0, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /* 生成错题记录
|
|
|
+ * @param homeworkPicture
|
|
|
+ * @param now
|
|
|
+ * @param wrongQuestionId
|
|
|
+ * @param spaces
|
|
|
+ * @param correctSpaces
|
|
|
+ * @param wrongType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private KmtHomeworkWrongQuestion createKmtHomeworkWrongQuestionV1(HomeworkPicture homeworkPicture, Date now,
|
|
|
+ String wrongQuestionId, List<Integer> spaces,
|
|
|
+ List<Integer> correctSpaces,
|
|
|
+ Integer wrongType) {
|
|
|
+ KmtHomeworkWrongQuestion kmtHomeworkWrongQuestion = new KmtHomeworkWrongQuestion();
|
|
|
+ kmtHomeworkWrongQuestion.setHomeworkId(homeworkPicture.getHomeworkId());
|
|
|
+ kmtHomeworkWrongQuestion.setHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ kmtHomeworkWrongQuestion.setQuestionId(wrongQuestionId);
|
|
|
+ kmtHomeworkWrongQuestion.setStudentId(homeworkPicture.getVipId());
|
|
|
+ kmtHomeworkWrongQuestion.setType(wrongType);
|
|
|
+ kmtHomeworkWrongQuestion.setIsDelete(false);
|
|
|
+ kmtHomeworkWrongQuestion.setCreateTime(now);
|
|
|
+ if (CollectionUtils.isNotEmpty(spaces)) {
|
|
|
+ kmtHomeworkWrongQuestion.setSpaceIndex(StringUtils.join(spaces, "、"));
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(correctSpaces)){
|
|
|
+ kmtHomeworkWrongQuestion.setCorrectSpaceIndex(StringUtils.join(correctSpaces, "、"));
|
|
|
+ }
|
|
|
+ return kmtHomeworkWrongQuestion;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存练习册相关联的错题知识点
|
|
|
+ * @param knowList
|
|
|
+ * @param wrongQuestion
|
|
|
+ * @param questionId
|
|
|
+ */
|
|
|
+ private void saveWrongQuestionKnowHowDetails (List<HomeworkHowDetail> knowList, KmtHomeworkWrongQuestion wrongQuestion, String questionId, KmtExerciseBookCourse bookCourse) {
|
|
|
+ //题目知识点
|
|
|
+ List<KmtExerciseQuestionKnow> kmtExerciseQuestionKnowList = kmtExerciseQuestionKnowService.findByQuestionId(questionId);
|
|
|
+ if (kmtExerciseQuestionKnowList != null){
|
|
|
+ for (KmtExerciseQuestionKnow kmtExerciseQuestionKnow : kmtExerciseQuestionKnowList) {
|
|
|
+ HomeworkHowDetail homeworkHowDetail = this.createHomeworkHowDetail(new Date(), wrongQuestion, kmtExerciseQuestionKnow.getHowDetailsId(), bookCourse);
|
|
|
+ knowList.add(homeworkHowDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private HomeworkHowDetail createHomeworkHowDetail(Date now, KmtHomeworkWrongQuestion kmtHomeworkWrongQuestion, String knowledgeId, KmtExerciseBookCourse bookCourse) {
|
|
|
+ ZuoybKnowHowDetails zuoybKnowHowDetails = zuoybKnowHowDetailsService.getById(knowledgeId);
|
|
|
+
|
|
|
+ if (zuoybKnowHowDetails == null) {
|
|
|
+ throw new CommonException("知识点不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ HomeworkHowDetail homeworkHowDetail = new HomeworkHowDetail();
|
|
|
+ homeworkHowDetail.setWrongQuestionId(kmtHomeworkWrongQuestion.getId());
|
|
|
+ homeworkHowDetail.setHomeworkId(kmtHomeworkWrongQuestion.getHomeworkId());
|
|
|
+ homeworkHowDetail.setHomeworkPictureId(kmtHomeworkWrongQuestion.getHomeworkPictureId());
|
|
|
+ homeworkHowDetail.setHowDetailId(zuoybKnowHowDetails.getId());
|
|
|
+ homeworkHowDetail.setModule(zuoybKnowHowDetails.getModule());
|
|
|
+ homeworkHowDetail.setWorkDetailType(1);
|
|
|
+ homeworkHowDetail.setKnowledgeVersion(bookCourse.getVersion());
|
|
|
+ homeworkHowDetail.setSemester(bookCourse.getSemester());
|
|
|
+ homeworkHowDetail.setGrade(bookCourse.getGrade());
|
|
|
+ homeworkHowDetail.setDetailCount(1);
|
|
|
+ homeworkHowDetail.setCreateTime(now);
|
|
|
+
|
|
|
+ return homeworkHowDetail;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseEntity checkCorrect(CorrectionsRequest request, String teacherId) throws CommonException {
|
|
|
+ ResponseEntity responseEntity = new ResponseEntity();
|
|
|
+ if (request.getCorrects().size() > 0){
|
|
|
+ CorrectionRequest correction = request.getCorrects().get(0);
|
|
|
+ HomeworkPicture homeworkPicture = homeworkPictureService.getById(correction.getHomeworkPictureId());
|
|
|
+ List<TbLibManager> managers = bookManagerService.findByUserIdAndTypeIn(teacherId, new int[]{50});
|
|
|
+ if (homeworkPicture == null){
|
|
|
+ responseEntity.failure(ResponseConstant.CODE_000, "作业不存在");
|
|
|
+ } else if (homeworkPicture.getIsFeedback() == 0){
|
|
|
+ responseEntity.failure(ResponseConstant.CODE_000, "作业未批改,质检老师不能批改");
|
|
|
+ }else if (StringUtils.isNotBlank(homeworkPicture.getKnowTeacherId()) && CollectionUtils.isNotEmpty(correction.getAnswerList())){
|
|
|
+ responseEntity.failure(ResponseConstant.CODE_000, "已分配匹配老师,不可勾选题号");
|
|
|
+ } else if (CollectionUtils.isEmpty(managers)) {
|
|
|
+ responseEntity.failure(ResponseConstant.CODE_000, "没有质检批改的权限");
|
|
|
+ } else {
|
|
|
+ this.correctionSaving4Checker(correction, homeworkPicture);
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ data.put("type", 2);
|
|
|
+ responseEntity.success(data, "批改成功");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ responseEntity.failure(ResponseConstant.CODE_000, "没有提交任何作业");
|
|
|
+ }
|
|
|
+ return responseEntity;
|
|
|
+ }
|
|
|
+}
|