Quellcode durchsuchen

data-analysis 增加接口

Majj vor 6 Jahren
Ursprung
Commit
c415c96a80

+ 20 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/controller/EventController.java

@@ -0,0 +1,20 @@
+package cn.seec.seecdataanalysis.controller;
+
+
+import cn.seec.seecdataanalysis.dto.EventDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/event")
+public class EventController {
+
+    @PostMapping("/report")
+    @Operation(description = "用户行为触发事件上报")
+    public Boolean eventReport(@RequestBody EventDTO eventDTO) {
+        return true;
+    }
+}

+ 19 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/controller/ExerciseController.java

@@ -0,0 +1,19 @@
+package cn.seec.seecdataanalysis.controller;
+
+import cn.seec.seecdataanalysis.dto.ExerciseDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/exercise")
+public class ExerciseController {
+
+    @PostMapping("/report")
+    @Operation(description = "做题记录上报")
+    public Boolean exerciseReport(@RequestBody ExerciseDTO exerciseDTO) {
+        return true;
+    }
+}

+ 20 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/dto/EventDTO.java

@@ -0,0 +1,20 @@
+package cn.seec.seecdataanalysis.dto;
+
+import cn.seec.seecdataanalysis.dto.constant.EventAction;
+import cn.seec.seecdataanalysis.dto.constant.EventType;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+@Builder
+public class EventDTO {
+    private String userEmail;
+    private EventType type;
+    private LocalDateTime time;
+    private EventAction action;
+    private String description;
+}

+ 25 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/dto/ExerciseDTO.java

@@ -0,0 +1,25 @@
+package cn.seec.seecdataanalysis.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+@Builder
+public class ExerciseDTO {
+    /** 问题的ID */
+    private String questionId;
+    /** 用户的email */
+    private String userEmail;
+    /** 做题开始时间 */
+    private LocalDateTime startAt;
+    /** 做题结束时间 */
+    private LocalDateTime endAt;
+    /** 做题的时间(秒) */
+    private long durationSeconds;
+    /** 该题是否通过 */
+    private Boolean pass;
+}

+ 23 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/dto/constant/EventAction.java

@@ -0,0 +1,23 @@
+package cn.seec.seecdataanalysis.dto.constant;
+
+public enum EventAction {
+    PARTICIPATE("参与"),
+    COMPLETE("完成"),
+    INITIATE("创建"),
+    ;
+
+    private String description;
+
+    EventAction(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+}

+ 30 - 0
seec-data-analysis/src/main/java/cn/seec/seecdataanalysis/dto/constant/EventType.java

@@ -0,0 +1,30 @@
+package cn.seec.seecdataanalysis.dto.constant;
+
+
+public enum EventType {
+    /** 课程事件 */
+    LESSON("课程"),
+    /** 帖子事件 */
+    POST("帖子"),
+    /** 测验事件 */
+    QUIZ("课堂测验"),
+    /** 考试事件 */
+    EXAM("考试"),
+    /** 作业事件 */
+    HOMEWORK("作业"),
+    ;
+
+    private String description;
+
+    EventType(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+}