Browse Source

增加根据课程资源id查找

menduo 5 years ago
parent
commit
892be10a8d

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/CourseResourceService.java

@@ -13,4 +13,6 @@ import java.util.List;
 public interface CourseResourceService {
 public interface CourseResourceService {
 
 
     List<CourseResource> getCourseResourceById(List<Long> courseId);
     List<CourseResource> getCourseResourceById(List<Long> courseId);
+
+    CourseResource getCourseResourceByResourceId(long courseResourceId);
 }
 }

+ 5 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/CourseResourceServiceImpl.java

@@ -22,4 +22,9 @@ public class CourseResourceServiceImpl implements CourseResourceService {
     public List<CourseResource> getCourseResourceById(List<Long> courseIds) {
     public List<CourseResource> getCourseResourceById(List<Long> courseIds) {
         return courseResourceDao.findAllByIdIn(courseIds);
         return courseResourceDao.findAllByIdIn(courseIds);
     }
     }
+
+    @Override
+    public CourseResource getCourseResourceByResourceId(long courseResourceId) {
+        return courseResourceDao.findById(courseResourceId).orElse(null);
+    }
 }
 }

+ 12 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/ThemeController.java

@@ -164,4 +164,16 @@ public class ThemeController extends BaseSearchController {
         }
         }
         return new ResponseVO<>(ServerCode.SUCCESS, themeVO);
         return new ResponseVO<>(ServerCode.SUCCESS, themeVO);
     }
     }
+
+
+    @GetMapping(value = UrlConstants.API + "course/resource/{resourceId}")
+    public ResponseVO<CourseResourceVO> resource(@PathVariable("resourceId")Long resourceId) {
+        CourseResourceVO courseResourceVO = themeLogic.getCourseResourceById(resourceId);
+        Long userId = (Long) SecurityUtils.getSubject().getSession().getAttribute("userId");
+        log.info("访问resource:{},用户为:{}",resourceId ,userId);
+        if(courseResourceVO == null) {
+            return new ResponseVO<>(ServerCode.ENTITY_NOT_A_COURSE_RESOURCE, null);
+        }
+        return new ResponseVO<>(ServerCode.SUCCESS, courseResourceVO);
+    }
 }
 }

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/response/ServerCode.java

@@ -10,6 +10,7 @@ public enum ServerCode {
     //通用错误状态码,30000-39999
     //通用错误状态码,30000-39999
     PARAM_WRONG(30000,"参数错误"),
     PARAM_WRONG(30000,"参数错误"),
     ENTITY_NOT_A_COURSE(30001, "找不到该课程相关信息"),
     ENTITY_NOT_A_COURSE(30001, "找不到该课程相关信息"),
+    ENTITY_NOT_A_COURSE_RESOURCE(30002, "找不到该课程资源相关信息"),
 
 
     //考试相关状态码: 40000-49999
     //考试相关状态码: 40000-49999
     EXAM_ENDED(40000,"考试已结束"),
     EXAM_ENDED(40000,"考试已结束"),

+ 3 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/CourseResourceVOWrapper.java

@@ -16,6 +16,9 @@ import org.springframework.stereotype.Service;
 public class CourseResourceVOWrapper {
 public class CourseResourceVOWrapper {
 
 
     public CourseResourceVO wrap(CourseResource courseResource) {
     public CourseResourceVO wrap(CourseResource courseResource) {
+        if(courseResource == null) {
+            return null;
+        }
         CourseResourceVO courseResourceVO = new CourseResourceVO();
         CourseResourceVO courseResourceVO = new CourseResourceVO();
         courseResourceVO.setId(courseResource.getId());
         courseResourceVO.setId(courseResource.getId());
         courseResourceVO.setTitle(courseResource.getTitle());
         courseResourceVO.setTitle(courseResource.getTitle());

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/ThemeLogic.java

@@ -45,4 +45,6 @@ public interface ThemeLogic{
 
 
     void buyTheme(long userId,long themeId);
     void buyTheme(long userId,long themeId);
 
 
+    CourseResourceVO getCourseResourceById(long resourceId);
+
 }
 }

+ 9 - 4
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/ThemeLogicImpl.java

@@ -5,10 +5,7 @@ import cn.iselab.mooctest.site.models.*;
 import cn.iselab.mooctest.site.service.*;
 import cn.iselab.mooctest.site.service.*;
 import cn.iselab.mooctest.site.service.common.PdfService;
 import cn.iselab.mooctest.site.service.common.PdfService;
 import cn.iselab.mooctest.site.web.data.*;
 import cn.iselab.mooctest.site.web.data.*;
-import cn.iselab.mooctest.site.web.data.wrapper.CaseExtendsVOWrapper;
-import cn.iselab.mooctest.site.web.data.wrapper.ExamVOWrapper;
-import cn.iselab.mooctest.site.web.data.wrapper.PaperVOWrapper;
-import cn.iselab.mooctest.site.web.data.wrapper.ThemeVOWrapper;
+import cn.iselab.mooctest.site.web.data.wrapper.*;
 import cn.iselab.mooctest.site.web.logic.OSSLogic;
 import cn.iselab.mooctest.site.web.logic.OSSLogic;
 import cn.iselab.mooctest.site.web.logic.ThemeLogic;
 import cn.iselab.mooctest.site.web.logic.ThemeLogic;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
@@ -60,6 +57,8 @@ public class ThemeLogicImpl implements ThemeLogic {
     private OSSLogic ossLogic;
     private OSSLogic ossLogic;
     @Autowired
     @Autowired
     private CourseResourceService courseResourceService;
     private CourseResourceService courseResourceService;
+    @Autowired
+    private CourseResourceVOWrapper courseResourceVOWrapper;
 
 
     private static final String BASE_DIR = "theme";
     private static final String BASE_DIR = "theme";
     @Override
     @Override
@@ -219,4 +218,10 @@ public class ThemeLogicImpl implements ThemeLogic {
         if(user2ThemeService.findByUserIdAndThemeId(userId,themeId)==null)
         if(user2ThemeService.findByUserIdAndThemeId(userId,themeId)==null)
             user2ThemeService.createRelation(userId,themeId);
             user2ThemeService.createRelation(userId,themeId);
     }
     }
+
+    @Override
+    public CourseResourceVO getCourseResourceById(long resourceId) {
+        CourseResource courseResource = courseResourceService.getCourseResourceByResourceId(resourceId);
+        return courseResourceVOWrapper.wrap(courseResource);
+    }
 }
 }