Переглянути джерело

抽取oss配置项,抽取文件夹目录配置项

郭超 4 роки тому
батько
коміт
6eb6db8f5b
36 змінених файлів з 1003 додано та 623 видалено
  1. 43 0
      src/main/java/edu/nju/configuration/OSSConfiguration.java
  2. 0 4
      src/main/java/edu/nju/controller/DataController.java
  3. 1 1
      src/main/java/edu/nju/controller/OssController.java
  4. 0 453
      src/main/java/edu/nju/service/DataService.java
  5. 20 11
      src/main/java/edu/nju/service/NginxFileService.java
  6. 24 16
      src/main/java/edu/nju/service/OssFileService.java
  7. 14 17
      src/main/java/edu/nju/util/OssAliyun.java
  8. 0 0
      src/main/resources/apidoc/V1.0/.cache.json
  9. 117 117
      src/main/resources/apidoc/V1.0/apidoc.log
  10. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html
  11. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html
  12. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ConfigurationController.html
  13. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html
  14. 99 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html
  15. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html
  16. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html
  17. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html
  18. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html
  19. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html
  20. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html
  21. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html
  22. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html
  23. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html
  24. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html
  25. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html
  26. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html
  27. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html
  28. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html
  29. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html
  30. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_SettingController.html
  31. 4 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html
  32. 4 0
      src/main/resources/apidoc/V1.0/index.html
  33. 107 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html
  34. 390 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html
  35. 64 0
      src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md
  36. 36 4
      src/main/resources/application.yml

+ 43 - 0
src/main/java/edu/nju/configuration/OSSConfiguration.java

@@ -0,0 +1,43 @@
+package edu.nju.configuration;
+
+
+import com.aliyun.oss.ClientBuilderConfiguration;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author: Diors.Po
+ * @Email: 171256175@qq.com
+ * @date 2019-08-05 15:51
+ */
+@Data
+@Configuration
+public class OSSConfiguration {
+
+    @Value("${oss.accessKeyId}")
+    private String accessKeyId;
+
+    @Value(("${oss.accessKeySecret}"))
+    private String accessKeySecret;
+
+    @Value("${oss.endPoint}")
+    private String endPoint;
+
+    @Value("${oss.bucketName}")
+    private String bucketName;
+
+    public String getBaseUrl() {
+        return "http://" + bucketName + "." + endPoint;
+    }
+
+    public OSS ossClient(){
+        return new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);
+    }
+
+    public OSS ossClientConf(ClientBuilderConfiguration conf){
+        return new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret, conf);
+    }
+}

+ 0 - 4
src/main/java/edu/nju/controller/DataController.java

@@ -1,6 +1,5 @@
 package edu.nju.controller;
 import edu.nju.entities.BugDetail;
