From b0cd9251fde400c2048eb3568f40477e3d9eceb7 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Wed, 19 Aug 2026 11:26:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=8F=AD=E7=BA=A7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ClassCourseController.java | 59 ++++++++++++ .../controller/ClassManagementController.java | 59 ++++++++++++ .../controller/ClassStudentController.java | 59 ++++++++++++ .../ClassStudentExamRecordController.java | 59 ++++++++++++ .../ClassStudentLearningRecordController.java | 59 ++++++++++++ .../CourseManagementController.java | 6 ++ .../CoursewareManagementController.java | 6 ++ .../cedu/convertor/ClassCourseConvertor.java | 20 ++++ .../convertor/ClassManagementConvertor.java | 20 ++++ .../cedu/convertor/ClassStudentConvertor.java | 20 ++++ .../ClassStudentExamRecordConvertor.java | 20 ++++ .../ClassStudentLearningRecordConvertor.java | 20 ++++ .../qinan/cedu/mapper/ClassCourseMapper.java | 12 +++ .../cedu/mapper/ClassManagementMapper.java | 12 +++ .../mapper/ClassStudentExamRecordMapper.java | 12 +++ .../ClassStudentLearningRecordMapper.java | 12 +++ .../qinan/cedu/mapper/ClassStudentMapper.java | 12 +++ .../qinan/cedu/model/dto/ClassCourseDTO.java | 32 +++++++ .../cedu/model/dto/ClassManagementDTO.java | 79 ++++++++++++++++ .../qinan/cedu/model/dto/ClassStudentDTO.java | 58 ++++++++++++ .../model/dto/ClassStudentExamRecordDTO.java | 57 +++++++++++ .../dto/ClassStudentLearningRecordDTO.java | 55 +++++++++++ .../cedu/model/entity/ClassCourseDO.java | 38 ++++++++ .../cedu/model/entity/ClassManagementDO.java | 80 ++++++++++++++++ .../cedu/model/entity/ClassStudentDO.java | 66 +++++++++++++ .../entity/ClassStudentExamRecordDO.java | 57 +++++++++++ .../entity/ClassStudentLearningRecordDO.java | 56 +++++++++++ .../model/query/ClassCoursePageQuery.java | 22 +++++ .../model/query/ClassManagementPageQuery.java | 33 +++++++ .../ClassStudentExamRecordPageQuery.java | 25 +++++ .../ClassStudentLearningRecordPageQuery.java | 25 +++++ .../model/query/ClassStudentPageQuery.java | 28 ++++++ .../qinan/cedu/model/{dto => vo}/BaseVO.java | 8 +- .../qinan/cedu/model/vo/ClassCourseVO.java | 31 ++++++ .../cedu/model/vo/ClassManagementVO.java | 78 +++++++++++++++ .../model/vo/ClassStudentExamRecordVO.java | 56 +++++++++++ .../vo/ClassStudentLearningRecordVO.java | 54 +++++++++++ .../qinan/cedu/model/vo/ClassStudentVO.java | 57 +++++++++++ .../cedu/model/vo/CourseManagementVO.java | 1 - .../cedu/model/vo/CoursewareManagementVO.java | 1 - .../org/qinan/cedu/model/vo/QuestionVO.java | 1 - .../cedu/service/ClassCourseService.java | 24 +++++ .../cedu/service/ClassManagementService.java | 24 +++++ .../ClassStudentExamRecordService.java | 24 +++++ .../ClassStudentLearningRecordService.java | 24 +++++ .../cedu/service/ClassStudentService.java | 24 +++++ .../cedu/service/CourseManagementService.java | 2 + .../service/CoursewareManagementService.java | 2 + .../service/impl/ClassCourseServiceImpl.java | 76 +++++++++++++++ .../impl/ClassManagementServiceImpl.java | 94 +++++++++++++++++++ .../ClassStudentExamRecordServiceImpl.java | 82 ++++++++++++++++ ...ClassStudentLearningRecordServiceImpl.java | 79 ++++++++++++++++ .../service/impl/ClassStudentServiceImpl.java | 91 ++++++++++++++++++ .../impl/CourseManagementServiceImpl.java | 10 ++ .../impl/CoursewareManagementServiceImpl.java | 10 ++ 55 files changed, 2027 insertions(+), 4 deletions(-) create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentController.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentExamRecordController.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentLearningRecordController.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassCourseConvertor.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassManagementConvertor.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentConvertor.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentExamRecordConvertor.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentLearningRecordConvertor.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassCourseMapper.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassManagementMapper.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentExamRecordMapper.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentLearningRecordMapper.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentMapper.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassCourseDTO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentDTO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentLearningRecordDTO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentLearningRecordDO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassCoursePageQuery.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassManagementPageQuery.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentLearningRecordPageQuery.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentPageQuery.java rename safety-cedu-service/src/main/java/org/qinan/cedu/model/{dto => vo}/BaseVO.java (75%) create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassCourseVO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentLearningRecordVO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentVO.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentExamRecordService.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentLearningRecordService.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentService.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentExamRecordServiceImpl.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentLearningRecordServiceImpl.java create mode 100644 safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentServiceImpl.java diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java new file mode 100644 index 00000000..bed0ce97 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java @@ -0,0 +1,59 @@ +package org.qinan.cedu.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.cedu.model.dto.ClassCourseDTO; +import org.qinan.cedu.model.query.ClassCoursePageQuery; +import org.qinan.cedu.model.vo.ClassCourseVO; +import org.qinan.cedu.service.ClassCourseService; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 班级课程 + */ +@Api(tags = "班级课程") +@RestController +@RequestMapping("/safetyEval/classCourse") +public class ClassCourseController { + + @Autowired + private ClassCourseService classCourseService; + + @ApiOperation("新增班级课程") + @PostMapping("/save") + public SingleResponse save(@RequestBody ClassCourseDTO dto) { + return SingleResponse.success(classCourseService.saveCourse(dto)); + } + + @ApiOperation("班级课程详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return SingleResponse.success(classCourseService.getDetail(id)); + } + + @ApiOperation("修改班级课程") + @PostMapping("/modify") + public SingleResponse modify(@RequestBody ClassCourseDTO dto) { + return SingleResponse.success(classCourseService.updateCourse(dto)); + } + + @ApiOperation("删除班级课程") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + classCourseService.deleteById(req.getData()); + return SingleResponse.success(); + } + + @ApiOperation("分页查询班级课程") + @GetMapping("/page") + public PageResponse page(ClassCoursePageQuery query) { + IPage page = classCourseService.pageQuery(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } +} 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 new file mode 100644 index 00000000..1e92d084 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassManagementController.java @@ -0,0 +1,59 @@ +package org.qinan.cedu.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.cedu.model.dto.ClassManagementDTO; +import org.qinan.cedu.model.query.ClassManagementPageQuery; +import org.qinan.cedu.model.vo.ClassManagementVO; +import org.qinan.cedu.service.ClassManagementService; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 班级管理 + */ +@Api(tags = "班级管理") +@RestController +@RequestMapping("/safetyEval/classManagement") +public class ClassManagementController { + + @Autowired + private ClassManagementService classManagementService; + + @ApiOperation("新增班级") + @PostMapping("/save") + public SingleResponse save(@RequestBody ClassManagementDTO dto) { + return SingleResponse.success(classManagementService.saveClass(dto)); + } + + @ApiOperation("班级详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return SingleResponse.success(classManagementService.getDetail(id)); + } + + @ApiOperation("修改班级") + @PostMapping("/modify") + public SingleResponse modify(@RequestBody ClassManagementDTO dto) { + return SingleResponse.success(classManagementService.updateClass(dto)); + } + + @ApiOperation("删除班级") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + classManagementService.deleteById(req.getData()); + return SingleResponse.success(); + } + + @ApiOperation("分页查询班级") + @GetMapping("/page") + public PageResponse page(ClassManagementPageQuery query) { + IPage page = classManagementService.pageQuery(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentController.java new file mode 100644 index 00000000..6f229e11 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentController.java @@ -0,0 +1,59 @@ +package org.qinan.cedu.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.cedu.model.dto.ClassStudentDTO; +import org.qinan.cedu.model.query.ClassStudentPageQuery; +import org.qinan.cedu.model.vo.ClassStudentVO; +import org.qinan.cedu.service.ClassStudentService; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 班级学员 + */ +@Api(tags = "班级学员") +@RestController +@RequestMapping("/safetyEval/classStudent") +public class ClassStudentController { + + @Autowired + private ClassStudentService classStudentService; + + @ApiOperation("新增班级学员") + @PostMapping("/save") + public SingleResponse save(@RequestBody ClassStudentDTO dto) { + return SingleResponse.success(classStudentService.saveStudent(dto)); + } + + @ApiOperation("班级学员详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return SingleResponse.success(classStudentService.getDetail(id)); + } + + @ApiOperation("修改班级学员") + @PostMapping("/modify") + public SingleResponse modify(@RequestBody ClassStudentDTO dto) { + return SingleResponse.success(classStudentService.updateStudent(dto)); + } + + @ApiOperation("删除班级学员") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + classStudentService.deleteById(req.getData()); + return SingleResponse.success(); + } + + @ApiOperation("分页查询班级学员") + @GetMapping("/page") + public PageResponse page(ClassStudentPageQuery query) { + IPage page = classStudentService.pageQuery(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentExamRecordController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentExamRecordController.java new file mode 100644 index 00000000..2d506921 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentExamRecordController.java @@ -0,0 +1,59 @@ +package org.qinan.cedu.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.cedu.model.dto.ClassStudentExamRecordDTO; +import org.qinan.cedu.model.query.ClassStudentExamRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentExamRecordVO; +import org.qinan.cedu.service.ClassStudentExamRecordService; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 学员考试记录 + */ +@Api(tags = "学员考试记录") +@RestController +@RequestMapping("/safetyEval/classStudentExamRecord") +public class ClassStudentExamRecordController { + + @Autowired + private ClassStudentExamRecordService classStudentExamRecordService; + + @ApiOperation("新增学员考试记录") + @PostMapping("/save") + public SingleResponse save(@RequestBody ClassStudentExamRecordDTO dto) { + return SingleResponse.success(classStudentExamRecordService.saveRecord(dto)); + } + + @ApiOperation("学员考试记录详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return SingleResponse.success(classStudentExamRecordService.getDetail(id)); + } + + @ApiOperation("修改学员考试记录") + @PostMapping("/modify") + public SingleResponse modify(@RequestBody ClassStudentExamRecordDTO dto) { + return SingleResponse.success(classStudentExamRecordService.updateRecord(dto)); + } + + @ApiOperation("删除学员考试记录") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + classStudentExamRecordService.deleteById(req.getData()); + return SingleResponse.success(); + } + + @ApiOperation("分页查询学员考试记录") + @GetMapping("/page") + public PageResponse page(ClassStudentExamRecordPageQuery query) { + IPage page = classStudentExamRecordService.pageQuery(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentLearningRecordController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentLearningRecordController.java new file mode 100644 index 00000000..c49d7aa5 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassStudentLearningRecordController.java @@ -0,0 +1,59 @@ +package org.qinan.cedu.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.qinan.cedu.model.dto.ClassStudentLearningRecordDTO; +import org.qinan.cedu.model.query.ClassStudentLearningRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentLearningRecordVO; +import org.qinan.cedu.service.ClassStudentLearningRecordService; +import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.dataobject.base.Req; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 学员学习记录 + */ +@Api(tags = "学员学习记录") +@RestController +@RequestMapping("/safetyEval/classStudentLearningRecord") +public class ClassStudentLearningRecordController { + + @Autowired + private ClassStudentLearningRecordService classStudentLearningRecordService; + + @ApiOperation("新增学员学习记录") + @PostMapping("/save") + public SingleResponse save(@RequestBody ClassStudentLearningRecordDTO dto) { + return SingleResponse.success(classStudentLearningRecordService.saveRecord(dto)); + } + + @ApiOperation("学员学习记录详情") + @GetMapping("/get") + public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { + return SingleResponse.success(classStudentLearningRecordService.getDetail(id)); + } + + @ApiOperation("修改学员学习记录") + @PostMapping("/modify") + public SingleResponse modify(@RequestBody ClassStudentLearningRecordDTO dto) { + return SingleResponse.success(classStudentLearningRecordService.updateRecord(dto)); + } + + @ApiOperation("删除学员学习记录") + @PostMapping("/delete") + public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { + classStudentLearningRecordService.deleteById(req.getData()); + return SingleResponse.success(); + } + + @ApiOperation("分页查询学员学习记录") + @GetMapping("/page") + public PageResponse page(ClassStudentLearningRecordPageQuery query) { + IPage page = classStudentLearningRecordService.pageQuery(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CourseManagementController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CourseManagementController.java index e9f77182..36c512f3 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CourseManagementController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CourseManagementController.java @@ -43,6 +43,12 @@ public class CourseManagementController { return SingleResponse.success(courseManagementService.updateCourse(dto)); } + @ApiOperation("修改状态") + @PostMapping("/modifyStatus") + public SingleResponse modifyStatus(@RequestBody CourseManagementDTO dto) { + return SingleResponse.success(courseManagementService.modifyStatus(dto)); + } + @ApiOperation("删除课程") @PostMapping("/delete") public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CoursewareManagementController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CoursewareManagementController.java index 034a6226..23f29c8f 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CoursewareManagementController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/CoursewareManagementController.java @@ -43,6 +43,12 @@ public class CoursewareManagementController { return SingleResponse.success(coursewareManagementService.updateCourseware(dto)); } + @ApiOperation("修改状态") + @PostMapping("/modifyStatus") + public SingleResponse modifyStatus(@RequestBody CoursewareManagementDTO dto) { + return SingleResponse.success(coursewareManagementService.modifyStatus(dto)); + } + @ApiOperation("删除课件") @PostMapping("/delete") public SingleResponse delete(@ApiParam("主键ID") @RequestBody Req req) { diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassCourseConvertor.java b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassCourseConvertor.java new file mode 100644 index 00000000..8fb62c29 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassCourseConvertor.java @@ -0,0 +1,20 @@ +package org.qinan.cedu.convertor; + +import org.mapstruct.Mapper; +import org.qinan.cedu.model.dto.ClassCourseDTO; +import org.qinan.cedu.model.entity.ClassCourseDO; +import org.qinan.cedu.model.vo.ClassCourseVO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface ClassCourseConvertor { + + ClassCourseDO convertDtoToE(ClassCourseDTO dto); + + ClassCourseVO convertEToVo(ClassCourseDO entity); + + List convertDtoListToEList(List list); + + List convertEListToVoList(List list); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassManagementConvertor.java b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassManagementConvertor.java new file mode 100644 index 00000000..458548f5 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassManagementConvertor.java @@ -0,0 +1,20 @@ +package org.qinan.cedu.convertor; + +import org.mapstruct.Mapper; +import org.qinan.cedu.model.dto.ClassManagementDTO; +import org.qinan.cedu.model.entity.ClassManagementDO; +import org.qinan.cedu.model.vo.ClassManagementVO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface ClassManagementConvertor { + + ClassManagementDO convertDtoToE(ClassManagementDTO dto); + + ClassManagementVO convertEToVo(ClassManagementDO entity); + + List convertDtoListToEList(List list); + + List convertEListToVoList(List list); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentConvertor.java b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentConvertor.java new file mode 100644 index 00000000..efdd1d6b --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentConvertor.java @@ -0,0 +1,20 @@ +package org.qinan.cedu.convertor; + +import org.mapstruct.Mapper; +import org.qinan.cedu.model.dto.ClassStudentDTO; +import org.qinan.cedu.model.entity.ClassStudentDO; +import org.qinan.cedu.model.vo.ClassStudentVO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface ClassStudentConvertor { + + ClassStudentDO convertDtoToE(ClassStudentDTO dto); + + ClassStudentVO convertEToVo(ClassStudentDO entity); + + List convertDtoListToEList(List list); + + List convertEListToVoList(List list); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentExamRecordConvertor.java b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentExamRecordConvertor.java new file mode 100644 index 00000000..716efdfa --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentExamRecordConvertor.java @@ -0,0 +1,20 @@ +package org.qinan.cedu.convertor; + +import org.mapstruct.Mapper; +import org.qinan.cedu.model.dto.ClassStudentExamRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentExamRecordDO; +import org.qinan.cedu.model.vo.ClassStudentExamRecordVO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface ClassStudentExamRecordConvertor { + + ClassStudentExamRecordDO convertDtoToE(ClassStudentExamRecordDTO dto); + + ClassStudentExamRecordVO convertEToVo(ClassStudentExamRecordDO entity); + + List convertDtoListToEList(List list); + + List convertEListToVoList(List list); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentLearningRecordConvertor.java b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentLearningRecordConvertor.java new file mode 100644 index 00000000..8a22f7a8 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/convertor/ClassStudentLearningRecordConvertor.java @@ -0,0 +1,20 @@ +package org.qinan.cedu.convertor; + +import org.mapstruct.Mapper; +import org.qinan.cedu.model.dto.ClassStudentLearningRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentLearningRecordDO; +import org.qinan.cedu.model.vo.ClassStudentLearningRecordVO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface ClassStudentLearningRecordConvertor { + + ClassStudentLearningRecordDO convertDtoToE(ClassStudentLearningRecordDTO dto); + + ClassStudentLearningRecordVO convertEToVo(ClassStudentLearningRecordDO entity); + + List convertDtoListToEList(List list); + + List convertEListToVoList(List list); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassCourseMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassCourseMapper.java new file mode 100644 index 00000000..905f6f29 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassCourseMapper.java @@ -0,0 +1,12 @@ +package org.qinan.cedu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.qinan.cedu.model.entity.ClassCourseDO; + +/** + * 班级课程 Mapper + */ +@Mapper +public interface ClassCourseMapper extends BaseMapper { +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassManagementMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassManagementMapper.java new file mode 100644 index 00000000..5b31952a --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassManagementMapper.java @@ -0,0 +1,12 @@ +package org.qinan.cedu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.qinan.cedu.model.entity.ClassManagementDO; + +/** + * 班级管理 Mapper + */ +@Mapper +public interface ClassManagementMapper extends BaseMapper { +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentExamRecordMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentExamRecordMapper.java new file mode 100644 index 00000000..0166587d --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentExamRecordMapper.java @@ -0,0 +1,12 @@ +package org.qinan.cedu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.qinan.cedu.model.entity.ClassStudentExamRecordDO; + +/** + * 学员考试记录 Mapper + */ +@Mapper +public interface ClassStudentExamRecordMapper extends BaseMapper { +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentLearningRecordMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentLearningRecordMapper.java new file mode 100644 index 00000000..c6a26dc6 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentLearningRecordMapper.java @@ -0,0 +1,12 @@ +package org.qinan.cedu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.qinan.cedu.model.entity.ClassStudentLearningRecordDO; + +/** + * 学员学习记录 Mapper + */ +@Mapper +public interface ClassStudentLearningRecordMapper extends BaseMapper { +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentMapper.java new file mode 100644 index 00000000..ad8e38f3 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/ClassStudentMapper.java @@ -0,0 +1,12 @@ +package org.qinan.cedu.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.qinan.cedu.model.entity.ClassStudentDO; + +/** + * 班级学员 Mapper + */ +@Mapper +public interface ClassStudentMapper extends BaseMapper { +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassCourseDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassCourseDTO.java new file mode 100644 index 00000000..79d5efcd --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassCourseDTO.java @@ -0,0 +1,32 @@ +package org.qinan.cedu.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 班级课程 + * @TableName class_course + */ +@Data +public class ClassCourseDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("课程名称") + private String courseName; + + @ApiModelProperty("课程id") + private Long courseId; + + @ApiModelProperty("要求完成总学时(小时)") + private BigDecimal requiredTotalHours; + + @ApiModelProperty("视频累计时长(小时)") + private BigDecimal videoDuration; +} 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 new file mode 100644 index 00000000..b67d0f40 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassManagementDTO.java @@ -0,0 +1,79 @@ +package org.qinan.cedu.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * 班级管理 + * @TableName class_management + */ +@Data +public class ClassManagementDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("班级编码") + private String classCode; + + @ApiModelProperty("班级名称") + private String className; + + @ApiModelProperty("培训类型") + private String trainingType; + + @ApiModelProperty("参训单位类型(1本企业2相关方)") + private Integer unitType; + + @ApiModelProperty("参训单位名称") + private String unitName; + + @ApiModelProperty("记录人员") + private String recorder; + + @ApiModelProperty("考核人员") + private String assessor; + + @ApiModelProperty("安全管理部门负责人") + private String safetyManager; + + @ApiModelProperty("培训开始日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startDate; + + @ApiModelProperty("培训结束日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endDate; + + @ApiModelProperty("是否开启考试(0-否,1-是)") + private Integer openExam; + + @ApiModelProperty("考试前人脸识别(0-否,1-是)") + private Integer examFaceRecognition; + + @ApiModelProperty("考试次数") + private Integer examCount; + + @ApiModelProperty("是否人脸识别(0-否,1-是)") + private Integer faceRecognition; + + @ApiModelProperty("人脸识别时间(分钟)") + private Integer faceRecognitionTime; + + @ApiModelProperty("是否打乱试题顺序(0-否,1-是)") + private Integer shuffleQuestions; + + @ApiModelProperty("班级状态:0-未申请,1-待开班,2-培训中,3-培训结束") + private Integer status; + + @ApiModelProperty("延期时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime delayTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentDTO.java new file mode 100644 index 00000000..14493ef7 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentDTO.java @@ -0,0 +1,58 @@ +package org.qinan.cedu.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 班级学员 + * @TableName class_student + */ +@Data +public class ClassStudentDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("关联班级ID") + private Long classId; + + @ApiModelProperty("姓名") + private String studentName; + + @ApiModelProperty("参训单位") + private String unitName; + + @ApiModelProperty("部门") + private String department; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("档案编号") + private String fileNumber; + + @ApiModelProperty("人脸认证(0-未认证,1-已认证)") + private Integer faceAuth; + + @ApiModelProperty("要求学时(小时)") + private BigDecimal requiredHours; + + @ApiModelProperty("已完成学时(小时)") + private BigDecimal completedHours; + + @ApiModelProperty("学习状态:0-未学习,1-学习中,2-已学完,3-已完成") + private Integer studyStatus; + + @ApiModelProperty("考试状态:0-不考试,1-待考试,2-考试未通过,3-考试通过,4-未参加") + private Integer examStatus; + + @ApiModelProperty("入班时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime entryTime; +} 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 new file mode 100644 index 00000000..33fdbe39 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentExamRecordDTO.java @@ -0,0 +1,57 @@ +package org.qinan.cedu.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 学员考试记录 + * @TableName class_student_exam_record + */ +@Data +public class ClassStudentExamRecordDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("学员名称") + private String studentName; + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("试卷名称") + private String examName; + + @ApiModelProperty("试卷id") + private Long examId; + + @ApiModelProperty("得分") + private BigDecimal score; + + @ApiModelProperty("是否通过(0-未通过,1-通过)") + private Integer passed; + + @ApiModelProperty("错误题数") + private Integer wrongCount; + + @ApiModelProperty("正确率(百分比)") + private BigDecimal accuracy; + + @ApiModelProperty("考试开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("考试结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentLearningRecordDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentLearningRecordDTO.java new file mode 100644 index 00000000..ab53ae47 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/ClassStudentLearningRecordDTO.java @@ -0,0 +1,55 @@ +package org.qinan.cedu.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * 学员学习记录(节点级) + * @TableName class_student_learning_record + */ +@Data +public class ClassStudentLearningRecordDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("课程ID") + private Long courseId; + + @ApiModelProperty("课程名称") + private String courseName; + + @ApiModelProperty("小节点名称") + private String coursewareName; + + @ApiModelProperty("学习状态:0-未学习,1-学习中,2-已完成") + private Integer studyStatus; + + @ApiModelProperty("学习情况") + private String learningProgress; + + @ApiModelProperty("开始学习时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ApiModelProperty("最近观看时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime lastWatchTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java new file mode 100644 index 00000000..5a994c9f --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java @@ -0,0 +1,38 @@ +package org.qinan.cedu.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 班级课程 + * @TableName class_course + */ +@EqualsAndHashCode(callSuper = true) +@TableName("class_course") +@Data +public class ClassCourseDO extends BaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @TableField("class_id") + private Long classId; + + @TableField("course_name") + private String courseName; + + @TableField("course_id") + private Long courseId; + + @TableField("required_total_hours") + private BigDecimal requiredTotalHours; + + @TableField("video_duration") + private BigDecimal videoDuration; +} 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 new file mode 100644 index 00000000..79a35cd5 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassManagementDO.java @@ -0,0 +1,80 @@ +package org.qinan.cedu.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 班级管理 + * @TableName class_management + */ +@EqualsAndHashCode(callSuper = true) +@TableName("class_management") +@Data +public class ClassManagementDO extends BaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @TableField("class_code") + private String classCode; + + @TableField("class_name") + private String className; + + @TableField("training_type") + private String trainingType; + + @TableField("unit_type") + private Integer unitType; + + @TableField("unit_name") + private String unitName; + + @TableField("recorder") + private String recorder; + + @TableField("assessor") + private String assessor; + + @TableField("safety_manager") + private String safetyManager; + + @TableField("start_date") + private LocalDateTime startDate; + + @TableField("end_date") + private LocalDateTime endDate; + + @TableField("open_exam") + private Integer openExam; + + @TableField("exam_face_recognition") + private Integer examFaceRecognition; + + @TableField("exam_count") + private Integer examCount; + + @TableField("face_recognition") + private Integer faceRecognition; + + @TableField("face_recognition_time") + private Integer faceRecognitionTime; + + @TableField("shuffle_questions") + private Integer shuffleQuestions; + + /** + * 班级状态:0-未申请,1-待开班,2-培训中,3-培训结束 + */ + @TableField("status") + private Integer status; + + @TableField("delay_time") + private LocalDateTime delayTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java new file mode 100644 index 00000000..215b452f --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java @@ -0,0 +1,66 @@ +package org.qinan.cedu.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 班级学员 + * @TableName class_student + */ +@EqualsAndHashCode(callSuper = true) +@TableName("class_student") +@Data +public class ClassStudentDO extends BaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @TableField("class_id") + private Long classId; + + @TableField("student_name") + private String studentName; + + @TableField("unit_name") + private String unitName; + + @TableField("department") + private String department; + + @TableField("phone") + private String phone; + + @TableField("file_number") + private String fileNumber; + + @TableField("face_auth") + private Integer faceAuth; + + @TableField("required_hours") + private BigDecimal requiredHours; + + @TableField("completed_hours") + private BigDecimal completedHours; + + /** + * 学习状态:0-未学习,1-学习中,2-已学完,3-已完成 + */ + @TableField("study_status") + private Integer studyStatus; + + /** + * 考试状态:0-不考试,1-待考试,2-考试未通过,3-考试通过,4-未参加 + */ + @TableField("exam_status") + private Integer examStatus; + + @TableField("entry_time") + private LocalDateTime entryTime; +} 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 new file mode 100644 index 00000000..04fb5310 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentExamRecordDO.java @@ -0,0 +1,57 @@ +package org.qinan.cedu.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 学员考试记录 + * @TableName class_student_exam_record + */ +@EqualsAndHashCode(callSuper = true) +@TableName("class_student_exam_record") +@Data +public class ClassStudentExamRecordDO extends BaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @TableField("student_id") + private Long studentId; + + @TableField("student_name") + private String studentName; + + @TableField("class_id") + private Long classId; + + @TableField("exam_name") + private String examName; + + @TableField("exam_id") + private Long examId; + + @TableField("score") + private BigDecimal score; + + @TableField("passed") + private Integer passed; + + @TableField("wrong_count") + private Integer wrongCount; + + @TableField("accuracy") + private BigDecimal accuracy; + + @TableField("start_time") + private LocalDateTime startTime; + + @TableField("end_time") + private LocalDateTime endTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentLearningRecordDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentLearningRecordDO.java new file mode 100644 index 00000000..4be265c5 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentLearningRecordDO.java @@ -0,0 +1,56 @@ +package org.qinan.cedu.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 学员学习记录(节点级) + * @TableName class_student_learning_record + */ +@EqualsAndHashCode(callSuper = true) +@TableName("class_student_learning_record") +@Data +public class ClassStudentLearningRecordDO extends BaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @TableField("student_id") + private Long studentId; + + @TableField("class_id") + private Long classId; + + @TableField("course_id") + private Long courseId; + + @TableField("course_name") + private String courseName; + + @TableField("courseware_name") + private String coursewareName; + + /** + * 学习状态:0-未学习,1-学习中,2-已完成 + */ + @TableField("study_status") + private Integer studyStatus; + + @TableField("learning_progress") + private String learningProgress; + + @TableField("start_time") + private LocalDateTime startTime; + + @TableField("end_time") + private LocalDateTime endTime; + + @TableField("last_watch_time") + private LocalDateTime lastWatchTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassCoursePageQuery.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassCoursePageQuery.java new file mode 100644 index 00000000..45ddf7ce --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassCoursePageQuery.java @@ -0,0 +1,22 @@ +package org.qinan.cedu.model.query; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 班级课程分页查询 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ClassCoursePageQuery extends BasePageQuery { + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("课程名称") + private String courseName; + + @ApiModelProperty("课程id") + private Long courseId; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassManagementPageQuery.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassManagementPageQuery.java new file mode 100644 index 00000000..00f13314 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassManagementPageQuery.java @@ -0,0 +1,33 @@ +package org.qinan.cedu.model.query; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 班级分页查询 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ClassManagementPageQuery extends BasePageQuery { + + @ApiModelProperty("班级编码") + private String classCode; + + @ApiModelProperty("班级名称") + private String className; + + @ApiModelProperty("培训类型") + private String trainingType; + + @ApiModelProperty("班级状态") + private Integer status; + + @ApiModelProperty("培训开始时间起") + private LocalDateTime startDateBegin; + + @ApiModelProperty("培训结束时间止") + private LocalDateTime endDateEnd; +} 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 new file mode 100644 index 00000000..a5f5ab2d --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentExamRecordPageQuery.java @@ -0,0 +1,25 @@ +package org.qinan.cedu.model.query; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 学员考试记录分页查询 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ClassStudentExamRecordPageQuery extends BasePageQuery { + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("试卷id") + private Long examId; + + @ApiModelProperty("是否通过(0-未通过,1-通过)") + private Integer passed; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentLearningRecordPageQuery.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentLearningRecordPageQuery.java new file mode 100644 index 00000000..8a0d63f3 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentLearningRecordPageQuery.java @@ -0,0 +1,25 @@ +package org.qinan.cedu.model.query; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 学员学习记录分页查询 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ClassStudentLearningRecordPageQuery extends BasePageQuery { + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("课程ID") + private Long courseId; + + @ApiModelProperty("学习状态") + private Integer studyStatus; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentPageQuery.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentPageQuery.java new file mode 100644 index 00000000..e01666da --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/query/ClassStudentPageQuery.java @@ -0,0 +1,28 @@ +package org.qinan.cedu.model.query; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 班级学员分页查询 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ClassStudentPageQuery extends BasePageQuery { + + @ApiModelProperty("关联班级ID") + private Long classId; + + @ApiModelProperty("姓名") + private String studentName; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("学习状态") + private Integer studyStatus; + + @ApiModelProperty("考试状态") + private Integer examStatus; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/BaseVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/BaseVO.java similarity index 75% rename from safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/BaseVO.java rename to safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/BaseVO.java index 1d27be68..df6e49f7 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/BaseVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/BaseVO.java @@ -1,8 +1,10 @@ -package org.qinan.cedu.model.dto; +package org.qinan.cedu.model.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.qinan.cedu.enums.DeleteEnum; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.time.LocalDateTime; @@ -34,9 +36,13 @@ public class BaseVO implements Serializable { private Integer version; @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty("修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @ApiModelProperty("创建人id") diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassCourseVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassCourseVO.java new file mode 100644 index 00000000..7453cfc4 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassCourseVO.java @@ -0,0 +1,31 @@ +package org.qinan.cedu.model.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 班级课程 + * @TableName class_course + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ClassCourseVO extends BaseVO { + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("课程名称") + private String courseName; + + @ApiModelProperty("课程id") + private Long courseId; + + @ApiModelProperty("要求完成总学时(小时)") + private BigDecimal requiredTotalHours; + + @ApiModelProperty("视频累计时长(小时)") + private BigDecimal videoDuration; +} 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 new file mode 100644 index 00000000..c01344da --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassManagementVO.java @@ -0,0 +1,78 @@ +package org.qinan.cedu.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * 班级管理 + * @TableName class_management + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ClassManagementVO extends BaseVO { + + @ApiModelProperty("班级编码") + private String classCode; + + @ApiModelProperty("班级名称") + private String className; + + @ApiModelProperty("培训类型") + private String trainingType; + + @ApiModelProperty("参训单位类型(1本企业2相关方)") + private Integer unitType; + + @ApiModelProperty("参训单位名称") + private String unitName; + + @ApiModelProperty("记录人员") + private String recorder; + + @ApiModelProperty("考核人员") + private String assessor; + + @ApiModelProperty("安全管理部门负责人") + private String safetyManager; + + @ApiModelProperty("培训开始日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startDate; + + @ApiModelProperty("培训结束日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endDate; + + @ApiModelProperty("是否开启考试(0-否,1-是)") + private Integer openExam; + + @ApiModelProperty("考试前人脸识别(0-否,1-是)") + private Integer examFaceRecognition; + + @ApiModelProperty("考试次数") + private Integer examCount; + + @ApiModelProperty("是否人脸识别(0-否,1-是)") + private Integer faceRecognition; + + @ApiModelProperty("人脸识别时间(分钟)") + private Integer faceRecognitionTime; + + @ApiModelProperty("是否打乱试题顺序(0-否,1-是)") + private Integer shuffleQuestions; + + @ApiModelProperty("班级状态:0-未申请,1-待开班,2-培训中,3-培训结束") + private Integer status; + + @ApiModelProperty("延期时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime delayTime; +} 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 new file mode 100644 index 00000000..b96774f9 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentExamRecordVO.java @@ -0,0 +1,56 @@ +package org.qinan.cedu.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 学员考试记录 + * @TableName class_student_exam_record + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ClassStudentExamRecordVO extends BaseVO { + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("学员名称") + private String studentName; + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("试卷名称") + private String examName; + + @ApiModelProperty("试卷id") + private Long examId; + + @ApiModelProperty("得分") + private BigDecimal score; + + @ApiModelProperty("是否通过(0-未通过,1-通过)") + private Integer passed; + + @ApiModelProperty("错误题数") + private Integer wrongCount; + + @ApiModelProperty("正确率(百分比)") + private BigDecimal accuracy; + + @ApiModelProperty("考试开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("考试结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentLearningRecordVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentLearningRecordVO.java new file mode 100644 index 00000000..4f2db241 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentLearningRecordVO.java @@ -0,0 +1,54 @@ +package org.qinan.cedu.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * 学员学习记录(节点级) + * @TableName class_student_learning_record + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ClassStudentLearningRecordVO extends BaseVO { + + @ApiModelProperty("学员ID") + private Long studentId; + + @ApiModelProperty("所属班级ID") + private Long classId; + + @ApiModelProperty("课程ID") + private Long courseId; + + @ApiModelProperty("课程名称") + private String courseName; + + @ApiModelProperty("小节点名称") + private String coursewareName; + + @ApiModelProperty("学习状态:0-未学习,1-学习中,2-已完成") + private Integer studyStatus; + + @ApiModelProperty("学习情况") + private String learningProgress; + + @ApiModelProperty("开始学习时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ApiModelProperty("最近观看时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime lastWatchTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentVO.java new file mode 100644 index 00000000..41d41535 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/ClassStudentVO.java @@ -0,0 +1,57 @@ +package org.qinan.cedu.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 班级学员 + * @TableName class_student + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ClassStudentVO extends BaseVO { + + @ApiModelProperty("关联班级ID") + private Long classId; + + @ApiModelProperty("姓名") + private String studentName; + + @ApiModelProperty("参训单位") + private String unitName; + + @ApiModelProperty("部门") + private String department; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("档案编号") + private String fileNumber; + + @ApiModelProperty("人脸认证(0-未认证,1-已认证)") + private Integer faceAuth; + + @ApiModelProperty("要求学时(小时)") + private BigDecimal requiredHours; + + @ApiModelProperty("已完成学时(小时)") + private BigDecimal completedHours; + + @ApiModelProperty("学习状态:0-未学习,1-学习中,2-已学完,3-已完成") + private Integer studyStatus; + + @ApiModelProperty("考试状态:0-不考试,1-待考试,2-考试未通过,3-考试通过,4-未参加") + private Integer examStatus; + + @ApiModelProperty("入班时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime entryTime; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CourseManagementVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CourseManagementVO.java index 376657ff..09737f75 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CourseManagementVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CourseManagementVO.java @@ -3,7 +3,6 @@ package org.qinan.cedu.model.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.qinan.cedu.model.dto.BaseVO; import java.math.BigDecimal; import java.util.List; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CoursewareManagementVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CoursewareManagementVO.java index 39ff6800..ac228f33 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CoursewareManagementVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/CoursewareManagementVO.java @@ -3,7 +3,6 @@ package org.qinan.cedu.model.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.qinan.cedu.model.dto.BaseVO; import java.math.BigDecimal; import java.util.List; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/QuestionVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/QuestionVO.java index d0133597..63a074e2 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/QuestionVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/QuestionVO.java @@ -4,7 +4,6 @@ package org.qinan.cedu.model.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.qinan.cedu.model.dto.BaseVO; import java.math.BigDecimal; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java new file mode 100644 index 00000000..a2cbe9b8 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java @@ -0,0 +1,24 @@ +package org.qinan.cedu.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.qinan.cedu.model.dto.ClassCourseDTO; +import org.qinan.cedu.model.entity.ClassCourseDO; +import org.qinan.cedu.model.query.ClassCoursePageQuery; +import org.qinan.cedu.model.vo.ClassCourseVO; + +/** + * 班级课程服务 + */ +public interface ClassCourseService extends IService { + + IPage pageQuery(ClassCoursePageQuery query); + + ClassCourseVO getDetail(Long id); + + boolean saveCourse(ClassCourseDTO dto); + + boolean updateCourse(ClassCourseDTO dto); + + boolean deleteById(Long id); +} 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 new file mode 100644 index 00000000..8b54f156 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassManagementService.java @@ -0,0 +1,24 @@ +package org.qinan.cedu.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.qinan.cedu.model.dto.ClassManagementDTO; +import org.qinan.cedu.model.entity.ClassManagementDO; +import org.qinan.cedu.model.query.ClassManagementPageQuery; +import org.qinan.cedu.model.vo.ClassManagementVO; + +/** + * 班级管理服务 + */ +public interface ClassManagementService extends IService { + + IPage pageQuery(ClassManagementPageQuery query); + + ClassManagementVO getDetail(Long id); + + boolean saveClass(ClassManagementDTO dto); + + boolean updateClass(ClassManagementDTO dto); + + boolean deleteById(Long id); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentExamRecordService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentExamRecordService.java new file mode 100644 index 00000000..b4d5866f --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentExamRecordService.java @@ -0,0 +1,24 @@ +package org.qinan.cedu.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.qinan.cedu.model.dto.ClassStudentExamRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentExamRecordDO; +import org.qinan.cedu.model.query.ClassStudentExamRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentExamRecordVO; + +/** + * 学员考试记录服务 + */ +public interface ClassStudentExamRecordService extends IService { + + IPage pageQuery(ClassStudentExamRecordPageQuery query); + + ClassStudentExamRecordVO getDetail(Long id); + + boolean saveRecord(ClassStudentExamRecordDTO dto); + + boolean updateRecord(ClassStudentExamRecordDTO dto); + + boolean deleteById(Long id); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentLearningRecordService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentLearningRecordService.java new file mode 100644 index 00000000..9b4079a0 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentLearningRecordService.java @@ -0,0 +1,24 @@ +package org.qinan.cedu.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.qinan.cedu.model.dto.ClassStudentLearningRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentLearningRecordDO; +import org.qinan.cedu.model.query.ClassStudentLearningRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentLearningRecordVO; + +/** + * 学员学习记录服务 + */ +public interface ClassStudentLearningRecordService extends IService { + + IPage pageQuery(ClassStudentLearningRecordPageQuery query); + + ClassStudentLearningRecordVO getDetail(Long id); + + boolean saveRecord(ClassStudentLearningRecordDTO dto); + + boolean updateRecord(ClassStudentLearningRecordDTO dto); + + boolean deleteById(Long id); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentService.java new file mode 100644 index 00000000..b162291c --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassStudentService.java @@ -0,0 +1,24 @@ +package org.qinan.cedu.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.qinan.cedu.model.dto.ClassStudentDTO; +import org.qinan.cedu.model.entity.ClassStudentDO; +import org.qinan.cedu.model.query.ClassStudentPageQuery; +import org.qinan.cedu.model.vo.ClassStudentVO; + +/** + * 班级学员服务 + */ +public interface ClassStudentService extends IService { + + IPage pageQuery(ClassStudentPageQuery query); + + ClassStudentVO getDetail(Long id); + + boolean saveStudent(ClassStudentDTO dto); + + boolean updateStudent(ClassStudentDTO dto); + + boolean deleteById(Long id); +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/CourseManagementService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/CourseManagementService.java index 2e13efce..53c368a7 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/CourseManagementService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/CourseManagementService.java @@ -21,4 +21,6 @@ public interface CourseManagementService extends IService { boolean updateCourse(CourseManagementDTO dto); boolean deleteById(Long id); + + Boolean modifyStatus(CourseManagementDTO dto); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/CoursewareManagementService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/CoursewareManagementService.java index 69232894..7d431c79 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/CoursewareManagementService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/CoursewareManagementService.java @@ -21,4 +21,6 @@ public interface CoursewareManagementService extends IService + implements ClassCourseService { + + @Autowired + private ClassCourseConvertor classCourseConvertor; + + @Override + public IPage pageQuery(ClassCoursePageQuery query) { + return this.lambdaQuery() + .eq(ClassCourseDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .eq(query.getClassId() != null, ClassCourseDO::getClassId, query.getClassId()) + .like(StringUtils.hasText(query.getCourseName()), ClassCourseDO::getCourseName, query.getCourseName()) + .eq(query.getCourseId() != null, ClassCourseDO::getCourseId, query.getCourseId()) + .orderByDesc(ClassCourseDO::getCreateTime) + .page(new Page<>(query.getCurrent(), query.getSize())) + .convert(classCourseConvertor::convertEToVo); + } + + @Override + public ClassCourseVO getDetail(Long id) { + ClassCourseDO entity = this.lambdaQuery() + .eq(ClassCourseDO::getId, id) + .eq(ClassCourseDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .one(); + return classCourseConvertor.convertEToVo(entity); + } + + @Override + public boolean saveCourse(ClassCourseDTO dto) { + ClassCourseDO entity = classCourseConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyIgnoreOrgId(entity); + entity.setUpdateTime(LocalDateTime.now()); + return this.save(entity); + } + + @Override + public boolean updateCourse(ClassCourseDTO dto) { + ClassCourseDO entity = classCourseConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); + return this.updateById(entity); + } + + @Override + public boolean deleteById(Long id) { + return this.lambdaUpdate() + .set(ClassCourseDO::getDeleteEnum, DeleteEnum.TRUE.getCode()) + .set(ClassCourseDO::getUpdateTime, LocalDateTime.now()) + .eq(ClassCourseDO::getId, id) + .eq(ClassCourseDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .update(); + } +} 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 new file mode 100644 index 00000000..e7b13fe0 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassManagementServiceImpl.java @@ -0,0 +1,94 @@ +package org.qinan.cedu.service.impl; + +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.DeleteEnum; +import org.qinan.cedu.mapper.ClassManagementMapper; +import org.qinan.cedu.model.dto.ClassManagementDTO; +import org.qinan.cedu.model.entity.ClassManagementDO; +import org.qinan.cedu.model.query.ClassManagementPageQuery; +import org.qinan.cedu.model.vo.ClassManagementVO; +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.util.StringUtils; + +import java.time.LocalDateTime; + +/** + * 班级管理服务实现 + */ +@Service +public class ClassManagementServiceImpl extends ServiceImpl + implements ClassManagementService { + + @Autowired + private ClassManagementConvertor classManagementConvertor; + + @Override + public IPage pageQuery(ClassManagementPageQuery query) { + return this.lambdaQuery() + .eq(ClassManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .like(StringUtils.hasText(query.getClassCode()), ClassManagementDO::getClassCode, query.getClassCode()) + .like(StringUtils.hasText(query.getClassName()), ClassManagementDO::getClassName, query.getClassName()) + .eq(StringUtils.hasText(query.getTrainingType()), ClassManagementDO::getTrainingType, query.getTrainingType()) + .eq(query.getStatus() != null, ClassManagementDO::getStatus, query.getStatus()) + .ge(query.getStartDateBegin() != null, ClassManagementDO::getStartDate, query.getStartDateBegin()) + .le(query.getEndDateEnd() != null, ClassManagementDO::getEndDate, query.getEndDateEnd()) + .orderByDesc(ClassManagementDO::getCreateTime) + .page(new Page<>(query.getCurrent(), query.getSize())) + .convert(classManagementConvertor::convertEToVo); + } + + @Override + public ClassManagementVO getDetail(Long id) { + ClassManagementDO entity = this.lambdaQuery() + .eq(ClassManagementDO::getId, id) + .eq(ClassManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .one(); + return classManagementConvertor.convertEToVo(entity); + } + + @Override + public boolean saveClass(ClassManagementDTO dto) { + ClassManagementDO entity = classManagementConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyIgnoreOrgId(entity); + entity.setUpdateTime(LocalDateTime.now()); + if (entity.getStatus() == null) { + entity.setStatus(0); + } + if (entity.getOpenExam() == null) { + entity.setOpenExam(0); + } + if (entity.getExamFaceRecognition() == null) { + entity.setExamFaceRecognition(0); + } + if (entity.getFaceRecognition() == null) { + entity.setFaceRecognition(0); + } + if (entity.getShuffleQuestions() == null) { + entity.setShuffleQuestions(0); + } + return this.save(entity); + } + + @Override + public boolean updateClass(ClassManagementDTO dto) { + ClassManagementDO entity = classManagementConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); + return this.updateById(entity); + } + + @Override + public boolean deleteById(Long id) { + return this.lambdaUpdate() + .set(ClassManagementDO::getDeleteEnum, DeleteEnum.TRUE.getCode()) + .set(ClassManagementDO::getUpdateTime, LocalDateTime.now()) + .eq(ClassManagementDO::getId, id) + .eq(ClassManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .update(); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentExamRecordServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentExamRecordServiceImpl.java new file mode 100644 index 00000000..4bba76e5 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentExamRecordServiceImpl.java @@ -0,0 +1,82 @@ +package org.qinan.cedu.service.impl; + +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.ClassStudentExamRecordConvertor; +import org.qinan.cedu.enums.DeleteEnum; +import org.qinan.cedu.mapper.ClassStudentExamRecordMapper; +import org.qinan.cedu.model.dto.ClassStudentExamRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentExamRecordDO; +import org.qinan.cedu.model.query.ClassStudentExamRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentExamRecordVO; +import org.qinan.cedu.service.ClassStudentExamRecordService; +import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + +/** + * 学员考试记录服务实现 + */ +@Service +public class ClassStudentExamRecordServiceImpl extends ServiceImpl + implements ClassStudentExamRecordService { + + @Autowired + private ClassStudentExamRecordConvertor classStudentExamRecordConvertor; + + @Override + public IPage pageQuery(ClassStudentExamRecordPageQuery query) { + return this.lambdaQuery() + .eq(ClassStudentExamRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .eq(query.getClassId() != null, ClassStudentExamRecordDO::getClassId, query.getClassId()) + .eq(query.getStudentId() != null, ClassStudentExamRecordDO::getStudentId, query.getStudentId()) + .eq(query.getExamId() != null, ClassStudentExamRecordDO::getExamId, query.getExamId()) + .eq(query.getPassed() != null, ClassStudentExamRecordDO::getPassed, query.getPassed()) + .orderByDesc(ClassStudentExamRecordDO::getCreateTime) + .page(new Page<>(query.getCurrent(), query.getSize())) + .convert(classStudentExamRecordConvertor::convertEToVo); + } + + @Override + public ClassStudentExamRecordVO getDetail(Long id) { + ClassStudentExamRecordDO entity = this.lambdaQuery() + .eq(ClassStudentExamRecordDO::getId, id) + .eq(ClassStudentExamRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .one(); + return classStudentExamRecordConvertor.convertEToVo(entity); + } + + @Override + public boolean saveRecord(ClassStudentExamRecordDTO dto) { + ClassStudentExamRecordDO entity = classStudentExamRecordConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyIgnoreOrgId(entity); + entity.setUpdateTime(LocalDateTime.now()); + if (entity.getPassed() == null) { + entity.setPassed(0); + } + if (entity.getWrongCount() == null) { + entity.setWrongCount(0); + } + return this.save(entity); + } + + @Override + public boolean updateRecord(ClassStudentExamRecordDTO dto) { + ClassStudentExamRecordDO entity = classStudentExamRecordConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); + return this.updateById(entity); + } + + @Override + public boolean deleteById(Long id) { + return this.lambdaUpdate() + .set(ClassStudentExamRecordDO::getDeleteEnum, DeleteEnum.TRUE.getCode()) + .set(ClassStudentExamRecordDO::getUpdateTime, LocalDateTime.now()) + .eq(ClassStudentExamRecordDO::getId, id) + .eq(ClassStudentExamRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .update(); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentLearningRecordServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentLearningRecordServiceImpl.java new file mode 100644 index 00000000..8b00e79b --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentLearningRecordServiceImpl.java @@ -0,0 +1,79 @@ +package org.qinan.cedu.service.impl; + +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.ClassStudentLearningRecordConvertor; +import org.qinan.cedu.enums.DeleteEnum; +import org.qinan.cedu.mapper.ClassStudentLearningRecordMapper; +import org.qinan.cedu.model.dto.ClassStudentLearningRecordDTO; +import org.qinan.cedu.model.entity.ClassStudentLearningRecordDO; +import org.qinan.cedu.model.query.ClassStudentLearningRecordPageQuery; +import org.qinan.cedu.model.vo.ClassStudentLearningRecordVO; +import org.qinan.cedu.service.ClassStudentLearningRecordService; +import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + +/** + * 学员学习记录服务实现 + */ +@Service +public class ClassStudentLearningRecordServiceImpl extends ServiceImpl + implements ClassStudentLearningRecordService { + + @Autowired + private ClassStudentLearningRecordConvertor classStudentLearningRecordConvertor; + + @Override + public IPage pageQuery(ClassStudentLearningRecordPageQuery query) { + return this.lambdaQuery() + .eq(ClassStudentLearningRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .eq(query.getClassId() != null, ClassStudentLearningRecordDO::getClassId, query.getClassId()) + .eq(query.getStudentId() != null, ClassStudentLearningRecordDO::getStudentId, query.getStudentId()) + .eq(query.getCourseId() != null, ClassStudentLearningRecordDO::getCourseId, query.getCourseId()) + .eq(query.getStudyStatus() != null, ClassStudentLearningRecordDO::getStudyStatus, query.getStudyStatus()) + .orderByDesc(ClassStudentLearningRecordDO::getCreateTime) + .page(new Page<>(query.getCurrent(), query.getSize())) + .convert(classStudentLearningRecordConvertor::convertEToVo); + } + + @Override + public ClassStudentLearningRecordVO getDetail(Long id) { + ClassStudentLearningRecordDO entity = this.lambdaQuery() + .eq(ClassStudentLearningRecordDO::getId, id) + .eq(ClassStudentLearningRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .one(); + return classStudentLearningRecordConvertor.convertEToVo(entity); + } + + @Override + public boolean saveRecord(ClassStudentLearningRecordDTO dto) { + ClassStudentLearningRecordDO entity = classStudentLearningRecordConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyIgnoreOrgId(entity); + entity.setUpdateTime(LocalDateTime.now()); + if (entity.getStudyStatus() == null) { + entity.setStudyStatus(0); + } + return this.save(entity); + } + + @Override + public boolean updateRecord(ClassStudentLearningRecordDTO dto) { + ClassStudentLearningRecordDO entity = classStudentLearningRecordConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); + return this.updateById(entity); + } + + @Override + public boolean deleteById(Long id) { + return this.lambdaUpdate() + .set(ClassStudentLearningRecordDO::getDeleteEnum, DeleteEnum.TRUE.getCode()) + .set(ClassStudentLearningRecordDO::getUpdateTime, LocalDateTime.now()) + .eq(ClassStudentLearningRecordDO::getId, id) + .eq(ClassStudentLearningRecordDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .update(); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentServiceImpl.java new file mode 100644 index 00000000..66e6487a --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassStudentServiceImpl.java @@ -0,0 +1,91 @@ +package org.qinan.cedu.service.impl; + +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.ClassStudentConvertor; +import org.qinan.cedu.enums.DeleteEnum; +import org.qinan.cedu.mapper.ClassStudentMapper; +import org.qinan.cedu.model.dto.ClassStudentDTO; +import org.qinan.cedu.model.entity.ClassStudentDO; +import org.qinan.cedu.model.query.ClassStudentPageQuery; +import org.qinan.cedu.model.vo.ClassStudentVO; +import org.qinan.cedu.service.ClassStudentService; +import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 班级学员服务实现 + */ +@Service +public class ClassStudentServiceImpl extends ServiceImpl + implements ClassStudentService { + + @Autowired + private ClassStudentConvertor classStudentConvertor; + + @Override + public IPage pageQuery(ClassStudentPageQuery query) { + return this.lambdaQuery() + .eq(ClassStudentDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .eq(query.getClassId() != null, ClassStudentDO::getClassId, query.getClassId()) + .like(StringUtils.hasText(query.getStudentName()), ClassStudentDO::getStudentName, query.getStudentName()) + .like(StringUtils.hasText(query.getPhone()), ClassStudentDO::getPhone, query.getPhone()) + .eq(query.getStudyStatus() != null, ClassStudentDO::getStudyStatus, query.getStudyStatus()) + .eq(query.getExamStatus() != null, ClassStudentDO::getExamStatus, query.getExamStatus()) + .orderByDesc(ClassStudentDO::getCreateTime) + .page(new Page<>(query.getCurrent(), query.getSize())) + .convert(classStudentConvertor::convertEToVo); + } + + @Override + public ClassStudentVO getDetail(Long id) { + ClassStudentDO entity = this.lambdaQuery() + .eq(ClassStudentDO::getId, id) + .eq(ClassStudentDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .one(); + return classStudentConvertor.convertEToVo(entity); + } + + @Override + public boolean saveStudent(ClassStudentDTO dto) { + ClassStudentDO entity = classStudentConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyIgnoreOrgId(entity); + entity.setUpdateTime(LocalDateTime.now()); + if (entity.getFaceAuth() == null) { + entity.setFaceAuth(0); + } + if (entity.getCompletedHours() == null) { + entity.setCompletedHours(BigDecimal.ZERO); + } + if (entity.getStudyStatus() == null) { + entity.setStudyStatus(0); + } + if (entity.getExamStatus() == null) { + entity.setExamStatus(0); + } + return this.save(entity); + } + + @Override + public boolean updateStudent(ClassStudentDTO dto) { + ClassStudentDO entity = classStudentConvertor.convertDtoToE(dto); + InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); + return this.updateById(entity); + } + + @Override + public boolean deleteById(Long id) { + return this.lambdaUpdate() + .set(ClassStudentDO::getDeleteEnum, DeleteEnum.TRUE.getCode()) + .set(ClassStudentDO::getUpdateTime, LocalDateTime.now()) + .eq(ClassStudentDO::getId, id) + .eq(ClassStudentDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) + .update(); + } +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java index daefa50f..ac5e4a6f 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java @@ -128,4 +128,14 @@ public class CourseManagementServiceImpl extends ServiceImpl