Quellcode durchsuchen

重构考试记录和考试记录属性的相关引用代码

lideyin vor 5 Jahren
Ursprung
Commit
ae30837a49
13 geänderte Dateien mit 179 neuen und 278 gelöschten Zeilen
  1. 10 21
      examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/ExamStudentController.java
  2. 1 1
      examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/provider/ExamScoreDataCloudServiceProvider.java
  3. 0 100
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/ExamCacheTransferHelper.java
  4. 2 3
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/bean/examaudit/ExamAuditEntityConvert.java
  5. 1 1
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/bean/examrecord/ExamRecordEntityConvert.java
  6. 10 6
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamAuditServiceImpl.java
  7. 1 1
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamCaptureServiceImpl.java
  8. 24 19
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamRecordServiceImpl.java
  9. 18 13
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamScoreServiceImpl.java
  10. 9 7
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamStudentServiceImpl.java
  11. 15 16
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/cugr/CugrExamScorePushServiceImpl.java
  12. 86 88
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/cup/CupExamScorePushServiceImpl.java
  13. 2 2
      examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/swufe/SwufeExamScorePushServiceImpl.java

+ 10 - 21
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/ExamStudentController.java

@@ -7,37 +7,26 @@
 
 package cn.com.qmth.examcloud.core.oe.admin.api.controller;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.servlet.http.HttpServletResponse;
-
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
-import cn.com.qmth.examcloud.core.oe.admin.service.bean.examstudent.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
+import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
+import cn.com.qmth.examcloud.core.oe.admin.service.bean.examstudent.*;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.Check;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.JsonMapper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.excel.ExportUtils;
 import cn.com.qmth.examcloud.core.oe.common.service.GainBaseDataService;
-import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.Naked;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * 考生信息接口

+ 1 - 1
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/provider/ExamScoreDataCloudServiceProvider.java

@@ -11,8 +11,8 @@ import cn.com.qmth.examcloud.core.oe.admin.api.bean.QueryCapturePhotoBean;
 import cn.com.qmth.examcloud.core.oe.admin.api.bean.ScoreDataBean;
 import cn.com.qmth.examcloud.core.oe.admin.api.request.*;
 import cn.com.qmth.examcloud.core.oe.admin.api.response.*;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreService;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.Check;
 import cn.com.qmth.examcloud.core.oe.common.entity.*;
 import cn.com.qmth.examcloud.core.oe.common.enums.DisciplineType;

+ 0 - 100
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/ExamCacheTransferHelper.java

@@ -1,100 +0,0 @@
-/*
- * *************************************************
- * Copyright (c) 2018 QMTH. All Rights Reserved.
- * Created by Deason on 2018-08-29 10:44:05.
- * *************************************************
- */
-
-package cn.com.qmth.examcloud.core.oe.admin.service;
-
-import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
-import cn.com.qmth.examcloud.support.cache.CacheHelper;
-import cn.com.qmth.examcloud.support.cache.bean.CourseCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamOrgSettingsCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamSettingsCacheBean;
-
-/**
- * @Description 网考缓存实体转换服务
- * @Author lideyin
- * @Date 2019/8/13 16:00
- * @Version 1.0
- */
-public class ExamCacheTransferHelper {
-
-    /**
-     * 获取缓存的考试信息
-     * @param examId 考试id
-     * @param orgId 组织机构id
-     * @return ExamBean
-     */
-    public static ExamBean getCachedExam(Long examId,Long orgId){
-        ExamOrgSettingsCacheBean examCacheBean = CacheHelper.getExamOrgSettings(examId,orgId);
-        return copyExamBeanFrom(examCacheBean);
-    }
-    /**
-     * 获取缓存的考试信息
-     * @param examId 考试id
-     * @return ExamBean
-     */
-    public static ExamBean getCachedExam(Long examId){
-        ExamSettingsCacheBean examCacheBean = CacheHelper.getExamSettings(examId);
-        return copyExamBeanFrom(examCacheBean);
-    }
-
-    /**
-     * 获取能在的课程
-     * @param courseId 课程id
-     * @return CourseBean
-     */
-    public static CourseBean getCachedCourse(Long courseId){
-        CourseCacheBean courseCacheBean = CacheHelper.getCourse(courseId);
-        return copyCourseBeanFrom(courseCacheBean);
-    }
-
-    private static ExamBean copyExamBeanFrom(ExamOrgSettingsCacheBean examCacheBean) {
-        ExamBean resultBean = new ExamBean();
-        resultBean.setId(examCacheBean.getId());
-        resultBean.setBeginTime(examCacheBean.getBeginTime());
-        resultBean.setCode(examCacheBean.getCode());
-        resultBean.setDuration(examCacheBean.getDuration());
-        resultBean.setEnable(examCacheBean.getEnable());
-        resultBean.setEndTime(examCacheBean.getEndTime());
-        resultBean.setExamLimit(examCacheBean.getExamLimit());
-        resultBean.setExamTimes(examCacheBean.getExamTimes());
-        resultBean.setExamType(examCacheBean.getExamType());
-        resultBean.setName(examCacheBean.getName());
-        resultBean.setRemark(examCacheBean.getRemark());
-        resultBean.setRootOrgId(examCacheBean.getRootOrgId());
-        return resultBean;
-    }
-
-    private static ExamBean copyExamBeanFrom(ExamSettingsCacheBean examCacheBean) {
-        ExamBean resultBean = new ExamBean();
-        resultBean.setId(examCacheBean.getId());
-        resultBean.setBeginTime(examCacheBean.getBeginTime());
-        resultBean.setCode(examCacheBean.getCode());
-        resultBean.setDuration(examCacheBean.getDuration());
-        resultBean.setEnable(examCacheBean.getEnable());
-        resultBean.setEndTime(examCacheBean.getEndTime());
-        resultBean.setExamLimit(examCacheBean.getExamLimit());
-        resultBean.setExamTimes(examCacheBean.getExamTimes());
-        resultBean.setExamType(examCacheBean.getExamType());
-        resultBean.setName(examCacheBean.getName());
-        resultBean.setRemark(examCacheBean.getRemark());
-        resultBean.setRootOrgId(examCacheBean.getRootOrgId());
-        return resultBean;
-    }
-
-    private static CourseBean copyCourseBeanFrom(CourseCacheBean courseCacheBean) {
-        CourseBean resultBean = new CourseBean();
-        resultBean.setCode(courseCacheBean.getCode());
-        resultBean.setEnable(courseCacheBean.getEnable());
-        resultBean.setId(courseCacheBean.getId());
-        resultBean.setLevel(courseCacheBean.getLevel());
-        resultBean.setName(courseCacheBean.getName());
-        resultBean.setRootOrgId(courseCacheBean.getRootOrgId());
-
-        return resultBean;
-    }
-}

