Bläddra i källkod

add: web and android scan task

guochao 5 år sedan
förälder
incheckning
2dcc01802e
30 ändrade filer med 491 tillägg och 43 borttagningar
  1. 33 17
      .idea/workspace.xml
  2. 1 2
      src/main/java/cn/iselab/mooctest/site/service/AutoReportProductService.java
  3. 1 3
      src/main/java/cn/iselab/mooctest/site/service/impl/AutoReportProductServiceImpl.java
  4. 47 18
      src/main/java/cn/iselab/mooctest/site/web/ctrl/HandleReportController.java
  5. 18 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAction.java
  6. 22 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAppBaseInfo.java
  7. 28 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBug.java
  8. 21 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugCluster.java
  9. 15 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugDistribution.java
  10. 17 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugInfo.java
  11. 16 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugListInfoForTable.java
  12. 17 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceInfo.java
  13. 17 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceListInfoForTable.java
  14. 13 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportLabel.java
  15. 13 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportPie.java
  16. 17 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportTableBug.java
  17. 13 0
      src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportType.java
  18. 20 0
      src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/AppAutoTestReportVO.java
  19. 1 1
      src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/ReportDataVO.java
  20. 4 2
      src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/StaticScanReportDataVO.java
  21. 20 0
      src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/WebData.java
  22. 14 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBrowserStat.java
  23. 15 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBugDetail.java
  24. 13 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataCategoryStat.java
  25. 11 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataEnvironment.java
  26. 16 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataPlatformStat.java
  27. 17 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataProjectInfoVO.java
  28. 13 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataRiskLevelStat.java
  29. 14 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulStatistic.java
  30. 24 0
      src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulnerability.java

+ 33 - 17
.idea/workspace.xml

@@ -2,9 +2,36 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="c25ee83f-38b8-4a56-8a1f-62ecc8d6cec2" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAction.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAppBaseInfo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBug.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugCluster.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugDistribution.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugInfo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugListInfoForTable.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceInfo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceListInfoForTable.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportLabel.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportPie.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportTableBug.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportType.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/AppAutoTestReportVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/WebData.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBrowserStat.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBugDetail.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataCategoryStat.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataEnvironment.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataPlatformStat.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataProjectInfoVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataRiskLevelStat.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulStatistic.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulnerability.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/service/AutoReportProductService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/service/AutoReportProductService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/service/impl/AutoReportProductServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/service/impl/AutoReportProductServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/ctrl/HandleReportController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/ctrl/HandleReportController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData/ReportDataVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/ReportDataVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData/StaticScanReportDataVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/StaticScanReportDataVO.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -42,7 +69,7 @@
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO" />
     <property name="project.structure.last.edited" value="Modules" />
     <property name="project.structure.proportion" value="0.0" />
     <property name="project.structure.side.proportion" value="0.0" />
@@ -58,11 +85,11 @@
       <recent name="cn.iselab.mooctest.site.web.ctrl" />
     </key>
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/ReportVO" />
+      <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData" />
+      <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/webData" />
       <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData" />
       <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/model" />
-      <recent name="$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/data/vulData" />
-      <recent name="$PROJECT_DIR$/src/main/resources/static" />
-      <recent name="$PROJECT_DIR$/src/main/resources/templates" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -128,7 +155,7 @@
       <workItem from="1574392825833" duration="6599000" />
       <workItem from="1575964187611" duration="5133000" />
       <workItem from="1576044658914" duration="312000" />
-      <workItem from="1576141062434" duration="1040000" />
+      <workItem from="1576141062434" duration="2004000" />
     </task>
     <servers />
   </component>
@@ -148,15 +175,4 @@
       </map>
     </option>
   </component>
-  <component name="XDebuggerManager">
-    <breakpoint-manager>
-      <breakpoints>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/cn/iselab/mooctest/site/web/ctrl/HandleReportController.java</url>
-          <line>100</line>
-          <option name="timeStamp" value="4" />
-        </line-breakpoint>
-      </breakpoints>
-    </breakpoint-manager>
-  </component>
 </project>

