【修改】监控管理时间
This commit is contained in:
@@ -3,6 +3,7 @@ package pc.exam.pp.module.exam.service.monitor;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.alibaba.excel.util.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
@@ -310,10 +311,15 @@ public class MonitorServiceImpl implements MonitorService {
|
||||
monitorDO.setExamStatus(status);
|
||||
monitorMapper.updateById(monitorDO);
|
||||
MonitorDO info = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(key),MonitorDO.class);
|
||||
|
||||
EducationPaperParam educationPaperParam = educationPaperParamMapper.selectEducationPaperParamByTaskId(taskId);
|
||||
Time examTime = educationPaperParam.getExamTime();
|
||||
|
||||
if (info==null){
|
||||
MonitorDO monitorDO1=new MonitorDO();
|
||||
MonitorDO monitorDO1 = monitorMapper.selectOne(
|
||||
new QueryWrapper<MonitorDO>()
|
||||
.eq("stu_id", stuId)
|
||||
.eq("task_id", taskId)
|
||||
);
|
||||
PersonRepDto personRepDto = educationPaperPersonMapper.selectUserById(stuId);
|
||||
String name= educationPaperTaskMapper.selectEducationPaperTaskNameByid(taskId);
|
||||
EducationPaperTask educationPaperTask = educationPaperTaskMapper.selectEducationPaperTaskByTaskId(taskId);
|
||||
@@ -322,17 +328,25 @@ public class MonitorServiceImpl implements MonitorService {
|
||||
monitorDO1.setTaskType(educationPaperTask.getTaskType());
|
||||
monitorDO1.setExamStatus(status);
|
||||
monitorDO1.setPaperNum("");
|
||||
monitorDO1.setIp("");
|
||||
monitorDO1.setStuId(stuId);
|
||||
monitorDO1.setUsername(personRepDto.getUsername());
|
||||
monitorDO1.setNickname(personRepDto.getNickname());
|
||||
EducationPaperParam educationPaperParam = educationPaperParamMapper.selectEducationPaperParamByTaskId(taskId);
|
||||
Time examTime = educationPaperParam.getExamTime();
|
||||
|
||||
//如果开启了 时长限制 或者考场
|
||||
if ("0".equals(educationPaperParam.getIsTime())||"0".equals(educationPaperParam.getIsSession())){
|
||||
monitorDO1.setRemainingTime((long) examTime.toLocalTime().toSecondOfDay());
|
||||
}
|
||||
stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(monitorDO1));
|
||||
monitorMapper.updateById(monitorDO1);
|
||||
}else {
|
||||
//如果开启了 时长限制 或者考场
|
||||
if ("0".equals(educationPaperParam.getIsTime())||"0".equals(educationPaperParam.getIsSession())){
|
||||
info.setRemainingTime((long) examTime.toLocalTime().toSecondOfDay());
|
||||
}
|
||||
info.setScore("0");
|
||||
info.setPaperNum("");
|
||||
info.setIp("");
|
||||
info.setExamStatus(status);
|
||||
stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(info));
|
||||
}
|
||||
@@ -351,7 +365,7 @@ public class MonitorServiceImpl implements MonitorService {
|
||||
String taskId = monitorDO.getTaskId();
|
||||
String stuId = monitorDO.getStuId();
|
||||
String key = "userCache:" + taskId+":" +stuId;
|
||||
|
||||
monitorDO.setRemainingTime(0L);
|
||||
if ("0".equals(monitorDO.getTaskType())){
|
||||
monitorDO.setExamStatus("0");
|
||||
stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(monitorDO));
|
||||
|
Reference in New Issue
Block a user