From ee86e280395eac2863cb7d9e7eb812bf192988f2 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 26 六月 2024 18:05:37 +0800 Subject: [PATCH] feat:考试监控 --- src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 41 insertions(+), 9 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 f677a78..104c02f 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -3,29 +3,34 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.jxkg.base.Result; import com.ycl.jxkg.context.WebContext; -import com.ycl.jxkg.domain.entity.*; +import com.ycl.jxkg.domain.entity.Exam; +import com.ycl.jxkg.domain.entity.ExamPaper; +import com.ycl.jxkg.domain.entity.ExamSubmitTemp; +import com.ycl.jxkg.domain.entity.Question; import com.ycl.jxkg.domain.exam.PaperFixQuestionDTO; import com.ycl.jxkg.domain.exam.PaperQuestionSettingDTO; +import com.ycl.jxkg.domain.form.AddTimeForm; +import com.ycl.jxkg.domain.form.ExamForm; +import com.ycl.jxkg.domain.form.ForceSubmitForm; +import com.ycl.jxkg.domain.query.ExamQuery; import com.ycl.jxkg.domain.question.QuestionObject; import com.ycl.jxkg.domain.vo.*; -import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO; import com.ycl.jxkg.enums.ExamPaperTypeEnum; -import com.ycl.jxkg.enums.QuestionTypeEnum; +import com.ycl.jxkg.enums.WebsocketCommendEnum; import com.ycl.jxkg.enums.general.ExamStatusEnum; import com.ycl.jxkg.enums.general.ExamSubmitTempStatusEnum; import com.ycl.jxkg.mapper.*; +import com.ycl.jxkg.server.WebsocketServer; import com.ycl.jxkg.service.ExamPaperService; import com.ycl.jxkg.service.ExamService; -import com.ycl.jxkg.base.Result; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.jxkg.domain.form.ExamForm; -import com.ycl.jxkg.domain.query.ExamQuery; -import org.springframework.stereotype.Service; -import lombok.RequiredArgsConstructor; import com.ycl.jxkg.utils.PageUtil; +import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; +import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -49,6 +54,7 @@ private final ClassesUserMapper classesUserMapper; private final ExamPaperMapper examPaperMapper; private final ExamPaperService examPaperService; + private final WebsocketServer websocketServer; /** * 娣诲姞 @@ -426,4 +432,30 @@ } return Result.ok(vo); } + + @Override + public Result monitorList(ExamQuery query) { + IPage<ExamSubmitTempVO> page = PageUtil.getPage(query, ExamSubmitTempVO.class); + return Result.ok((examSubmitTempMapper.monitorList(page, query))); + } + + @Override + public Result addTime(AddTimeForm form) { + WebsocketDataVO websocket = new WebsocketDataVO(); + websocket.setCommend(WebsocketCommendEnum.DELAYED.getCommend()); + websocket.setData(form); + // 鍙戦�亀ebsocket娑堟伅 + websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form)); + return Result.ok("鎿嶄綔鎴愬姛"); + } + + @Override + public Result forceSubmit(ForceSubmitForm form) { + WebsocketDataVO websocket = new WebsocketDataVO(); + websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommend()); + websocket.setData(form); + // 鍙戦�亀ebsocket娑堟伅 + websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form)); + return Result.ok("鎿嶄綔鎴愬姛"); + } } -- Gitblit v1.8.0