From 47789ea2e2839a06e4840151a867cc363212418d Mon Sep 17 00:00:00 2001 From: Vinjor Date: Mon, 10 Feb 2025 09:34:01 +0800 Subject: [PATCH] 1 --- .../controller/admin/DataViewController.java | 38 +++++++++++++++++++ .../module/base/service/DataViewService.java | 20 ++++++++++ .../service/impl/DataViewServiceImpl.java | 37 ++++++++++++++++++ .../yudao/module/base/vo/StudentInfoVO.java | 10 +++++ .../module/course/mapper/ProcessMapper.java | 9 +++++ .../module/course/service/ProcessService.java | 10 +++++ .../service/impl/ProcessServiceImpl.java | 14 +++++++ .../controller/admin/ExamBatchController.java | 3 +- .../service/impl/ExamBatchServiceImpl.java | 4 ++ .../resources/mapper/course/ProcessMapper.xml | 7 ++++ .../resources/mapper/exam/ExamBatchMapper.xml | 2 +- 11 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DataViewController.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DataViewService.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/StudentInfoVO.java diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DataViewController.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DataViewController.java new file mode 100644 index 00000000..2f6df456 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DataViewController.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.base.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.base.service.DataViewService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 数据查询统一方法") +@RestController +@RequestMapping("/base/dataView") +@Validated +public class DataViewController { + + @Autowired + private DataViewService dataViewService; + + /** + * 查询学员详情 + * @author vinjor-M + * @date 14:32 2025/2/8 + * @param id 学员id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @GetMapping("/getStudentInfo") + @Operation(summary = "查询学员详情") + public CommonResult selectStudentInfo(@RequestParam("id") Long id) { + return success(dataViewService.selectStudentInfo(id)); + } + +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DataViewService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DataViewService.java new file mode 100644 index 00000000..7dc172de --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DataViewService.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.base.service; + +import cn.iocoder.yudao.module.base.vo.StudentInfoVO; + +/** + * 数据查询统一方法 + * + */ +public interface DataViewService { + + /** + * 查询学员详情 + * @author vinjor-M + * @date 14:37 2025/2/8 + * @param id 学生id + * @return cn.iocoder.yudao.module.base.vo.StudentInfoVO + **/ + StudentInfoVO selectStudentInfo(Long id); + +} \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java new file mode 100644 index 00000000..f81efada --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.base.service.impl; + +import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent; +import cn.iocoder.yudao.module.base.service.DataViewService; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService; +import cn.iocoder.yudao.module.base.vo.StudentInfoVO; +import cn.iocoder.yudao.module.course.entity.Process; +import cn.iocoder.yudao.module.course.service.ProcessService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +@Service +@Validated +public class DataViewServiceImpl implements DataViewService { + @Autowired + private DlDriveSchoolStudentService studentService; + @Autowired + private ProcessService processService; + + /** + * 查询学员详情 + * + * @param id 学生id + * @return cn.iocoder.yudao.module.base.vo.StudentInfoVO + * @author vinjor-M + * @date 14:37 2025/2/8 + **/ + @Override + public StudentInfoVO selectStudentInfo(Long id) { + //学员主信息 + DlDriveSchoolStudent student = studentService.getStudentByUserId(id); + //当前学习进度 + Process process = processService.selectByUserId(id); + return null; + } +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/StudentInfoVO.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/StudentInfoVO.java new file mode 100644 index 00000000..57afdf2a --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/StudentInfoVO.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.base.vo; + +import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent; +import lombok.Data; + +@Data +public class StudentInfoVO { + /**学生基本信息*/ + private DlDriveSchoolStudent studentInfo; +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/mapper/ProcessMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/mapper/ProcessMapper.java index fd9d8a29..fbc49ad2 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/mapper/ProcessMapper.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/mapper/ProcessMapper.java @@ -45,4 +45,13 @@ public interface ProcessMapper extends BaseMapper { @Param("examScore")Double examScore, @Param("images")String images, @Param("examTime")String examTime); + + /** + * 查用户最新的一条且科目最大的一条学习记录 + * @author vinjor-M + * @date 15:58 2025/2/8 + * @param userId 用户id + * @return cn.iocoder.yudao.module.course.entity.Process + **/ + Process selectNewMaxByUserId(@Param("userId") Long userId); } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/ProcessService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/ProcessService.java index 9a15c649..c536267b 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/ProcessService.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/ProcessService.java @@ -41,4 +41,14 @@ public interface ProcessService extends IService { * @return cn.iocoder.yudao.module.course.entity.Process **/ Process getByStudentAndCourse(Long userId,String courseId,Integer subject,Long coachId,String examStatus); + + /** + * 查学生当下正在学习中的学习进度 + * @author vinjor-M + * @date 16:39 2025/2/8 + * @param userId TODO + * @return cn.iocoder.yudao.module.course.entity.Process + **/ + Process selectByUserId(Long userId); + } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java index 89a61148..59a52026 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java @@ -99,4 +99,18 @@ public class ProcessServiceImpl extends ServiceImpl impl return processList.isEmpty()?null:processList.get(0); } + /** + * 查学生当下正在学习中的学习进度 + * + * @param userId TODO + * @return cn.iocoder.yudao.module.course.entity.Process + * @author vinjor-M + * @date 15:18 2025/2/8 + **/ + @Override + public Process selectByUserId(Long userId) { + + return null; + } + } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/controller/admin/ExamBatchController.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/controller/admin/ExamBatchController.java index 229c6cf0..a63c82d2 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/controller/admin/ExamBatchController.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/controller/admin/ExamBatchController.java @@ -43,8 +43,7 @@ public class ExamBatchController { @GetMapping("/getById") @Operation(summary = "查某一批次详情") public CommonResult getById(String id) { - examBatchService.selectOneById(id); - return success(true); + return success(examBatchService.selectOneById(id)); } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/service/impl/ExamBatchServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/service/impl/ExamBatchServiceImpl.java index 8c3b4aa8..bee1d32c 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/service/impl/ExamBatchServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/exam/service/impl/ExamBatchServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.exam.service.impl; import cn.hutool.core.date.DateUtil; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.course.mapper.ProcessMapper; import cn.iocoder.yudao.module.exam.entity.ExamBatch; import cn.iocoder.yudao.module.exam.entity.ExamBatchItem; @@ -47,6 +48,9 @@ public class ExamBatchServiceImpl extends ServiceImpl queryListPage(ExamBatchVO pageReqVO, Page page) { + //教练ID + Long userId = SecurityFrameworkUtils.getLoginUserId(); + pageReqVO.setCoachId(userId); IPage rtnList = examBatchMapper.queryListPage(pageReqVO, page); return rtnList; } diff --git a/dl-module-jx/src/main/resources/mapper/course/ProcessMapper.xml b/dl-module-jx/src/main/resources/mapper/course/ProcessMapper.xml index 540a8ecd..ad82d303 100644 --- a/dl-module-jx/src/main/resources/mapper/course/ProcessMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/course/ProcessMapper.xml @@ -21,4 +21,11 @@ + diff --git a/dl-module-jx/src/main/resources/mapper/exam/ExamBatchMapper.xml b/dl-module-jx/src/main/resources/mapper/exam/ExamBatchMapper.xml index f8feec9d..8e1a9017 100644 --- a/dl-module-jx/src/main/resources/mapper/exam/ExamBatchMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/exam/ExamBatchMapper.xml @@ -19,6 +19,6 @@ and dseb.subject =#{entity.subject} - ORDER BY dseb.create_time + ORDER BY dseb.create_time DESC