Browse Source

fix:修改课件是否可下载的实现

chillqi 3 years ago
parent
commit
43304cb36b

+ 31 - 0
seecoder-portal-common/src/main/java/cn/seecoder/seecoderportalcommon/vo/CourseWareCanDownloadVO.java

@@ -0,0 +1,31 @@
+package cn.seecoder.seecoderportalcommon.vo;
+
+public class CourseWareCanDownloadVO {
+    private Long courseWareId;
+
+    private Boolean canDownload;
+
+    public Long getCourseWareId() {
+        return courseWareId;
+    }
+
+    public void setCourseWareId(Long courseWareId) {
+        this.courseWareId = courseWareId;
+    }
+
+    public Boolean getCanDownload() {
+        return canDownload;
+    }
+
+    public void setCanDownload(Boolean canDownload) {
+        this.canDownload = canDownload;
+    }
+
+    @Override
+    public String toString() {
+        return "CourseWareVO{" +
+                "courseWareId=" + courseWareId +
+                ", canDownload=" + canDownload +
+                '}';
+    }
+}

+ 0 - 11
seecoder-portal-common/src/main/java/cn/seecoder/seecoderportalcommon/vo/CourseWareVO.java

@@ -23,8 +23,6 @@ public class CourseWareVO {
 
     private ObjectState state;
 
-    private Boolean canDownload;
-
     public Long getId() {
         return id;
     }
@@ -105,14 +103,6 @@ public class CourseWareVO {
         this.state = state;
     }
 
-    public Boolean getCanDownload() {
-        return canDownload;
-    }
-
-    public void setCanDownload(Boolean canDownload) {
-        this.canDownload = canDownload;
-    }
-
     @Override
     public String toString() {
         return "CourseWareVO{" +
@@ -126,7 +116,6 @@ public class CourseWareVO {
                 ", useMethod=" + useMethod +
                 ", fileUrl=" + fileUrl +
                 ", state=" + state +
-                ", canDownload=" + canDownload +
                 '}';
     }
 

+ 0 - 13
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/domain/CourseWare.java

@@ -54,10 +54,6 @@ public class CourseWare {
     @NotNull
     private ObjectState state;
 
-    @Column
-    @NotNull
-    private Boolean canDownload;
-
     public String getFileUrl() {
         return fileUrl;
     }
@@ -138,14 +134,6 @@ public class CourseWare {
         this.state = state;
     }
 
-    public Boolean getCanDownload() {
-        return canDownload;
-    }
-
-    public void setCanDownload(Boolean canDownload) {
-        this.canDownload = canDownload;
-    }
-
     @Override
     public String toString() {
         return "CourseWare{" +
@@ -159,7 +147,6 @@ public class CourseWare {
                 ", useMethod=" + useMethod +
                 ", fileUrl=" + fileUrl +
                 ", state=" + state +
-                ", canDownload=" + canDownload +
                 '}';
     }
 

+ 39 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/domain/CourseWareCanDownload.java

@@ -0,0 +1,39 @@
+package cn.seecoder.seecoderportalserver.domain;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+
+@Entity
+@Table(name = "courseWareCanDownload")
+public class CourseWareCanDownload {
+    @Id
+    private Long courseWareId;
+
+    @Column
+    @NotNull
+    private Boolean canDownload;
+
+    public Long getCourseWareId() {
+        return courseWareId;
+    }
+
+    public void setCourseWareId(Long courseWareId) {
+        this.courseWareId = courseWareId;
+    }
+
+    public Boolean getCanDownload() {
+        return canDownload;
+    }
+
+    public void setCanDownload(Boolean canDownload) {
+        this.canDownload = canDownload;
+    }
+
+    @Override
+    public String toString() {
+        return "CourseWare{" +
+                "courseWareId=" + courseWareId +
+                ", canDownload=" + canDownload +
+                '}';
+    }
+}

+ 8 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/repository/CourseWareCanDownloadRepository.java

@@ -0,0 +1,8 @@
+package cn.seecoder.seecoderportalserver.repository;
+
+import cn.seecoder.seecoderportalserver.domain.CourseWareCanDownload;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface CourseWareCanDownloadRepository extends JpaRepository<CourseWareCanDownload, Long> {
+    CourseWareCanDownload findCourseWareCanDownloadByCourseWareId(Long courseWareId);
+}

+ 4 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/CourseWareService.java

@@ -38,4 +38,8 @@ public interface CourseWareService {
 
     Long getCourseIdById(Long id);
 
+    void setCanDownloadById(Long id, Boolean canDownload);
+
+    Boolean getCanDownloadById(Long id);
+
 }

+ 23 - 5
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/CourseWareServiceImpl.java

@@ -5,8 +5,10 @@ import cn.seecoder.seecoderportalcommon.vo.CourseWareVO;
 import cn.seecoder.seecoderportalcommon.vo.ObjectState;
 import cn.seecoder.seecoderportalcommon.vo.dto.CourseWareDTO;
 import cn.seecoder.seecoderportalserver.domain.CourseWare;
+import cn.seecoder.seecoderportalserver.domain.CourseWareCanDownload;
 import cn.seecoder.seecoderportalserver.mapper.CourseWareMapper;
 import cn.seecoder.seecoderportalserver.repository.CourseRepository;
+import cn.seecoder.seecoderportalserver.repository.CourseWareCanDownloadRepository;
 import cn.seecoder.seecoderportalserver.repository.CourseWareRepository;
 import cn.seecoder.seecoderportalserver.service.CourseWareService;
 import cn.seecoder.seecoderportalserver.utility.OssUtil;
@@ -22,8 +24,6 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
-import java.awt.*;
-import java.awt.image.BufferedImage;
 import java.io.*;
 import java.net.URL;
 import java.util.Comparator;
@@ -34,13 +34,13 @@ import java.util.stream.Collectors;
 public class CourseWareServiceImpl implements CourseWareService {
     private final CourseWareRepository courseWareRepository;
     private final CourseWareMapper courseWareMapper;
-    private final CourseRepository courseRepository;
+    private final CourseWareCanDownloadRepository courseWareCanDownloadRepository;
     private final OssUtil ossUtil;
 
-    public CourseWareServiceImpl(CourseWareRepository courseWareRepository, CourseWareMapper courseWareMapper, CourseRepository courseRepository, OssUtil ossUtil) {
+    public CourseWareServiceImpl(CourseWareRepository courseWareRepository, CourseWareMapper courseWareMapper, CourseWareCanDownloadRepository courseWareCanDownloadRepository, OssUtil ossUtil) {
         this.courseWareRepository = courseWareRepository;
         this.courseWareMapper = courseWareMapper;
-        this.courseRepository = courseRepository;
+        this.courseWareCanDownloadRepository = courseWareCanDownloadRepository;
         this.ossUtil = ossUtil;
     }
 
@@ -54,6 +54,15 @@ public class CourseWareServiceImpl implements CourseWareService {
         return courseWareMapper.toCourseWareVO(result);
     }
 
+    @Override
+    public void setCanDownloadById(Long courseWareId, Boolean canDownload) {
+        System.out.println("setCanDownload");
+        CourseWareCanDownload courseWareCanDownload = new CourseWareCanDownload();
+        courseWareCanDownload.setCourseWareId(courseWareId);
+        courseWareCanDownload.setCanDownload(canDownload);
+        courseWareCanDownloadRepository.save(courseWareCanDownload);
+    }
+
     @Override
     public Boolean checkCourseWareNameUnique(Long courseId, String name) {
         System.out.println("checkname");
@@ -242,4 +251,13 @@ public class CourseWareServiceImpl implements CourseWareService {
         return courseWare.getCourseId();
     }
 
+    @Override
+    public Boolean getCanDownloadById(Long courseWareId) {
+        System.out.println("getCanDownload");
+        System.out.println(courseWareId);
+        CourseWareCanDownload courseWareCanDownload = courseWareCanDownloadRepository.findCourseWareCanDownloadByCourseWareId(courseWareId);
+        System.out.println(courseWareCanDownload.getCanDownload());
+        return courseWareCanDownload.getCanDownload();
+    }
+
 }

+ 10 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/CourseWareController.java

@@ -84,4 +84,14 @@ public class CourseWareController {
     public OkResponse<Long> getCourseIdById(@RequestParam Long id) {
         return OkResponse.of(courseWareService.getCourseIdById(id));
     }
+
+    @PostMapping("/setCanDownloadById")
+    public void setCanDownloadById(@RequestParam Long id, @RequestParam Boolean canDownload) {
+        courseWareService.setCanDownloadById(id, canDownload);
+    }
+
+    @GetMapping("/getCanDownloadById")
+    public OkResponse<Boolean> getCanDownloadById(@RequestParam Long id) {
+        return OkResponse.of(courseWareService.getCanDownloadById(id));
+    }
 }