|
@@ -1,21 +1,5 @@
|
|
|
package com.qmth.teachcloud.mark.service.impl;
|
|
|
|
|
|
-import java.text.DecimalFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-
|
|
|
-import com.qmth.teachcloud.mark.bean.answercard.CardFile;
|
|
|
-import com.qmth.teachcloud.mark.entity.*;
|
|
|
-import com.qmth.teachcloud.mark.service.*;
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
@@ -27,18 +11,31 @@ import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
|
|
|
import com.qmth.teachcloud.common.bean.params.mark.setting.GroupPictureConfigParams;
|
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupClassProgressDto;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupProgressDto;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupQuestionsDto;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupSummaryProgressDto;
|
|
|
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupTotalProgressDto;
|
|
|
+import com.qmth.teachcloud.mark.bean.answercard.CardFile;
|
|
|
+import com.qmth.teachcloud.mark.dto.mark.manage.*;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupSingleDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupTaskDto;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkTask;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkUserGroup;
|
|
|
import com.qmth.teachcloud.mark.enums.LockType;
|
|
|
import com.qmth.teachcloud.mark.enums.ScorePolicy;
|
|
|
import com.qmth.teachcloud.mark.lock.LockService;
|
|
|
import com.qmth.teachcloud.mark.mapper.MarkGroupMapper;
|
|
|
+import com.qmth.teachcloud.mark.service.*;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.text.DecimalFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Comparator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -384,6 +381,9 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
|
|
|
markQuestionService.updateById(markQuestion);
|
|
|
}
|
|
|
|
|
|
+ // 更新MarkPaper中groupStatus
|
|
|
+ markService.updateMarkGroupStatus(examId, paperNumber);
|
|
|
+
|
|
|
List<MarkUserGroup> markUserGroupList = markUserGroupService.listByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
if (CollectionUtils.isNotEmpty(markUserGroupList)) {
|
|
|
List<Long> userIds = markUserGroupList.stream().map(MarkUserGroup::getUserId).collect(Collectors.toList());
|
|
@@ -402,11 +402,10 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
|
|
|
// 单双评切换、开启双评且双评比例值修改过,则删除任务
|
|
|
if (!doubleEnable.equals(markGroupDto.getDoubleEnable())
|
|
|
|| (markGroupDto.getDoubleEnable() && (doubleRate == null || markGroupDto.getDoubleRate().doubleValue() != markGroup.getDoubleRate().doubleValue()))) {
|
|
|
- markSyncService.deleteMarkGroup(markGroup, false);
|
|
|
+ if (lockService.trylock(LockType.GROUP_DELETE, examId, paperNumber, markGroupDto.getGroupNumber())) {
|
|
|
+ markSyncService.deleteMarkGroup(markGroup, false);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- // 更新MarkPaper中groupStatus
|
|
|
- markService.updateMarkGroupStatus(examId, paperNumber);
|
|
|
}
|
|
|
|
|
|
@Override
|