From 926f55cd895aa62d079ef18fee964d81bfae005e Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期三, 16 十月 2024 16:31:09 +0800 Subject: [PATCH] bug --- src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java index b7b26f0..4997be2 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -3,9 +3,11 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.base.SystemCode; @@ -30,6 +32,7 @@ import com.ycl.jxkg.enums.ExamPaperTypeEnum; import com.ycl.jxkg.enums.QuestionTypeEnum; import com.ycl.jxkg.enums.WebsocketCommendEnum; +import com.ycl.jxkg.enums.general.ClassesStatusEnum; import com.ycl.jxkg.enums.general.ExamStatusEnum; import com.ycl.jxkg.enums.general.ExamSubmitTempStatusEnum; import com.ycl.jxkg.mapper.*; @@ -250,7 +253,7 @@ .eq(ExamSubmitTemp::getUserId, webContext.getCurrentUser().getId()) .one(); if (Objects.nonNull(hasJoin)) { - //TODO锛氬紑鍙戠幆澧冨厛鍏抽棴 + // 鍏佽鎻愪氦鍚庣户缁綔绛� // if(ExamSubmitTempStatusEnum.finish.equals(hasJoin.getStatus())){ // throw new RuntimeException("鎮ㄥ凡鎻愪氦璇曞嵎锛岃鍕块噸澶嶄綔绛�"); // } @@ -915,7 +918,9 @@ @Override public Result monitorList(ExamQuery query) { IPage<ExamSubmitTempVO> page = PageUtil.getPage(query, ExamSubmitTempVO.class); - return Result.ok((examSubmitTempMapper.monitorList(page, query))); + IPage<ExamSubmitTempVO> vo = examSubmitTempMapper.monitorList(page, query); + + return Result.ok(vo); } @Override @@ -929,7 +934,7 @@ form.setAddTimeM(sed); websocket.setData(form); // 鍙戦�亀ebsocket娑堟伅 - websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form)); + websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket)); return Result.ok("鎿嶄綔鎴愬姛"); } @@ -942,7 +947,49 @@ websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommand()); websocket.setData(form); // 鍙戦�亀ebsocket娑堟伅 - websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form)); + websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket)); return Result.ok("鎿嶄綔鎴愬姛"); } + + /** + * 浣滃簾 + * + * @param examId + * @return {@link Result } + * @author + */ + @Override + public Result cancel(Integer id) { + new LambdaUpdateChainWrapper<>(examMapper) + .eq(Exam::getId, id) + .set(Exam::getStatus, ExamStatusEnum.CANCEL) + .update(); + return Result.ok("浣滃簾鎴愬姛"); + } + + @Override + public Result recover(Integer id) { + // 鍏堟煡璇㈠綋鍓嶈�冭瘯璁板綍鐨勮缁嗕俊鎭� + Exam examInfo = new LambdaQueryChainWrapper<>(examMapper) + .eq(Exam::getId, id) + .one(); + // 纭畾鎭㈠鍚庡綋鍓嶈�冭瘯璁板綍鐨勭姸鎬� + Date currentTime = new Date(); + Date startTime = examInfo.getStartTime(); + Date endTime = examInfo.getEndTime(); + if (currentTime.before(startTime)) { + examInfo.setStatus(ExamStatusEnum.NOT_START); + } else if (currentTime.after(startTime) && currentTime.before(endTime)) { + examInfo.setStatus(ExamStatusEnum.ING); + } else { + examInfo.setStatus(ExamStatusEnum.FINISHED); + } + // 淇敼褰撳墠鐨勮�冭瘯鐘舵�� + new LambdaUpdateChainWrapper<>(examMapper) + .eq(Exam::getId, id) + .set(Exam::getStatus, examInfo.getStatus()) + .update(); + // 杩樺師鐝骇鐨勮�冭瘯淇℃伅 + return Result.ok("鑰冭瘯璁板綍宸茬粡鎭㈠姝e父"); + } } -- Gitblit v1.8.0