diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java index 1e92d084..53f714fe 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java @@ -31,6 +31,24 @@ public class ClassManagementController { return SingleResponse.success(classManagementService.saveClass(dto)); } + @ApiOperation("完成") + @PostMapping("/complete") + public SingleResponse complete(@RequestBody ClassManagementDTO dto) { + return SingleResponse.success(classManagementService.complete(dto)); + } + + @ApiOperation("延期") + @PostMapping("/delay") + public SingleResponse delay(@RequestBody ClassManagementDTO dto) { + return SingleResponse.success(classManagementService.delay(dto)); + } + + @ApiOperation("绑定试卷") + @PostMapping("/bindPaper") + public SingleResponse bindPaper(@RequestBody ClassManagementDTO dto) { + return SingleResponse.success(classManagementService.bindPaper(dto)); + } + @ApiOperation("班级详情") @GetMapping("/get") public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/enums/ClassStatusEnum.java b/safety-cedu-service/src/main/java/org/qinan/cedu/enums/ClassStatusEnum.java new file mode 100644 index 00000000..76974ca1 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/enums/ClassStatusEnum.java @@ -0,0 +1,23 @@ +package org.qinan.cedu.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ClassStatusEnum { + NOT_APPLIED(0, "未申请"), + PENDING_START(1, "待开班"), + IN_PROGRESS(2, "培训中"), + FINISHED(3, "培训结束"); + + private final int code; + private final String desc; + + public static ClassStatusEnum fromCode(int code) { + for (ClassStatusEnum status : values()) { + if (status.code == code) return status; + } + return null; + } +} \ No newline at end of file diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java index b67d0f40..516ec14b 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java @@ -76,4 +76,22 @@ public class ClassManagementDTO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime delayTime; + + /** + * 试卷类型(如:1自动生成试卷、2平台组卷等) + */ + @ApiModelProperty("试卷类型(如:1自动生成试卷、2平台组卷等)") + private Integer paperType; + + /** + * 考试时长(分) + */ + @ApiModelProperty("考试时长(分)") + private Integer examMinutes; + + /** + * 试卷id + */ + @ApiModelProperty("试卷id") + private Long paperId; } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java index 33fdbe39..3e78cd59 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java @@ -28,10 +28,10 @@ public class ClassStudentExamRecordDTO { private Long classId; @ApiModelProperty("试卷名称") - private String examName; + private String paperName; @ApiModelProperty("试卷id") - private Long examId; + private Long paperId; @ApiModelProperty("得分") private BigDecimal score; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java index 79a35cd5..06747e90 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java @@ -77,4 +77,22 @@ public class ClassManagementDO extends BaseEntity { @TableField("delay_time") private LocalDateTime delayTime; + + /** + * 试卷类型(如:1自动生成试卷、2平台组卷等) + */ + @TableField("paper_type") + private Integer paperType; + + /** + * 考试时长(分) + */ + @TableField("exam_minutes") + private Integer examMinutes; + + /** + * 试卷id + */ + @TableField("paper_id") + private Long paperId; } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java index 04fb5310..3e44a984 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java @@ -31,11 +31,11 @@ public class ClassStudentExamRecordDO extends BaseEntity { @TableField("class_id") private Long classId; - @TableField("exam_name") - private String examName; + @TableField("paper_name") + private String paperName; - @TableField("exam_id") - private Long examId; + @TableField("paper_id") + private Long paperId; @TableField("score") private BigDecimal score; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java index a5f5ab2d..f696f5a1 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java @@ -18,7 +18,7 @@ public class ClassStudentExamRecordPageQuery extends BasePageQuery { private Long studentId; @ApiModelProperty("试卷id") - private Long examId; + private Long paperId; @ApiModelProperty("是否通过(0-未通过,1-通过)") private Integer passed; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java index c01344da..a204f236 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java @@ -75,4 +75,22 @@ public class ClassManagementVO extends BaseVO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime delayTime; + + /** + * 试卷类型(如:1自动生成试卷、2平台组卷等) + */ + @ApiModelProperty("试卷类型(如:1自动生成试卷、2平台组卷等)") + private Integer paperType; + + /** + * 考试时长(分) + */ + @ApiModelProperty("考试时长(分)") + private Integer examMinutes; + + /** + * 试卷id + */ + @ApiModelProperty("试卷id") + private Long paperId; } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java index b96774f9..a86d901d 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java @@ -27,10 +27,10 @@ public class ClassStudentExamRecordVO extends BaseVO { private Long classId; @ApiModelProperty("试卷名称") - private String examName; + private String paperName; @ApiModelProperty("试卷id") - private Long examId; + private Long paperId; @ApiModelProperty("得分") private BigDecimal score; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java index 8b54f156..a2e34fc2 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java @@ -21,4 +21,10 @@ public interface ClassManagementService extends IService { boolean updateClass(ClassManagementDTO dto); boolean deleteById(Long id); + + Boolean complete(ClassManagementDTO dto); + + Boolean bindPaper(ClassManagementDTO dto); + + Boolean delay(ClassManagementDTO dto); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java index e7b13fe0..c05bc01c 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.qinan.cedu.convertor.ClassManagementConvertor; +import org.qinan.cedu.enums.ClassStatusEnum; import org.qinan.cedu.enums.DeleteEnum; import org.qinan.cedu.mapper.ClassManagementMapper; import org.qinan.cedu.model.dto.ClassManagementDTO; @@ -14,9 +15,12 @@ import org.qinan.cedu.service.ClassManagementService; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.Objects; /** * 班级管理服务实现 @@ -91,4 +95,55 @@ public class ClassManagementServiceImpl extends ServiceImpl(query.getCurrent(), query.getSize()))