|
@@ -4,6 +4,8 @@ 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.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
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.util.HTTP;
|
|
import edu.nju.util.HTTP;
|
|
@@ -49,6 +51,9 @@ public class NodeService {
|
|
ReviewWorkerDao reviewWorkerDao;
|
|
ReviewWorkerDao reviewWorkerDao;
|
|
|
|
|
|
|
|
|
|
|
|
+ Logger logger= LoggerFactory.getLogger(RecommendService.class);
|
|
|
|
+
|
|
|
|
+
|
|
public BasicNode generateBasicNode(String jobId,String teacherId){
|
|
public BasicNode generateBasicNode(String jobId,String teacherId){
|
|
ReviewJob reviewJob=reviewJobDao.findJob(jobId);
|
|
ReviewJob reviewJob=reviewJobDao.findJob(jobId);
|
|
ReviewPaper reviewPaper=reviewPaperDao.findPaper(reviewJob.getPaper_id());
|
|
ReviewPaper reviewPaper=reviewPaperDao.findPaper(reviewJob.getPaper_id());
|
|
@@ -354,6 +359,44 @@ public class NodeService {
|
|
return answerNodeDao.findByJobWorker(jobId,workerId);
|
|
return answerNodeDao.findByJobWorker(jobId,workerId);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public JSONObject uploadSingleCatchNodeToMoocTest(String jobId,String workerId){
|
|
|
|
+ ReviewJob reviewJob=reviewJobDao.findJob(jobId);
|
|
|
|
+ ReviewWorker reviewWorker=reviewWorkerDao.find(workerId);
|
|
|
|
+ AnswerNode answerNode=generateCatchNode(jobId,workerId);
|
|
|
|
+ JSONObject result=new JSONObject();
|
|
|
|
+ String uploadId=getCatchNodeUploadId(reviewJob.getExam_id(),answerNode,reviewWorker.getOriginal_id());
|
|
|
|
+ logger.info(String.valueOf(uploadId));
|
|
|
|
+ logger.info("caseid"+reviewJob.getCase_id());
|
|
|
|
+ if(uploadId!=null){
|
|
|
|
+ //上传catchNode至主站
|
|
|
|
+ String uploadResult=uploadCatchNode(reviewJob.getCase_id(),uploadId,answerNode);
|
|
|
|
+ logger.info(String.valueOf(uploadResult));
|
|
|
|
+ if(uploadResult==null){
|
|
|
|
+ logger.info("uploadResult不对");
|
|
|
|
+ result.put("status","500");
|
|
|
|
+ result.put("cause","上传catchNode失败");
|
|
|
|
+ }else{
|
|
|
|
+ JSONObject uploadResultJson=new JSONObject(uploadResult);
|
|
|
|
+ if(String.valueOf(uploadResultJson.get("code")).equals("20000")){
|
|
|
|
+// logger.info((String) uploadResultJson.get("code"));
|
|
|
|
+// logger.info("code对");
|
|
|
|
+ result.put("status","200");
|
|
|
|
+ }else{
|
|
|
|
+// logger.info((String) uploadResultJson.get("code"));
|
|
|
|
+// logger.info("code不对");
|
|
|
|
+ result.put("status","500");
|
|
|
|
+ result.put("cause","上传catchNode失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ result.put("status","500");
|
|
|
|
+ result.put("cause","获取uploadId失败");
|
|
|
|
+ }
|
|
|
|
+// test();
|
|
|
|
+ logger.info(result.toString());
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
public JSONObject uploadCatchNodeToMoocTest(String jobId){
|
|
public JSONObject uploadCatchNodeToMoocTest(String jobId){
|
|
//todo 异步调用
|
|
//todo 异步调用
|
|
ReviewJob reviewJob=reviewJobDao.findJob(jobId);
|
|
ReviewJob reviewJob=reviewJobDao.findJob(jobId);
|
|
@@ -370,7 +413,7 @@ public class NodeService {
|
|
result.put("status","500");
|
|
result.put("status","500");
|
|
result.put("cause","上传catchNode失败");
|
|
result.put("cause","上传catchNode失败");
|
|
}else{
|
|
}else{
|
|
- JSONObject uploadResultJson=new JSONObject(result);
|
|
|
|
|
|
+ JSONObject uploadResultJson=new JSONObject(uploadResult);
|
|
if(uploadResultJson.get("code").equals("20000")){
|
|
if(uploadResultJson.get("code").equals("20000")){
|
|
result.put("status","200");
|
|
result.put("status","200");
|
|
}else{
|
|
}else{
|
|
@@ -405,10 +448,14 @@ public class NodeService {
|
|
|
|
|
|
//向慕测主站上传catchNode
|
|
//向慕测主站上传catchNode
|
|
private String uploadCatchNode(String caseId,String uploadId,AnswerNode answerNode){
|
|
private String uploadCatchNode(String caseId,String uploadId,AnswerNode answerNode){
|
|
- String result = "";
|
|
|
|
|
|
+ logger.info("开始上传至主站");
|
|
|
|
+ logger.info(String.valueOf(uploadId));
|
|
|
|
+ logger.info(caseId);
|
|
|
|
+ logger.info(answerNode.getCatchNodeJson());
|
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
String uploadTime=String.valueOf(System.currentTimeMillis());
|
|
String uploadTime=String.valueOf(System.currentTimeMillis());
|
|
String source="CrowdReview";
|
|
String source="CrowdReview";
|
|
- String url="http://test.mooctest.net/api/common/generalUploadCaughtNode/"+caseId+"/"+uploadTime+"/"+uploadId+"/"+source;
|
|
|
|
|
|
+ String url="http://www.mooctest.net/api/common/generalUploadCaughtNode/"+caseId+"/"+uploadTime+"/"+uploadId+"/"+source;
|
|
try{
|
|
try{
|
|
URL realUrl = new URL(url);
|
|
URL realUrl = new URL(url);
|
|
// 打开和URL之间的连接
|
|
// 打开和URL之间的连接
|
|
@@ -426,6 +473,7 @@ public class NodeService {
|
|
connection.connect();
|
|
connection.connect();
|
|
//写入body数据,catchNode
|
|
//写入body数据,catchNode
|
|
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8编码
|
|
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8编码
|
|
|
|
+
|
|
out.append(answerNode.getCatchNodeJson());
|
|
out.append(answerNode.getCatchNodeJson());
|
|
out.flush();
|
|
out.flush();
|
|
out.close();
|
|
out.close();
|
|
@@ -434,11 +482,14 @@ public class NodeService {
|
|
connection.getInputStream()));
|
|
connection.getInputStream()));
|
|
String line;
|
|
String line;
|
|
while ((line = in.readLine()) != null) {
|
|
while ((line = in.readLine()) != null) {
|
|
- result += line;
|
|
|
|
|
|
+ logger.info(line);
|
|
|
|
+ result.append(line);
|
|
}
|
|
}
|
|
- return result;
|
|
|
|
|
|
+ return result.toString();
|
|
|
|
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
|
|
+ logger.info(e.getMessage());
|
|
|
|
+ logger.info(e.toString());
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|