Sfoglia il codice sorgente

拆分管理端学生端的课程数据查询,学生端默认查询合并全部(通用)类型数据

liyanbo 1 mese fa
parent
commit
ab0449aab5

+ 1 - 8
byzs-course/src/main/java/cn/iocoder/byzs/module/bjdx/dal/mysql/coursetype/CourseTypeMapper.java

@@ -33,16 +33,9 @@ public interface CourseTypeMapper extends BaseMapperX<CourseTypeDO> {
 
 
     private static LambdaQueryWrapperX<CourseTypeDO> getCourseTypeDOLambdaQueryWrapperX(CourseTypeListReqVO reqVO) {
     private static LambdaQueryWrapperX<CourseTypeDO> getCourseTypeDOLambdaQueryWrapperX(CourseTypeListReqVO reqVO) {
         LambdaQueryWrapperX<CourseTypeDO> queryWrapper = new LambdaQueryWrapperX<CourseTypeDO>()
         LambdaQueryWrapperX<CourseTypeDO> queryWrapper = new LambdaQueryWrapperX<CourseTypeDO>()
+                .eqIfPresent(CourseTypeDO::getCtParentId, reqVO.getCtParentId())
                 .likeIfPresent(CourseTypeDO::getCtType, reqVO.getCtType());
                 .likeIfPresent(CourseTypeDO::getCtType, reqVO.getCtType());
 
 
-        if (reqVO.getCtParentId() != null) {
-            queryWrapper.and(wrapper -> wrapper
-                .eq(CourseTypeDO::getCtParentId, reqVO.getCtParentId())
-                .or()
-                .eq(CourseTypeDO::getCtParentId, "-1")
-            );
-        }
-
         // 处理getCtTypeNode的特殊条件:不为空且不等于0时,同时查询该值和0
         // 处理getCtTypeNode的特殊条件:不为空且不等于0时,同时查询该值和0
         Object ctTypeNode = reqVO.getCtTypeNode();
         Object ctTypeNode = reqVO.getCtTypeNode();
         if (ctTypeNode != null && !ctTypeNode.toString().equals("0")) {
         if (ctTypeNode != null && !ctTypeNode.toString().equals("0")) {

+ 1 - 1
byzs-course/src/main/resources/mapper/course/CourseMapper.xml

@@ -29,7 +29,7 @@
                 AND c.course_is_inspect = #{courseIsInspect}
                 AND c.course_is_inspect = #{courseIsInspect}
             </if>
             </if>
             <if test="ctTypeNode!= null and ctTypeNode!= ''">
             <if test="ctTypeNode!= null and ctTypeNode!= ''">
-                AND (ct.ct_type_node = #{ctTypeNode} OR ct.ct_type_node = '-1')
+                AND (ct.ct_type_node = #{ctTypeNode})
             </if>
             </if>
         </where>
         </where>
         ORDER BY ct.ct_type_sort, c.course_order
         ORDER BY ct.ct_type_sort, c.course_order

+ 34 - 32
byzs-web/src/main/java/cn/iocoder/byzs/module/web/controller/admin/course/WebCourseController.java

@@ -1,29 +1,29 @@
 package cn.iocoder.byzs.module.web.controller.admin.course;
 package cn.iocoder.byzs.module.web.controller.admin.course;
 
 
 import cn.iocoder.byzs.framework.common.pojo.CommonResult;
 import cn.iocoder.byzs.framework.common.pojo.CommonResult;
-import cn.iocoder.byzs.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.byzs.framework.common.util.object.BeanUtils;
 import cn.iocoder.byzs.module.bjdx.controller.admin.course.vo.CoursePageReqVO;
 import cn.iocoder.byzs.module.bjdx.controller.admin.course.vo.CoursePageReqVO;
 import cn.iocoder.byzs.module.bjdx.controller.admin.coursetype.vo.CourseTypeListReqVO;
 import cn.iocoder.byzs.module.bjdx.controller.admin.coursetype.vo.CourseTypeListReqVO;
 import cn.iocoder.byzs.module.bjdx.controller.admin.coursetype.vo.CourseTypeRespVO;
 import cn.iocoder.byzs.module.bjdx.controller.admin.coursetype.vo.CourseTypeRespVO;
 import cn.iocoder.byzs.module.bjdx.dal.dataobject.coursetype.CourseTypeDO;
 import cn.iocoder.byzs.module.bjdx.dal.dataobject.coursetype.CourseTypeDO;
-import cn.iocoder.byzs.module.bjdx.service.coursetype.CourseTypeService;
+import cn.iocoder.byzs.module.bjdx.service.course.CourseService;
+import cn.iocoder.byzs.module.bjdx.service.coursetype.CourseTypeServiceImpl;
 import cn.iocoder.byzs.module.web.controller.admin.course.vo.WebCourseAIGenerateVO;
 import cn.iocoder.byzs.module.web.controller.admin.course.vo.WebCourseAIGenerateVO;
 import cn.iocoder.byzs.module.web.controller.admin.course.vo.WebCourseVO;
 import cn.iocoder.byzs.module.web.controller.admin.course.vo.WebCourseVO;
 import cn.iocoder.byzs.module.web.service.course.WebCourseServiceImpl;
 import cn.iocoder.byzs.module.web.service.course.WebCourseServiceImpl;
-import jakarta.annotation.security.PermitAll;
-import lombok.Data;
-import org.springframework.web.bind.annotation.*;
+import cn.iocoder.byzs.module.web.service.course.WebCourseTypeServiceImpl;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
+import lombok.Data;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Operation;
-
-import java.util.*;
-
-import cn.iocoder.byzs.framework.common.util.object.BeanUtils;
+import org.springframework.web.bind.annotation.*;
 
 
-import cn.iocoder.byzs.module.bjdx.service.course.CourseService;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 import static cn.iocoder.byzs.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.byzs.framework.common.pojo.CommonResult.success;
 
 
@@ -38,7 +38,9 @@ public class WebCourseController {
     @Resource
     @Resource
     private WebCourseServiceImpl webCourseService;
     private WebCourseServiceImpl webCourseService;
     @Resource
     @Resource
-    private CourseTypeService courseTypeService;
+    private CourseTypeServiceImpl courseTypeService;
+    @Resource
+    private WebCourseTypeServiceImpl webCourseTypeService;
 
 
     @GetMapping("/getTypeGrade")
     @GetMapping("/getTypeGrade")
     @Operation(summary = "获得大纲-根据年级")
     @Operation(summary = "获得大纲-根据年级")
@@ -53,28 +55,28 @@ public class WebCourseController {
     @Operation(summary = "获得课程大纲-根据年级、课程类型")
     @Operation(summary = "获得课程大纲-根据年级、课程类型")
     public CommonResult<List<CourseTypeRespVO>> getTypeByGradeIdType(@RequestParam("id") Integer gradeId, @RequestParam("typeId") String typeId) {
     public CommonResult<List<CourseTypeRespVO>> getTypeByGradeIdType(@RequestParam("id") Integer gradeId, @RequestParam("typeId") String typeId) {
         CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(gradeId).setCtTypeNode(typeId);
         CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(gradeId).setCtTypeNode(typeId);
-        List<CourseTypeDO> list = courseTypeService.getCourseTypeList(listReqVO);
+        List<CourseTypeDO> list = webCourseTypeService.selectCourseTypeList(listReqVO);
         List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
         List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
         return success(listVo);
         return success(listVo);
     }
     }
 
 
-    @GetMapping("/getTypeTsByGradeId")
-    @Operation(summary = "获得通识课大纲-根据年级")
-    public CommonResult<List<CourseTypeRespVO>> getTypeTsByGradeId(@RequestParam("id") Integer id) {
-        CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(id).setCtTypeNode("1");
-        List<CourseTypeDO> list = courseTypeService.getCourseTypeList(listReqVO);
-        List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
-        return success(listVo);
-    }
-
-    @GetMapping("/getTypeScByGradeId")
-    @Operation(summary = "获得实操课大纲-根据年级")
-    public CommonResult<List<CourseTypeRespVO>> getTypeScByGradeId(@RequestParam("id") Integer id) {
-        CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(id).setCtTypeNode("2");
-        List<CourseTypeDO> list = courseTypeService.getCourseTypeList(listReqVO);
-        List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
-        return success(listVo);
-    }
+//    @GetMapping("/getTypeTsByGradeId")
+//    @Operation(summary = "获得通识课大纲-根据年级")
+//    public CommonResult<List<CourseTypeRespVO>> getTypeTsByGradeId(@RequestParam("id") Integer id) {
+//        CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(id).setCtTypeNode("1");
+//        List<CourseTypeDO> list = webCourseTypeService.selectCourseTypeList(listReqVO);
+//        List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
+//        return success(listVo);
+//    }
+//
+//    @GetMapping("/getTypeScByGradeId")
+//    @Operation(summary = "获得实操课大纲-根据年级")
+//    public CommonResult<List<CourseTypeRespVO>> getTypeScByGradeId(@RequestParam("id") Integer id) {
+//        CourseTypeListReqVO listReqVO = new CourseTypeListReqVO().setCtParentId(id).setCtTypeNode("2");
+//        List<CourseTypeDO> list = webCourseTypeService.selectCourseTypeList(listReqVO);
+//        List<CourseTypeRespVO> listVo = BeanUtils.toBean(list, CourseTypeRespVO.class);
+//        return success(listVo);
+//    }
 
 
     @GetMapping("/getCourseByTypeId")
     @GetMapping("/getCourseByTypeId")
     @Operation(summary = "根据大纲类型获得课程列表")
     @Operation(summary = "根据大纲类型获得课程列表")

+ 35 - 0
byzs-web/src/main/java/cn/iocoder/byzs/module/web/service/course/WebCourseTypeServiceImpl.java

@@ -0,0 +1,35 @@
+package cn.iocoder.byzs.module.web.service.course;
+
+import cn.iocoder.byzs.module.bjdx.controller.admin.coursetype.vo.CourseTypeListReqVO;
+import cn.iocoder.byzs.module.bjdx.dal.dataobject.coursetype.CourseTypeDO;
+import cn.iocoder.byzs.module.bjdx.service.coursetype.CourseTypeService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.List;
+
+/**
+ * web课程类型 Service 实现类
+ *
+ * @author lyb
+ */
+@Service
+@Validated
+public class WebCourseTypeServiceImpl {
+
+    @Resource
+    private CourseTypeService courseTypeService;
+
+    public List<CourseTypeDO> selectCourseTypeList(CourseTypeListReqVO reqVO) {
+        List<CourseTypeDO> list = courseTypeService.getCourseTypeList(reqVO);
+        if(reqVO.getCtParentId() != null){
+            reqVO.setCtParentId(-1);
+        }
+        List<CourseTypeDO> listAll = courseTypeService.getCourseTypeList(reqVO);
+        list.addAll(listAll);
+        return list;
+    }
+
+
+}

+ 4 - 0
byzs-web/src/main/java/cn/iocoder/byzs/module/web/service/reportprogress/WebReportProgressServiceImpl.java

@@ -94,6 +94,10 @@ public class WebReportProgressServiceImpl {
         //年级下的课程列表
         //年级下的课程列表
         Map<String, List<Map<String, Integer>>> courseAllMap = new HashMap<>();
         Map<String, List<Map<String, Integer>>> courseAllMap = new HashMap<>();
         List<CourseTypeDO> courseTypeDOS = courseTypeMapper.selectList(new CourseTypeListReqVO().setCtParentId(Math.toIntExact(progress.getBrpNjId())).setCtTypeNode("1"));
         List<CourseTypeDO> courseTypeDOS = courseTypeMapper.selectList(new CourseTypeListReqVO().setCtParentId(Math.toIntExact(progress.getBrpNjId())).setCtTypeNode("1"));
+        //评分系统内暂不合并全部(通用数据)
+//        List<CourseTypeDO> courseTypeDOAlls = courseTypeMapper.selectList(new CourseTypeListReqVO().setCtParentId(Math.toIntExact(progress.getBrpNjId())).setCtTypeNode("-1"));
+//        courseTypeDOS.addAll(courseTypeDOAlls);
+
         courseTypeDOS.forEach(courseTypeDO -> {
         courseTypeDOS.forEach(courseTypeDO -> {
             List<WebCourseVO> courseVoList = webCourseService.getCourseVoByTypeId(courseTypeDO.getId());
             List<WebCourseVO> courseVoList = webCourseService.getCourseVoByTypeId(courseTypeDO.getId());
             List<Map<String, Integer>> courseCountMapList = new ArrayList<>();
             List<Map<String, Integer>> courseCountMapList = new ArrayList<>();