chenxz 8 年之前
父节点
当前提交
ef1216e709

+ 17 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/WechatLogicImpl.java

@@ -3,6 +3,7 @@ package cn.iselab.mooctest.site.web.logic.impl;
 import cn.iselab.mooctest.site.models.AssignedTask;
 import cn.iselab.mooctest.site.service.AssignedTaskService;
 import cn.iselab.mooctest.site.service.application.WechatService;
+import cn.iselab.mooctest.site.web.data.internal.ContestResultVO;
 import cn.iselab.mooctest.site.web.data.internal.JoinGroupVO;
 import cn.iselab.mooctest.site.web.data.internal.JoinGroupWechatVO;
 import cn.iselab.mooctest.site.web.logic.WechatLogic;
@@ -11,7 +12,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Created by Liu on 2017/3/31.
@@ -271,9 +274,20 @@ public class WechatLogicImpl implements WechatLogic {
 
         AssignedTask assignedTask=assignedTaskService.getAssignedTask(taskId,userId);
         List<AssignedTask> tasks=assignedTaskService.getAssignedTasks(taskId);
-        if(assignedTask==null)
-            resultObj.put("message","assignTask not exists");
-        return "";
+        if(assignedTask==null) {
+            resultObj.put("message", "assignTask not exists");
+            return generateResponse(HTTP_INTERNAL_ERROR,"",resultObj.toString());
+        }else {
+            ContestResultVO vo = new ContestResultVO();
+            vo.setName(assignedTask.getName());
+            vo.setScore(assignedTask.getScore());
+
+            List<Double> scores = tasks.stream().map(AssignedTask::getScore).collect(Collectors.toList());
+            Collections.sort(scores);
+            int index=scores.size() - scores.lastIndexOf(assignedTask.getScore());
+            vo.setRank((long)index);
+            return generateResponse(HTTP_OK,"",new JSONObject(vo).toString());
+        }
     }
 
     /**