|
@@ -1,18 +1,27 @@
|
|
package com.qmth.digit.print.business.service.impl;
|
|
package com.qmth.digit.print.business.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.qmth.digit.print.business.bean.ApiUser;
|
|
import com.qmth.digit.print.business.bean.dto.BlurryUserDto;
|
|
import com.qmth.digit.print.business.bean.dto.BlurryUserDto;
|
|
import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
|
|
import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
|
|
|
|
+import com.qmth.digit.print.business.bean.dto.ExamTaskImportDto;
|
|
import com.qmth.digit.print.business.bean.query.BlurryParam;
|
|
import com.qmth.digit.print.business.bean.query.BlurryParam;
|
|
import com.qmth.digit.print.business.bean.query.ExamTaskParam;
|
|
import com.qmth.digit.print.business.bean.query.ExamTaskParam;
|
|
import com.qmth.digit.print.business.entity.ExamTask;
|
|
import com.qmth.digit.print.business.entity.ExamTask;
|
|
|
|
+import com.qmth.digit.print.business.entity.ExamTaskTemp;
|
|
import com.qmth.digit.print.business.mapper.ExamTaskMapper;
|
|
import com.qmth.digit.print.business.mapper.ExamTaskMapper;
|
|
import com.qmth.digit.print.business.service.ExamTaskService;
|
|
import com.qmth.digit.print.business.service.ExamTaskService;
|
|
|
|
+import com.qmth.digit.print.business.service.ExamTaskTempService;
|
|
|
|
+import com.qmth.digit.print.common.enums.ExamStatusEnum;
|
|
|
|
+import com.qmth.digit.print.common.enums.ExceptionResultEnum;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -29,6 +38,9 @@ import java.util.stream.Collectors;
|
|
@Service
|
|
@Service
|
|
public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> implements ExamTaskService {
|
|
public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> implements ExamTaskService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ExamTaskTempService examTaskTempService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<ExamTask> listByCourseCode(Long schoolId, String code) {
|
|
public List<ExamTask> listByCourseCode(Long schoolId, String code) {
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
@@ -62,4 +74,70 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
public List<BlurryUserDto> listUser(BlurryParam param) {
|
|
public List<BlurryUserDto> listUser(BlurryParam param) {
|
|
return this.baseMapper.listUser(param);
|
|
return this.baseMapper.listUser(param);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean assignUser(ExamTask examTask) {
|
|
|
|
+ UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(ExamTask::getUserId, examTask.getUserId()).eq(ExamTask::getId, examTask.getId());
|
|
|
|
+ return this.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean enable(ExamTask examTask) {
|
|
|
|
+ UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(ExamTask::getEnable, examTask.getEnable()).eq(ExamTask::getId, examTask.getId());
|
|
|
|
+ return this.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean saveExamTask(ExamTask examTask) {
|
|
|
|
+ // todo paperNumber生成问题, 必填字段校验
|
|
|
|
+ return this.save(examTask);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<ExamTaskImportDto> importFile(MultipartFile file, String md5, ApiUser apiUser) {
|
|
|
|
+ // 导入文件
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean saveBatch(ExamTask task) {
|
|
|
|
+ if(StringUtils.isBlank(task.getBatchNo())){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("batchNo不能为空");
|
|
|
|
+ }
|
|
|
|
+ QueryWrapper<ExamTaskTemp> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().eq(ExamTaskTemp::getBatchNo, task.getBatchNo());
|
|
|
|
+ List<ExamTaskTemp> examTaskTemps = examTaskTempService.list(queryWrapper);
|
|
|
|
+ if(examTaskTemps.isEmpty()){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("没有可保存数据");
|
|
|
|
+ }
|
|
|
|
+ List<ExamTask> list = new ArrayList<>();
|
|
|
|
+ for (ExamTaskTemp examTaskTemp : examTaskTemps) {
|
|
|
|
+ ExamTask examTask = new ExamTask();
|
|
|
|
+ examTask.setSchoolId(task.getSchoolId());
|
|
|
|
+ examTask.setCourseCode(examTaskTemp.getCourseCode());
|
|
|
|
+ examTask.setCourseName(examTaskTemp.getCourseName());
|
|
|
|
+ examTask.setSpecialty(examTaskTemp.getSpecialty());
|
|
|
|
+ examTask.setPaperNumber(examTaskTemp.getPaperNumber());
|
|
|
|
+ examTask.setStartTime(task.getStartTime());
|
|
|
|
+ examTask.setEndTime(task.getEndTime());
|
|
|
|
+ examTask.setCardRuleId(task.getCardRuleId());
|
|
|
|
+ examTask.setStatus(ExamStatusEnum.NEW);
|
|
|
|
+ examTask.setBatchNo(task.getBatchNo());
|
|
|
|
+ examTask.setCreateId(task.getCreateId());
|
|
|
|
+ examTask.setCreateTime(System.currentTimeMillis());
|
|
|
|
+ String userId = task.getUsers().stream().map(m->{
|
|
|
|
+ if (examTaskTemp.getCourseCode().equals(m.get("courseCode"))) {
|
|
|
|
+ return m.get("userId");
|
|
|
|
+ }
|
|
|
|
+ return "";
|
|
|
|
+ }).findFirst().get();
|
|
|
|
+ if(StringUtils.isNotBlank(userId)){
|
|
|
|
+ examTask.setUserId(Long.valueOf(userId));
|
|
|
|
+ }
|
|
|
|
+ list.add(examTask);
|
|
|
|
+ }
|
|
|
|
+ return this.saveBatch(list);
|
|
|
|
+ }
|
|
}
|
|
}
|