|
@@ -2,11 +2,10 @@ package com.qmth.themis.admin.api;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.qmth.themis.business.annotation.ApiJsonObject;
|
|
|
-import com.qmth.themis.business.annotation.ApiJsonProperty;
|
|
|
import com.qmth.themis.business.bean.admin.InvigilateListWarningBean;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.AuthDto;
|
|
|
+import com.qmth.themis.business.dto.params.WarnInfoParams;
|
|
|
import com.qmth.themis.business.dto.response.TIeWarningNotifyDto;
|
|
|
import com.qmth.themis.business.entity.TBUser;
|
|
|
import com.qmth.themis.business.entity.TIeInvigilateWarnInfo;
|
|
@@ -14,20 +13,24 @@ import com.qmth.themis.business.enums.RoleEnum;
|
|
|
import com.qmth.themis.business.service.CacheService;
|
|
|
import com.qmth.themis.business.service.TIeInvigilateWarnInfoService;
|
|
|
import com.qmth.themis.business.service.TOeExamRecordService;
|
|
|
-import com.qmth.themis.business.util.RedisUtil;
|
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
|
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.collections.CollectionUtils;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.validation.BindingResult;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.constraints.Max;
|
|
|
import javax.validation.constraints.Min;
|
|
|
-import java.util.*;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description: 监考预警信息 前端控制器
|
|
@@ -113,32 +116,26 @@ public class TIeInvigilateWarnInfoController {
|
|
|
@RequestMapping(value = "/save/status", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
|
@Transactional
|
|
|
- public Result saveWarnStatus(@ApiJsonObject(name = "saveWarnStatus", value = {
|
|
|
- @ApiJsonProperty(key = "warningIds", description = "预警id数组", required = true),
|
|
|
- @ApiJsonProperty(key = "approveStatus", type = "long", example = "1", description = "审阅状态,0:未阅,1:已阅", required = true)
|
|
|
- }) @ApiParam(value = "监考员信息", required = true) @RequestBody Map<String, Object> mapParameter) {
|
|
|
- if (Objects.isNull(mapParameter.get("warningIds")) || Objects.equals(mapParameter.get("warningIds"), "")) {
|
|
|
- throw new BusinessException("预警id不能为空");
|
|
|
+ public Result saveWarnStatus(@Validated @RequestBody WarnInfoParams warnInfoParams, BindingResult bindingResult) {
|
|
|
+ if (bindingResult.hasErrors()) {
|
|
|
+ return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
|
|
|
}
|
|
|
//2020/11/24新增管理员不清除预警状态
|
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
|
AuthDto authDto = cacheService.addAccountAuthCache(tbUser.getId());
|
|
|
if (!authDto.getRoleCodes().toString().contains(RoleEnum.ADMIN.name())) {
|
|
|
- List<String> warningIds = (List<String>) mapParameter.get("warningIds");
|
|
|
- if (warningIds.size() > 0) {
|
|
|
- if (Objects.isNull(mapParameter.get("approveStatus")) || Objects.equals(mapParameter.get("approveStatus"), "")) {
|
|
|
- throw new BusinessException("审阅状态不能为空");
|
|
|
- }
|
|
|
- List<Long> warningTranIds = new ArrayList<>();
|
|
|
- warningIds.forEach(s -> {
|
|
|
- warningTranIds.add(Long.parseLong(s));
|
|
|
- });
|
|
|
- Integer approveStatus = Integer.parseInt(String.valueOf(mapParameter.get("approveStatus")));
|
|
|
- UpdateWrapper<TIeInvigilateWarnInfo> tIeInvigilateWarnInfoUpdateWrapper = new UpdateWrapper<>();
|
|
|
- tIeInvigilateWarnInfoUpdateWrapper.lambda().set(TIeInvigilateWarnInfo::getApproveStatus, approveStatus)
|
|
|
- .in(TIeInvigilateWarnInfo::getId, warningTranIds);
|
|
|
- tIeInvigilateWarnInfoService.update(tIeInvigilateWarnInfoUpdateWrapper);
|
|
|
+ if (CollectionUtils.isEmpty(warnInfoParams.getWarningIds()) && Objects.isNull(warnInfoParams.getExamRecordId())) {
|
|
|
+ throw new BusinessException("预警id数组或考试记录id不能同时为空");
|
|
|
}
|
|
|
+ UpdateWrapper<TIeInvigilateWarnInfo> tIeInvigilateWarnInfoUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ tIeInvigilateWarnInfoUpdateWrapper.lambda().set(TIeInvigilateWarnInfo::getApproveStatus, warnInfoParams.getApproveStatus());
|
|
|
+ if (!CollectionUtils.isEmpty(warnInfoParams.getWarningIds())) {
|
|
|
+ List<Long> warningTranIds = warnInfoParams.getWarningIds().stream().map(x -> Long.parseLong(x)).collect(Collectors.toList());
|
|
|
+ tIeInvigilateWarnInfoUpdateWrapper.lambda().in(TIeInvigilateWarnInfo::getId, warningTranIds);
|
|
|
+ } else if (Objects.nonNull(warnInfoParams.getExamRecordId())) {
|
|
|
+ tIeInvigilateWarnInfoUpdateWrapper.lambda().eq(TIeInvigilateWarnInfo::getExamRecordId, warnInfoParams.getExamRecordId());
|
|
|
+ }
|
|
|
+ tIeInvigilateWarnInfoService.update(tIeInvigilateWarnInfoUpdateWrapper);
|
|
|
}
|
|
|
return ResultUtil.ok(true);
|
|
|
}
|