Jelajahi Sumber

完成教师端创建时段考试的任务定时与回调业务

zhaosongshan 7 bulan lalu
induk
melakukan
27e26aca68

+ 13 - 2
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/job/enums/DevJobCategoryEnum.java

@@ -32,7 +32,18 @@ public enum DevJobCategoryEnum {
     /**
      * 业务
      */
-    BIZ("BIZ");
+    BIZ("BIZ"),
+
+    /**
+     * 考试任务-开始
+     */
+    EXAM_START("exam-start"),
+
+    /**
+     * 考试任务-结束
+     */
+    EXAM_END("exam-end");
+
 
     private final String value;
 
@@ -41,7 +52,7 @@ public enum DevJobCategoryEnum {
     }
 
     public static void validate(String value) {
-        boolean flag = FRM.getValue().equals(value) || BIZ.getValue().equals(value);
+        boolean flag = FRM.getValue().equals(value) || BIZ.getValue().equals(value) || EXAM_START.getValue().equals(value) || EXAM_END.getValue().equals(value);
         if(!flag) {
             throw new CommonException("不支持的定时任务分类:{}", value);
         }

+ 1 - 1
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/domain/TExam.java

@@ -31,7 +31,7 @@ import java.util.Date;
 public class TExam {
 
     /** 主键 */
-    @TableId
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "主键", position = 1)
     private Integer id;
 

+ 6 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/domain/exam/TExamAddParam.java

@@ -12,6 +12,8 @@
  */
 package vip.xiaonuo.exam.domain.exam;
 
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -49,10 +51,14 @@ public class TExamAddParam {
 
     /** 开始时间 */
     @ApiModelProperty(value = "开始时间", position = 9)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startTime;
 
     /** 结束时间 */
     @ApiModelProperty(value = "结束时间", position = 10)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
     /** 试卷ID */

+ 6 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/domain/exam/TExamEditParam.java

@@ -12,6 +12,8 @@
  */
 package vip.xiaonuo.exam.domain.exam;
 
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -54,10 +56,14 @@ public class TExamEditParam {
 
     /** 开始时间 */
     @ApiModelProperty(value = "开始时间", position = 9)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startTime;
 
     /** 结束时间 */
     @ApiModelProperty(value = "结束时间", position = 10)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
     /** 试卷ID */

+ 13 - 15
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/domain/exam/TExamPageParam.java

@@ -12,6 +12,8 @@
  */
 package vip.xiaonuo.exam.domain.exam;
 
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -56,21 +58,17 @@ public class TExamPageParam {
     @ApiModelProperty(value = "考试状态 0 未开始 1已开始 2已结束")
     private Integer examStatus;
 
-    /** 开始时间开始 */
-    @ApiModelProperty(value = "开始时间开始")
-    private String startStartTime;
-
-    /** 开始时间结束 */
-    @ApiModelProperty(value = "开始时间结束")
-    private String endStartTime;
-
-    /** 结束时间开始 */
-    @ApiModelProperty(value = "结束时间开始")
-    private String startEndTime;
-
-    /** 结束时间结束 */
-    @ApiModelProperty(value = "结束时间结束")
-    private String endEndTime;
+    /** 开始时间 */
+    @ApiModelProperty(value = "开始时间", position = 9)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /** 结束时间 */
+    @ApiModelProperty(value = "结束时间", position = 10)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
 
     /** 试卷ID */
     @ApiModelProperty(value = "试卷ID")

+ 4 - 6
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/TExamServiceImpl.java

@@ -78,11 +78,8 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
         if(ObjectUtil.isNotEmpty(tExamPageParam.getExamStatus())) {
             queryWrapper.lambda().eq(TExam::getExamStatus, tExamPageParam.getExamStatus());
         }
-        if(ObjectUtil.isNotEmpty(tExamPageParam.getStartStartTime()) && ObjectUtil.isNotEmpty(tExamPageParam.getEndStartTime())) {
-            queryWrapper.lambda().between(TExam::getStartTime, tExamPageParam.getStartStartTime(), tExamPageParam.getEndStartTime());
-        }
-        if(ObjectUtil.isNotEmpty(tExamPageParam.getStartEndTime()) && ObjectUtil.isNotEmpty(tExamPageParam.getEndEndTime())) {
-            queryWrapper.lambda().between(TExam::getEndTime, tExamPageParam.getStartEndTime(), tExamPageParam.getEndEndTime());
+        if(ObjectUtil.isNotEmpty(tExamPageParam.getStartTime()) && ObjectUtil.isNotEmpty(tExamPageParam.getEndTime())) {
+            queryWrapper.lambda().between(TExam::getStartTime, tExamPageParam.getStartTime(), tExamPageParam.getEndTime());
         }
         if(ObjectUtil.isNotEmpty(tExamPageParam.getPaperId())) {
             queryWrapper.lambda().eq(TExam::getPaperId, tExamPageParam.getPaperId());
@@ -109,6 +106,7 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
             tExamAddParam.setEndTime(examPaper.getLimitEndTime());
         }
         TExam tExam = BeanUtil.toBean(tExamAddParam, TExam.class);
+        tExam.setStudentIds("1935565895337304066");
         this.save(tExam);
         if(tExamAddParam.getChapterId() != null && !tExamAddParam.getChapterId().isEmpty()){
             CourseChapterPaper cp = new CourseChapterPaper();
@@ -231,7 +229,7 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
             if("end".equals(startOnEnd)){
                 tExam.setEndJobId(addJobResult.getJSONObject("data").getString("id"));
             }
-            this.save(tExam);
+            this.updateById(tExam);
             return tExam;
         }else{
             String msg = "";