|
@@ -6,20 +6,19 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qmth.teachcloud.common.bean.dto.mark.MarkUser;
|
|
|
+import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
|
|
|
+import com.qmth.teachcloud.common.bean.params.mark.setting.GroupPictureConfigParams;
|
|
|
+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.MarkGroupSummaryProgressDto;
|
|
|
import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupTotalProgressDto;
|
|
|
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.common.bean.dto.mark.MarkUser;
|
|
|
-import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
|
|
|
-import com.qmth.teachcloud.common.bean.params.mark.setting.GroupPictureConfigParams;
|
|
|
-import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
-import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
|
-import com.qmth.teachcloud.mark.service.MarkQuestionService;
|
|
|
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.mapper.MarkGroupMapper;
|
|
@@ -75,7 +74,7 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
markGroupDto.setGroupNumber(markGroup.getNumber());
|
|
|
markGroupDto.setDoubleRate(markGroup.getDoubleRate());
|
|
|
markGroupDto.setArbitrateThreshold(markGroup.getArbitrateThreshold());
|
|
|
- markGroupDto.setScorePolicy(markGroup.getScorePolicy().name());
|
|
|
+ markGroupDto.setScorePolicy(markGroup.getScorePolicy());
|
|
|
if (StringUtils.isNotBlank(markGroup.getPicList())) {
|
|
|
markGroupDto.setPictureConfigs(JSON.parseArray(markGroup.getPicList(), PictureConfig.class));
|
|
|
}
|
|
@@ -239,4 +238,44 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
.eq(MarkGroup::getNumber, groupNumber);
|
|
|
this.update(updateWrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public void saveGroupBatch(MarkGroupTaskDto markGroupTaskDto) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public void updateGroup(MarkGroupSingleDto markGroupSingleDto) {
|
|
|
+ Long examId = markGroupSingleDto.getExamId();
|
|
|
+ String paperNumber = markGroupSingleDto.getPaperNumber();
|
|
|
+ MarkGroupDto markGroupDto = markGroupSingleDto.getGroupInfo();
|
|
|
+ MarkGroup markGroup = this.getByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
+ if (markGroup == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("数据不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ markGroup.setDoubleRate(markGroupDto.getDoubleRate());
|
|
|
+ markGroup.setScorePolicy(markGroupDto.getScorePolicy());
|
|
|
+ markGroup.setArbitrateThreshold(markGroupDto.getArbitrateThreshold());
|
|
|
+ markGroup.setPicList(JSON.toJSONString(markGroupDto.getPictureConfigs()));
|
|
|
+ this.updateById(markGroup);
|
|
|
+
|
|
|
+ List<MarkUserGroup> markUserGroupList = markUserGroupService.listByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
+ if (CollectionUtils.isNotEmpty(markUserGroupList)) {
|
|
|
+ MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
+ List<Long> userIds = markUserGroupList.stream().map(MarkUserGroup::getUserId).collect(Collectors.toList());
|
|
|
+ List<MarkUserGroup> markUserGroups = new ArrayList<>();
|
|
|
+ for (MarkUser marker : markGroupDto.getMarkers()) {
|
|
|
+ if (userIds.contains(marker.getUserId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ markUserGroups.add(new MarkUserGroup(examId, paperNumber, markGroupDto.getGroupNumber(), marker.getUserId(), markPaper.getMarkMode()));
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(markUserGroups)) {
|
|
|
+ markUserGroupService.saveBatch(markUserGroups);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|