Kaynağa Gözat

修改更新分数实现

insomniaLee 5 yıl önce
ebeveyn
işleme
5646b32975

+ 1 - 1
src/main/java/com/mooctest/service/AggregationService.java

@@ -45,7 +45,7 @@ public class AggregationService {
         ClusterAnalyzer<String> analyzer = new ClusterAnalyzer<>();
         List<String> bugIds = bugs.stream().map(BugDTO::getId).collect(Collectors.toList());
         double[][] distMatrix = DistanceMatrix.genHybridDist(bugs);
-        List<Set<String>> clusters = analyzer.HAC(distMatrix, bugIds, 0.23);
+        List<Set<String>> clusters = analyzer.HAC(distMatrix, bugIds, 0.23); // H 太大了
 
         Map<String, BugDTO> bugMap = bugs.stream().collect(toMap(BugDTO::getId, Function.identity()));
         bugs = null;

+ 10 - 2
src/main/java/com/mooctest/service/TaskService.java

@@ -213,8 +213,16 @@ public class TaskService {
 
     private int [] getGradeInt(JSONObject jsonObject){
         int [] res = new int[11];
-        for (int i = 0 ; i < 11 ; i++ ){
-            res[i] = Integer.parseInt(jsonObject.get(i+"").toString());
+//        for (int i = 0 ; i < 11 ; i++ ){
+//            res[i] = Integer.parseInt(jsonObject.get(i+"").toString());
+//        }
+        Iterator<String> sIterator = jsonObject.keySet().iterator();
+        while(sIterator.hasNext()){
+            // 获得key
+            String key = sIterator.next();
+            // 根据key获得value, value也可以是JSONObject,JSONArray,使用对应的参数接收即可
+            String value = jsonObject.getString(key);
+            res[Integer.valueOf(key)]+=Integer.getInteger(value);
         }
         return res;
     }

+ 54 - 0
src/main/java/com/mooctest/service/UpdateScore.java

@@ -0,0 +1,54 @@
+package com.mooctest.service;
+
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+public final class UpdateScore {
+
+    public static void main(String[] args) throws Exception  {
+
+        File excelFile = new File("/Users/insomnialee/Downloads/chrome/1.xlsx");
+        XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(excelFile));
+        XSSFSheet sheet = wb.getSheetAt(0);
+        boolean flag = true;
+        int count = 0;
+        for (Row row : sheet) {
+            if(flag){
+                flag = false;
+                continue;
+            }
+            Cell id = row.getCell(0);
+            Cell score = row.getCell(8);
+            count++;
+            getSinglePaper(  (int)Double.parseDouble( id.toString()),(int)Double.parseDouble( score.toString()));
+        }
+        System.out.println(count);
+    }
+
+    public static void getSinglePaper(int userId,int score) {
+        RestTemplate template = new RestTemplate();
+        String url = "http://www.mooctest.net/api/common/uploadCaseScore";
+        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
+        paramMap.add("examId", 4386);
+        paramMap.add("caseId", 3041);
+        paramMap.add("userId", userId);
+        paramMap.add("score", score);
+        template.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
+        HttpHeaders headers = new HttpHeaders();
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap, headers);
+        template.put(url, httpEntity);
+    }
+}

+ 34 - 0
src/main/java/com/mooctest/service/UpdateScoreServce.java

@@ -0,0 +1,34 @@
+package com.mooctest.service;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import java.nio.charset.StandardCharsets;
+
+public class UpdateScoreServce {
+    public static void main(String[] args) {
+        getSinglePaper();
+    }
+
+    public static void getSinglePaper() {
+        RestTemplate template = new RestTemplate();
+        String url = "http://www.mooctest.net/api/common/uploadCaseScore";
+        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
+        paramMap.add("examId", 4386);
+        paramMap.add("caseId", 3041);
+        paramMap.add("userId", 39806);
+        paramMap.add("score", 40);
+        template.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
+        HttpHeaders headers = new HttpHeaders();
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap, headers);
+        template.put(url, httpEntity);
+    }
+
+}

+ 2 - 2
src/main/java/com/mooctest/util/Doc2VecUtil.java

@@ -15,8 +15,8 @@ public class Doc2VecUtil {
             synchronized (Doc2VecUtil.class) {
                 if (docVectorModel == null) {
                     try {
-//                        docVectorModel = new DocVectorModel(new WordVectorModel("/project/sgns.wiki.word"));
-                        docVectorModel = new DocVectorModel(new  WordVectorModel("/Users/insomnialee/Desktop/sgns.wiki.word"));
+                        docVectorModel = new DocVectorModel(new WordVectorModel("/project/sgns.wiki.word"));
+//                        docVectorModel = new DocVectorModel(new  WordVectorModel("/Users/insomnialee/Desktop/sgns.wiki.word"));
                     } catch (IOException e) {
                         e.printStackTrace();
                     }