+ 1 - 2
src/main/java/cn/iselab/mooctest/site/service/AutoReportProductService.java

@@ -1,8 +1,7 @@
 package cn.iselab.mooctest.site.service;
 
 import cn.iselab.mooctest.site.domainObject.ReportTask;
-import cn.iselab.mooctest.site.web.data.StaticScanData.ReportDataVO;
-import cn.iselab.mooctest.site.web.data.vulData.VulReportDataVO;
+import cn.iselab.mooctest.site.web.data.ReportVO.ReportDataVO;
 
 import java.util.concurrent.Future;
 

+ 1 - 3
src/main/java/cn/iselab/mooctest/site/service/impl/AutoReportProductServiceImpl.java

@@ -1,13 +1,11 @@
 package cn.iselab.mooctest.site.service.impl;
 
-import ch.qos.logback.core.net.SyslogOutputStream;
 import cn.iselab.mooctest.site.domainObject.ReportTask;
 import cn.iselab.mooctest.site.domainObject.ReportTaskStatus;
 import cn.iselab.mooctest.site.factory.ReportTaskFactory;
 import cn.iselab.mooctest.site.repository.IReportTaskRepo;
 import cn.iselab.mooctest.site.service.AutoReportProductService;
-import cn.iselab.mooctest.site.web.data.StaticScanData.ReportDataVO;
-import cn.iselab.mooctest.site.web.data.vulData.VulReportDataVO;
+import cn.iselab.mooctest.site.web.data.ReportVO.ReportDataVO;
 import com.google.gson.Gson;
 import net.lingala.zip4j.exception.ZipException;
 import net.lingala.zip4j.model.ZipParameters;

+ 47 - 18
src/main/java/cn/iselab/mooctest/site/web/ctrl/HandleReportController.java

@@ -3,21 +3,17 @@ package cn.iselab.mooctest.site.web.ctrl;
 import cn.iselab.mooctest.site.domainObject.ReportTask;
 import cn.iselab.mooctest.site.domainObject.ReportTaskStatus;
 import cn.iselab.mooctest.site.service.AutoReportProductService;
-import cn.iselab.mooctest.site.web.data.StaticScanData.ReportDataVO;
-import cn.iselab.mooctest.site.web.data.StaticScanData.StaticScanData;
-import cn.iselab.mooctest.site.web.data.StaticScanData.StaticScanReportDataVO;
-import cn.iselab.mooctest.site.web.data.vulData.ProjectInfoVO;
-import cn.iselab.mooctest.site.web.data.vulData.VulReportDataVO;
-import cn.iselab.mooctest.site.web.data.vulData.VulStatisticsVO;
-import cn.iselab.mooctest.site.web.data.vulData.VulnerabilityVo;
+import cn.iselab.mooctest.site.web.data.ReportVO.AppAutoTestReportVO;
+import cn.iselab.mooctest.site.web.data.ReportVO.ReportDataVO;
+import cn.iselab.mooctest.site.web.data.ReportVO.StaticScanReportDataVO;
+import cn.iselab.mooctest.site.web.data.ReportVO.WebData;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
-import java.sql.Timestamp;
+
 import java.util.*;
-import java.util.concurrent.Future;
 
 /**
  * @author guochao
@@ -79,17 +75,12 @@ public class HandleReportController {
     }
 
     /**
-     * 生成报告
+     * 静态扫描任务
      * @param orderId 任务ID
      * @param ownerId 用户ID
-//     * @param vulReportDataVO
+     * @param staticScanReportDataVO
      * @return
      */
