|
@@ -2,16 +2,14 @@ package edu.nju.service;
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
+import com.google.gson.JsonArray;
|
|
|
|
+import edu.nju.dao.*;
|
|
import edu.nju.entities.*;
|
|
import edu.nju.entities.*;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import edu.nju.dao.ReportDao;
|
|
|
|
-import edu.nju.dao.BugDao;
|
|
|
|
-import edu.nju.dao.ExamDao;
|
|
|
|
-import edu.nju.dao.TestCaseDao;
|
|
|
|
import edu.nju.util.ExcelToJson;
|
|
import edu.nju.util.ExcelToJson;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -28,6 +26,12 @@ public class ExtraService {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
BugDao bugDao;
|
|
BugDao bugDao;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ JobDao jobDao;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ ItemDao itemDao;
|
|
|
|
|
|
//测试用例相关
|
|
//测试用例相关
|
|
public String saveTestCase(String report_id, String name, String front, String behind, String description) {
|
|
public String saveTestCase(String report_id, String name, String front, String behind, String description) {
|
|
@@ -135,41 +139,151 @@ public class ExtraService {
|
|
JSONObject jsonObject=new JSONObject(jobJson);
|
|
JSONObject jsonObject=new JSONObject(jobJson);
|
|
String description=jsonObject.getString("description");
|
|
String description=jsonObject.getString("description");
|
|
String name=jsonObject.getString("name");
|
|
String name=jsonObject.getString("name");
|
|
- String create_time_millis=Long.toString(System.currentTimeMillis());
|
|
|
|
-
|
|
|
|
- //todo save job, item-user分组
|
|
|
|
-
|
|
|
|
- saveItem(jsonObject.getJSONArray("itemList"),"111");
|
|
|
|
-
|
|
|
|
- return null;
|
|
|
|
-
|
|
|
|
|
|
+// String create_time_millis=Long.toString(System.currentTimeMillis());
|
|
|
|
|
|
|
|
+ String job_id=jobDao.save(new Job(description,name,Long.toString(System.currentTimeMillis()),"","","","","",""));
|
|
|
|
|
|
|
|
+ JSONArray itemArray=jsonObject.getJSONArray("itemList");
|
|
|
|
+ //save item
|
|
|
|
+ //item index-id
|
|
|
|
+ HashMap<String,String> item_index_to_id=new HashMap<>();
|
|
|
|
+ for(int i=0;i<itemArray.length();i++) {
|
|
|
|
+ JSONObject itemObject = itemArray.getJSONObject(i);
|
|
|
|
+ String item_id=saveItem(itemObject,job_id);
|
|
|
|
+ String item_index=itemObject.getString("index");
|
|
|
|
+ item_index_to_id.put(item_index,item_id);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ //worker_id-item_id_list
|
|
|
|
+ JSONArray workerArray=jsonObject.getJSONArray("workerList");
|
|
|
|
+ createWorkerToItem(item_index_to_id,workerArray);
|
|
|
|
|
|
|
|
+ return job_id;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private void saveItem(JSONArray itemArray,String job_id){
|
|
|
|
- for(int i=0;i<itemArray.length();i++){
|
|
|
|
- JSONObject itemObject=itemArray.getJSONObject(i);
|
|
|
|
|
|
+ private String saveItem(JSONObject itemObject,String job_id){
|
|
|
|
+
|
|
|
|
+// JSONObject itemObject=itemArray.getJSONObject(i);
|
|
String description=itemObject.getString("description");
|
|
String description=itemObject.getString("description");
|
|
- Set<String> img_urls=new HashSet<>();
|
|
|
|
|
|
+ List<String> img_urls=new ArrayList<>();
|
|
JSONArray imgUrlArray=itemObject.getJSONArray("img_urls");
|
|
JSONArray imgUrlArray=itemObject.getJSONArray("img_urls");
|
|
for (int j=0;j<imgUrlArray.length();j++){
|
|
for (int j=0;j<imgUrlArray.length();j++){
|
|
- img_urls.add(imgUrlArray.getString(i));
|
|
|
|
|
|
+ JSONObject imgUrlObject=imgUrlArray.getJSONObject(j);
|
|
|
|
+ img_urls.add(imgUrlObject.getString("url"));
|
|
}
|
|
}
|
|
boolean isRequired=Boolean.parseBoolean(itemObject.getString("isRequired"));
|
|
boolean isRequired=Boolean.parseBoolean(itemObject.getString("isRequired"));
|
|
boolean isMultiple=Boolean.parseBoolean(itemObject.getString("isMultiple"));
|
|
boolean isMultiple=Boolean.parseBoolean(itemObject.getString("isMultiple"));
|
|
- //todo files, options
|
|
|
|
-
|
|
|
|
|
|
+ List<String> file_urls=new ArrayList<>();
|
|
|
|
+ JSONArray fileArray=itemObject.getJSONArray("file_urls");
|
|
|
|
+// System.out.println(fileArray);
|
|
|
|
+ for (int j=0;j<fileArray.length();j++){
|
|
|
|
+ JSONObject fileObject=fileArray.getJSONObject(j);
|
|
|
|
+// System.out.println(fileObject.getString("url"));
|
|
|
|
+ file_urls.add(fileObject.getString("url"));
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ List<String> options=new ArrayList<>();
|
|
|
|
+ JSONArray optionArray=itemObject.getJSONArray("options");
|
|
|
|
+// System.out.println(optionArray);
|
|
|
|
+ for (int j=0;j<optionArray.length();j++){
|
|
|
|
+ JSONObject optionObject=optionArray.getJSONObject(j);
|
|
|
|
+// System.out.println(optionObject.getString("option"));
|
|
|
|
+ options.add(optionObject.getString("option"));
|
|
|
|
+ }
|
|
|
|
+ Item item=new Item(description,img_urls,isRequired,isMultiple,file_urls,options,job_id);
|
|
|
|
+ return itemDao.saveItem(item);
|
|
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ private void createWorkerToItem(HashMap<String,String> item_index_to_id,JSONArray workerArray){
|
|
|
|
+ HashMap<String,List<String>> worker_to_item=new HashMap<>();
|
|
|
|
|
|
|
|
+ for(int i=0;i<workerArray.length();i++){
|
|
|
|
+ JSONObject workerObject=workerArray.getJSONObject(i);
|
|
|
|
+ String worker_id=workerObject.getString("worker_id");
|
|
|
|
+ JSONArray itemIndexArray=workerObject.getJSONArray("item_index_list");
|
|
|
|
+ List<String> itemIdList=new ArrayList<>();
|
|
|
|
+ for (int j=0;j<itemIndexArray.length();j++){
|
|
|
|
+ JSONObject itemIndexObject=itemIndexArray.getJSONObject(j);
|
|
|
|
+ itemIdList.add(item_index_to_id.get(itemIndexObject.getString("index")));
|
|
|
|
+ }
|
|
|
|
+ worker_to_item.put(worker_id,itemIdList);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //todo worker-to-item
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// public static void main(String[] args) {
|
|
|
|
+// System.out.println("11");
|
|
|
|
+//// String jobJson = "{\"description\":\"job描述\",\"name\":\"jobname\",\"itemList\":[{\"description\":\"itemdesc\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}]}],\"isReuqired\":\"true\",\"isMutilple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]}";
|
|
|
|
+//// String jobJson="{\"description\":\"job描述\",\"name\":\"jobname\",\"itemList\":[{\"description\":\"itemdesc1\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"},{\"description\":\"itemdesc2\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"},{\"description\":\"itemdesc3\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}]}],\"isReuqired\":\"true\",\"isMutilple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]}";
|
|
|
|
+//// String jobJson="{\"description\":\"job描述\",\"name\":\"jobname\",\"itemList\":[{\"description\":\"itemdesc1\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}]},{\"description\":\"itemdesc2\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}]},{\"description\":\"itemdesc3\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}]}],\"isReuqired\":\"true\",\"isMutilple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]}";
|
|
|
|
+//// String jobJson="{\"description\":\"job描述\",\"name\":\"jobname\",\"itemList\":[{\"description\":\"itemdesc1\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isRequired\":\"true\",\"isMultiple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]},{\"description\":\"itemdesc2\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isReuqired\":\"true\",\"isMutilple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]},{\"description\":\"itemdesc3\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isReuqired\":\"true\",\"isMutilple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]}]}";
|
|
|
|
+// String jobJson="{\"description\":\"job描述\",\"name\":\"jobname\",\"itemList\":[{\"description\":\"itemdesc1\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isRequired\":\"true\",\"isMultiple\":\"false\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]},{\"description\":\"itemdesc2\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isRequired\":\"true\",\"isMultiple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]},{\"description\":\"itemdesc3\",\"img_urls\":[{\"url\":\"imgurl1\"},{\"url\":\"imgurl2\"},{\"url\":\"imgurl3\"}],\"isRequired\":\"true\",\"isMultiple\":\"true\",\"file_urls\":[{\"url\":\"fileurl1\"},{\"url\":\"fileurl2\"},{\"url\":\"fileurl3\"}],\"options\":[{\"option\":\"option1\"},{\"option\":\"option2\"},{\"option\":\"option3\"}]}]}";
|
|
|
|
+//
|
|
|
|
+// JSONObject jsonObject = new JSONObject(jobJson);
|
|
|
|
+// String description = jsonObject.getString("description");
|
|
|
|
+// String name = jsonObject.getString("name");
|
|
|
|
+// System.out.println(description);
|
|
|
|
+// System.out.println(name);
|
|
|
|
+//
|
|
|
|
+//// System.out.println();
|
|
|
|
+//
|
|
|
|
+// JSONArray itemArray = jsonObject.getJSONArray("itemList");
|
|
|
|
+//// System.out.println(itemArray);
|
|
|
|
+// for (int i = 0; i < itemArray.length(); i++) {
|
|
|
|
+// JSONObject itemObject = itemArray.getJSONObject(i);
|
|
|
|
+//
|
|
|
|
+// System.out.println(itemObject);
|
|
|
|
+//// System.out.println(itemObject);
|
|
|
|
+//
|
|
|
|
+// String itemDescription=itemObject.getString("description");
|
|
|
|
+// System.out.println(itemDescription);
|
|
|
|
+//
|
|
|
|
+//// System.out.println(itemObject.getString("isRequired"));
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// boolean isRequired=Boolean.parseBoolean(itemObject.getString("isRequired"));
|
|
|
|
+// boolean isMultiple=Boolean.parseBoolean(itemObject.getString("isMultiple"));
|
|
|
|
+//
|
|
|
|
+// System.out.println(isRequired);
|
|
|
|
+// System.out.println(isMultiple);
|
|
|
|
+// List<String> img_urls=new ArrayList<>();
|
|
|
|
+// JSONArray imgUrlArray=itemObject.getJSONArray("img_urls");
|
|
|
|
+// System.out.println(imgUrlArray);
|
|
|
|
+// for (int j=0;j<imgUrlArray.length();j++){
|
|
|
|
+// JSONObject imgUrlObject=imgUrlArray.getJSONObject(j);
|
|
|
|
+// System.out.println(imgUrlObject.getString("url"));
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// System.out.println(itemObject.keySet());
|
|
|
|
+//
|
|
|
|
+// JSONArray fileArray=itemObject.getJSONArray("file_urls");
|
|
|
|
+// System.out.println(fileArray);
|
|
|
|
+// for (int j=0;j<fileArray.length();j++){
|
|
|
|
+// JSONObject fileObject=fileArray.getJSONObject(j);
|
|
|
|
+// System.out.println(fileObject.getString("url"));
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// JSONArray optionArray=itemObject.getJSONArray("options");
|
|
|
|
+// System.out.println(optionArray);
|
|
|
|
+// for (int j=0;j<optionArray.length();j++){
|
|
|
|
+// JSONObject optionObject=optionArray.getJSONObject(j);
|
|
|
|
+// System.out.println(optionObject.getString("option"));
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// }
|
|
}
|
|
}
|