|
@@ -1,11 +1,11 @@
|
|
package com.qmth.themis.backend.api;
|
|
package com.qmth.themis.backend.api;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
|
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.qmth.themis.business.annotation.ApiJsonObject;
|
|
import com.qmth.themis.business.annotation.ApiJsonObject;
|
|
import com.qmth.themis.business.annotation.ApiJsonProperty;
|
|
import com.qmth.themis.business.annotation.ApiJsonProperty;
|
|
import com.qmth.themis.business.base.BasePage;
|
|
import com.qmth.themis.business.base.BasePage;
|
|
|
|
+import com.qmth.themis.business.bean.backend.ReexamListNotDongBean;
|
|
import com.qmth.themis.business.bean.backend.ReexamListRequestBean;
|
|
import com.qmth.themis.business.bean.backend.ReexamListRequestBean;
|
|
import com.qmth.themis.business.cache.RedisKeyHelper;
|
|
import com.qmth.themis.business.cache.RedisKeyHelper;
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
@@ -13,14 +13,11 @@ import com.qmth.themis.business.constant.SystemConstant;
|
|
import com.qmth.themis.business.dto.AuthDto;
|
|
import com.qmth.themis.business.dto.AuthDto;
|
|
import com.qmth.themis.business.entity.TBUser;
|
|
import com.qmth.themis.business.entity.TBUser;
|
|
import com.qmth.themis.business.entity.TEExamReexam;
|
|
import com.qmth.themis.business.entity.TEExamReexam;
|
|
|
|
+import com.qmth.themis.business.entity.TEExamReexamAuditing;
|
|
import com.qmth.themis.business.entity.TOeExamRecord;
|
|
import com.qmth.themis.business.entity.TOeExamRecord;
|
|
import com.qmth.themis.business.enums.ReexamReasonEnum;
|
|
import com.qmth.themis.business.enums.ReexamReasonEnum;
|
|
import com.qmth.themis.business.enums.RoleEnum;
|
|
import com.qmth.themis.business.enums.RoleEnum;
|
|
-import com.qmth.themis.business.service.TBUserRoleService;
|
|
|
|
-import com.qmth.themis.business.service.TEExamReexamService;
|
|
|
|
-import com.qmth.themis.business.service.TEExamService;
|
|
|
|
-import com.qmth.themis.business.service.TOeExamRecordService;
|
|
|
|
-import com.qmth.themis.business.util.JacksonUtil;
|
|
|
|
|
|
+import com.qmth.themis.business.service.*;
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
@@ -61,6 +58,9 @@ public class TEExamReexamController {
|
|
@Resource
|
|
@Resource
|
|
TBUserRoleService tbUserRoleService;
|
|
TBUserRoleService tbUserRoleService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ TEExamReexamAuditingService teExamReexamAuditingService;
|
|
|
|
+
|
|
@ApiOperation(value = "重考申请接口")
|
|
@ApiOperation(value = "重考申请接口")
|
|
@RequestMapping(value = "/apply", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/apply", method = RequestMethod.POST)
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
@@ -84,9 +84,9 @@ public class TEExamReexamController {
|
|
}
|
|
}
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
ReexamReasonEnum reason = ReexamReasonEnum.valueOf(String.valueOf(mapParameter.get("reason")));
|
|
ReexamReasonEnum reason = ReexamReasonEnum.valueOf(String.valueOf(mapParameter.get("reason")));
|
|
- List<TEExamReexam> teExamReexamList = new ArrayList<>();
|
|
|
|
Long examId = null, examStudentId = null, examActivityId = null;
|
|
Long examId = null, examStudentId = null, examActivityId = null;
|
|
Integer reexamAuditing = null, status;
|
|
Integer reexamAuditing = null, status;
|
|
|
|
+ List<TEExamReexamAuditing> teExamReexamAuditingList = new ArrayList<>();
|
|
for (Long s : recordIdList) {
|
|
for (Long s : recordIdList) {
|
|
//获取考试记录缓存
|
|
//获取考试记录缓存
|
|
Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(s));
|
|
Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(s));
|
|
@@ -111,24 +111,21 @@ public class TEExamReexamController {
|
|
status = Objects.isNull(reexamAuditing) || reexamAuditing.intValue() == 0 ? 0 : 1;
|
|
status = Objects.isNull(reexamAuditing) || reexamAuditing.intValue() == 0 ? 0 : 1;
|
|
TEExamReexam teExamReexam = new TEExamReexam(examId, examActivityId, s, examStudentId, model, reason, status, Objects.isNull(mapParameter.get("remark")) ? null : String.valueOf(mapParameter.get("remark")));
|
|
TEExamReexam teExamReexam = new TEExamReexam(examId, examActivityId, s, examStudentId, model, reason, status, Objects.isNull(mapParameter.get("remark")) ? null : String.valueOf(mapParameter.get("remark")));
|
|
teExamReexam.setCreateId(tbUser.getId());
|
|
teExamReexam.setCreateId(tbUser.getId());
|
|
|
|
+ teExamReexamService.save(teExamReexam);
|
|
if (Objects.nonNull(status) && status.intValue() == 1) {
|
|
if (Objects.nonNull(status) && status.intValue() == 1) {
|
|
//这里查询该机构下所有为管理员角色的账号
|
|
//这里查询该机构下所有为管理员角色的账号
|
|
List<TBUser> tbUserList = tbUserRoleService.userQueryByRole(tbUser.getOrgId(), RoleEnum.ADMIN.name());
|
|
List<TBUser> tbUserList = tbUserRoleService.userQueryByRole(tbUser.getOrgId(), RoleEnum.ADMIN.name());
|
|
- JSONObject jsonObject = null;
|
|
|
|
if (Objects.nonNull(tbUserList) && tbUserList.size() > 0) {
|
|
if (Objects.nonNull(tbUserList) && tbUserList.size() > 0) {
|
|
- jsonObject = new JSONObject();
|
|
|
|
- for (int i = 0; i < tbUserList.size(); i++) {
|
|
|
|
- TBUser t = tbUserList.get(i);
|
|
|
|
- jsonObject.put(String.valueOf(t.getId()), t.getId());
|
|
|
|
|
|
+ for (TBUser t : tbUserList) {
|
|
|
|
+ TEExamReexamAuditing teExamReexamAuditing = new TEExamReexamAuditing(teExamReexam.getId(), t.getId());
|
|
|
|
+ teExamReexamAuditingList.add(teExamReexamAuditing);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (Objects.nonNull(jsonObject)) {
|
|
|
|
- teExamReexam.setAuditingId(JacksonUtil.parseJson(jsonObject));
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
- teExamReexamList.add(teExamReexam);
|
|
|
|
}
|
|
}
|
|
- teExamReexamService.saveBatch(teExamReexamList);
|
|
|
|
|
|
+ if (Objects.nonNull(teExamReexamAuditingList) && teExamReexamAuditingList.size() > 0) {
|
|
|
|
+ teExamReexamAuditingService.saveBatch(teExamReexamAuditingList);
|
|
|
|
+ }
|
|
return ResultUtil.ok(SystemConstant.SUCCESS);
|
|
return ResultUtil.ok(SystemConstant.SUCCESS);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -156,9 +153,13 @@ public class TEExamReexamController {
|
|
for (Long reexamId : reexamIdList) {
|
|
for (Long reexamId : reexamIdList) {
|
|
if (redisUtil.lock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + reexamId, SystemConstant.REDIS_LOCK_REEXAM_TIME_OUT)) {
|
|
if (redisUtil.lock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + reexamId, SystemConstant.REDIS_LOCK_REEXAM_TIME_OUT)) {
|
|
TEExamReexam teExamReexam = teExamReexamService.getById(reexamId);
|
|
TEExamReexam teExamReexam = teExamReexamService.getById(reexamId);
|
|
|
|
+ if (Objects.isNull(teExamReexam)) {
|
|
|
|
+ throw new BusinessException("重考id[" + reexamId + "]记录不存在");
|
|
|
|
+ }
|
|
if (Objects.nonNull(teExamReexam.getStatus()) && teExamReexam.getStatus().intValue() == 2) {
|
|
if (Objects.nonNull(teExamReexam.getStatus()) && teExamReexam.getStatus().intValue() == 2) {
|
|
throw new BusinessException("重考id[" + reexamId + "]已经审核");
|
|
throw new BusinessException("重考id[" + reexamId + "]已经审核");
|
|
} else {
|
|
} else {
|
|
|
|
+ teExamReexam.setAuditingId(tbUser.getId());
|
|
teExamReexam.setAuditingStatus(auditingStatus);
|
|
teExamReexam.setAuditingStatus(auditingStatus);
|
|
teExamReexam.setAuditingTime(new Date());
|
|
teExamReexam.setAuditingTime(new Date());
|
|
teExamReexam.setAuditingSuggest(Objects.isNull(mapParameter.get("auditingSuggest")) ? null : String.valueOf(mapParameter.get("auditingSuggest")));
|
|
teExamReexam.setAuditingSuggest(Objects.isNull(mapParameter.get("auditingSuggest")) ? null : String.valueOf(mapParameter.get("auditingSuggest")));
|
|
@@ -244,11 +245,9 @@ public class TEExamReexamController {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
}
|
|
}
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
- IPage<ReexamListRequestBean> reexamListRequestBeanIPage = teExamReexamService.reexamPageRequestList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, tbUser.getId());
|
|
|
|
- BasePage basePage = new BasePage(reexamListRequestBeanIPage.getRecords(), reexamListRequestBeanIPage.getCurrent(), reexamListRequestBeanIPage.getSize(), reexamListRequestBeanIPage.getTotal());
|
|
|
|
- Map map = new HashMap<>();
|
|
|
|
- map.put(SystemConstant.RECORDS, basePage);
|
|
|
|
- return ResultUtil.ok(map);
|
|
|
|
|
|
+ IPage<ReexamListNotDongBean> reexamListNotDongBeanIPage = teExamReexamService.reexamPageNotDoneList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, reason, reasonStartTime, reasonEndTime, applyName, tbUser.getId());
|
|
|
|
+ BasePage basePage = new BasePage(reexamListNotDongBeanIPage.getRecords(), reexamListNotDongBeanIPage.getCurrent(), reexamListNotDongBeanIPage.getSize(), reexamListNotDongBeanIPage.getTotal());
|
|
|
|
+ return ResultUtil.ok(Collections.singletonMap(SystemConstant.RECORDS, basePage));
|
|
}
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "重考已审列表接口")
|
|
@ApiOperation(value = "重考已审列表接口")
|
|
@@ -274,8 +273,6 @@ public class TEExamReexamController {
|
|
}
|
|
}
|
|
IPage<ReexamListRequestBean> reexamListRequestBeanIPage = teExamReexamService.reexamPageRequestList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, userId);
|
|
IPage<ReexamListRequestBean> reexamListRequestBeanIPage = teExamReexamService.reexamPageRequestList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, userId);
|
|
BasePage basePage = new BasePage(reexamListRequestBeanIPage.getRecords(), reexamListRequestBeanIPage.getCurrent(), reexamListRequestBeanIPage.getSize(), reexamListRequestBeanIPage.getTotal());
|
|
BasePage basePage = new BasePage(reexamListRequestBeanIPage.getRecords(), reexamListRequestBeanIPage.getCurrent(), reexamListRequestBeanIPage.getSize(), reexamListRequestBeanIPage.getTotal());
|
|
- Map map = new HashMap<>();
|
|
|
|
- map.put(SystemConstant.RECORDS, basePage);
|
|
|
|
- return ResultUtil.ok(map);
|
|
|
|
|
|
+ return ResultUtil.ok(Collections.singletonMap(SystemConstant.RECORDS, basePage));
|
|
}
|
|
}
|
|
}
|
|
}
|