-//    @ResponseBody
-//    @RequestMapping(value = "/api/report/generate/order/{orderId}/owner/{ownerId}/reportType/{reportType}", method = RequestMethod.POST)
-//    public Map handleReport(@PathVariable(value = "orderId") Long orderId,
-//                            @PathVariable(value = "ownerId") Long ownerId,
-//                            @PathVariable(value = "reportType") String reportType) {
     @ResponseBody
     @RequestMapping(value = "/api/report/generate/order/{orderId}/owner/{ownerId}/reportType/{reportType}", method = RequestMethod.POST)
     public Map handleReport(@PathVariable(value = "orderId") Long orderId,
@@ -97,11 +88,49 @@ public class HandleReportController {
                             @PathVariable(value = "reportType") String reportType,
                             @RequestBody StaticScanReportDataVO staticScanReportDataVO) {
 
-//        System.out.println(staticScanReportDataVO.toString());
         log.info(staticScanReportDataVO.toString());
+        return generate(orderId, ownerId, staticScanReportDataVO, reportType);
+    }
+
+    /**
+     * web扫描任务
+     * @param orderId 任务ID
+     * @param ownerId 用户ID
+     * @param webData
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/api/report/generate/order/{orderId}/owner/{ownerId}/reportType/{reportType}", method = RequestMethod.POST)
+    public Map handleReport(@PathVariable(value = "orderId") Long orderId,
+                            @PathVariable(value = "ownerId") Long ownerId,
+                            @PathVariable(value = "reportType") String reportType,
+                            @RequestBody WebData webData) {
+
+        log.info(webData.toString());
+        return generate(orderId, ownerId, webData, reportType);
+    }
+
+    /**
+     * android扫描任务
+     * @param orderId 任务ID
+     * @param ownerId 用户ID
+     * @param appAutoTestReportVO
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/api/report/generate/order/{orderId}/owner/{ownerId}/reportType/{reportType}", method = RequestMethod.POST)
+    public Map handleReport(@PathVariable(value = "orderId") Long orderId,
+                            @PathVariable(value = "ownerId") Long ownerId,
+                            @PathVariable(value = "reportType") String reportType,
+                            @RequestBody AppAutoTestReportVO appAutoTestReportVO) {
+
+        log.info(appAutoTestReportVO.toString());
+        return generate(orderId, ownerId, appAutoTestReportVO, reportType);
+    }
 
-        autoReportProductService.generateReport(orderId, ownerId, staticScanReportDataVO, reportType);
+    private Map<String, Object> generate(Long orderId, Long ownerId, ReportDataVO reportDataVO, String reportType){
 
+        autoReportProductService.generateReport(orderId, ownerId, reportDataVO, reportType);
         Map<String, Object> map = new HashMap<>();
         map.put("status", ReportTaskStatus.GENERATING);
         map.put("describe", "报告生成中");

+ 18 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAction.java

@@ -0,0 +1,18 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:58
+ */
+@Data
+public class AppAutoTestReportAction {
+    private String timeBeforeAction;
+    private String timeAfterAction;
+    private String type;
+    private String message;
+    private String activityBeforeAction;
+    private String activityAfterAction;
+    private String screenShot;
+}

+ 22 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportAppBaseInfo.java

@@ -0,0 +1,22 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:35
+ */
+@Data
+public class AppAutoTestReportAppBaseInfo {
+    private Long id;
+    private String appName;
+    private String version;
+    private String appImageUrl;
+    private String startTime;
+    private String endTime;
+    private String packageName;
+    private Long deviceNum;
+    private List<String> testType;
+}

+ 28 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBug.java

@@ -0,0 +1,28 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:56
+ */
+@Data
+public class AppAutoTestReportBug {
+    private String id;
+    private String preActivity;
+    private String currentActivity;
+    private String nextActivity;
+    private AppAutoTestReportBugInfo bugInfo;
+    private List<AppAutoTestReportAction> preActions;
+    private List<AppAutoTestReportAction> nextActions;
+    private String label;
+    private List<String> reasons;
+    private List<String> solutions;
+    private Long folds;
+    private Long duration;
+    private Long taskID;
+    private AppAutoTestReportDeviceInfo deviceInfo;
+    private Long status;
+}

+ 21 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugCluster.java

@@ -0,0 +1,21 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:43
+ */
+@Data
+public class AppAutoTestReportBugCluster {
+    private String bugLabel;
+    private Long troubleDeviceCount;
+    private String maxModel;
+    private String maxOs;
+    private String maxResolution;
+    private List<AppAutoTestReportPie> modelPie;
+    private List<AppAutoTestReportPie> osPie;
+    private List<AppAutoTestReportPie> resolutionPie;
+}

+ 15 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugDistribution.java

@@ -0,0 +1,15 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:39
+ */
+@Data
+public class AppAutoTestReportBugDistribution {
+    private List<AppAutoTestReportLabel> labels;
+    private List<AppAutoTestReportType> types;
+}

+ 17 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugInfo.java

@@ -0,0 +1,17 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:57
+ */
+@Data
+public class AppAutoTestReportBugInfo {
+    private String pid;
+    private String type;
+    private String component;
+    private String content;
+    private String time;
+    private String screenShot;
+}

+ 16 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportBugListInfoForTable.java

@@ -0,0 +1,16 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:52
+ */
+@Data
+public class AppAutoTestReportBugListInfoForTable {
+    private List<AppAutoTestReportTableBug> bugList;
+    private List<String> labels;
+    private List<String> types;
+}

+ 17 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceInfo.java

@@ -0,0 +1,17 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:49
+ */
+@Data
+public class AppAutoTestReportDeviceInfo {
+    private String udid;
+    private String os;
+    private String resolution;
+    private String deviceName;
+    private String brand;
+    private String deviceModel;
+}

+ 17 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportDeviceListInfoForTable.java

@@ -0,0 +1,17 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:48
+ */
+@Data
+public class AppAutoTestReportDeviceListInfoForTable {
+    private List<String> brands;
+    private List<String> osList;
+    private List<String> resolutions;
+    private List<AppAutoTestReportDeviceInfo> deviceInfoList;
+}

+ 13 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportLabel.java

@@ -0,0 +1,13 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:40
+ */
+@Data
+public class AppAutoTestReportLabel {
+    private String name;
+    private String value;
+}

+ 13 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportPie.java

@@ -0,0 +1,13 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:45
+ */
+@Data
+public class AppAutoTestReportPie {
+    private String name;
+    private Long value;
+}

+ 17 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportTableBug.java

@@ -0,0 +1,17 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:54
+ */
+@Data
+public class AppAutoTestReportTableBug {
+    private String label;
+    private String bugId;
+    private String bugInfo;
+    private String deviceName;
+    private String type;
+    private Boolean checked;
+}

+ 13 - 0
src/main/java/cn/iselab/mooctest/site/web/data/AppAutoTestData/AppAutoTestReportType.java

@@ -0,0 +1,13 @@
+package cn.iselab.mooctest.site.web.data.AppAutoTestData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:41
+ */
+@Data
+public class AppAutoTestReportType {
+    private String name;
+    private String value;
+}

+ 20 - 0
src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/AppAutoTestReportVO.java

@@ -0,0 +1,20 @@
+package cn.iselab.mooctest.site.web.data.ReportVO;
+
+import cn.iselab.mooctest.site.web.data.AppAutoTestData.*;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/11 14:34
+ */
+@Data
+public class AppAutoTestReportVO extends ReportDataVO {
+    private AppAutoTestReportAppBaseInfo appBaseInfo;
+    private AppAutoTestReportBugDistribution bugDistribution;
+    private List<AppAutoTestReportBugCluster> bugClusterList;
+    private AppAutoTestReportDeviceListInfoForTable deviceListInfoForTable;
+    private AppAutoTestReportBugListInfoForTable bugListInfoForTable;
+    private List<AppAutoTestReportBug> bugList;
+}

+ 1 - 1
src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData/ReportDataVO.java → src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/ReportDataVO.java

@@ -1,4 +1,4 @@
-package cn.iselab.mooctest.site.web.data.StaticScanData;
+package cn.iselab.mooctest.site.web.data.ReportVO;
 
 /**
  * @author sunjh

+ 4 - 2
src/main/java/cn/iselab/mooctest/site/web/data/StaticScanData/StaticScanReportDataVO.java → src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/StaticScanReportDataVO.java

@@ -1,5 +1,7 @@
-package cn.iselab.mooctest.site.web.data.StaticScanData;
+package cn.iselab.mooctest.site.web.data.ReportVO;
 
+import cn.iselab.mooctest.site.web.data.ReportVO.ReportDataVO;
+import cn.iselab.mooctest.site.web.data.StaticScanData.StaticScanData;
 import cn.iselab.mooctest.site.web.data.vulData.ProjectInfoVO;
 import cn.iselab.mooctest.site.web.data.vulData.VulStatisticsVO;
 import lombok.Data;
@@ -12,7 +14,7 @@ import java.util.List;
  * @date 2019/12/9 10:15
  */
 @Data
-public class StaticScanReportDataVO extends ReportDataVO{
+public class StaticScanReportDataVO extends ReportDataVO {
     private ProjectInfoVO projectInfo;
     private List<String> menus;
     private List<StaticScanData> vulnerability;

+ 20 - 0
src/main/java/cn/iselab/mooctest/site/web/data/ReportVO/WebData.java

@@ -0,0 +1,20 @@
+package cn.iselab.mooctest.site.web.data.ReportVO;
+
+import cn.iselab.mooctest.site.web.data.WebScanData.WebDataProjectInfoVO;
+import cn.iselab.mooctest.site.web.data.WebScanData.WebDataVulStatistic;
+import cn.iselab.mooctest.site.web.data.WebScanData.WebDataVulnerability;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:20
+ */
+@Data
+public class WebData extends ReportDataVO {
+    private WebDataProjectInfoVO projectInfo;
+    private List<String> menuList;
+    private List<WebDataVulnerability> vulnerabilityList;
+    private WebDataVulStatistic vulStatistics;
+}

+ 14 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBrowserStat.java

@@ -0,0 +1,14 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:10
+ */
+@Data
+public class WebDataBrowserStat {
+    private String name;
+    private String version;
+    private Integer value;
+}

+ 15 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataBugDetail.java

@@ -0,0 +1,15 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:01
+ */
+@Data
+public class WebDataBugDetail {
+    private String category;
+    private String description;
+    private String resource;
+    private String riskLevel;
+}

+ 13 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataCategoryStat.java

@@ -0,0 +1,13 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:09
+ */
+@Data
+public class WebDataCategoryStat {
+    private String name;
+    private Integer value;
+}

+ 11 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataEnvironment.java

@@ -0,0 +1,11 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:02
+ */
+public class WebDataEnvironment {
+    private String browserName;
+    private String browserVersion;
+    private String platform;
+}

+ 16 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataPlatformStat.java

@@ -0,0 +1,16 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:10
+ */
+@Data
+public class WebDataPlatformStat {
+    private String name;
+    private Integer value;
+    private List<WebDataBrowserStat> browserStat;
+}

+ 17 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataProjectInfoVO.java

@@ -0,0 +1,17 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 16:58
+ */
+@Data
+public class WebDataProjectInfoVO {
+    private String costTime;
+    private String startTime;
+    private String projectName;
+    private String userName;
+    private Integer stateCount;
+    private Integer bugCount;
+}

+ 13 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataRiskLevelStat.java

@@ -0,0 +1,13 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:09
+ */
+@Data
+public class WebDataRiskLevelStat {
+    private String name;
+    private Integer value;
+}

+ 14 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulStatistic.java

@@ -0,0 +1,14 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 17:09
+ */
+@Data
+public class WebDataVulStatistic {
+    private WebDataCategoryStat categoryStat;
+    private WebDataRiskLevelStat riskLevelStat;
+    private WebDataPlatformStat platformStat;
+}

+ 24 - 0
src/main/java/cn/iselab/mooctest/site/web/data/WebScanData/WebDataVulnerability.java

@@ -0,0 +1,24 @@
+package cn.iselab.mooctest.site.web.data.WebScanData;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sunjh
+ * @date 2019/12/9 16:58
+ */
+@Data
+public class WebDataVulnerability {
+    private Long targetTaskId;
+    private String solution;
+    private Object extra;
+    private String perfixState;
+    private String currentState;
+    private String operation;
+    private String screenshotPath;
+    private String name;
+    private String updateTime;
+    private List<WebDataBugDetail> bugDetailList;
+    private WebDataEnvironment environment;
+}