From 24aed3ad1b13355cc587378c0fa28a77f1e776e6 Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期四, 17 十月 2024 15:16:59 +0800 Subject: [PATCH] 解决考试时间创建和修改会向后推8小时的问题 --- src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 19 ++++++++++--------- 1 files changed, 10 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 4997be2..becc1df 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -91,6 +91,8 @@ @Override public Result add(ExamForm form) { Exam entity = ExamForm.getEntityByForm(form, null); + form.getStartTime().setTime(form.getStartTime().getTime() - 8 * 60 * 60 * 1000); + form.getEndTime().setTime(form.getEndTime().getTime() - 8 * 60 * 60 * 1000); entity.setStatus(ExamStatusEnum.getStatusByTime(form.getStartTime(), form.getEndTime(), null)); entity.setTeacherId(webContext.getCurrentUser().getId()); // 璁剧疆涔愯閿佺増鏈� @@ -116,8 +118,11 @@ if (!ExamStatusEnum.NOT_START.equals(entity.getStatus())) { throw new RuntimeException("鍙兘淇敼杩樻湭寮�濮嬬殑鑰冭瘯"); } + // 灏嗗紑濮嬭�冭瘯鏃堕棿鎯冲墠鎺�8灏忔椂 + form.getStartTime().setTime(form.getStartTime().getTime() - 8 * 60 * 60 * 1000); + form.getEndTime().setTime(form.getEndTime().getTime() - 8 * 60 * 60 * 1000); BeanUtils.copyProperties(form, entity); - entity.setStatus(ExamStatusEnum.getStatusByTime(form.getStartTime(), form.getEndTime(), null)); + entity.setStatus(ExamStatusEnum.getStatusByTime(form.getStartTime(), form.getEndTime(), new Date())); // 濡傛灉淇敼鎴愬姛鍙戦�乵q娑堟伅 if (baseMapper.updateById(entity) > 0) { this.sendMQ(entity, entity.getUpdateVersion()); @@ -214,6 +219,7 @@ item.setExamPaperId(null); } }); + // return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -954,7 +960,7 @@ /** * 浣滃簾 * - * @param examId + * @param id * @return {@link Result } * @author */ @@ -977,13 +983,8 @@ 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); - } + ExamStatusEnum statusByTime = ExamStatusEnum.getStatusByTime(startTime, endTime, currentTime); + examInfo.setStatus(statusByTime); // 淇敼褰撳墠鐨勮�冭瘯鐘舵�� new LambdaUpdateChainWrapper<>(examMapper) .eq(Exam::getId, id) -- Gitblit v1.8.0