Prechádzať zdrojové kódy

定义日志解析DTO

Miaomz 4 rokov pred
rodič
commit
2d11d8debd

+ 23 - 13
src/main/java/com/seecoder/dataanalysis/logic/parser/impl/LogParsingServiceImpl.java

@@ -9,9 +9,7 @@ import com.seecoder.dataanalysis.logic.parser.LogParsingService;
 import com.seecoder.dataanalysis.logic.parser.ParsingException;
 import com.seecoder.dataanalysis.logic.parser.convertor.LogConvertor;
 import com.seecoder.dataanalysis.util.JsonUtil;
-import com.seecoder.dataanalysis.vo.EvalExamInfoDTO;
-import com.seecoder.dataanalysis.vo.EvalExamRecordDTO;
-import com.seecoder.dataanalysis.vo.SimpleLog;
+import com.seecoder.dataanalysis.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -64,16 +62,8 @@ public class LogParsingServiceImpl implements LogParsingService {
             Class clazz = Class.forName(className);
             Object data = JsonUtil.toObject(simpleLog.getData(), clazz);
 
-            if (!save) {
-                return (T) data;
-            }
-
-            if (className.equals(EvalExamInfoDTO.class.getName())) {
-                EvalExamInfo info = LogConvertor.convertToEvalExamInfoEntity((EvalExamInfoDTO) data);
-                evalExamInfoDao.save(info);
-            } else if (className.equals(EvalExamRecordDTO.class.getName())) {
-                EvalExamRecord record = LogConvertor.convertToEvalExamRecordEntity((EvalExamRecordDTO) data);
-                evalExamRecordDao.save(record);
+            if (save) {
+                saveToDb(data, className);
             }
             return (T) data;
         } catch (ClassNotFoundException|ClassCastException e){
@@ -100,5 +90,25 @@ public class LogParsingServiceImpl implements LogParsingService {
         opTypesTable.put(0, EvalExamInfoDTO.class.getName());  //试卷数据
         opTypesTable.put(1, EvalExamInfoDTO.class.getName());  //诗句更新数据
         opTypesTable.put(2, EvalExamRecordDTO.class.getName());  //学生提交试卷
+
+        opTypesTable.put(100, BugInfoDTO.class.getName());  //修改缺陷信息
+        opTypesTable.put(101, CommitInfoDTO.class.getName());  //用户进行commit
+        opTypesTable.put(102, TestInfoDTO.class.getName());  //用户创建并执行接口测试
+        opTypesTable.put(103, PipelineCreationDTO.class.getName());  //用户创建流水线
+        opTypesTable.put(104, PipelineDeletionDTO.class.getName());  //用户删除流水线
+        opTypesTable.put(105, PipelineDeployDTO.class.getName());  //用户部署流水线
+        opTypesTable.put(106, TreeNodeInfoDTO.class.getName());  //用户插入/更新节点
+        opTypesTable.put(107, TreeNodeDeletionDTO.class.getName());  //用户删除节点
+    }
+
+
+    private void saveToDb(Object data, String className) {
+        if (className.equals(EvalExamInfoDTO.class.getName())) {
+            EvalExamInfo info = LogConvertor.convertToEvalExamInfoEntity((EvalExamInfoDTO) data);
+            evalExamInfoDao.save(info);
+        } else if (className.equals(EvalExamRecordDTO.class.getName())) {
+            EvalExamRecord record = LogConvertor.convertToEvalExamRecordEntity((EvalExamRecordDTO) data);
+            evalExamRecordDao.save(record);
+        }
     }
 }

+ 39 - 0
src/main/java/com/seecoder/dataanalysis/vo/BugInfoDTO.java

@@ -0,0 +1,39 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BugInfoDTO {
+    @JSONField(name = "bug_id")
+    private Integer bugId;
+
+    @JSONField(name = "group_id")
+    private Integer groupId;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "priority")
+    private String priority;
+
+    @JSONField(name = "title")
+    private String title;
+
+    @JSONField(name = "description")
+    private String description;
+
+    @JSONField(name = "time_to_take")
+    private Integer timeToTake;
+
+    @JSONField(name = "bug_state")
+    private String bugState;
+}

+ 28 - 0
src/main/java/com/seecoder/dataanalysis/vo/CommitInfoDTO.java

@@ -0,0 +1,28 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CommitInfoDTO {
+
+    @JSONField(name = "commit_id")
+    private String commitId;
+
+    @JSONField(name = "user_id")
+    private Integer userId;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "commit_time")
+    private String commitTime;
+}

+ 24 - 0
src/main/java/com/seecoder/dataanalysis/vo/PipelineCreationDTO.java

@@ -0,0 +1,24 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PipelineCreationDTO {
+    @JSONField(name = "pipeline_id")
+    private Integer pipelineId;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "project_name")
+    private String projectName;
+}

+ 24 - 0
src/main/java/com/seecoder/dataanalysis/vo/PipelineDeletionDTO.java

@@ -0,0 +1,24 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PipelineDeletionDTO {
+    @JSONField(name = "pipeline_id")
+    private Integer pipelineId;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "delete_deploy_id")
+    private Integer deleteDeployId;
+}

+ 33 - 0
src/main/java/com/seecoder/dataanalysis/vo/PipelineDeployDTO.java

@@ -0,0 +1,33 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PipelineDeployDTO {
+    @JSONField(name = "record_id")
+    private Integer recordId;
+
+    @JSONField(name = "pipeline_id")
+    private Integer pipelineId;
+
+    @JSONField(name = "user_id")
+    private Integer userId;
+
+    @JSONField(name = "type")
+    private String type;
+
+    @JSONField(name = "result")
+    private String result;
+
+    @JSONField(name = "success")
+    private Boolean success;
+}

+ 34 - 0
src/main/java/com/seecoder/dataanalysis/vo/TestInfoDTO.java

@@ -0,0 +1,34 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TestInfoDTO {
+    @JSONField(name = "api_test_id")
+    private Integer apiTestId;
+
+    @JSONField(name = "user_id")
+    private Integer userId;
+
+    @JSONField(name = "group_id")
+    private Integer groupId;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "success")
+    private Integer success;
+
+    @JSONField(name = "failure")
+    private Integer failure;
+
+}

+ 20 - 0
src/main/java/com/seecoder/dataanalysis/vo/TreeNodeDeletionDTO.java

@@ -0,0 +1,20 @@
+package com.seecoder.dataanalysis.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TreeNodeDeletionDTO {
+    @JSONField(name = "node_ids")
+    private List<Integer> nodeIds;
+}

+ 46 - 0
src/main/java/com/seecoder/dataanalysis/vo/TreeNodeInfoDTO.java

@@ -0,0 +1,46 @@
+package com.seecoder.dataanalysis.vo;
+
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author miaomuzhi
+ * @since 2022/2/20
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TreeNodeInfoDTO {
+    @JSONField(name = "node_id")
+    private Integer nodeId;
+
+    @JSONField(name = "title")
+    private String title;
+
+    @JSONField(name = "project_id")
+    private Integer projectId;
+
+    @JSONField(name = "user_id")
+    private Integer userId;
+
+    @JSONField(name = "type")
+    private String type;
+
+    @JSONField(name = "priority")
+    private String priority;
+
+    @JSONField(name = "state")
+    private String state;
+
+    @JSONField(name = "time_to_take")
+    private Integer timeToTake;
+
+    @JSONField(name = "parent_id")
+    private Integer parentId;
+
+    @JSONField(name = "deep")
+    private Integer deep;
+}