Quellcode durchsuchen

考生端查询课程

yangfeng vor 1 Jahr
Ursprung
Commit
0a4fd3a659

+ 21 - 0
web/src/main/java/com/ynfy/buss/course/course/controller/CourseController.java

@@ -151,4 +151,25 @@ public class CourseController extends JeecgController<Course, ICourseService> {
         return super.importExcel(request, response, Course.class);
     }
 
+
+    /**
+     * 课程在线学习
+     *
+     * @param pageNo
+     * @param pageSize
+     * @return
+     */
+    @AutoLog(value = "课程在线学习")
+    @ApiOperation(value = "课程在线学习", notes = "课程在线学习")
+    @RequestMapping(value = "/study", method = RequestMethod.GET)
+    public Result<IPage<Course>> study(Course course, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Result<IPage<Course>> result = new Result<>();
+        Page<Course> page = new Page<>(pageNo, pageSize);
+        IPage<Course> pageList = courseService.selectCourseList(page, course);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
 }

+ 5 - 0
web/src/main/java/com/ynfy/buss/course/course/mapper/CourseMapper.java

@@ -1,7 +1,10 @@
 package com.ynfy.buss.course.course.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ynfy.buss.course.course.entity.Course;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.common.system.vo.LoginUser;
 
 /**
  * @Description: course
@@ -11,4 +14,6 @@ import com.ynfy.buss.course.course.entity.Course;
  */
 public interface CourseMapper extends BaseMapper<Course> {
 
+    IPage<Course> selectCourseList(IPage<Course> page, @Param("course") Course course, @Param("user") LoginUser user);
+
 }

+ 38 - 1
web/src/main/java/com/ynfy/buss/course/course/mapper/xml/CourseMapper.xml

@@ -1,5 +1,42 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ynfy.buss.course.course.mapper.CourseMapper">
-
+    <select id="selectCourseList"  resultType="com.ynfy.buss.course.course.entity.Course">
+        SELECT
+                tmp1.*
+        FROM
+        (
+            SELECT
+                *
+            FROM course
+            WHERE
+                open_type = 1
+        <choose>
+            <when test="user.orgCode!=null and user.orgCode!=''">
+            UNION
+                SELECT
+                    *
+                FROM course
+                WHERE
+                    open_type = 2
+                    AND learner like concat('%', #{user.orgCode}, '%')
+            </when>
+        </choose>
+            UNION
+            SELECT
+                *
+            FROM course
+            WHERE
+                open_type = 3
+                AND learner like concat('%', #{user.username}, '%')
+        ) tmp1
+        <where>
+            <if test="course.name!=null and course.name!=''">
+                AND tmp1.name like concat('%', #{course.name}, '%')
+            </if>
+            <if test="course.openType!=null">
+                AND tmp1.open_type = #{course.openType}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 4 - 1
web/src/main/java/com/ynfy/buss/course/course/service/ICourseService.java

@@ -1,15 +1,18 @@
 package com.ynfy.buss.course.course.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ynfy.buss.course.course.entity.Course;
 
 /**
  * @Description: course
  * @Author: jeecg-boot
- * @Date:   2023-10-24
+ * @Date: 2023-10-24
  * @Version: V1.0
  */
 public interface ICourseService extends IService<Course> {
 
     void saveCourse(Course course);
+
+    IPage<Course> selectCourseList(IPage<Course> page, Course course);
 }

+ 32 - 0
web/src/main/java/com/ynfy/buss/course/course/service/impl/CourseServiceImpl.java

@@ -1,14 +1,22 @@
 package com.ynfy.buss.course.course.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ynfy.buss.course.course.entity.Course;
 import com.ynfy.buss.course.course.mapper.CourseMapper;
 import com.ynfy.buss.course.course.service.ICourseService;
 import com.ynfy.buss.course.coursecatalog.service.ICourseCatalogService;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.service.ISysDepartService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Objects;
+
 /**
  * @Description: course
  * @Author: jeecg-boot
@@ -21,6 +29,12 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     @Autowired
     private ICourseCatalogService courseCatalogService;
 
+    @Autowired
+    private CourseMapper courseMapper;
+
+    @Autowired
+    private ISysDepartService sysDepartService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveCourse(Course course) {
@@ -28,4 +42,22 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         // 保存题目答案选项
         courseCatalogService.saveAll(course.getId(), course.getCatalogList());
     }
+
+    /**
+     * 分页查询
+     */
+    @Override
+    public IPage<Course> selectCourseList(IPage<Course> page, Course course) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (StringUtils.isNotBlank(course.getName())) {
+            course.setName(course.getName().replace("*", ""));
+        }
+        if (StringUtils.isNotBlank(user.getOrgCode())) {
+            SysDepart depart = sysDepartService.queryByOrgCode(user.getOrgCode());
+            if (!Objects.isNull(depart)) {
+                user.setOrgCode(depart.getId());
+            }
+        }
+        return courseMapper.selectCourseList(page, course, user);
+    }
 }