-import edu.nju.service.DataService;
 import edu.nju.service.FileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -20,9 +19,6 @@ import java.util.List;
 public class DataController {
 
     @Autowired
-    DataService dataService;
-
-    @Autowired
     FileService fileService;
 
     /**根据caseId获取bug报告

+ 1 - 1
src/main/java/edu/nju/controller/OssController.java

@@ -64,7 +64,7 @@ public class OssController {
         File dest = new File("/Users/guochao/Downloads" + path);
 
 //    public String ossUpload(@RequestParam("file") MultipartFile file, String path,String caseId) {
-//        File dest = new File("/xinchuangdata/image/"+caseId+"/" + path);
+//        File dest = new File( folderName + "/image/"+caseId+"/" + path);
         if(!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); }
         try {
             if(!file.isEmpty()) { file.transferTo(dest); }

+ 0 - 453
src/main/java/edu/nju/service/DataService.java

@@ -1,453 +0,0 @@
-package edu.nju.service;
-
-import com.alibaba.fastjson.JSON;
-import edu.nju.dao.*;
-import edu.nju.entities.*;
-import edu.nju.util.TransUtil;
-import org.json.JSONArray;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-/**
- * @Author JiaWei Xu
- * @Date 2020-12-25 10:45
- * @Email xjwhhh233@outlook.com
- */
-@Service
-public class DataService {
-    private static final int BUFFER_SIZE = 2 * 1024;
-
-    private static final String imageUrlPrefix = "https://mooctest-site.oss-cn-shanghai.aliyuncs.com/xinchuang/image/";
-    @Autowired
-    ExamDao examDao;
-
-    @Autowired
-    BugDao bugDao;
-
-    @Autowired
-    ReportDao reportDao;
-
-    @Autowired
-    TestCaseDao testCaseDao;
-
-    @Autowired
-    CaseToBugDao caseToBugDao;
-
-    @Autowired
-    BugScoreDao bugScoreDao;
-
-    @Autowired
-    BugMirrorDao bugMirrorDao;
-
-    @Autowired
-    BugHistoryDao bugHistoryDao;
-
-    @Autowired
-    BugDetailDao bugDetailDao;
-
-    private String cpSerialNum = "cp_ent_dev";
-    private String nginxImageUrlPrefix = "/xinchuangdata/input/imageUnzip";
-
-    /**
-     * 根据caseId获取对应bug信息
-     *
-     * @param caseId
-     * @return
-     */
-    public List<BugDetail> getBugDetailByCaseId(String caseId) {
-        List<BugDetail> bugDetailList = new ArrayList<>();
-        Exam crowdCase = examDao.findById(caseId);
-        if (crowdCase != null) {
-            List<Report> reportList = reportDao.findByCaseId(caseId);
-            for (Report report : reportList) {
-                String reportId = report.getId();
-                List<TestCase> testCaseList = testCaseDao.findByReport(reportId);
-                for (TestCase testCase : testCaseList) {
-                    String testCaseId = testCase.getId();
-                    CaseToBug caseToBug = caseToBugDao.findById(testCaseId);
-                    if (caseToBug != null) {
-                        List<String> bugIdList = caseToBug.getBug_id();
-                        for (String bugId : bugIdList) {
-                            BugDetail bugDetail = new BugDetail();
-                            bugDetail.setId(bugId);
-                            //bug基本属性
-                            Bug bug = bugDao.findByid(bugId);
-                            if (bug != null) {
-                                bugDetail.setBugCategory(bug.getBug_category());
-                                bugDetail.setSeverity(TransUtil.severityTransFromInt(bug.getSeverity()));
-                                bugDetail.setRecurrent(TransUtil.recurrentTransFromInt(bug.getRecurrent()));
-                                bugDetail.setBugCreateTime(TransUtil.formatTimeMillis(bug.getCreate_time_millis()));
-                                bugDetail.setBugPage(bug.getBug_page());
-                                bugDetail.setTitle(bug.getTitle());
-                                bugDetail.setBugDescription(bug.getDescription());
-                                bugDetail.setImgUrl(bug.getImg_url());
-                            }
-                            //bugScore属性
-                            BugScore bugScore = bugScoreDao.findById(bugId);
-                            if (bugScore != null) {
-                                bugDetail.setScore(bugScore.getGrade());
-                            }
-                            //bugMirror属性
-                            BugMirror bugMirror = bugMirrorDao.findById(bugId);
-                            if (bugMirror != null) {
-                                Set<String> goodWorkerIdSet = new HashSet<>();
-                                Set<String> badWorkerIdSet = new HashSet<>();
-                                Set<String> goodReportIdSet = bugMirror.getGood();
-                                Set<String> badReportIdSet = bugMirror.getBad();
-                                int goodNum = 0;
-                                int badNum = 0;
-                                for (String goodReportId : goodReportIdSet) {
-                                    Report goodReport = reportDao.findById(goodReportId);
-                                    if (goodReport != null) {
-                                        goodNum++;
-                                        goodWorkerIdSet.add(goodReport.getWorker_id());
-                                    }
-                                }
-                                for (String badReportId : badReportIdSet) {
-                                    Report badReport = reportDao.findById(badReportId);
-                                    if (badReport != null) {
-                                        badNum++;
-                                        badWorkerIdSet.add(badReport.getWorker_id());
-                                    }
-                                }
-                                bugDetail.setGoodNum(goodNum);
-                                bugDetail.setBadNum(badNum);
-                                bugDetail.setGoodWorkerId(goodWorkerIdSet);
-                                bugDetail.setBadWorkerId(badWorkerIdSet);
-                            }
-                            //bugHistory属性
-                            BugHistory bugHistory = bugHistoryDao.findByid(bugId);
-                            if (bugHistory != null) {
-                                bugDetail.setParent(bugHistory.getParent());
-                                bugDetail.setChildren(bugHistory.getChildren());
-                                bugDetail.setRoot(bugHistory.getRoot());
-                            }
-                            //testCase属性
-                            bugDetail.setTestCaseId(testCase.getId());
-                            bugDetail.setTestCaseName(testCase.getName());
-                            bugDetail.setTestCaseFront(testCase.getFront());
-                            bugDetail.setTestCaseBehind(testCase.getBehind());
-                            bugDetail.setTestCaseDescription(testCase.getDescription());
-                            bugDetail.setTestCaseCreateTime(TransUtil.formatTimeMillis(testCase.getCreate_time_millis()));
-                            //report属性
-                            bugDetail.setReportId(report.getId());
-                            bugDetail.setReportName(report.getName());
-                            bugDetail.setScriptLocation(report.getScript_location());
-                            bugDetail.setReportLocation(report.getReport_location());
-                            bugDetail.setLogLocation(report.getLog_location());
-                            bugDetail.setDeviceModel(report.getDevice_model());
-                            bugDetail.setDeviceBrand(report.getDevice_brand());
-                            bugDetail.setDeviceOs(report.getDevice_os());
-                            //worker属性
-                            bugDetail.setWorkerId(report.getWorker_id());
-                            //众测任务属性
-                            bugDetail.setCaseAppName(crowdCase.getName());
-                            bugDetail.setCasePaperType(crowdCase.getPaper_type());
-                            bugDetail.setCaseTestType(crowdCase.getTest_type());
-                            bugDetail.setCaseDescription(crowdCase.getDescription());
-                            bugDetail.setCaseRequireDoc("");
-                            bugDetail.setCaseTakeId(report.getCase_take_id());
-                            //cp序列号
-                            bugDetail.setCpSerialNum(cpSerialNum);
-                            bugDetailList.add(bugDetail);
-                        }
-                    }
-                }
-            }
-        }
-        bugDetailToFile(bugDetailList, caseId);
-        return bugDetailList;
-    }
-
-    public List<BugDetail> saveBugDetailFromFile(MultipartFile sourceZipFile, MultipartFile sourceJsonFile, String originalCaseId, String cpSerialNum) {
-        try {
-            //读取文件流并保存在本地
-            String prefix = "";
-            String zipFilePath = prefix + "/xinchuangdata/input/imageZip/" + originalCaseId + "/" + cpSerialNum + "/" + originalCaseId + ".zip";
-            File zipFile = new File(zipFilePath);
-            if (!zipFile.getParentFile().exists()) {
-                zipFile.getParentFile().mkdirs();
-            }
-            if (!sourceZipFile.isEmpty()) {
-                sourceZipFile.transferTo(zipFile);
-            }
-            String jsonFilePath = prefix + "/xinchuangdata/input/" + originalCaseId + "/" + cpSerialNum + "/" + originalCaseId + ".json";
-            File jsonFile = new File(jsonFilePath);
-            if (!jsonFile.getParentFile().exists()) {
-                jsonFile.getParentFile().mkdirs();
-            }
-            if (!sourceJsonFile.isEmpty()) {
-                sourceJsonFile.transferTo(jsonFile);
-            }
-            //读取本地文件
-            BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(jsonFile));
-            ByteArrayOutputStream buf = new ByteArrayOutputStream();
-            int result = bufferedInputStream.read();
-            while (result != -1) {
-                buf.write((byte) result);
-                result = bufferedInputStream.read();
-            }
-            String json = buf.toString();
-            //转为bugDetail
-            List<BugDetail> bugDetailList = JSON.parseArray(json, BugDetail.class);
-            for (BugDetail bugDetail : bugDetailList) {
-                bugDetail.setOriginalCaseId(originalCaseId);
-                //修改图片文件路径为本地路径
-                String imageUrl = bugDetail.getImgUrl();
-                String[] imageUrlArray = imageUrl.split(",");
-                StringBuilder stringBuilder = new StringBuilder();
-                for (String imageUrlStr : imageUrlArray) {
-                    if (!"".equals(imageUrl)) {
-                        String[] filePath = imageUrlStr.split("/");
-                        String fileName = filePath[filePath.length - 1];
-                        String newImageUrl = nginxImageUrlPrefix + originalCaseId + "/" + cpSerialNum + "/" + fileName;
-                        stringBuilder.append(newImageUrl).append(",");
-                    }
-                }
-                bugDetail.setImgUrl(stringBuilder.toString());
-                bugDetailDao.save(bugDetail);
-            }
-            //解压图片文件,保存至本地
-            String destPath = prefix + "/xinchuangdata/input/imageUnzip/" + originalCaseId + "/" + cpSerialNum;
-            File unzipFile = new File(destPath);
-            if (!unzipFile.getParentFile().exists()) {
-                unzipFile.getParentFile().mkdirs();
-            }
-            unZip(zipFile, destPath, originalCaseId, cpSerialNum);
-            return bugDetailList;
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return new ArrayList<>();
-
-    }
-
-    private void bugDetailToFile(List<BugDetail> bugDetailList, String caseId) {
-        String[] titles = {"bug_id", "bug_category", "severity", "recurrent", "bug_create_time", "bug_page", "title",
-                "description", "img_url",
-                "score", "parent", "children", "root", "good_num", "good_worker_id", "bad_num", "bad_worker_id",
-                "test_case_id", "test_case_name", "test_case_front", "test_case_behind", "test_case_description", "test_case_create_time",
-                "report_id", "report_name", "report_create_time", "script_location", "report_location", "log_location", "device_model", "device_brand", "device_os",
-                "worker_id",
-                "case_app_name", "case_paper_type", "case_test_type", "case_description", "case_require_doc",
-                "case_take_id", "originalCaseId", "cpSerialNum"};
-        //导出文件
-        exportCsv(titles, bugDetailList, caseId);
-        exportJson(bugDetailList, caseId);
-        //导出图片zip包
-        String sourceFile = "/xinchuangdata/image/" + caseId;
-        try {
-            File dest = new File("/xinchuangdata/output/imageZip/" + caseId + ".zip");
-            if (!dest.getParentFile().exists()) {
-                dest.getParentFile().mkdirs();
-            }
-            FileOutputStream fileOutputStream = new FileOutputStream(dest);
-            toZip(sourceFile, fileOutputStream, false);
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }
-
-
-    }
-
-    private void exportJson(List<BugDetail> bugDetailList, String caseId) {
-        try {
-            File file = new File("/xinchuangdata/output/" + caseId + "/" + caseId + ".json");
-            if (!file.getParentFile().exists()) {
-                file.getParentFile().mkdirs();
-            }
-            JSONArray jsonArray = new JSONArray(bugDetailList);
-            Writer write = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
-            write.write(jsonArray.toString());
-            write.flush();
-            write.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-
-    private <T> void exportCsv(String[] titles, List<T> list, String caseId) {
-        try {
-            File file = new File("/xinchuangdata/output/" + caseId + "/" + caseId + ".csv");
-            if (!file.getParentFile().exists()) {
-                file.getParentFile().mkdirs();
-            }
-            //构建输出流,同时指定编码
-            OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
-            //csv文件是逗号分隔,除第一个外,每次写入一个单元格数据后需要输入逗号
-            for (String title : titles) {
-                ow.write(title);
-                ow.write(",");
-            }
-            //写完文件头后换行
-            ow.write("\r\n");
-            //写内容
-            for (Object obj : list) {
-                //利用反射获取所有字段
-                Field[] fields = obj.getClass().getDeclaredFields();
-                for (Field field : fields) {
-                    //设置字段可见性
-                    field.setAccessible(true);
-                    //防止某个field没有赋值
-                    if (field.get(obj) == null) {
-                        ow.write("");
-                    } else {
-                        //解决csv文件中对于逗号和双引号的转义问题
-                        ow.write("\"" + field.get(obj).toString().replaceAll("\"", "\"\"") + "\"");
-                    }
-                    ow.write(",");
-                }
-                //写完一行换行
-                ow.write("\r\n");
-            }
-            ow.flush();
-            ow.close();
-        } catch (IOException | IllegalAccessException e) {
-            e.printStackTrace();
-        }
-    }
-
-    private void toZip(String srcDir, OutputStream out, boolean keepDirStructure)
-            throws RuntimeException {
-        long start = System.currentTimeMillis();
-        ZipOutputStream zos = null;
-        try {
-            zos = new ZipOutputStream(out);
-            File sourceFile = new File(srcDir);
-            compress(sourceFile, zos, sourceFile.getName(), keepDirStructure);
-            long end = System.currentTimeMillis();
-            System.out.println("压缩完成,耗时:" + (end - start) + " ms");
-        } catch (Exception e) {
-            throw new RuntimeException("zip error from ZipUtils", e);
-        } finally {
-            if (zos != null) {
-                try {
-                    zos.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    /**
-     * 递归压缩方法
-     *
-     * @param sourceFile       源文件
-     * @param zos              zip输出流
-     * @param name             压缩后的名称
-     * @param keepDirStructure 是否保留原来的目录结构,true:保留目录结构;
-     *                         false:所有文件跑到压缩包根目录下(注意:不保留目录结构可能会出现同名文件,会压缩失败)
-     * @throws Exception
-     */
-    private void compress(File sourceFile, ZipOutputStream zos, String name,
-                          boolean keepDirStructure) throws Exception {
-        byte[] buf = new byte[BUFFER_SIZE];
-        if (sourceFile.isFile()) {
-            // 向zip输出流中添加一个zip实体,构造器中name为zip实体的文件的名字
-            zos.putNextEntry(new ZipEntry(name));
-            // copy文件到zip输出流中
-            int len;
-            FileInputStream in = new FileInputStream(sourceFile);
-            while ((len = in.read(buf)) != -1) {
-                zos.write(buf, 0, len);
-            }
-            // Complete the entry
-            zos.closeEntry();
-            in.close();
-        } else {
-            File[] listFiles = sourceFile.listFiles();
-            if (listFiles == null || listFiles.length == 0) {
-                // 需要保留原来的文件结构时,需要对空文件夹进行处理
-                if (keepDirStructure) {
-                    // 空文件夹的处理
-                    zos.putNextEntry(new ZipEntry(name + "/"));
-                    // 没有文件,不需要文件的copy
-                    zos.closeEntry();
-                }
-
-            } else {
-                for (File file : listFiles) {
-                    // 判断是否需要保留原来的文件结构
-                    if (keepDirStructure) {
-                        // 注意:file.getName()前面需要带上父文件夹的名字加一斜杠,
-                        // 不然最后压缩包中就不能保留原来的文件结构,即:所有文件都跑到压缩包根目录下了
-                        compress(file, zos, name + "/" + file.getName(), true);
-                    } else {
-                        compress(file, zos, file.getName(), false);
-                    }
-                }
-            }
-        }
-    }
-
-    private void unZip(File srcFile, String destDirPath, String originalCaseId, String fromCpSerialNum) throws RuntimeException {
-        long start = System.currentTimeMillis();
-        // 判断源文件是否存在
-        if (!srcFile.exists()) {
-            throw new RuntimeException(srcFile.getPath() + "所指文件不存在");
-        }
-        // 开始解压
-        ZipFile zipFile = null;
-        try {
-            zipFile = new ZipFile(srcFile);
-            Enumeration<?> entries = zipFile.entries();
-
-            while (entries.hasMoreElements()) {
-                ZipEntry entry = (ZipEntry) entries.nextElement();
-                System.out.println("解压" + entry.getName());
-                // 如果是文件夹,就创建个文件夹
-                if (entry.isDirectory()) {
-                    String dirPath = destDirPath + "/" + entry.getName();
-                    File dir = new File(dirPath);
-                    dir.mkdirs();
-                } else {
-                    // 如果是文件,就先创建一个文件,然后用io流把内容copy过去
-                    File targetFile = new File(destDirPath + "/" + entry.getName());
-                    // 保证这个文件的父文件夹必须要存在
-                    if (!targetFile.getParentFile().exists()) {
-                        targetFile.getParentFile().mkdirs();
-                    }
-                    targetFile.createNewFile();
-                    // 将压缩文件内容写入到这个文件中
-                    InputStream is = zipFile.getInputStream(entry);
-                    FileOutputStream fos = new FileOutputStream(targetFile);
-                    int len;
-                    byte[] buf = new byte[BUFFER_SIZE];
-                    while ((len = is.read(buf)) != -1) {
-                        fos.write(buf, 0, len);
-                    }
-                    // 关流顺序,先打开的后关闭
-                    fos.close();
-                    is.close();
-                }
-            }
-            long end = System.currentTimeMillis();
-            System.out.println("解压完成,耗时:" + (end - start) + " ms");
-        } catch (Exception e) {
-            throw new RuntimeException("unzip error from ZipUtils", e);
-        } finally {
-            if (zipFile != null) {
-                try {
-                    zipFile.close();
-
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-}

+ 20 - 11
src/main/java/edu/nju/service/NginxFileService.java

@@ -70,8 +70,17 @@ public class NginxFileService implements FileService {
     @Value("${cpSerialNum}")
     private String cpSerialNum;
 
-    @Value("${nginx.imageUrlPrefix}")
-    private String nginxImageUrlPrefix;
+    @Value("${save.path}")
+    private String savePath;
+
+    @Value("${save.folder}")
+    private String folderName;
+
+    @Value("${save.input}")
+    private String inputName;
+
+    @Value("${save.output}")
+    private String outputName;
 
     @Override
     public void uploadImage() {
@@ -93,12 +102,11 @@ public class NginxFileService implements FileService {
     private List<BugDetail> saveBugDetail(MultipartFile sourceZipFile, MultipartFile sourceJsonFile, String originalCaseId,String cpSerialNum){
         try {
             //读取文件流并保存在本地
-            String prefix="";
-            String zipFilePath=prefix+"/xinchuangdata/input/imageZip/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".zip";
+            String zipFilePath = savePath+ folderName + inputName + "/imageZip/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".zip";
             File zipFile=new File(zipFilePath);
             if(!zipFile.getParentFile().exists()) { zipFile.getParentFile().mkdirs(); }
             if(!sourceZipFile.isEmpty()) { sourceZipFile.transferTo(zipFile); }
-            String jsonFilePath=prefix+"/xinchuangdata/input/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".json";
+            String jsonFilePath = savePath+ folderName + inputName + "/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".json";
             File jsonFile=new File(jsonFilePath);
             if(!jsonFile.getParentFile().exists()) { jsonFile.getParentFile().mkdirs(); }
             if(!sourceJsonFile.isEmpty()) { sourceJsonFile.transferTo(jsonFile); }
@@ -123,7 +131,8 @@ public class NginxFileService implements FileService {
                     if(!"".equals(imageUrl)) {
                         String[] filePath = imageUrlStr.split("/");
                         String fileName = filePath[filePath.length - 1];
-                        String newImageUrl = nginxImageUrlPrefix + originalCaseId + "/" + cpSerialNum + "/" + fileName;
+                        // 图片保存路径?
+                        String newImageUrl = savePath + originalCaseId + "/" + cpSerialNum + "/" + fileName;
                         stringBuilder.append(newImageUrl).append(",");
                     }
                 }
@@ -131,7 +140,7 @@ public class NginxFileService implements FileService {
                 bugDetailDao.save(bugDetail);
             }
             //解压图片文件,保存至本地
-            String destPath=prefix+"/xinchuangdata/input/imageUnzip/"+originalCaseId+"/"+cpSerialNum;
+            String destPath = savePath+ folderName + inputName + "/imageUnzip/"+originalCaseId+"/"+cpSerialNum;
             File unzipFile=new File(destPath);
             if(!unzipFile.getParentFile().exists()) { unzipFile.getParentFile().mkdirs(); }
             unZip(zipFile,destPath,originalCaseId,cpSerialNum);
@@ -258,9 +267,9 @@ public class NginxFileService implements FileService {
         exportCsv(titles, bugDetailList, caseId);
         exportJson(bugDetailList, caseId);
         //导出图片zip包
-        String sourceFile = "/xinchuangdata/image/" + caseId;
+        String sourceFile = savePath + folderName + "/image/" + caseId;
         try {
-            File dest = new File("/xinchuangdata/output/imageZip/" + caseId + ".zip");
+            File dest = new File(savePath + folderName + outputName + "/imageZip/" + caseId + ".zip");
             if (!dest.getParentFile().exists()) {
                 dest.getParentFile().mkdirs();
             }
@@ -273,7 +282,7 @@ public class NginxFileService implements FileService {
 
     private void exportJson(List<BugDetail> bugDetailList, String caseId) {
         try {
-            File file = new File("/xinchuangdata/output/" + caseId + "/" + caseId + ".json");
+            File file = new File(savePath +  folderName + outputName + "/" + caseId + "/" + caseId + ".json");
             if (!file.getParentFile().exists()) {
                 file.getParentFile().mkdirs();
             }
@@ -289,7 +298,7 @@ public class NginxFileService implements FileService {
 
     private <T> void exportCsv(String[] titles, List<T> list, String caseId) {
         try {
-            File file = new File("/xinchuangdata/output/" + caseId + "/" + caseId + ".csv");
+            File file = new File(savePath +  folderName + outputName + "/" + caseId + "/" + caseId + ".csv");
             if (!file.getParentFile().exists()) {
                 file.getParentFile().mkdirs();
             }

+ 24 - 16
src/main/java/edu/nju/service/OssFileService.java

@@ -1,5 +1,6 @@
 package edu.nju.service;
 
+import edu.nju.configuration.OSSConfiguration;
 import edu.nju.entities.BugDetail;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 import org.springframework.web.multipart.MultipartFile;
@@ -60,16 +61,23 @@ public class OssFileService implements FileService {
 	@Autowired
 	BugDetailDao bugDetailDao;
 
+	@Autowired
+	private OSSConfiguration ossConfig;
+
 	@Value("${cpSerialNum}")
 	private String cpSerialNum;
 
-	@Value("${oss.bucketName}")
-	private String bucketName;
+	@Value("${save.path}")
+	private String savePath;
+
+	@Value("${save.folder}")
+	private String folderName;
 
-	@Value("${oss.imageUrlPrefix}")
-	private String ossImageUrlPrefix;
+	@Value("${save.input}")
+	private String inputName;
 
-	String localPrefix ="";
+	@Value("${save.output}")
+	private String outputName;
 
 	@Override
 	public void uploadImage() {
@@ -202,11 +210,11 @@ public class OssFileService implements FileService {
 	public List<BugDetail> saveBugDetail(MultipartFile sourceZipFile, MultipartFile sourceJsonFile, String originalCaseId, String cpSerialNum) {
 		try {
 			//读取文件流并保存在本地
-			String zipFilePath= localPrefix +"/xinchuangdata/input/imageZip/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".zip";
+			String zipFilePath= savePath + folderName + inputName + "/imageZip/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".zip";
 			File zipFile=new File(zipFilePath);
 			if(!zipFile.getParentFile().exists()) { zipFile.getParentFile().mkdirs(); }
 			if(!sourceZipFile.isEmpty()) { sourceZipFile.transferTo(zipFile); }
-			String jsonFilePath= localPrefix +"/xinchuangdata/input/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".json";
+			String jsonFilePath= savePath + folderName + inputName + "/"+originalCaseId+"/"+cpSerialNum+"/"+originalCaseId+".json";
 			File jsonFile=new File(jsonFilePath);
 			if(!jsonFile.getParentFile().exists()) { jsonFile.getParentFile().mkdirs(); }
 			if(!sourceJsonFile.isEmpty()) { sourceJsonFile.transferTo(jsonFile); }
@@ -231,7 +239,7 @@ public class OssFileService implements FileService {
 					if(!"".equals(imageUrl)) {
 						String[] filePath = imageUrlStr.split("/");
 						String fileName = filePath[filePath.length - 1];
-						String newImageUrl = ossImageUrlPrefix + originalCaseId + "/" + cpSerialNum + "/" + fileName;
+						String newImageUrl = ossConfig.getBaseUrl() + folderName + "/image/" + originalCaseId + "/" + cpSerialNum + "/" + fileName;
 						stringBuilder.append(newImageUrl).append(",");
 					}
 				}
@@ -239,7 +247,7 @@ public class OssFileService implements FileService {
 				bugDetailDao.save(bugDetail);
 			}
 			//解压图片文件,上传至oss
-			String destPath= localPrefix +"/xinchuangdata/input/imageUnzip/"+originalCaseId+"/"+cpSerialNum;
+			String destPath= savePath + folderName + inputName + "/imageUnzip/"+originalCaseId+"/"+cpSerialNum;
 			File unzipFile=new File(destPath);
 			if(!unzipFile.getParentFile().exists()) { unzipFile.getParentFile().mkdirs(); }
 			unZip(zipFile,destPath,originalCaseId,cpSerialNum);
@@ -261,15 +269,15 @@ public class OssFileService implements FileService {
 				"case_take_id", "originalCaseId", "cpSerialNum"};
 		File csvFile = exportCsv(titles, bugDetailList, caseId);
 		File jsonFile = exportJson(bugDetailList, caseId);
-		String csvObjectName = "xinchuang/output/"+caseId+"/"+cpSerialNum+"/" + csvFile.getName();
-		String jsonObjectName = "xinchuang/output/"+caseId+"/"+cpSerialNum+"/" + jsonFile.getName();
+		String csvObjectName = folderName.substring(1) + outputName + "/"+caseId+"/"+cpSerialNum+"/" + csvFile.getName();
+		String jsonObjectName = folderName.substring(1) + outputName + "/"+caseId+"/"+cpSerialNum+"/" + jsonFile.getName();
 		uploadToOss(csvObjectName,csvFile);
 		uploadToOss(jsonObjectName,jsonFile);
 	}
 
 	private File exportJson(List<BugDetail> bugDetailList, String caseId) {
 		try {
-			File file = new File(localPrefix+"/xinchuangdata/output/" + caseId + ".json");
+			File file = new File(savePath+ folderName + outputName + "/" + caseId + "/" + caseId + ".json");
 			if(!file.getParentFile().exists()) { file.getParentFile().mkdirs(); }
 			JSONArray jsonArray = new JSONArray(bugDetailList);
 			Writer write = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
@@ -286,7 +294,7 @@ public class OssFileService implements FileService {
 
 	private <T> File exportCsv(String[] titles, List<T> list, String caseId) {
 		try {
-			File file = new File(localPrefix+"/xinchuangdata/output/" + caseId + ".csv");
+			File file = new File(savePath + folderName + outputName + "/" + caseId + "/" + caseId + ".csv");
 			if(!file.getParentFile().exists()) { file.getParentFile().mkdirs(); }
 			//构建输出流,同时指定编码
 			OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
@@ -327,8 +335,8 @@ public class OssFileService implements FileService {
 
 	private void uploadToOss(String objectName,File file) {
 		if (file != null) {
-			OSS ossClient = OssAliyun.initShangHaiOss();
-			OssAliyun.uploadFile(ossClient, bucketName, objectName, file);
+			OSS ossClient = ossConfig.ossClient();
+			OssAliyun.uploadFile(ossClient, ossConfig.getBucketName(), objectName, file);
 		} else {
 			System.out.println("file is null");
 		}
@@ -382,7 +390,7 @@ public class OssFileService implements FileService {
 					fos.close();
 					is.close();
 					//图片文件上传至oss
-					String objectName = "xinchuang/image/"+originalCaseId+"/"+fromCpSerialNum+"/" + targetFile.getName();
+					String objectName = folderName + "/image/"+originalCaseId+"/"+fromCpSerialNum+"/" + targetFile.getName();
 					uploadToOss(objectName,targetFile);
 				}
 			}

+ 14 - 17
src/main/java/edu/nju/util/OssAliyun.java

@@ -33,6 +33,9 @@ import com.aliyun.oss.OSSException;
 import com.aliyun.oss.model.CannedAccessControlList;
 import com.aliyun.oss.model.CreateBucketRequest;
 import com.aliyun.oss.model.PutObjectRequest;
+import edu.nju.configuration.OSSConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 
 /**
  * This sample demonstrates how to get started with basic requests to Aliyun OSS
@@ -40,19 +43,11 @@ import com.aliyun.oss.model.PutObjectRequest;
  */
 public class OssAliyun {
 
-    private static String shangHaiEndpoint = "http://oss-cn-shanghai.aliyuncs.com";
-    private static String hangZhouEndpoint = "http://oss-cn-hangzhou.aliyuncs.com";
-    private static String accessKeyId = "LTAI4FdrT3HsfdR5edBVN7ws";
-    private static String accessKeySecret = "yroxrpm46DzTyzHrLBZzS3MRNIicP6";
-    private static String bucketName = "mooctest-site";
-
-    public static OSS initHangZhouOss(){
-        return new OSSClientBuilder().build(hangZhouEndpoint, accessKeyId, accessKeySecret);
-    }
+    @Autowired
+    private static OSSConfiguration ossConfig;
 
     public static OSS initShangHaiOss(){
-        return new OSSClientBuilder().build(shangHaiEndpoint, accessKeyId, accessKeySecret);
-
+        return ossConfig.ossClient();
     }
 
     public static void uploadFile(OSS ossClient,String bucketName,String objectName,File file){
@@ -73,8 +68,8 @@ public class OssAliyun {
             /*
              * Upload an object to your bucket
              */
-            System.out.println("Uploading a new object to OSS from a file\n");
             ossClient.putObject(new PutObjectRequest(bucketName, objectName, file));
+            System.out.println("Uploading success to OSS from a file!");
         } catch (OSSException oe) {
             System.out.println("Caught an OSSException, which means your request made it to OSS, "
                     + "but was rejected with an error response for some reason.");
@@ -97,7 +92,8 @@ public class OssAliyun {
         /*
          * Constructs a client instance with your account for accessing OSS
          */
-        OSS ossClient = new OSSClientBuilder().build(shangHaiEndpoint, accessKeyId, accessKeySecret);
+        OSS ossClient = ossConfig.ossClient();
+        String bucketName = ossConfig.getBucketName();
         try {
             /*
              * Determine whether the bucket exists
@@ -115,8 +111,8 @@ public class OssAliyun {
             /*
              * Upload an object to your bucket
              */
-            System.out.println("Uploading a new object to OSS from a file\n");
             ossClient.putObject(new PutObjectRequest(bucketName, objectName, file));
+            System.out.println("Uploading success to OSS from a file!");
 
 //            /*
 //             * Determine whether an object residents in your bucket
@@ -176,7 +172,8 @@ public class OssAliyun {
         /*
          * Constructs a client instance with your account for accessing OSS
          */
-        OSS ossClient = new OSSClientBuilder().build(shangHaiEndpoint, accessKeyId, accessKeySecret);
+        OSS ossClient = ossConfig.ossClient();
+        String bucketName = ossConfig.getBucketName();
         try {
             /*
              * Determine whether the bucket exists
@@ -232,14 +229,14 @@ public class OssAliyun {
     }
 
     public static void main(String[]arg){
-        OSS ossClient = new OSSClientBuilder().build(shangHaiEndpoint, accessKeyId, accessKeySecret);
+        OSS ossClient = ossConfig.ossClient();
         String objectName="paperjson/1492-2612.json";
         try {
             /*
              * Delete an object
              */
             System.out.println("Deleting an object\n");
-            ossClient.deleteObject(bucketName, objectName);
+            ossClient.deleteObject(ossConfig.getBucketName(), objectName);
 
         } catch (OSSException oe) {
             System.out.println("Caught an OSSException, which means your request made it to OSS, "

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
src/main/resources/apidoc/V1.0/.cache.json


+ 117 - 117
src/main/resources/apidoc/V1.0/apidoc.log

@@ -1,234 +1,234 @@
-五月 14, 2021 4:45:05 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:19 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find java src paths:  [/Users/guochao/Desktop/project/crowdsource-backend/src/main/java/]
-五月 14, 2021 4:45:05 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: project type not set, try to figure out...
-五月 14, 2021 4:45:05 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start find controllers in path : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : DeleteController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewJobController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewAnalyzeController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ExtraController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : RecommendController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ExportController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : AnalyzeController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : SettingController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : AnnotationController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ConfigurationController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : DataController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : UploadController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : HistoryController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : GraphController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : RelationController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : OAuthController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : OssController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReportController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : NodeController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewPaperController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : CrowdsourcingToReviewController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : DeleteController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : DeleteController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewJobController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewJobController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewAnalyzeController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewAnalyzeController.java
-五月 14, 2021 4:45:06 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:20 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ExtraController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ExtraController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : RecommendController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : RecommendController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ExportController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ExportController.java
-五月 14, 2021 4:45:07 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:22 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : AnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : AnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : SettingController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : SettingController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : AnnotationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : AnnotationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ConfigurationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ConfigurationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : DataController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : DataController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : UploadController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : UploadController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : HistoryController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : HistoryController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : GraphController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : GraphController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : RelationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : RelationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : OAuthController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : OAuthController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : OssController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : OssController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : NodeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : NodeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewPaperController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewPaperController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : CrowdsourcingToReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : CrowdsourcingToReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: generate api docs start...
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/SettingController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/SettingController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ConfigurationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ConfigurationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
-五月 14, 2021 4:45:08 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: generate index start !!!
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: generate index done !!!
-五月 14, 2021 4:45:09 下午 io.github.yedaxia.apidocs.LogUtils info
+五月 17, 2021 6:52:23 下午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: generate api docs done !!!

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -1344,6 +1347,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -821,6 +824,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ConfigurationController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -798,6 +801,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -810,6 +813,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 99 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -863,6 +866,101 @@ bug信息保存为json,csv文件,图片打包为zip文件 </a></h2>
         </div>
                         </div>
                         <hr>
+                        <div class="action-item">
+<h2 id="saveBugDetailFromOss"><a href="#">bug数据导入 </a></h2>
+    <p class="text-muted"><em>作者: JiaWei Xu</em></p>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/data/inputFromOSS</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>zipFile</td>
+                        <td>file</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>jsonFile</td>
+                        <td>file</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>originalCaseId</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>与目前系统哪个case对应</td>
+                    </tr>
+                    <tr>
+                        <td>cpSerialNum</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>来自哪个cp</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
                     </div>
                 </div>
             </div>
@@ -960,6 +1058,7 @@ bug信息保存为json,csv文件,图片打包为zip文件 </a></h2>
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -834,6 +837,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -798,6 +801,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -1457,6 +1460,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -870,6 +873,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -918,6 +921,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -858,6 +861,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -822,6 +825,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -819,6 +822,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -920,6 +923,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -872,6 +875,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -946,6 +949,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -831,6 +834,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -903,6 +906,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -889,6 +892,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -913,6 +916,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_SettingController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -808,6 +811,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -978,6 +981,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
             {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
             {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
             {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
             {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 4 - 0
src/main/resources/apidoc/V1.0/index.html

@@ -368,6 +368,9 @@ bug信息保存为json,csv文件,图片打包为zip文件
                     <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
                         bug数据导入
                     </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromOss">
+                        bug数据导入
+                    </a>
             </div>
         </div>
         <div class="panel">
@@ -812,6 +815,7 @@ bug信息保存为json,csv文件,图片打包为zip文件
 保存到本地,
 bug信息保存为json,csv文件,图片打包为zip文件', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
         {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+        {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromOss'},
         {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
         {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
         {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},

+ 107 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html

@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface BugDetail : NSObject
+
+//bug属性
+@property (nonatomic, assign) NSString id;
+//
+@property (nonatomic, assign) NSString bugCategory;
+//
+@property (nonatomic, assign) NSString severity;
+//
+@property (nonatomic, assign) NSString recurrent;
+//
+@property (nonatomic, assign) NSString bugCreateTime;
+//
+@property (nonatomic, assign) NSString bugPage;
+//
+@property (nonatomic, assign) NSString title;
+//
+@property (nonatomic, assign) NSString bugDescription;
+//
+@property (nonatomic, assign) NSString imgUrl;
+//
+@property (nonatomic, strong) NSInteger score;
+//
+@property (nonatomic, assign) NSString parent;
+//
+@property (nonatomic, strong) string[] children;
+//
+@property (nonatomic, assign) NSString root;
+//
+@property (nonatomic, strong) NSInteger goodNum;
+//
+@property (nonatomic, strong) string[] goodWorkerId;
+//
+@property (nonatomic, strong) NSInteger badNum;
+//
+@property (nonatomic, strong) string[] badWorkerId;
+//测试用例属性
+@property (nonatomic, assign) NSString testCaseId;
+//
+@property (nonatomic, assign) NSString testCaseName;
+//
+@property (nonatomic, assign) NSString testCaseFront;
+//
+@property (nonatomic, assign) NSString testCaseBehind;
+//
+@property (nonatomic, assign) NSString testCaseDescription;
+//
+@property (nonatomic, assign) NSString testCaseCreateTime;
+//report属性
+@property (nonatomic, assign) NSString reportId;
+//
+@property (nonatomic, assign) NSString reportName;
+//
+@property (nonatomic, assign) NSString reportCreateTime;
+//
+@property (nonatomic, assign) NSString scriptLocation;
+//
+@property (nonatomic, assign) NSString reportLocation;
+//
+@property (nonatomic, assign) NSString logLocation;
+//
+@property (nonatomic, assign) NSString deviceModel;
+//
+@property (nonatomic, assign) NSString deviceBrand;
+//
+@property (nonatomic, assign) NSString deviceOs;
+//工人属性
+@property (nonatomic, assign) NSString workerId;
+//众测任务属性
+@property (nonatomic, assign) NSString caseAppName;
+//
+@property (nonatomic, assign) NSString casePaperType;
+//
+@property (nonatomic, assign) NSString caseTestType;
+//
+@property (nonatomic, assign) NSString caseDescription;
+//
+@property (nonatomic, assign) NSString caseRequireDoc;
+//原系统中的case_take_id
+@property (nonatomic, assign) NSString caseTakeId;
+//与目前系统中的哪个case对应
+@property (nonatomic, assign) NSString originalCaseId;
+//cp系统序列号
+@property (nonatomic, assign) NSString cpSerialNum;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 390 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_saveBugDetailFromOss_BugDetail.html

@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class BugDetail implements Serializable{
+
+    private String id; //bug属性
+    private String bugCategory; //
+    private String severity; //
+    private String recurrent; //
+    private String bugCreateTime; //
+    private String bugPage; //
+    private String title; //
+    private String bugDescription; //
+    private String imgUrl; //
+    private int score; //
+    private String parent; //
+    private string[] children; //
+    private String root; //
+    private int goodNum; //
+    private string[] goodWorkerId; //
+    private int badNum; //
+    private string[] badWorkerId; //
+    private String testCaseId; //测试用例属性
+    private String testCaseName; //
+    private String testCaseFront; //
+    private String testCaseBehind; //
+    private String testCaseDescription; //
+    private String testCaseCreateTime; //
+    private String reportId; //report属性
+    private String reportName; //
+    private String reportCreateTime; //
+    private String scriptLocation; //
+    private String reportLocation; //
+    private String logLocation; //
+    private String deviceModel; //
+    private String deviceBrand; //
+    private String deviceOs; //
+    private String workerId; //工人属性
+    private String caseAppName; //众测任务属性
+    private String casePaperType; //
+    private String caseTestType; //
+    private String caseDescription; //
+    private String caseRequireDoc; //
+    private String caseTakeId; //原系统中的case_take_id
+    private String originalCaseId; //与目前系统中的哪个case对应
+    private String cpSerialNum; //cp系统序列号
+
+    public String getId(){
+        return id;
+    }
+
+    public void setId(String id){
+        this.id = id;
+    }
+
+    public String getBugCategory(){
+        return bugCategory;
+    }
+
+    public void setBugCategory(String bugCategory){
+        this.bugCategory = bugCategory;
+    }
+
+    public String getSeverity(){
+        return severity;
+    }
+
+    public void setSeverity(String severity){
+        this.severity = severity;
+    }
+
+    public String getRecurrent(){
+        return recurrent;
+    }
+
+    public void setRecurrent(String recurrent){
+        this.recurrent = recurrent;
+    }
+
+    public String getBugCreateTime(){
+        return bugCreateTime;
+    }
+
+    public void setBugCreateTime(String bugCreateTime){
+        this.bugCreateTime = bugCreateTime;
+    }
+
+    public String getBugPage(){
+        return bugPage;
+    }
+
+    public void setBugPage(String bugPage){
+        this.bugPage = bugPage;
+    }
+
+    public String getTitle(){
+        return title;
+    }
+
+    public void setTitle(String title){
+        this.title = title;
+    }
+
+    public String getBugDescription(){
+        return bugDescription;
+    }
+
+    public void setBugDescription(String bugDescription){
+        this.bugDescription = bugDescription;
+    }
+
+    public String getImgUrl(){
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl){
+        this.imgUrl = imgUrl;
+    }
+
+    public int getScore(){
+        return score;
+    }
+
+    public void setScore(int score){
+        this.score = score;
+    }
+
+    public String getParent(){
+        return parent;
+    }
+
+    public void setParent(String parent){
+        this.parent = parent;
+    }
+
+    public string[] getChildren(){
+        return children;
+    }
+
+    public void setChildren(string[] children){
+        this.children = children;
+    }
+
+    public String getRoot(){
+        return root;
+    }
+
+    public void setRoot(String root){
+        this.root = root;
+    }
+
+    public int getGoodNum(){
+        return goodNum;
+    }
+
+    public void setGoodNum(int goodNum){
+        this.goodNum = goodNum;
+    }
+
+    public string[] getGoodWorkerId(){
+        return goodWorkerId;
+    }
+
+    public void setGoodWorkerId(string[] goodWorkerId){
+        this.goodWorkerId = goodWorkerId;
+    }
+
+    public int getBadNum(){
+        return badNum;
+    }
+
+    public void setBadNum(int badNum){
+        this.badNum = badNum;
+    }
+
+    public string[] getBadWorkerId(){
+        return badWorkerId;
+    }
+
+    public void setBadWorkerId(string[] badWorkerId){
+        this.badWorkerId = badWorkerId;
+    }
+
+    public String getTestCaseId(){
+        return testCaseId;
+    }
+
+    public void setTestCaseId(String testCaseId){
+        this.testCaseId = testCaseId;
+    }
+
+    public String getTestCaseName(){
+        return testCaseName;
+    }
+
+    public void setTestCaseName(String testCaseName){
+        this.testCaseName = testCaseName;
+    }
+
+    public String getTestCaseFront(){
+        return testCaseFront;
+    }
+
+    public void setTestCaseFront(String testCaseFront){
+        this.testCaseFront = testCaseFront;
+    }
+
+    public String getTestCaseBehind(){
+        return testCaseBehind;
+    }
+
+    public void setTestCaseBehind(String testCaseBehind){
+        this.testCaseBehind = testCaseBehind;
+    }
+
+    public String getTestCaseDescription(){
+        return testCaseDescription;
+    }
+
+    public void setTestCaseDescription(String testCaseDescription){
+        this.testCaseDescription = testCaseDescription;
+    }
+
+    public String getTestCaseCreateTime(){
+        return testCaseCreateTime;
+    }
+
+    public void setTestCaseCreateTime(String testCaseCreateTime){
+        this.testCaseCreateTime = testCaseCreateTime;
+    }
+
+    public String getReportId(){
+        return reportId;
+    }
+
+    public void setReportId(String reportId){
+        this.reportId = reportId;
+    }
+
+    public String getReportName(){
+        return reportName;
+    }
+
+    public void setReportName(String reportName){
+        this.reportName = reportName;
+    }
+
+    public String getReportCreateTime(){
+        return reportCreateTime;
+    }
+
+    public void setReportCreateTime(String reportCreateTime){
+        this.reportCreateTime = reportCreateTime;
+    }
+
+    public String getScriptLocation(){
+        return scriptLocation;
+    }
+
+    public void setScriptLocation(String scriptLocation){
+        this.scriptLocation = scriptLocation;
+    }
+
+    public String getReportLocation(){
+        return reportLocation;
+    }
+
+    public void setReportLocation(String reportLocation){
+        this.reportLocation = reportLocation;
+    }
+
+    public String getLogLocation(){
+        return logLocation;
+    }
+
+    public void setLogLocation(String logLocation){
+        this.logLocation = logLocation;
+    }
+
+    public String getDeviceModel(){
+        return deviceModel;
+    }
+
+    public void setDeviceModel(String deviceModel){
+        this.deviceModel = deviceModel;
+    }
+
+    public String getDeviceBrand(){
+        return deviceBrand;
+    }
+
+    public void setDeviceBrand(String deviceBrand){
+        this.deviceBrand = deviceBrand;
+    }
+
+    public String getDeviceOs(){
+        return deviceOs;
+    }
+
+    public void setDeviceOs(String deviceOs){
+        this.deviceOs = deviceOs;
+    }
+
+    public String getWorkerId(){
+        return workerId;
+    }
+
+    public void setWorkerId(String workerId){
+        this.workerId = workerId;
+    }
+
+    public String getCaseAppName(){
+        return caseAppName;
+    }
+
+    public void setCaseAppName(String caseAppName){
+        this.caseAppName = caseAppName;
+    }
+
+    public String getCasePaperType(){
+        return casePaperType;
+    }
+
+    public void setCasePaperType(String casePaperType){
+        this.casePaperType = casePaperType;
+    }
+
+    public String getCaseTestType(){
+        return caseTestType;
+    }
+
+    public void setCaseTestType(String caseTestType){
+        this.caseTestType = caseTestType;
+    }
+
+    public String getCaseDescription(){
+        return caseDescription;
+    }
+
+    public void setCaseDescription(String caseDescription){
+        this.caseDescription = caseDescription;
+    }
+
+    public String getCaseRequireDoc(){
+        return caseRequireDoc;
+    }
+
+    public void setCaseRequireDoc(String caseRequireDoc){
+        this.caseRequireDoc = caseRequireDoc;
+    }
+
+    public String getCaseTakeId(){
+        return caseTakeId;
+    }
+
+    public void setCaseTakeId(String caseTakeId){
+        this.caseTakeId = caseTakeId;
+    }
+
+    public String getOriginalCaseId(){
+        return originalCaseId;
+    }
+
+    public void setOriginalCaseId(String originalCaseId){
+        this.originalCaseId = originalCaseId;
+    }
+
+    public String getCpSerialNum(){
+        return cpSerialNum;
+    }
+
+    public void setCpSerialNum(String cpSerialNum){
+        this.cpSerialNum = cpSerialNum;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 64 - 0
src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md

@@ -1443,6 +1443,70 @@ cpSerialNum|string|否|来自哪个cp
 	"cpSerialNum":"string //cp系统序列号"
 }]
 ```
+## bug数据导入
+
+*作者: JiaWei Xu*
+
+**请求URL**
+
+/data/inputFromOSS `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+zipFile|file|否|
+jsonFile|file|否|
+originalCaseId|string|否|与目前系统哪个case对应
+cpSerialNum|string|否|来自哪个cp
+
+**返回结果**
+
+```json
+[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]
+```
 # ReviewController
 ## getReportListByWorkerJob
 

+ 36 - 4
src/main/resources/application.yml

@@ -1,5 +1,6 @@
 #spring.profiles.active: dev-xc
-spring.profiles.active: private
+#spring.profiles.active: private
+spring.profiles.active: dev-online
 #spring.profiles.active: dev
 #spring.profiles.active: test
 #spring.profiles.active: prod
@@ -7,7 +8,6 @@ spring.profiles.active: private
 cpSerialNum: cp_mooctest_dev
 
 oss:
-  imageUrlPrefix: https://mooctest-site.oss-cn-shanghai.aliyuncs.com/xinchuang/image/
   bucketName: mooctest-site
 
 this:
@@ -28,6 +28,35 @@ logging:
     org.springframework.http.server.reactive: DEBUG
     org.springframework.web.reactive: DEBUG
     reactor.ipc.netty: DEBUG
+---
+spring:
+  profiles: dev-online
+  http:
+    encoding:
+      charset: UTF-8
+      enabled: true
+      force: true
+  data:
+    mongodb:
+      uri: mongodb://121.196.124.158:27017/test
+server:
+  port: 8090
+  servlet:
+    context-path: /Bug/api/
+  tomcat:
+    uri-encoding: UTF-8
+useOss: true
+oss:
+  accessKeyId: LTAI4FdrT3HsfdR5edBVN7ws
+  accessKeySecret: yroxrpm46DzTyzHrLBZzS3MRNIicP6
+  endPoint: oss-cn-shanghai.aliyuncs.com
+  bucketName: mooctest-site
+
+save:
+  path: /Users/guochao/Desktop/corwd-file
+  folder: /xinchuang
+  input: /input
+  output: /output
 
 ---
 spring:
@@ -47,5 +76,8 @@ server:
   tomcat:
     uri-encoding: UTF-8
 useOss: false
-nginx:
-  imageUrlPrefix: /Users/guochao/Desktop/corwd-file/
+save:
+  path: /Users/guochao/Desktop/corwd-file
+  folder: /xinchuang
+  input: /input
+  output: /output

Деякі файли не було показано, через те що забагато файлів було змінено