3 커밋 561035fae8 ... d879fe9771

작성자 SHA1 메시지 날짜
  EmmaBaBa d879fe9771 df 5 달 전
  EmmaBaBa 3474bfe776 Merge branch 'master' of http://121.37.47.26:3000/lizx/AI_Backend_Serve 5 달 전
  EmmaBaBa 3f7e8c77ff df 5 달 전

+ 37 - 0
.gitignore

@@ -0,0 +1,37 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
+
+*.log
+*.gz
+*.tmp
+
+package-lock.json

+ 16 - 0
education-api/src/main/java/com/education/api/controller/student/CourseInfoController.java

@@ -10,6 +10,7 @@ import com.education.model.entity.CourseSection;
 import com.education.model.entity.CourseSectionNode;
 import com.education.model.request.PageParam;
 import com.education.model.vo.CourseSectionVo;
+import org.apache.catalina.manager.util.SessionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -47,6 +48,21 @@ public class CourseInfoController extends BaseController {
     }
 
 
+    //选课列表
+    @GetMapping("/list")
+    public Result selectList(PageParam pageParam, CourseInfo info) {
+        return Result.success(courseInfoService.selectList(pageParam, info.getSubjectId(),info.getStatus()));
+    }
+
+
+
+    //我的课程列表
+    @GetMapping("/mylist")
+    public Result myCourseList() {
+        return Result.success(courseInfoService.myCourseList());
+    }
+
+
     @GetMapping("/{courseId}/section")
     //@RequiresPermissions("system:section:list")
     public Result section(@PathVariable Integer courseId) {

+ 7 - 0
education-business/src/main/java/com/education/business/mapper/education/CourseInfoMapper.java

@@ -6,6 +6,8 @@ import com.education.model.dto.CourseInfoDto;
 import com.education.model.entity.CourseInfo;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.List;
+
 /**
  * @author zengjintao
  * @version 1.0
@@ -57,4 +59,9 @@ public interface CourseInfoMapper extends BaseMapper<CourseInfo> {
     void increaseCommentNumber(Integer courseId);
 
 
+    //我的课程列表
+    List<CourseInfoDto> myCourseList(Integer userId);
+
+    //根据科目查找课程列表,包含登录用户是否已经选择; 用在选课
+    Page<CourseInfoDto> selectListBySubjectId(Page<CourseInfoDto> page, Integer subjectId, Integer status,int userId);
 }

+ 26 - 0
education-business/src/main/java/com/education/business/service/education/CourseInfoService.java

@@ -2,10 +2,13 @@ package com.education.business.service.education;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.education.auth.AuthUtil;
+import com.education.auth.session.UserSession;
 import com.education.business.mapper.education.CourseInfoMapper;
 import com.education.business.service.BaseService;
 import com.education.common.constants.EnumConstants;
 import com.education.common.constants.LockKey;
+import com.education.common.enums.LoginEnum;
 import com.education.common.exception.BusinessException;
 import com.education.common.model.PageInfo;
 import com.education.common.utils.ResultCode;
@@ -142,4 +145,27 @@ public class CourseInfoService extends BaseService<CourseInfoMapper, CourseInfo>
             throw new BusinessException("课程已上架,无法删除");
         }
     }
+
+    public List<CourseInfoDto> myCourseList() {
+
+        UserSession userSession = AuthUtil.getSession(LoginEnum.STUDENT.getValue());
+        List<CourseInfoDto> list = baseMapper.myCourseList(userSession.getId().intValue());
+        return list;
+    }
+
+    public PageInfo<CourseInfoDto>  selectList(PageParam pageParam, Integer subjectId,Integer status) {
+        UserSession userSession = AuthUtil.getSession(LoginEnum.STUDENT.getValue());
+        Page<CourseInfoDto> page = new Page<>(pageParam.getPageNumber(), pageParam.getPageSize());
+        Page<CourseInfoDto> resultPage = baseMapper.selectListBySubjectId(page, subjectId, status,userSession.getId().intValue());
+        List<CourseInfoDto> list = resultPage.getRecords();
+        list.forEach(item -> {
+            Integer studentId = item.getStudentId();
+            if (studentId == null) {
+                item.setCollectFlag(ResultCode.FAIL);
+            } else {
+                item.setCollectFlag(ResultCode.SUCCESS);
+            }
+        });
+        return selectPage(resultPage);
+    }
 }

+ 17 - 4
education-business/src/main/resources/mapper/education/CourseInfoMapper.xml

@@ -4,15 +4,13 @@
 
     <select id="selectPageList" resultType="com.education.model.dto.CourseInfoDto">
         SELECT
-            course.*,
+            distinct course.*,
             subject.name subject_name,
-            grade.name gradeInfoName,
-            collect.student_id
+            grade.name gradeInfoName
         FROM
            course_info course
         LEFT JOIN subject_info subject ON course.subject_id = subject.id
         LEFT JOIN grade_info grade ON course.grade_info_id = grade.id
-        LEFT JOIN student_course_collect collect ON course.id = collect.course_id
        <where>
            <if test="courseInfo.name != null and courseInfo.name != ''">
                <bind name="name" value="'%' + courseInfo.name + '%'"/>
@@ -37,4 +35,19 @@
        </where>
        order by course.sort desc
     </select>
+
+    <select id="myCourseList" resultType="com.education.model.dto.CourseInfoDto">
+        SELECT  distinct  course_info.*,student_course_collect.student_id
+        FROM course_info,student_course_collect
+        WHERE  course_info.id = student_course_collect.course_id
+        AND student_course_collect.student_id =  #{userId}
+    </select>
+
+    <select id="selectListBySubjectId" resultType="com.education.model.dto.CourseInfoDto">
+        SELECT  distinct  course_info.*,collect.student_id
+        FROM course_info
+            LEFT JOIN (select * from student_course_collect where student_id=#{userId}) as collect
+        ON course_info.id = collect.course_id
+        WHERE  course_info.subject_id =  #{subjectId}
+    </select>
 </mapper>