|
@@ -1,5 +1,29 @@
|
|
|
package com.qmth.themis.backend.api;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -10,29 +34,39 @@ import com.qmth.themis.business.config.SystemConfig;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
import com.qmth.themis.business.dto.response.TEExamStudentDto;
|
|
|
-import com.qmth.themis.business.entity.*;
|
|
|
-import com.qmth.themis.business.enums.*;
|
|
|
-import com.qmth.themis.business.excel.ExportUtils;
|
|
|
-import com.qmth.themis.business.service.*;
|
|
|
+import com.qmth.themis.business.entity.TBAttachment;
|
|
|
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
|
|
|
+import com.qmth.themis.business.entity.TBOrg;
|
|
|
+import com.qmth.themis.business.entity.TBTaskHistory;
|
|
|
+import com.qmth.themis.business.entity.TBUser;
|
|
|
+import com.qmth.themis.business.entity.TEExam;
|
|
|
+import com.qmth.themis.business.entity.TEExamActivity;
|
|
|
+import com.qmth.themis.business.entity.TEExamStudent;
|
|
|
+import com.qmth.themis.business.entity.TEStudent;
|
|
|
+import com.qmth.themis.business.enums.MqTagEnum;
|
|
|
+import com.qmth.themis.business.enums.MqTopicEnum;
|
|
|
+import com.qmth.themis.business.enums.TaskStatusEnum;
|
|
|
+import com.qmth.themis.business.enums.TaskTypeEnum;
|
|
|
+import com.qmth.themis.business.enums.UploadFileEnum;
|
|
|
+import com.qmth.themis.business.service.MqDtoService;
|
|
|
+import com.qmth.themis.business.service.TBAttachmentService;
|
|
|
+import com.qmth.themis.business.service.TBExamInvigilateUserService;
|
|
|
+import com.qmth.themis.business.service.TBTaskHistoryService;
|
|
|
+import com.qmth.themis.business.service.TEExamActivityService;
|
|
|
+import com.qmth.themis.business.service.TEExamService;
|
|
|
+import com.qmth.themis.business.service.TEExamStudentService;
|
|
|
+import com.qmth.themis.business.service.TEStudentService;
|
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
|
import com.qmth.themis.common.util.Result;
|
|
|
import com.qmth.themis.common.util.ResultUtil;
|
|
|
-import io.swagger.annotations.*;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.IOException;
|
|
|
-import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
+import io.swagger.annotations.ApiResponse;
|
|
|
+import io.swagger.annotations.ApiResponses;
|
|
|
|
|
|
/**
|
|
|
* @Description: 考生库 前端控制器
|
|
@@ -76,7 +110,7 @@ public class TEExamStudentController {
|
|
|
|
|
|
@ApiOperation(value = "考生导出")
|
|
|
@RequestMapping(value = "/export", method = RequestMethod.POST)
|
|
|
- public void export(@ApiParam(value = "考试批次id", required = true) @RequestParam Long examId,
|
|
|
+ public Result export(@ApiParam(value = "考试批次id", required = true) @RequestParam Long examId,
|
|
|
@ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long activityId,
|
|
|
@ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
@ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
@@ -87,19 +121,36 @@ public class TEExamStudentController {
|
|
|
@ApiParam(value = "教学班级", required = false) @RequestParam(required = false) String classNo,
|
|
|
@ApiParam(value = "底照是否上传", required = false) @RequestParam(required = false) Integer hasPhoto,
|
|
|
HttpServletResponse response) throws Exception {
|
|
|
- if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
|
- throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
- }
|
|
|
- List<TEExamStudentDto> list = teExamStudentService.examStudentList(examId, activityId, identity, name, roomCode, courseCode, grade,
|
|
|
- enable, classNo, hasPhoto);
|
|
|
- if (list != null && list.size() > 0) {
|
|
|
- for (TEExamStudentDto dto : list) {
|
|
|
- if (StringUtils.isNotBlank(dto.getBasePhotoUrl())) {
|
|
|
- dto.setBasePhotoUrl(systemConfig.getProperty("aliyun.oss.url") + "/" + dto.getBasePhotoUrl());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- ExportUtils.exportEXCEL("考生信息", TEExamStudentDto.class, list, response);
|
|
|
+ TBTaskHistory tbTaskHistory = null;
|
|
|
+ Map<String, Object> transMap = new HashMap<String, Object>();
|
|
|
+ TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
|
+ //往任务表里插一条数据
|
|
|
+ tbTaskHistory = new TBTaskHistory(TaskTypeEnum.EXPORT_EXAM_STUDENT, TaskStatusEnum.INIT, SystemConstant.EXPORT_INIT, 0d, tbUser.getId());
|
|
|
+ taskHistoryService.save(tbTaskHistory);
|
|
|
+ transMap.put("tbTaskHistory", tbTaskHistory);
|
|
|
+
|
|
|
+ transMap.put("examId", examId);
|
|
|
+ transMap.put("activityId", activityId);
|
|
|
+ transMap.put("identity", identity);
|
|
|
+ transMap.put("name", name);
|
|
|
+ transMap.put("roomCode", roomCode);
|
|
|
+ transMap.put("courseCode", courseCode);
|
|
|
+ transMap.put("grade", grade);
|
|
|
+ transMap.put("enable", enable);
|
|
|
+ transMap.put("classNo", classNo);
|
|
|
+ transMap.put("hasPhoto", hasPhoto);
|
|
|
+
|
|
|
+ transMap.put("createId", tbUser.getId());
|
|
|
+
|
|
|
+ //mq发送消息start
|
|
|
+ MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_STUDENT_EXPORT.name(), transMap, MqTagEnum.EXAM_STUDENT_EXPORT, String.valueOf(tbTaskHistory.getId()), tbUser.getName());
|
|
|
+
|
|
|
+ mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
|
+ //mq发送消息end
|
|
|
+ Map<String, Long> map = new HashMap<String, Long>();
|
|
|
+ map.put(SystemConstant.TASK_ID, tbTaskHistory.getId());
|
|
|
+ return ResultUtil.ok(map);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "考生查询接口")
|