From 97c5552f705e03a3a6e5864e3be6b1078844a4d3 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 09 五月 2024 18:09:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java | 16 ++
src/main/resources/mapper/ExamMissMapper.xml | 16 +++
src/main/java/com/mindskip/xzs/domain/User.java | 6 +
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 10 +
src/main/java/com/mindskip/xzs/service/ExamMissService.java | 13 ++
src/main/java/com/mindskip/xzs/controller/admin/ExamMissController.java | 20 ++++
src/main/java/com/mindskip/xzs/domain/ExamMiss.java | 25 +++++
src/main/java/com/mindskip/xzs/domain/vo/ExamMissVO.java | 24 ++++
src/main/java/com/mindskip/xzs/queue/ExamPaperTimeTask.java | 31 ++++++
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 43 +++++++-
src/main/java/com/mindskip/xzs/service/ExamPaperService.java | 4
src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java | 4
src/main/resources/mapper/ExamPaperMapper.xml | 15 +++
src/main/java/com/mindskip/xzs/repository/ExamMissMapper.java | 20 ++++
src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperSubmitVM.java | 13 ++
src/main/java/com/mindskip/xzs/service/impl/ExamMissServiceImpl.java | 21 ++++
16 files changed, 267 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamMissController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamMissController.java
new file mode 100644
index 0000000..a2ed3a5
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamMissController.java
@@ -0,0 +1,20 @@
+package com.mindskip.xzs.controller.admin;
+
+import com.mindskip.xzs.service.ExamMissService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author gonghl
+ * @since 2024/5/9 涓嬪崍 5:58
+ */
+
+@RestController
+@RequiredArgsConstructor
+public class ExamMissController {
+
+ private final ExamMissService examMissService;
+
+
+
+}
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
index 3a9c4f1..6881c2c 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -1,11 +1,11 @@
package com.mindskip.xzs.controller.admin;
+import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.ExamPaperSubject;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
-import com.mindskip.xzs.domain.vo.UserCountExcelVO;
import com.mindskip.xzs.service.ExamPaperDepartmentService;
import com.mindskip.xzs.service.ExamPaperService;
import com.mindskip.xzs.service.ExamPaperSubjectService;
@@ -13,11 +13,10 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.utility.excel.ExcelUtils;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
-import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM;
-import com.github.pagehelper.PageInfo;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -87,6 +86,11 @@
model.setUserIds(userIds);
ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser());
ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
+
+ // 鍔犲叆寤舵椂闃熷垪锛屽畾鏃惰瘯鍗风粨鏉熸椂璁板綍缂鸿�冨鐢�
+ if (examPaper.getPaperType() == 4) {
+ examPaperService.addTimeTask(examPaper);
+ }
return RestResponse.ok(newVM);
}
diff --git a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
index 3fb94ec..155183d 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
@@ -1,5 +1,6 @@
package com.mindskip.xzs.controller.student;
+import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.*;
@@ -10,14 +11,11 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.ExamUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
-import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
-import com.mindskip.xzs.viewmodel.student.exam.ExamPaperReadVM;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperReadVO;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
-import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.*;
@@ -36,15 +34,17 @@
private final ApplicationEventPublisher eventPublisher;
private final ExamPaperSubjectService examPaperSubjectService;
private final ExamTemplatesUserCountService examTemplatesUserCountService;
+ private final ExamMissService examMissService;
@Autowired
- public ExamPaperAnswerController(ExamPaperAnswerService examPaperAnswerService, ExamPaperService examPaperService, SubjectService subjectService, ApplicationEventPublisher eventPublisher, ExamPaperSubjectService examPaperSubjectService, ExamTemplatesUserCountService examTemplatesUserCountService) {
+ public ExamPaperAnswerController(ExamPaperAnswerService examPaperAnswerService, ExamPaperService examPaperService, SubjectService subjectService, ApplicationEventPublisher eventPublisher, ExamPaperSubjectService examPaperSubjectService, ExamTemplatesUserCountService examTemplatesUserCountService, ExamMissService examMissService) {
this.examPaperAnswerService = examPaperAnswerService;
this.examPaperService = examPaperService;
this.subjectService = subjectService;
this.eventPublisher = eventPublisher;
this.examPaperSubjectService = examPaperSubjectService;
this.examTemplatesUserCountService = examTemplatesUserCountService;
+ this.examMissService = examMissService;
}
@@ -99,6 +99,14 @@
examTemplatesUserCount.setExamTemplatesId(examPaperSubmitVM.getTemplatesId());
examTemplatesUserCountService.add(examTemplatesUserCount);
}
+
+ // 鑷姩鎻愪氦瀹氫箟涓虹己鑰�
+ if (examPaperSubmitVM.isAutoCommit()) {
+ ExamMiss examMiss = new ExamMiss();
+ examMiss.setExamId(examPaperSubmitVM.getId());
+ examMiss.setUserId(user.getId());
+ examMissService.save(examMiss);
+ }
return RestResponse.ok(scoreVm);
}
diff --git a/src/main/java/com/mindskip/xzs/domain/ExamMiss.java b/src/main/java/com/mindskip/xzs/domain/ExamMiss.java
new file mode 100644
index 0000000..e972e42
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/ExamMiss.java
@@ -0,0 +1,25 @@
+package com.mindskip.xzs.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author gonghl
+ */
+@TableName(value = "t_exam_miss")
+@Data
+public class ExamMiss implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ private Integer examId;
+
+ private Integer userId;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/mindskip/xzs/domain/User.java b/src/main/java/com/mindskip/xzs/domain/User.java
index 70f075f..6f3c34d 100644
--- a/src/main/java/com/mindskip/xzs/domain/User.java
+++ b/src/main/java/com/mindskip/xzs/domain/User.java
@@ -80,7 +80,13 @@
*/
private String deptAdmin;
+ /**
+ * 鐘跺喌
+ */
private UserConditionEnum condition;
+ /**
+ * 鍏蜂綋鎯呭喌
+ */
private String conditionDetail;
}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/ExamMissVO.java b/src/main/java/com/mindskip/xzs/domain/vo/ExamMissVO.java
new file mode 100644
index 0000000..04eb497
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/vo/ExamMissVO.java
@@ -0,0 +1,24 @@
+package com.mindskip.xzs.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author gonghl
+ */
+@Data
+public class ExamMissVO implements Serializable {
+
+ private Integer id;
+
+ private Integer examId;
+
+ private Integer examName;
+
+ private Integer userId;
+
+ private Integer userName;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/mindskip/xzs/queue/ExamPaperTimeTask.java b/src/main/java/com/mindskip/xzs/queue/ExamPaperTimeTask.java
new file mode 100644
index 0000000..a6831b1
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/queue/ExamPaperTimeTask.java
@@ -0,0 +1,31 @@
+package com.mindskip.xzs.queue;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.concurrent.Delayed;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author gonghl
+ */
+
+@Getter
+@Setter
+public class ExamPaperTimeTask implements Delayed {
+
+ private long examPaperId;
+
+ private long expiry;
+
+ @Override
+ public long getDelay(TimeUnit unit) {
+ return unit.convert(expiry - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
+ }
+
+ @Override
+ public int compareTo(Delayed o) {
+ return Long.compare(expiry, ((ExamPaperTimeTask) o).expiry);
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamMissMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamMissMapper.java
new file mode 100644
index 0000000..43a45ce
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/repository/ExamMissMapper.java
@@ -0,0 +1,20 @@
+package com.mindskip.xzs.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mindskip.xzs.domain.ExamMiss;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author gonghl
+ * @description 閽堝琛ㄣ�恡_exam_miss(璇曞嵎缂鸿��)銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2024-05-09 15:41:36
+ * @Entity com.mindskip.xzs.examMiss.ExamMiss
+ */
+@Mapper
+public interface ExamMissMapper extends BaseMapper<ExamMiss> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
index 7997772..2e81460 100644
--- a/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
@@ -1,5 +1,6 @@
package com.mindskip.xzs.repository;
+import com.mindskip.xzs.domain.ExamMiss;
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
@@ -38,4 +39,7 @@
List<PaperExcelVO> getPaperExcelById(@Param("id") Integer id);
+ void saveMissExamUser(long examPaperId);
+
+ List<ExamPaper> selectTimeTaskPaper(Date time);
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamMissService.java b/src/main/java/com/mindskip/xzs/service/ExamMissService.java
new file mode 100644
index 0000000..9463aeb
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/ExamMissService.java
@@ -0,0 +1,13 @@
+package com.mindskip.xzs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mindskip.xzs.domain.ExamMiss;
+
+/**
+ * @author gonghl
+ * @description 閽堝琛ㄣ�恡_exam_miss(璇曞嵎缂鸿��)銆戠殑鏁版嵁搴撴搷浣淪ervice
+ * @createDate 2024-05-09 15:41:36
+ */
+public interface ExamMissService extends IService<ExamMiss> {
+
+}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
index 3fd1186..691162c 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
@@ -37,4 +37,8 @@
List<ExamPaper> gets(Integer[] ids);
List<PaperExcelVO> getPaperExcelById(Integer id);
+
+ void addTimeTask(ExamPaper examPaper);
+
+ void saveMissExamUser(long examPaperId);
}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamMissServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamMissServiceImpl.java
new file mode 100644
index 0000000..fc1a371
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamMissServiceImpl.java
@@ -0,0 +1,21 @@
+package com.mindskip.xzs.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mindskip.xzs.domain.ExamMiss;
+import com.mindskip.xzs.repository.ExamMissMapper;
+import com.mindskip.xzs.service.ExamMissService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author gonghl
+ * @description 閽堝琛ㄣ�恡_exam_miss(璇曞嵎缂鸿��)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+ * @createDate 2024-05-09 15:41:36
+ */
+@Service
+public class ExamMissServiceImpl extends ServiceImpl<ExamMissMapper, ExamMiss> implements ExamMissService {
+
+}
+
+
+
+
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
index 2f54f3a..f434bc1 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -1,41 +1,41 @@
package com.mindskip.xzs.service.impl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.configuration.spring.exception.QuestionException;
import com.mindskip.xzs.domain.*;
-import com.mindskip.xzs.domain.TextContent;
import com.mindskip.xzs.domain.enums.ExamPaperTypeEnum;
import com.mindskip.xzs.domain.enums.QuestionTypeEnum;
import com.mindskip.xzs.domain.exam.ExamPaperQuestionItemObject;
import com.mindskip.xzs.domain.exam.ExamPaperTitleItemObject;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.queue.ExamPaperTimeTask;
import com.mindskip.xzs.repository.ExamPaperMapper;
import com.mindskip.xzs.repository.QuestionMapper;
import com.mindskip.xzs.repository.UserDepartmentMapper;
import com.mindskip.xzs.service.*;
import com.mindskip.xzs.service.enums.ActionEnum;
import com.mindskip.xzs.utility.DateTimeUtil;
+import com.mindskip.xzs.utility.ExamUtil;
import com.mindskip.xzs.utility.JsonUtil;
import com.mindskip.xzs.utility.ModelMapperSingle;
-import com.mindskip.xzs.utility.ExamUtil;
+import com.mindskip.xzs.utility.minio.DateUtils;
import com.mindskip.xzs.viewmodel.admin.exam.*;
import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.mindskip.xzs.domain.ExamPaper;
-import com.mindskip.xzs.domain.Question;
-import com.mindskip.xzs.domain.User;
import org.modelmapper.ModelMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.PostConstruct;
import java.util.*;
+import java.util.concurrent.DelayQueue;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@@ -55,8 +55,24 @@
private final UserService userService;
private final UserDepartmentMapper userDepartmentMapper;
private final DepartmentService departmentService;
+ private final DelayQueue<ExamPaperTimeTask> QUEUE = new DelayQueue<>();
+ /**
+ * 灏嗚繘琛屼腑鐨勫畾鏃惰瘯鍗峰姞鍏ュ埌闃熷垪涓紝骞跺惎鍔ㄤ竴涓嚎绋嬫潵杞闃熷垪
+ */
+ @PostConstruct
+ public void pollQueue() {
+ examPaperMapper.selectTimeTaskPaper(DateUtils.getNowDate()).forEach(this::addTimeTask);
+ new Thread(() -> {
+ try {
+ ExamPaperTimeTask task = QUEUE.take();
+ saveMissExamUser(task.getExamPaperId());
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+ }).start();
+ }
@Autowired
public ExamPaperServiceImpl(ExamPaperMapper examPaperMapper, QuestionMapper questionMapper, TextContentService textContentService, QuestionService questionService, SubjectService subjectService, ExamPaperDepartmentService examPaperDepartmentService, ExamPaperSubjectService examPaperSubjectService, QuestionSubjectService questionSubjectService, ExamPaperUserService examPaperUserService, UserService userService, UserDepartmentMapper userDepartmentMapper, DepartmentService departmentService) {
@@ -599,4 +615,17 @@
return randomNumber;
}
+
+ @Override
+ public void addTimeTask(ExamPaper examPaper) {
+ ExamPaperTimeTask examPaperTimeTask = new ExamPaperTimeTask();
+ examPaperTimeTask.setExamPaperId(examPaper.getId());
+ examPaperTimeTask.setExpiry(examPaper.getLimitEndTime().getTime());
+ QUEUE.add(examPaperTimeTask);
+ }
+
+ @Override
+ public void saveMissExamUser(long examPaperId) {
+ examPaperMapper.saveMissExamUser(examPaperId);
+ }
}
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperSubmitVM.java b/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperSubmitVM.java
index 5cf6347..d2481bd 100644
--- a/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperSubmitVM.java
+++ b/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperSubmitVM.java
@@ -23,6 +23,19 @@
//妯℃澘id
private Integer templatesId;
+ /**
+ * 鏄惁鏃堕棿缁撴潫鑷姩鎻愪氦
+ */
+ private boolean isAutoCommit;
+
+ public boolean isAutoCommit() {
+ return isAutoCommit;
+ }
+
+ public void setAutoCommit(boolean autoCommit) {
+ isAutoCommit = autoCommit;
+ }
+
public Integer getId() {
return id;
}
diff --git a/src/main/resources/mapper/ExamMissMapper.xml b/src/main/resources/mapper/ExamMissMapper.xml
new file mode 100644
index 0000000..48d51b4
--- /dev/null
+++ b/src/main/resources/mapper/ExamMissMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mindskip.xzs.repository.ExamMissMapper">
+
+ <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.ExamMiss">
+ <id property="id" column="id" jdbcType="INTEGER"/>
+ <result property="examId" column="exam_id" jdbcType="INTEGER"/>
+ <result property="userId" column="user_id" jdbcType="INTEGER"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ id,exam_id,user_id
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index 9a4c638..de8bcd2 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -423,4 +423,19 @@
where a.exam_paper_id = #{id}
</select>
+ <select id="saveMissExamUser" resultType="com.mindskip.xzs.domain.ExamMiss">
+ INSERT INTO t_exam_miss(exam_id, user_id)
+ SELECT a.id,
+ b.user_id
+ FROM t_exam_paper a
+ left join t_exam_paper_user b on a.id = b.exam_paper_id
+ left join t_exam_paper_answer c on a.id = c.exam_paper_id and c.create_user = b.user_id
+ WHERE a.id = #{examPaperId}
+ and c.id is null
+ </select>
+
+ <select id="selectTimeTaskPaper" resultType="com.mindskip.xzs.domain.ExamPaper">
+ select id, limit_end_time from t_exam_paper where paper_type = 4 and limit_end_time >= #{time} and deleted = 0
+ </select>
+
</mapper>
--
Gitblit v1.8.0