Explorar o código

Merge branch 'feature-refactor-score-logic' into 'DEV'

add upload case score directly



See merge request !748

huangyong %!s(int64=7) %!d(string=hai) anos
pai
achega
690e60fdd7

+ 16 - 8
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/ScoreController.java

@@ -108,23 +108,31 @@ public class ScoreController extends BaseController {
     }
 
     @RequestMapping(value = UrlConstants.API_COMMON +
-        "generalCalculateScoreAll/{examId}/{caseId}", method = RequestMethod.PUT)
-    public void updateCaseScore(@PathVariable("examId") long examId,
-        @PathVariable("caseId") long caseId) {
+        "generalCalculateScoreAll", method = RequestMethod.PUT)
+    public void updateCaseScore(@RequestParam("examId") long examId,
+        @RequestParam("caseId") long caseId) {
         //重新从type得分计算所有人的分数(修改type权重后调用)
         generalCalculateScoreLogic.calculateCaseScore(examId, caseId);
     }
 
     @RequestMapping(value = UrlConstants.API_COMMON +
-        "generalCalculateScoreAllFromNode/{examId}/{caseId}/{source}", method = RequestMethod.PUT)
-    public void generalCatchNode(@PathVariable("examId") long examId,
-                                 @PathVariable("caseId") long caseId,
-        @PathVariable("source") String source) {
+        "generalCalculateScoreAllFromNode", method = RequestMethod.PUT)
+    public void generalCatchNode(@RequestParam("examId") long examId,
+        @RequestParam("caseId") long caseId,
+        @RequestParam("source") String source) {
         //重新从node计算所有人的分数
         generalCalculateScoreLogic.calculateScore(examId, caseId, null,source);
     }
 
-
+    @RequestMapping(value = UrlConstants.API_COMMON +
+        "uploadCaseScore", method = RequestMethod.PUT)
+    public void updateCaseScore(@RequestParam("examId") long examId,
+        @RequestParam("caseId") long caseId,
+        @RequestParam("userId")long userId,
+        @RequestParam("score")double score){
+        //直接传递case的分数
+        generalCalculateScoreLogic.uploadCaseScore(examId,caseId,userId,score);
+    }
 
     @RequiresRoles("manager")
     @RequestMapping(value = UrlConstants.API + "competeAnalysis", method = RequestMethod.GET)

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/GeneralCalculateScoreLogic.java

@@ -33,4 +33,5 @@ public interface GeneralCalculateScoreLogic {
   void calculateCaseScore(long examId, long caseId);
 
 
+  void uploadCaseScore(long examId, long caseId, long userId, double score);
 }

+ 1 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/GeneralCalculateScoreComponent.java

@@ -183,7 +183,7 @@ public class GeneralCalculateScoreComponent {
         }
     }
 
-    private void saveGrade(long workerId, long taskId, long caseId, double score) {
+    public void saveGrade(long workerId, long taskId, long caseId, double score) {
         submitRecordService.addCase(taskId, caseId, workerId, "");
         submitRecordService.recordScore(taskId, caseId, workerId, score);
     }

+ 4 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/GeneralCalculateScoreLogicImpl.java

@@ -46,6 +46,10 @@ public class GeneralCalculateScoreLogicImpl implements GeneralCalculateScoreLogi
     uploadUsers.forEach(uid-> calculateCaseScore(examId, caseId,uid));
   }
 
+  @Override
+  public void uploadCaseScore(long examId, long caseId, long userId,double score){
+    generalCalculateScoreComponent.saveGrade(userId,examId,caseId,score);
+  }
 
 
 }

+ 0 - 2
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/logic/impl/GeneralCalculateScoreComponentTest.java

@@ -3,7 +3,6 @@ package cn.iselab.mooctest.site.web.logic.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.when;
 
 import cn.iselab.mooctest.site.data.GeneralGradeDTO;
@@ -18,7 +17,6 @@ import cn.iselab.mooctest.site.web.data.forMongo.graph.Category;
 import cn.iselab.mooctest.site.web.data.forMongo.graph.Node;
 import cn.iselab.mooctest.site.web.logic.strategy.HighestStrategy;
 import cn.iselab.mooctest.site.web.logic.strategy.LatestStrategy;
-import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.ArrayList;

+ 1 - 0
pom.xml

@@ -9,6 +9,7 @@
 
     <properties>
         <spring.boot.version>1.3.8.RELEASE</spring.boot.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
     <parent>