ExtraService.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. package edu.nju.service;
  2. import java.util.*;
  3. import edu.nju.entities.*;
  4. import org.json.JSONArray;
  5. import org.json.JSONObject;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import edu.nju.dao.ReportDao;
  9. import edu.nju.dao.BugDao;
  10. import edu.nju.dao.ExamDao;
  11. import edu.nju.dao.TestCaseDao;
  12. import edu.nju.util.ExcelToJson;
  13. @Service
  14. public class ExtraService {
  15. @Autowired
  16. ReportDao reportDao;
  17. @Autowired
  18. ExamDao examDao;
  19. @Autowired
  20. TestCaseDao testDao;
  21. @Autowired
  22. BugDao bugDao;
  23. //测试用例相关
  24. public String saveTestCase(String report_id, String name, String front, String behind, String description) {
  25. TestCase testCase = new TestCase(name, front, behind, description, report_id, Long.toString(System.currentTimeMillis()));
  26. return testDao.save(testCase);
  27. }
  28. // public String saveTestCase(String report_id, String name, String front, String behind, String description,String if_execute,String if_bug) {
  29. // TestCase testCase = new TestCase(name, front, behind, description, report_id, Long.toString(System.currentTimeMillis()),if_execute,if_bug);
  30. // return testDao.save(testCase);
  31. // }
  32. public boolean updateTestCase(String id, String report_id, String name, String front, String behind, String description) {
  33. try {
  34. testDao.updateTestCase(id, report_id, name, front, behind, description);
  35. return true;
  36. } catch (Exception e) { return false; }
  37. }
  38. public List<TestCase> getCaseList(String report_id) {
  39. return testDao.findByReport(report_id);
  40. }
  41. public TestCase getTestCase(String id) {
  42. return testDao.findById(id);
  43. }
  44. //测试报告相关
  45. public String saveReport(String case_id, String task_id, String case_take_id, String woker_id, String name, String device_model,
  46. String device_brand, String device_os, String script_location, String report_location, String log_location) {
  47. Report report = new Report(case_id, task_id, case_take_id, woker_id, name, Long.toString(System.currentTimeMillis()),
  48. device_model, device_brand, device_os, script_location, report_location, log_location);
  49. return reportDao.save(report);
  50. }
  51. public boolean updateReport(String report_id, String case_id, String task_id, String case_take_id, String woker_id, String name, String device_model,
  52. String device_brand, String device_os, String script_location, String report_location, String log_location) {
  53. Report report = new Report(case_id, task_id, case_take_id, woker_id, name, Long.toString(System.currentTimeMillis()),
  54. device_model, device_brand, device_os, script_location, report_location, log_location);
  55. return reportDao.update(report_id, report);
  56. }
  57. public Report getReport(String report_id) {
  58. return reportDao.findById(report_id);
  59. }
  60. public Report findByWorker(String case_take_id, String worker_id) {
  61. return reportDao.findByWoker(case_take_id, worker_id);
  62. }
  63. public List<Bug> getBugList(String report_id, String case_take_id) {
  64. return bugDao.findByReport(report_id, case_take_id);
  65. }
  66. //测试题目相关
  67. public String saveExam(String case_id, String path, String app_name, String paper_type, String test_type, String description) {
  68. String json = ExcelToJson.ExcelTranse(path).toString();
  69. Exam exam = new Exam(case_id, json, app_name, paper_type, test_type, description);
  70. examDao.save(exam);
  71. return json;
  72. }
  73. // public String saveExam1(String case_id, String path, String app_name, String paper_type, String test_type, String description,
  74. // String if_test_case,String if_bug) {
  75. // String json = ExcelToJson.ExcelTranse(path).toString();
  76. //// Exam exam = new Exam(case_id, json, app_name, paper_type, test_type, description);
  77. // Exam exam = new Exam(case_id, json, app_name, paper_type, test_type, description,if_test_case,if_bug);
  78. // examDao.save(exam);
  79. // return json;
  80. // }
  81. public JSONArray getExamList() {
  82. List<Exam> result = examDao.findAll();
  83. JSONArray array = new JSONArray();
  84. Set<String> ids = bugDao.findAllids();
  85. Map<String, Exam> exams = new HashMap<>();
  86. for(Exam exam: result) { exams.put(exam.getId(), exam); }
  87. for(String id: ids) {
  88. if(id == null || id.length() <= 0) { continue; }
  89. String[] strs = id.split("-");
  90. String case_id = strs[0];
  91. String task_id = strs[1];
  92. if(exams.containsKey(case_id)) {
  93. JSONObject object = new JSONObject();
  94. Exam exam = exams.get(case_id);
  95. object.put("name", exam.getName());
  96. object.put("description", exam.getDescription());
  97. object.put("testType", exam.getTest_type());
  98. object.put("case_id", case_id);
  99. object.put("task_id", task_id);
  100. array.put(object);
  101. }
  102. }
  103. return array;
  104. }
  105. public Exam getExam(String id) {
  106. return examDao.findById(id);
  107. }
  108. public String saveJob(String jobJson){
  109. JSONObject jsonObject=new JSONObject(jobJson);
  110. String description=jsonObject.getString("description");
  111. String name=jsonObject.getString("name");
  112. String create_time_millis=Long.toString(System.currentTimeMillis());
  113. //todo save job, item-user分组
  114. saveItem(jsonObject.getJSONArray("itemList"),"111");
  115. return null;
  116. }
  117. private void saveItem(JSONArray itemArray,String job_id){
  118. for(int i=0;i<itemArray.length();i++){
  119. JSONObject itemObject=itemArray.getJSONObject(i);
  120. String description=itemObject.getString("description");
  121. Set<String> img_urls=new HashSet<>();
  122. JSONArray imgUrlArray=itemObject.getJSONArray("img_urls");
  123. for (int j=0;j<imgUrlArray.length();j++){
  124. img_urls.add(imgUrlArray.getString(i));
  125. }
  126. boolean isRequired=Boolean.parseBoolean(itemObject.getString("isRequired"));
  127. boolean isMultiple=Boolean.parseBoolean(itemObject.getString("isMultiple"));
  128. //todo files, options
  129. }
  130. }
  131. }