|
@@ -5,6 +5,8 @@ import cn.iselab.mooctest.site.service.Exam2CaseService;
|
|
|
import cn.iselab.mooctest.site.web.data.CrowdScoreResponse;
|
|
|
import cn.iselab.mooctest.site.web.exception.ServerException;
|
|
|
import cn.iselab.mooctest.site.web.logic.SpecialScoreLogic;
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -49,12 +51,14 @@ public class SpecialScoreLogicImpl implements SpecialScoreLogic {
|
|
|
params.put("caseTakeId", caseId+"-"+examId);
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
|
String url = crowdAddress+"/Bug/api/analyze/newScores?case_take_id={caseTakeId}";
|
|
|
- ResponseEntity<List> responseEntity = restTemplate.getForEntity(url,
|
|
|
- List.class, params);
|
|
|
+ ResponseEntity<String> responseEntity = restTemplate.getForEntity(url,
|
|
|
+ String.class, params);
|
|
|
if(!responseEntity.getStatusCode().equals(HttpStatus.OK)){
|
|
|
throw new ServerException(60000, "case "+caseId+" 分数拉取失败");
|
|
|
}else{
|
|
|
- return responseEntity.getBody();
|
|
|
+ List<CrowdScoreResponse> responseList = new Gson().fromJson(responseEntity.getBody(), new
|
|
|
+ TypeToken<List<CrowdScoreResponse>>(){}.getType());
|
|
|
+ return responseList;
|
|
|
}
|
|
|
|
|
|
}
|