zhi.li102 il y a 1 an
Parent
commit
80cd451dc4

+ 6 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/ExamService.java

@@ -111,4 +111,10 @@ public interface ExamService {
     JSONObject getExamCodeQuestionAndScoreById(Integer examId);
 
     JSONArray findEaiTeacherExamsByCourseId(int courseId);
+
+    JSONObject deleteAssignment(Long teacherId,Long assignmentId);
+
+    JSONObject deleteSpeakAssignment(Long teacherId,Long assignmentId);
+
+
 }

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

@@ -12,6 +12,10 @@ public interface SubsystemService {
 
     void deleteCourse(CourseVO courseVO);
 
+    JSONObject deleteAssignment(Long assignmentId,Long teacherId);
+    JSONObject deleteSpeakAssignment(Long assignmentId,Long teacherId);
+
+
     JSONObject updateCourse(CourseVO courseVO, Long userId);
 
     JSONObject chooseCourse(String code, int courseId);

+ 10 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/ExamServiceImpl.java

@@ -365,5 +365,15 @@ public class ExamServiceImpl implements ExamService {
         return eaiService.findTeacherExamsByCourseId(courseId).getJSONArray("result");
     }
 
+    @Override
+    public JSONObject deleteAssignment(Long teacherId, Long assignmentId) {
+        return eaiService.deleteAssignment(assignmentId,teacherId);
+    }
+
+    @Override
+    public JSONObject deleteSpeakAssignment(Long teacherId, Long assignmentId) {
+        return eaiService.deleteSpeakAssignment(assignmentId,teacherId);
+    }
+
 
 }

+ 10 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/subsystem/CoderService.java

@@ -47,6 +47,16 @@ public class CoderService implements SubsystemService {
     public void deleteCourse(CourseVO courseVO) {
     }
 
+    @Override
+    public JSONObject deleteAssignment(Long assignmentId, Long teacherId) {
+        return null;
+    }
+
+    @Override
+    public JSONObject deleteSpeakAssignment(Long assignmentId, Long teacherId) {
+        return null;
+    }
+
     @Override
     public JSONObject updateCourse(CourseVO courseVO, Long userId) {
         return null;

+ 33 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/subsystem/EaiService.java

@@ -148,6 +148,39 @@ public class EaiService implements SubsystemService {
             e.printStackTrace();
         }
     }
+
+    @Override
+    public JSONObject deleteAssignment(Long assignmentId,Long teacherId) {
+        String uri = eaiHost + "/api/assignment";
+        List<NameValuePair> params = new ArrayList<>();
+        params.add(new BasicNameValuePair("teacherId", String.valueOf(teacherId)));
+        params.add(new BasicNameValuePair("assignmentId", String.valueOf(assignmentId)));
+        String token = httpService.getToken();
+        try {
+            String result = httpService.sendDelete(uri, params, token);
+            return JSON.parseObject(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new JSONObject().fluentPut("删除作业异常",e.getMessage());
+        }
+    }
+
+    @Override
+    public JSONObject deleteSpeakAssignment(Long assignmentId, Long teacherId) {
+        String uri = eaiHost + "/api/aispeaking";
+        List<NameValuePair> params = new ArrayList<>();
+        params.add(new BasicNameValuePair("teacherId", String.valueOf(teacherId)));
+        params.add(new BasicNameValuePair("assignmentId", String.valueOf(assignmentId)));
+        String token = httpService.getToken();
+        try {
+            String result = httpService.sendDelete(uri, params, token);
+            return JSON.parseObject(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new JSONObject().fluentPut("删除作业异常",e.getMessage());
+        }
+    }
+
     @Override
     public JSONObject chooseCourse(String code, int courseId) {
         String uri = eaiHost+"/api/course/enroll";

+ 10 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/subsystem/EvalService.java

@@ -48,6 +48,16 @@ public class EvalService implements SubsystemService {
 
     }
 
+    @Override
+    public JSONObject deleteAssignment(Long assignmentId, Long teacherId) {
+        return null;
+    }
+
+    @Override
+    public JSONObject deleteSpeakAssignment(Long assignmentId, Long teacherId) {
+        return null;
+    }
+
     @Override
     public JSONObject updateCourse(CourseVO courseVO, Long userId) {
         return null;

+ 32 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/ExamController.java

@@ -4,12 +4,15 @@ import cn.seecoder.seecoderportalcommon.vo.CreateEvalExamVO;
 import cn.seecoder.seecoderportalcommon.vo.QuestionScoreMapVO;
 import cn.seecoder.seecoderportalserver.security.SecurityUtils;
 import cn.seecoder.seecoderportalserver.service.ExamService;
+import cn.seecoder.seecoderportalserver.serviceImpl.subsystem.EaiService;
 import cn.seecoder.seecoderportalserver.utility.OkResponse;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import springfox.documentation.annotations.ApiIgnore;
@@ -387,4 +390,33 @@ public class ExamController {
         return OkResponse.of(examService.findEaiTeacherExamsByCourseId(courseId));
     }
 
+
+    /**
+     * 根据id删除某个写作作业
+     * @param teacherId
+     * @param assignmentId
+     * @return
+     */
+    @DeleteMapping("eai/assignment/delete")
+    public JSONObject deleteWritingAssignment(
+            @AuthenticationPrincipal(expression = "id") Long teacherId,
+            @RequestParam Long assignmentId
+    ) {
+        return examService.deleteAssignment(teacherId,assignmentId);
+    }
+
+    /**
+     * 根据id删除某个口语作业
+     * @param teacherId
+     * @param assignmentId
+     * @return
+     */
+    @DeleteMapping("eai/speaking_assignment/delete")
+    public JSONObject deleteSpeakingAssignment(
+            @AuthenticationPrincipal(expression = "id") Long teacherId,
+            @RequestParam Long assignmentId
+    ) {
+        return examService.deleteSpeakAssignment(teacherId,assignmentId);
+    }
+
 }

+ 12 - 14
seecoder-portal-server/src/main/resources/application.yml

@@ -33,20 +33,18 @@ spring:
   jpa:
     database: postgresql
 #    open-in-view: false
-    hibernate:
-      ddl-auto: update
     datasource:
       type: com.zaxxer.hikari.HikariDataSource
 
-#    show-sql: true
-#    hibernate:
-#      ddl-auto: update
-#    database-platform: org.hibernate.dialect.PostgreSQLDialect
-#  datasource:
-#    url: jdbc:postgresql://localhost:5432/portal
-#    username: postgres
-#    password: postgres
-#    driver-class-name: org.postgresql.Driver
+    show-sql: true
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.PostgreSQLDialect
+  datasource:
+    url: jdbc:postgresql://localhost:5432/portal
+    username: postgres
+    password: postgres
+    driver-class-name: org.postgresql.Driver
   mvc:
     async:
       request-timeout: 200000
@@ -54,10 +52,10 @@ spring:
 eval:
   host: http://environment-20-47.seec.svc.cluster.local:8080
 
-eai:
-  host: https://air.seec.seecoder.cn/api
 #eai:
-#  host: http://localhost:8082
+#  host: https://air.seec.seecoder.cn/api
+eai:
+  host: http://localhost:8082