Преглед изворни кода

fix:修改了管理员可以修改轮播图的功能

DingXiaoYu пре 3 година
родитељ
комит
9f8cf5aba2

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

@@ -55,4 +55,8 @@ public interface CourseService {
      * @return Boolean
      */
     Boolean isCourseAccessible(Long id);
+
+    Boolean uploadCarouselChart(List<String> courses);
+
+    List<CourseVO> queryCarouselChart();
 }

+ 49 - 2
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/CourseServiceImpl.java

@@ -1,11 +1,11 @@
 package cn.seecoder.seecoderportalserver.serviceImpl;
 
-import cn.seecoder.seecoderportalserver.domain.key.CourseSelectionKey;
 import cn.seecoder.seecoderportalcommon.vo.CourseVO;
 import cn.seecoder.seecoderportalcommon.vo.ObjectState;
 import cn.seecoder.seecoderportalcommon.vo.UserVO;
 import cn.seecoder.seecoderportalserver.domain.Course;
 import cn.seecoder.seecoderportalserver.domain.CourseSelection;
+import cn.seecoder.seecoderportalserver.domain.key.CourseSelectionKey;
 import cn.seecoder.seecoderportalserver.mapper.CourseMapper;
 import cn.seecoder.seecoderportalserver.repository.CourseRepository;
 import cn.seecoder.seecoderportalserver.repository.CourseSelectionRepository;
@@ -15,17 +15,22 @@ import cn.seecoder.seecoderportalserver.service.CourseService;
 import cn.seecoder.seecoderportalserver.service.UserService;
 import cn.seecoder.seecoderportalserver.serviceImpl.subsystem.CoderService;
 import cn.seecoder.seecoderportalserver.serviceImpl.subsystem.EvalService;
-//import cn.seecoder.seecoderportalserver.serviceImpl.subsystem.HelperService;
 import cn.seecoder.seecoderportalserver.utility.OssUtil;
 import cn.seecoder.seecoderportalserver.web.rest.errors.CustomErrorException;
 import com.alibaba.fastjson.JSONObject;
+import com.google.common.io.Files;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
+
 @Service
 public class CourseServiceImpl implements CourseService {
     private final CourseRepository courseRepository;
@@ -272,4 +277,46 @@ public class CourseServiceImpl implements CourseService {
         }
         return checkSelection(user.getId(), id);
     }
+
+    @Override
+    public Boolean uploadCarouselChart(List<String> courses) {
+        try {
+            File file=new File("p.txt");
+            file.delete();
+            file.createNewFile();
+            String content="";
+            for (int i=0;i<3;i++){
+                String className=courses.get(i);
+                if (className!=null && className.length()!=0){
+                    if (!isCourseNameExisted(className)){
+                        throw CustomErrorException.courseNotFound();
+                    }else {
+                        content=content.concat(className).concat("\n");
+                    }
+                }
+            }
+            FileWriter fileWriter = new FileWriter(file.getPath(),true);
+            fileWriter.write(content);
+            fileWriter.close();
+            return true;
+        }catch (IOException e) {
+            return false;
+        }
+
+    }
+
+    @Override
+    public List<CourseVO> queryCarouselChart() {
+        try{
+            File file=new File("p.txt");
+            List<String> names= Files.readLines(file, StandardCharsets.UTF_8);
+            List<CourseVO> ans=new ArrayList<>();
+            for (String name : names) {
+                ans.add(courseMapper.courseToCourseVO(courseRepository.findCourseByName(name).get()));
+            }
+            return ans;
+        }catch (IOException e){
+            return null;
+        }
+    }
 }

+ 0 - 38
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/AdminController.java

@@ -12,14 +12,8 @@ import cn.seecoder.seecoderportalserver.service.SuperService;
 import cn.seecoder.seecoderportalserver.service.UserService;
 import cn.seecoder.seecoderportalserver.utility.OkResponse;
 import cn.seecoder.seecoderportalserver.utility.OssUtil;
-import com.google.common.io.Files;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.FileWriter;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -102,36 +96,4 @@ public class AdminController {
                 superService.updateState(idDTO.getId(), SuperState.REJECTED)
         ));
     }
-
-    @PostMapping("/uploadImage")
-    public OkResponse<String> uploadCarouselChart(MultipartFile[] files) {
-        try {
-            File file=new File("p.txt");
-            file.delete();
-            file.createNewFile();
-            String content="";
-            int count=0;
-            if (files!=null){
-                for (MultipartFile multipartFile : files) {
-                    content=content.concat(ossUtil.upload(count++ + ".jpg", multipartFile.getInputStream())).concat("\n");
-                }
-            }
-            FileWriter fileWriter = new FileWriter(file.getPath(),true);
-            fileWriter.write(content);
-            fileWriter.close();
-            return OkResponse.of("成功");
-        }catch (Exception e){
-            return OkResponse.of("失败");
-        }
-    }
-
-    @GetMapping("/queryImage")
-    public OkResponse<List<String>> queryCarouselChart(){
-        try{
-            File file=new File("p.txt");
-            return OkResponse.of(Files.readLines(file, StandardCharsets.UTF_8));
-        }catch (Exception e){
-            return OkResponse.of(new ArrayList<>());
-        }
-    }
 }

+ 11 - 2
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/CourseController.java

@@ -1,11 +1,10 @@
 package cn.seecoder.seecoderportalserver.web.rest;
 
-import cn.seecoder.seecoderportalserver.domain.key.CourseSelectionKey;
 import cn.seecoder.seecoderportalcommon.vo.CourseVO;
+import cn.seecoder.seecoderportalserver.domain.key.CourseSelectionKey;
 import cn.seecoder.seecoderportalserver.security.SecurityUtils;
 import cn.seecoder.seecoderportalserver.service.CourseService;
 import cn.seecoder.seecoderportalserver.utility.OkResponse;
-import com.alibaba.fastjson.JSONObject;
 import com.nju.edu.paasMonitorClient.MonitorClient;
 import com.nju.edu.paasMonitorClient.entity.Call;
 import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
@@ -109,4 +108,14 @@ public class CourseController {
                                                 @RequestPart("file") MultipartFile file) {
         return OkResponse.of(courseService.uploadCourseImage(name, file));
     }
+
+    @PostMapping("/uploadCarouseChart")
+    public OkResponse<Boolean> uploadCarouselChart(@RequestBody List<String> courses) {
+        return OkResponse.of(courseService.uploadCarouselChart(courses));
+    }
+
+    @GetMapping("/queryCarouselChart")
+    public OkResponse<List<CourseVO>> queryCarouselChart(){
+        return OkResponse.of(courseService.queryCarouselChart());
+    }
 }