Browse Source

修改oss服务

lllgodenough 1 year ago
parent
commit
202fdfb20f

+ 4 - 1
application.yaml

@@ -15,7 +15,7 @@ spring:
     #redis配置已改为【移动云】
     redis:
       # 【移动云】redis内网IPV4地址,内网 IPv4数据端口:30010,【不知这里需不需要申请分配公网IPv6地址???】
-      host: 10.173.150.201
+      host: 8.130.28.19
       port: 30010
       password: 123456@Eai
   mail:
@@ -120,3 +120,6 @@ springdoc:
     enabled: true
     path: /doc/swagger/swagger-ui.html
     packagesToScan: com.njuzr.eaibackend.controller
+
+server:
+  port: 8082

+ 0 - 18
src/main/java/com/njuzr/eaibackend/controller/CourseController.java

@@ -203,17 +203,6 @@ public class CourseController {
     }
 
 
-    @PreAuthorize("hasRole('TEACHER') or hasRole('ADMIN')")
-    @PutMapping("/enrollCode")
-    public MyResponse updateEnrollCode(
-            @AuthenticationPrincipal(expression = "id") Long userId,
-            @RequestParam Long courseId,
-            @RequestParam String enrollCode
-    ) {
-        CourseUpdateDTO updateDTO = new CourseUpdateDTO();
-        updateDTO.setEnrollCode(enrollCode);
-        return MyResponse.success(courseService.updateCourse(userId, courseId, updateDTO));
-    }
 
     /**
      * 教师删除课程
@@ -306,13 +295,6 @@ public class CourseController {
         return MyResponse.success(courseService.getEnrollmentsByStudent(page, studentId));
     }
 
-    @PreAuthorize("hasRole('TEACHER') or hasRole('ADMIN')")
-    @GetMapping("/getEnrollCode")
-    public MyResponse getEnrollCodeByCourseId(
-            @AuthenticationPrincipal(expression = "id") Long userId,
-            @RequestParam Long courseId) {
-        return MyResponse.success(courseService.getEnrollCodeByCourseId(courseId));
-    }
 
     /**
      * 学生退课

+ 14 - 2
src/main/java/com/njuzr/eaibackend/controller/FileController.java

@@ -1,5 +1,7 @@
 package com.njuzr.eaibackend.controller;
 
+import com.amazonaws.HttpMethod;
+import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
 import com.amazonaws.services.s3.model.ObjectListing;
 import com.amazonaws.services.s3.model.ObjectMetadata;
 import com.amazonaws.services.s3.model.PutObjectResult;
@@ -13,8 +15,11 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URL;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 
@@ -36,7 +41,7 @@ public class FileController {
     @PostMapping
     public CompletableFuture<MyResponse> upload(@RequestParam("file") MultipartFile file) {
         return CompletableFuture.supplyAsync(() -> {
-            String filePath = "uploads/" + file.getOriginalFilename();
+            String filePath = "uploads/" + UUID.randomUUID() + file.getOriginalFilename();
             ObjectMetadata metadata = new ObjectMetadata();
             metadata.setContentLength(file.getSize());
             metadata.setContentType(file.getContentType());
@@ -44,7 +49,14 @@ public class FileController {
 
             try (InputStream inputStream = file.getInputStream()) {
                 eCloudEosConfig.EosClient().putObject(eCloudEosConfig.getBucketName(), filePath, inputStream, metadata);
-                String url = String.format("%s/%s/%s", eCloudEosConfig.getEndpoint(), eCloudEosConfig.getBucketName(), file);
+                Date expiration = new Date();
+                expiration.setTime(expiration.getTime() + 1000L * 60 * 1000);
+
+                GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(eCloudEosConfig.getBucketName(), filePath)
+                        .withMethod(HttpMethod.GET)
+                        .withExpiration(expiration);
+                URL presignedUrl = eCloudEosConfig.EosClient().generatePresignedUrl(request);
+                String url = presignedUrl.toString();
                 log.info("文件上传成功: {}, url: {}", filePath, url);
                 return MyResponse.success(url);
             } catch (IOException e) {

+ 0 - 3
src/main/java/com/njuzr/eaibackend/dto/course/CourseDTO.java

@@ -33,9 +33,6 @@ public class CourseDTO {
     @NotNull(message = "课程描述不能缺失")
     private String description;
 
-    @NotNull(message = "选课码不能缺失")
-    private String enrollCode; // 选课码
-
     private List<Long> teacherIds; // 教师EAI ID
 
     private String teacherPid; // 教师门户ID

+ 0 - 2
src/main/java/com/njuzr/eaibackend/dto/course/CourseUpdateDTO.java

@@ -31,7 +31,5 @@ public class CourseUpdateDTO {
 
     private String description;
 
-    private String enrollCode; // 选课码
-
     private String teacherPid;
 }

+ 0 - 3
src/main/java/com/njuzr/eaibackend/po/Course.java

@@ -29,9 +29,6 @@ public class Course {
     @TableField("teacher_portal_id")
     private String teacherPid;
 
-    @TableField("enroll_code")
-    private String enrollCode; //选课码
-
     @TableField("course_imgs")
     private String courseImages; // 序列化好的字符串
 

+ 0 - 2
src/main/java/com/njuzr/eaibackend/service/CourseService.java

@@ -41,8 +41,6 @@ public interface CourseService {
 
     IPage<CourseVO> getEnrollmentsByStudent(Page<Course> page, Long studentId);
 
-    String getEnrollCodeByCourseId(Long courseId);
-
     void dropCourse(Long studentId, Long courseId);
 
     // 添加新方法

+ 2 - 6
src/main/java/com/njuzr/eaibackend/service/impl/CourseServiceImpl.java

@@ -308,12 +308,12 @@ public class CourseServiceImpl implements CourseService {
         }
     }
 
-    
+
     /**
      * 学生选课。给course_student表添加记录。
      * @param enrollDTO
      */
-    /** 
+    /**
     @Override
     @Transactional
     public void enroll(EnrollDTO enrollDTO) {
@@ -378,10 +378,6 @@ public class CourseServiceImpl implements CourseService {
         return PageMapperUtil.convert(courses, this::convertToVO);
     }
 
-    @Override
-    public String getEnrollCodeByCourseId(Long courseId){
-        return courseMapper.getEnrollCodeByCourseId(courseId);
-    }
 
     /**
      * 学生退课

+ 1 - 5
src/main/resources/mapper/CourseMapper.xml

@@ -1,9 +1,5 @@
 <?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.njuzr.eaibackend.mapper.CourseMapper">
-    <select id="getEnrollCodeByCourseId" resultType="String">
-        SELECT enroll_code
-        FROM course
-        WHERE course_id = #{courseId}
-    </select>
+    <!-- 获取课程选课码的接口已删除,不再需要 -->
 </mapper>