+ 2 - 3
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/bean/examaudit/ExamAuditEntityConvert.java

@@ -31,7 +31,7 @@ import cn.com.qmth.examcloud.core.oe.common.enums.IsSuccess;
  */
 public class ExamAuditEntityConvert {
 
-    public static List<ExamAuditInfo> of(List<HashMap> maps, String examName) {
+    public static List<ExamAuditInfo> of(List<HashMap> maps) {
         if (maps == null || maps.size() == 0) {
             return Lists.newArrayList();
         }
@@ -48,8 +48,7 @@ public class ExamAuditEntityConvert {
                 if (result != null) {
                     info.setFaceVerifyResult(result.getDesc());
                 }
-                info.setExamName(examName);
-                
+
                 DisciplineType disciplineType = DisciplineType.tramsformByType(info.getDisciplineType());
                 if(disciplineType!=null){
                 	info.setDisciplineType(disciplineType.getName());	

+ 1 - 1
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/bean/examrecord/ExamRecordEntityConvert.java

@@ -9,8 +9,8 @@ package cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord;
 
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.Constants;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.DateUtils;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamRecordDataEntity;
 import cn.com.qmth.examcloud.core.oe.common.enums.CourseLevel;

+ 10 - 6
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamAuditServiceImpl.java

@@ -10,9 +10,9 @@ package cn.com.qmth.examcloud.core.oe.admin.service.impl;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamAuditService;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examaudit.*;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.Searcher;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SpecUtils;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SqlWrapper;
@@ -157,19 +157,23 @@ public class ExamAuditServiceImpl implements ExamAuditService {
 	        dataQuery.setMaxResults(pageable.getPageSize());
         }
         List resultList = dataQuery.getResultList();
-        //获取考试名称
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
 
-        String examName = examBean.getName();
-        List<ExamAuditInfo> list = ExamAuditEntityConvert.of(resultList, examName);
+        List<ExamAuditInfo> list = ExamAuditEntityConvert.of(resultList);
         
         for(ExamAuditInfo examAuditInfo:list){
             OrgCacheBean orgBean = gainBaseDataService.getOrgBean(examAuditInfo.getOrgId());
             examAuditInfo.setOrgName(orgBean.getName());
-        	CourseBean courseBean = ExamCacheTransferHelper.getCachedCourse(examAuditInfo.getCourseId());
+
+            CourseBean courseBean = ExamCacheTransferHelper.getCachedCourse(examAuditInfo.getCourseId());
         	examAuditInfo.setCourseName(courseBean.getName());
         	examAuditInfo.setCourseCode(courseBean.getCode());
         	examAuditInfo.setCourseLevel(CourseLevel.getCourseLevel(courseBean.getLevel()).getTitle());
+
+            //获取考试名称
+            ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId(),
+                    examAuditInfo.getOrgId(),examAuditInfo.getStudentId());
+            examAuditInfo.setExamName(examBean.getName());
+
         }
         return new PageImpl<ExamAuditInfo>(list, pageable, totalSize);
     }

+ 1 - 1
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamCaptureServiceImpl.java

@@ -10,10 +10,10 @@ package cn.com.qmth.examcloud.core.oe.admin.service.impl;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamAuditService;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamCaptureService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examcapture.ExamCaptureAuditInfo;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examcapture.ExamCaptureInfo;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamAuditEntity;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamCaptureEntity;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamRecordDataEntity;

+ 24 - 19
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamRecordServiceImpl.java

@@ -8,7 +8,6 @@
 package cn.com.qmth.examcloud.core.oe.admin.service.impl;
 
 import cn.com.qmth.examcloud.commons.exception.StatusException;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordService;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.ExamStudentEffectiveScoreInfo;
@@ -17,6 +16,7 @@ import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamRecordInf
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamRecordQuery;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamStudentQuestionScoreInfo;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examstudent.ExamStudentInfo;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SqlWrapper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.Check;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamQuestionEntity;
@@ -384,8 +384,6 @@ public class ExamRecordServiceImpl implements ExamRecordService {
 
         //缓存
         Map<String, Object> cahcheMap = new HashMap<String, Object>();
-        //获取考试名称
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId);
 
         page.getContent().forEach(e -> {
             ExamStudentInfo examStudent = examStudentService.getExamStudentInfo(e.getExamStudentId());
@@ -407,6 +405,8 @@ public class ExamRecordServiceImpl implements ExamRecordService {
                 e.setOrgName(orgBean.getName());
             }
 
+            //获取考试名称
+            ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId, e.getOrgId(), e.getStudentId());
             e.setExamName(examBean.getName());
             Map<String, String> data = this.getPaperScore(e.getDataId());
             //试卷总分
@@ -481,10 +481,13 @@ public class ExamRecordServiceImpl implements ExamRecordService {
         }
         //缓存
         Map<String, Object> cahcheMap = new HashMap<String, Object>();
-        //获取考试名称
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId);
+
         list.forEach(examRecordInfo -> {
+            //获取考试名称
+            ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examId,
+                    examRecordInfo.getOrgId(), examRecordInfo.getStudentId());
             examRecordInfo.setExamName(examBean.getName());
+
             ExamStudentInfo examStudent = (ExamStudentInfo) cahcheMap.get("examStudentinfo_" + examRecordInfo.getExamStudentId());
             if (examStudent == null) {
                 examStudent = examStudentService.getExamStudentInfo(examRecordInfo.getExamStudentId());
@@ -537,36 +540,37 @@ public class ExamRecordServiceImpl implements ExamRecordService {
 
         return resultList;
     }
+
     @Override
     public List<ExamStudentEffectiveScoreInfo> getExamStudentEffectiveScoreList(String markingType, List<Long> examStudentIdList) {
         List<ExamStudentEffectiveScoreInfo> resultList = new ArrayList<>();
         //考生所有的考试记录
         List<ExamRecordDataEntity> allExamRecordDataList = examRecordDataRepo.findByExamStudentIdList(examStudentIdList);
-        if (allExamRecordDataList==null || allExamRecordDataList.isEmpty()){
+        if (allExamRecordDataList == null || allExamRecordDataList.isEmpty()) {
             return null;
         }
         List<Long> examRecordDataIdList = allExamRecordDataList.stream().map(p -> p.getId()).collect(Collectors.toList());
         //当前考试记录的所有成绩
         List<ExamScoreEntity> allExamScoreList = examScoreRepo.findByExamRecordDataIdIn(examRecordDataIdList);
-        if (allExamScoreList==null || allExamScoreList.isEmpty()){
+        if (allExamScoreList == null || allExamScoreList.isEmpty()) {
             return null;
         }
         Map<Long, List<ExamRecordDataEntity>> groupedByExamStudentExamRecordMap = allExamRecordDataList.stream().collect(Collectors.groupingBy(ExamRecordDataEntity::getExamStudentId));
-        for (Long examStudentId: groupedByExamStudentExamRecordMap.keySet()){
+        for (Long examStudentId : groupedByExamStudentExamRecordMap.keySet()) {
             //当前考生的所有考试记录集合
-            List<ExamRecordDataEntity> curExamRecordDataList=groupedByExamStudentExamRecordMap.get(examStudentId);
+            List<ExamRecordDataEntity> curExamRecordDataList = groupedByExamStudentExamRecordMap.get(examStudentId);
             //当前考试记录id集合
-            List<Long> curExamRecordDataIdList=curExamRecordDataList.stream().map(p->p.getId()).collect(Collectors.toList());
+            List<Long> curExamRecordDataIdList = curExamRecordDataList.stream().map(p -> p.getId()).collect(Collectors.toList());
 
             //当前考生的所有考试成绩集合
-            List<ExamScoreEntity> curExamScoreList=allExamScoreList.stream().
-                    filter(p->curExamRecordDataIdList.contains(p.getExamRecordDataId())).collect(Collectors.toList());
+            List<ExamScoreEntity> curExamScoreList = allExamScoreList.stream().
+                    filter(p -> curExamRecordDataIdList.contains(p.getExamRecordDataId())).collect(Collectors.toList());
 
             //最终生效的成绩
-            ExamScoreEntity effectiveScore=getStudentEffectiveScore(curExamScoreList,markingType);
+            ExamScoreEntity effectiveScore = getStudentEffectiveScore(curExamScoreList, markingType);
             //最终生效的考试记录
-            ExamRecordDataEntity effectiveExamRecordData=curExamRecordDataList.stream().
-                    filter(p->p.getId().equals(effectiveScore.getExamRecordDataId())).collect(Collectors.toList()).get(0);
+            ExamRecordDataEntity effectiveExamRecordData = curExamRecordDataList.stream().
+                    filter(p -> p.getId().equals(effectiveScore.getExamRecordDataId())).collect(Collectors.toList()).get(0);
 
             ExamStudentEffectiveScoreInfo info = new ExamStudentEffectiveScoreInfo();
             info.setExamStudentId(examStudentId);
@@ -581,22 +585,23 @@ public class ExamRecordServiceImpl implements ExamRecordService {
 
         return resultList;
     }
+
     /**
      * @Description 获取考生一次考试的最终有效成绩
      * @Author lideyin
      * @Date 2019/7/18 17:49
      * @Version 1.0
      */
-    private ExamScoreEntity getStudentEffectiveScore(List<ExamScoreEntity> curExamScoreList,String markingType){
-        if (curExamScoreList==null || curExamScoreList.isEmpty()){
-            throw new StatusException("201101","考试记录不为空,考试分数数据为空");
+    private ExamScoreEntity getStudentEffectiveScore(List<ExamScoreEntity> curExamScoreList, String markingType) {
+        if (curExamScoreList == null || curExamScoreList.isEmpty()) {
+            throw new StatusException("201101", "考试记录不为空,考试分数数据为空");
         }
         ExamScoreEntity examScoreEntity;
         //阅卷方式为全部评阅或客观题分数最高,均取总分最高
         if (MarkingType.ALL.toString().equals(markingType) || MarkingType.OBJECT_SCORE_MAX.toString().equals(markingType)) {
             examScoreEntity = curExamScoreList.stream().max(Comparator.comparing(p -> p.getTotalScore())).get();
         } else if (MarkingType.LAST_SUBMIT.toString().equals(markingType)) {
-            examScoreEntity=curExamScoreList.stream().max(Comparator.comparing(p -> p.getId())).get();
+            examScoreEntity = curExamScoreList.stream().max(Comparator.comparing(p -> p.getId())).get();
         } else {
             throw new StatusException("201001", "阅卷类型不支持");
         }

+ 18 - 13
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamScoreServiceImpl.java

@@ -8,11 +8,15 @@
 package cn.com.qmth.examcloud.core.oe.admin.service.impl;
 
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.*;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordService;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreService;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamService;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examscore.ExamScoreEntityConvert;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examscore.ExamScoreInfo;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examscore.ExamScoreQuery;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examstudent.ExamStudentInfo;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SpecUtils;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.Check;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.CommonUtil;
@@ -80,11 +84,9 @@ public class ExamScoreServiceImpl implements ExamScoreService {
         Check.isNull(query.getExamId(), "请先选择考试批次!");
         Pageable pageable = SpecUtils.buildPageable(query.getPageNo(), query.getPageSize());
 
-        //获取考试信息
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
 
         //阅卷方式
-        String markingType = gainBaseDataService.getExamProperty(examBean.getId(), ExamProperties.MARKING_TYPE.name());
+        String markingType = gainBaseDataService.getExamProperty(query.getExamId(), ExamProperties.MARKING_TYPE.name());
 
         //获取考生列表
         Page<ExamStudentInfo> page = examStudentService.getExamStudentListPage(ExamScoreEntityConvert.of(query));
@@ -96,6 +98,9 @@ public class ExamScoreServiceImpl implements ExamScoreService {
         //封装成绩统计结果
         List<ExamScoreInfo> examScoreList = new ArrayList<>();
         examStudentList.forEach(examStudent -> {
+            //获取考试信息
+            ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId(),
+                    examStudent.getOrgId(), examStudent.getStudentId());
             examScoreList.add(of(examStudent, examBean, markingType));
         });
         return new PageImpl<ExamScoreInfo>(examScoreList, pageable, page.getTotalElements());
@@ -136,12 +141,10 @@ public class ExamScoreServiceImpl implements ExamScoreService {
     public List<ExamScoreInfo> exportExamScoreList(ExamScoreQuery query) {
         Check.isNull(query, "查询参数不能为空!");
         Check.isNull(query.getExamId(), "请先选择考试批次!");
-        //获取考试信息
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
 
         //阅卷方式
-        String markingType = gainBaseDataService.getExamProperty(examBean.getId(), ExamProperties.MARKING_TYPE.name());
-        return getExamStudentInfoListOfScoreExport(query, examBean, markingType);
+        String markingType = gainBaseDataService.getExamProperty(query.getExamId(), ExamProperties.MARKING_TYPE.name());
+        return getExamStudentInfoListOfScoreExport(query, markingType);
     }
 
     @Override
@@ -162,11 +165,11 @@ public class ExamScoreServiceImpl implements ExamScoreService {
             return null;
         }
 
-        List<Long> examRecordDataIds = allExamRecordDataList.stream().map(p->p.getId()).collect(Collectors.toList());
+        List<Long> examRecordDataIds = allExamRecordDataList.stream().map(p -> p.getId()).collect(Collectors.toList());
         return examScoreRepo.findByExamRecordDataIdIn(examRecordDataIds);
     }
 
-    private List<ExamScoreInfo> getExamStudentInfoListOfScoreExport(ExamScoreQuery query, ExamBean examBean, String markingType) {
+    private List<ExamScoreInfo> getExamStudentInfoListOfScoreExport(ExamScoreQuery query, String markingType) {
         Check.isNull(query, "查询参数不能为空!");
         //查询条件
         StringBuffer sql = new StringBuffer();
@@ -219,16 +222,18 @@ public class ExamScoreServiceImpl implements ExamScoreService {
             long orgId = examStudent.getOrgId();
             OrgCacheBean orgBean = gainBaseDataService.getOrgBean(orgId);
 
-            ExamScoreInfo examScoreInfo = convertToExamScoreInfo(examStudent, courseBean, orgBean, examBean, markingType);
-            examScoreInfoList.add(examScoreInfo);
+            examScoreInfoList.add(convertToExamScoreInfo(examStudent, courseBean, orgBean, markingType));
         }
         return examScoreInfoList;
     }
 
-    private ExamScoreInfo convertToExamScoreInfo(ExamStudentEntity examStudent, CourseBean courseBean, OrgCacheBean orgBean, ExamBean examBean, String markingType) {
+    private ExamScoreInfo convertToExamScoreInfo(ExamStudentEntity examStudent, CourseBean courseBean, OrgCacheBean orgBean, String markingType) {
         if (examStudent == null) {
             return null;
         }
+        //获取考试信息
+        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examStudent.getExamId(),
+                examStudent.getOrgId(), examStudent.getStudentId());
         ExamScoreInfo examScore = new ExamScoreInfo();
         examScore.setExamId(examStudent.getExamId());
         examScore.setExamName(examBean.getName());

+ 9 - 7
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamStudentServiceImpl.java

@@ -8,10 +8,10 @@
 package cn.com.qmth.examcloud.core.oe.admin.service.impl;
 
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordService;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examstudent.*;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SpecUtils;
 import cn.com.qmth.examcloud.core.oe.common.base.jpa.SqlWrapper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.Check;
@@ -25,6 +25,7 @@ import cn.com.qmth.examcloud.core.oe.common.repository.ExamStudentRepo;
 import cn.com.qmth.examcloud.core.oe.common.service.GainBaseDataService;
 import cn.com.qmth.examcloud.core.oe.common.service.LocalCacheService;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
+import cn.com.qmth.examcloud.support.cache.bean.ExamPropertyCacheBean;
 import cn.com.qmth.examcloud.support.cache.bean.OrgCacheBean;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.query.NativeQuery;
@@ -167,7 +168,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
     public Page<ExamStudentInfo> getExamStudentListPage(ExamStudentQuery query) {
         Check.isNull(query, "查询参数不能为空!");
 
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
+        ExamBean examBean = ExamCacheTransferHelper.getDefaultCachedExam(query.getExamId());
 
 
         StringBuffer sql = new StringBuffer();
@@ -209,7 +210,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
     @Override
     public List<ExamStudentInfo> getExamStudentInfoList(ExamStudentQuery query) {
         Check.isNull(query, "查询参数不能为空!");
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
+        ExamBean examBean = ExamCacheTransferHelper.getDefaultCachedExam(query.getExamId());
 
         //查询条件
         StringBuffer sql = new StringBuffer();
@@ -304,9 +305,10 @@ public class ExamStudentServiceImpl implements ExamStudentService {
             examStudentInfo.setFinishedStatus(examStudentEntity.getFinished() ? FinishStatus.已完成.name() : FinishStatus.未完成.name());
         } else if (ExamType.OFFLINE.name().equals(examType)) {
             //离线考试:当前机构是否允许上传附件
-            String canUploadAttachment = gainBaseDataService.getExamOrgProperty(examStudentInfo.getExamId(), examStudentInfo.getOrgId(), ExamProperties.CAN_UPLOAD_ATTACHMENT.name());
-            if (StringUtils.isNotBlank(canUploadAttachment)) {
-                examStudentInfo.setCanUploadAttachment(Boolean.valueOf(canUploadAttachment));
+            ExamPropertyCacheBean cachedExamProperty = ExamCacheTransferHelper.getCachedExamProperty(examStudentInfo.getExamId(),
+                    examStudentInfo.getOrgId(), examStudentInfo.getStudentId(), ExamProperties.CAN_UPLOAD_ATTACHMENT.name());
+            if (StringUtils.isNotBlank(cachedExamProperty.getValue())) {
+                examStudentInfo.setCanUploadAttachment(Boolean.valueOf(cachedExamProperty.getValue()));
             } else {
                 examStudentInfo.setCanUploadAttachment(false);
             }
@@ -355,7 +357,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
     @Override
     public Page<ExamStudentInfo> getReExamineStudentList(ExamStudentQuery query) {
         //获取考试的默认次数
-        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(query.getExamId());
+        ExamBean examBean = ExamCacheTransferHelper.getDefaultCachedExam(query.getExamId());
 
         //封装查询条件
         Pageable pageable = SpecUtils.buildPageable(query.getPageNo(), query.getPageSize());

+ 15 - 16
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/cugr/CugrExamScorePushServiceImpl.java

@@ -1,13 +1,14 @@
 package cn.com.qmth.examcloud.core.oe.admin.service.impl.pushscore.cugr;
 
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
+import cn.com.qmth.examcloud.commons.util.DateUtil;
+import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamScorePushService;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreQueueService;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
+import cn.com.qmth.examcloud.core.oe.common.entity.ExamScorePushQueue;
+import cn.com.qmth.examcloud.core.oe.common.enums.ExamScoreQueueStatus;
+import cn.com.qmth.examcloud.core.oe.common.repository.ExamScorePushQueueRepo;
+import cn.com.qmth.examcloud.core.oe.common.service.GainBaseDataService;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpEntity;
@@ -24,14 +25,12 @@ import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.stereotype.Service;
 
-import cn.com.qmth.examcloud.commons.util.DateUtil;
-import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamScorePushService;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreQueueService;
-import cn.com.qmth.examcloud.core.oe.common.entity.ExamScorePushQueue;
-import cn.com.qmth.examcloud.core.oe.common.enums.ExamScoreQueueStatus;
-import cn.com.qmth.examcloud.core.oe.common.repository.ExamScorePushQueueRepo;
-import cn.com.qmth.examcloud.core.oe.common.service.GainBaseDataService;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
 
 /**
  * 

+ 86 - 88
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/cup/CupExamScorePushServiceImpl.java

@@ -2,10 +2,10 @@ package cn.com.qmth.examcloud.core.oe.admin.service.impl.pushscore.cup;
 
 import cn.com.qmth.examcloud.commons.util.JsonUtil;
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamScorePushService;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreQueueService;
 import cn.com.qmth.examcloud.core.oe.admin.service.impl.pushscore.bean.ExamScorePushInfo;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamRecordDataEntity;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamScoreEntity;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamScorePushQueue;
@@ -38,61 +38,57 @@ import java.io.InputStreamReader;
 import java.net.URI;
 
 /**
- * 
- * @author  	chenken
- * @date    	2018年10月18日 下午4:09:26
- * @company 	QMTH
+ * @author chenken
+ * @date 2018年10月18日 下午4:09:26
+ * @company QMTH
  * @description 石油大学  orgCode:cup.ecs.qmth.com.cn
  */
 @Service("cupExamScorePushServiceImpl")
-public class CupExamScorePushServiceImpl implements ExamScorePushService{
-	
-	private static final Logger log = LoggerFactory.getLogger(CupExamScorePushServiceImpl.class);
-
-	@Autowired
-	private ExamScoreRepo examScoreRepo;
-	
-	@Autowired
-	private ExamRecordDataRepo examRecordDataRepo;
-	
-	@Autowired
-	private ExamStudentRepo examStudentRepo;
-	
-	@Autowired
-	private ExamScorePushQueueRepo examScorePushQueueRepo;
-	
-	@Autowired
-	private ExamScoreQueueService examScoreQueueService;
-	
+public class CupExamScorePushServiceImpl implements ExamScorePushService {
+
+    private static final Logger log = LoggerFactory.getLogger(CupExamScorePushServiceImpl.class);
+
+    @Autowired
+    private ExamScoreRepo examScoreRepo;
+
+    @Autowired
+    private ExamRecordDataRepo examRecordDataRepo;
+
+    @Autowired
+    private ExamStudentRepo examStudentRepo;
+
+    @Autowired
+    private ExamScorePushQueueRepo examScorePushQueueRepo;
+
     @Autowired
-    private GainBaseDataService gainBaseDataService;
-    
+    private ExamScoreQueueService examScoreQueueService;
+
     private String pushUrlSchema = "http";
 
     private String pushUrlHost = "www.cupde.cn";
 
     private String pushUrlPort = "80";
-	
-	@Override
-	public void scorePush(ExamScorePushQueue examScorePushQueue) {
-		log.info("开始推送石油大学成绩:"+examScorePushQueue.getId());
-		Long scoreId = examScorePushQueue.getExamScoreId();
-		ExamScoreEntity examScore = GlobalHelper.getEntity(examScoreRepo,scoreId,ExamScoreEntity.class);
-		ExamRecordDataEntity examRecordData = GlobalHelper.getEntity(examRecordDataRepo,examScore.getExamRecordDataId(),ExamRecordDataEntity.class);
-
-		ExamStudentEntity examStudent = examStudentRepo.findByExamStudentId(examRecordData.getExamStudentId());
-		if(examScore == null || examRecordData == null || examStudent == null){
-			return;
-		}
-		
-		ExamScorePushInfo examScorePushInfo = buildexamScorePushInfo(examScore,examRecordData,examStudent);
-    	String courseCode = examScorePushInfo.getCourseCode();
-    	//将Z000001变成000001
-    	if(courseCode.startsWith("Z")||courseCode.startsWith("Q")||courseCode.startsWith("S")){
-    		examScorePushInfo.setCourseCode(courseCode.substring(1, courseCode.length()));
-    	}else{
-    		examScorePushInfo.setCourseCode(courseCode);
-    	}
+
+    @Override
+    public void scorePush(ExamScorePushQueue examScorePushQueue) {
+        log.info("开始推送石油大学成绩:" + examScorePushQueue.getId());
+        Long scoreId = examScorePushQueue.getExamScoreId();
+        ExamScoreEntity examScore = GlobalHelper.getEntity(examScoreRepo, scoreId, ExamScoreEntity.class);
+        ExamRecordDataEntity examRecordData = GlobalHelper.getEntity(examRecordDataRepo, examScore.getExamRecordDataId(), ExamRecordDataEntity.class);
+
+        ExamStudentEntity examStudent = examStudentRepo.findByExamStudentId(examRecordData.getExamStudentId());
+        if (examScore == null || examRecordData == null || examStudent == null) {
+            return;
+        }
+
+        ExamScorePushInfo examScorePushInfo = buildexamScorePushInfo(examScore, examRecordData, examStudent);
+        String courseCode = examScorePushInfo.getCourseCode();
+        //将Z000001变成000001
+        if (courseCode.startsWith("Z") || courseCode.startsWith("Q") || courseCode.startsWith("S")) {
+            examScorePushInfo.setCourseCode(courseCode.substring(1, courseCode.length()));
+        } else {
+            examScorePushInfo.setCourseCode(courseCode);
+        }
         CloseableHttpResponse httpResponse = null;
         CloseableHttpClient httpClient = null;
         try {
@@ -114,8 +110,8 @@ public class CupExamScorePushServiceImpl implements ExamScorePushService{
                     .setPath("/entity/learning/interface/stuHomeworkScore_syncFinalExamScore.action")
                     .setParameter("loginId", "bjsy")
                     .setParameter("password", "1111")
-                    .setParameter("examRemark",examScorePushInfo.getExamName())
-                    .setParameter("examStuRemark","recruit")
+                    .setParameter("examRemark", examScorePushInfo.getExamName())
+                    .setParameter("examStuRemark", "recruit")
                     .setParameter("scoreJsonStr", scoreStr)//通过查询参数的方式传递
                     .build();
             HttpPost httpPost = new HttpPost(uri);
@@ -123,25 +119,25 @@ public class CupExamScorePushServiceImpl implements ExamScorePushService{
             HttpEntity responseEntity = httpResponse.getEntity();
             String result = "";
             int statusCode = httpResponse.getStatusLine().getStatusCode();
-            if(statusCode == 200){
+            if (statusCode == 200) {
                 BufferedReader reader = new BufferedReader(new InputStreamReader(responseEntity.getContent()));
                 StringBuffer buffer = new StringBuffer();
                 String str = "";
-                while(StringUtils.isNoneBlank((str = reader.readLine()))) {
+                while (StringUtils.isNoneBlank((str = reader.readLine()))) {
                     buffer.append(str);
                 }
                 result = buffer.toString();
             }
-            log.info("推送石油大学成绩:"+examScorePushQueue.getId()+"结果:"+result);
-        	JSONObject jsonObject = new JSONObject(result);
-        	//推送成功
-        	if(jsonObject.has("success")&&"true".equals(jsonObject.getString("success"))){
-        		examScoreQueueService.saveExamScorePushQueue(result, examScorePushQueue, ExamScoreQueueStatus.PROCESS_SUCCESS);
-        	}else{
-        		examScoreQueueService.saveExamScorePushQueue(result, examScorePushQueue, ExamScoreQueueStatus.PROCESS_FAILED);
-        	}
+            log.info("推送石油大学成绩:" + examScorePushQueue.getId() + "结果:" + result);
+            JSONObject jsonObject = new JSONObject(result);
+            //推送成功
+            if (jsonObject.has("success") && "true".equals(jsonObject.getString("success"))) {
+                examScoreQueueService.saveExamScorePushQueue(result, examScorePushQueue, ExamScoreQueueStatus.PROCESS_SUCCESS);
+            } else {
+                examScoreQueueService.saveExamScorePushQueue(result, examScorePushQueue, ExamScoreQueueStatus.PROCESS_FAILED);
+            }
         } catch (Exception e) {
-        	log.error(examScorePushQueue.getId() + "成绩推送失败", e);
+            log.error(examScorePushQueue.getId() + "成绩推送失败", e);
             examScoreQueueService.saveExamScorePushQueue(e.getMessage(), examScorePushQueue, ExamScoreQueueStatus.PROCESS_FAILED);
         } finally {
             if (httpResponse != null) {
@@ -162,33 +158,35 @@ public class CupExamScorePushServiceImpl implements ExamScorePushService{
                     httpClient = null;
                 }
             }
-	    }
-	}
-	
-	private ExamScorePushInfo buildexamScorePushInfo(ExamScoreEntity examScore,ExamRecordDataEntity examRecordDataEntity,ExamStudentEntity examStudentEntity){
-		ExamScorePushInfo examScorePushInfo = new ExamScorePushInfo();
-		examScorePushInfo.setExamId(examStudentEntity.getExamId());
-		ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examStudentEntity.getExamId(),
-				examStudentEntity.getOrgId());
-
-		examScorePushInfo.setExamName(examBean.getName());
-		examScorePushInfo.setStudentName(examStudentEntity.getStudentName());
-		examScorePushInfo.setStudentCode(examStudentEntity.getStudentCode());
-		examScorePushInfo.setIdentityNumber(examStudentEntity.getIdentityNumber());
-
-		CourseBean courseBean = ExamCacheTransferHelper.getCachedCourse(examStudentEntity.getCourseId());
-
-		examScorePushInfo.setCourseName(courseBean.getName());
-		examScorePushInfo.setCourseCode(examStudentEntity.getCourseCode());
-		examScorePushInfo.setStartTime(examRecordDataEntity.getStartTime());
-		examScorePushInfo.setEndTime(examRecordDataEntity.getEndTime());
-		examScorePushInfo.setSuccPercent(examRecordDataEntity.getFaceSuccessPercent());
-		examScorePushInfo.setIsIllegality(examRecordDataEntity.getIsIllegality());
-		examScorePushInfo.setScoreId(examScore.getId());
-		examScorePushInfo.setTotalScore(examScore.getTotalScore());
-		examScorePushInfo.setObjectiveScore(examScore.getObjectiveScore());
-		examScorePushInfo.setSubjectiveScore(examScore.getSubjectiveScore());
-		return examScorePushInfo;
-	}
+        }
+    }
+
+    private ExamScorePushInfo buildexamScorePushInfo(ExamScoreEntity examScore,
+                                                     ExamRecordDataEntity examRecordDataEntity,
+                                                     ExamStudentEntity examStudentEntity) {
+        ExamScorePushInfo examScorePushInfo = new ExamScorePushInfo();
+        examScorePushInfo.setExamId(examStudentEntity.getExamId());
+        ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examStudentEntity.getExamId(),
+                examStudentEntity.getOrgId(),examStudentEntity.getStudentId());
+
+        examScorePushInfo.setExamName(examBean.getName());
+        examScorePushInfo.setStudentName(examStudentEntity.getStudentName());
+        examScorePushInfo.setStudentCode(examStudentEntity.getStudentCode());
+        examScorePushInfo.setIdentityNumber(examStudentEntity.getIdentityNumber());
+
+        CourseBean courseBean = ExamCacheTransferHelper.getCachedCourse(examStudentEntity.getCourseId());
+
+        examScorePushInfo.setCourseName(courseBean.getName());
+        examScorePushInfo.setCourseCode(examStudentEntity.getCourseCode());
+        examScorePushInfo.setStartTime(examRecordDataEntity.getStartTime());
+        examScorePushInfo.setEndTime(examRecordDataEntity.getEndTime());
+        examScorePushInfo.setSuccPercent(examRecordDataEntity.getFaceSuccessPercent());
+        examScorePushInfo.setIsIllegality(examRecordDataEntity.getIsIllegality());
+        examScorePushInfo.setScoreId(examScore.getId());
+        examScorePushInfo.setTotalScore(examScore.getTotalScore());
+        examScorePushInfo.setObjectiveScore(examScore.getObjectiveScore());
+        examScorePushInfo.setSubjectiveScore(examScore.getSubjectiveScore());
+        return examScorePushInfo;
+    }
 
 }

+ 2 - 2
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/pushscore/swufe/SwufeExamScorePushServiceImpl.java

@@ -1,10 +1,10 @@
 package cn.com.qmth.examcloud.core.oe.admin.service.impl.pushscore.swufe;
 
 import cn.com.qmth.examcloud.core.basic.api.bean.CourseBean;
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamScorePushService;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamScoreQueueService;
 import cn.com.qmth.examcloud.core.oe.admin.service.impl.pushscore.bean.ExamScorePushInfo;
+import cn.com.qmth.examcloud.core.oe.common.base.helper.ExamCacheTransferHelper;
 import cn.com.qmth.examcloud.core.oe.common.base.utils.CommonUtil;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamRecordDataEntity;
 import cn.com.qmth.examcloud.core.oe.common.entity.ExamScoreEntity;
@@ -163,7 +163,7 @@ public class SwufeExamScorePushServiceImpl implements ExamScorePushService{
 		examScorePushInfo.setExamId(examStudentEntity.getExamId());
 
 		ExamBean examBean = ExamCacheTransferHelper.getCachedExam(examStudentEntity.getExamId(),
-				examStudentEntity.getOrgId());
+				examStudentEntity.getOrgId(),examStudentEntity.getStudentId());
 		examScorePushInfo.setExamName(examBean.getName());
 		
 		examScorePushInfo.setStudentName(examStudentEntity.getStudentName());