|
@@ -3,12 +3,17 @@ package cn.com.qmth.examcloud.exchange.outer.api.provider;
|
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.ExamScoreDataCloudService;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.bean.ScoreDataBean;
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.request.GetFinalScoreDataReq;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.GetScoreDataReq;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryScoreDataReq;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.request.QueryScoreListReq;
|
|
|
+import cn.com.qmth.examcloud.core.oe.admin.api.response.GetFinalScoreDataResp;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.GetScoreDataResp;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryScoreDataResp;
|
|
|
import cn.com.qmth.examcloud.core.oe.admin.api.response.QueryScoreListResp;
|
|
|
+import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
|
|
|
+import cn.com.qmth.examcloud.examwork.api.request.GetExamReq;
|
|
|
+import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
|
|
|
import cn.com.qmth.examcloud.exchange.outer.api.GetScoreDataService;
|
|
|
import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
|
|
|
import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetScoreDataReq;
|
|
@@ -42,6 +47,9 @@ public class GetScoreDataServiceProvider extends ControllerSupport implements Ge
|
|
|
@Autowired
|
|
|
private ExamScoreDataCloudService examScoreDataCloudService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ExamCloudService examCloudService;
|
|
|
+
|
|
|
@ApiOperation(value = "按某个考试记录ID获取成绩数据", hidden = true)
|
|
|
@PostMapping("/getScoreData")
|
|
|
@Override
|
|
@@ -78,13 +86,45 @@ public class GetScoreDataServiceProvider extends ControllerSupport implements Ge
|
|
|
return outerGetScoreDataResp;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@ApiOperation(value = "按某个考生获取最终成绩数据", notes = "若该考生存在考多次情况,会按成绩规则只保留一条最终成绩记录")
|
|
|
@PostMapping("/queryFinalScoreData")
|
|
|
@Override
|
|
|
public OuterQueryFinalScoreDataResp queryFinalScoreData(@RequestBody OuterQueryFinalScoreDataReq req) {
|
|
|
- // to do
|
|
|
- return new OuterQueryFinalScoreDataResp();
|
|
|
+ if (req.getRootOrgId() == null) {
|
|
|
+ throw new StatusException("1000001", "rootOrgId不能为空");
|
|
|
+ }
|
|
|
+ if (!getEnterpriseRootOrgId().equals(req.getRootOrgId())) {
|
|
|
+ throw new StatusException("1000002", "rootOrgId错误");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(req.getCourseCode())) {
|
|
|
+ throw new StatusException("1000004", "课程code不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(req.getIdentityNumber()) && StringUtils.isBlank(req.getStudentCode())) {
|
|
|
+ throw new StatusException("1000006", "证件号和学号不能都为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ GetExamReq examQuery = new GetExamReq();
|
|
|
+ examQuery.setRootOrgId(req.getRootOrgId());
|
|
|
+ examQuery.setCode(req.getExamCode());
|
|
|
+ examQuery.setName(req.getExamName());
|
|
|
+ GetExamResp examResp = examCloudService.getExam(examQuery);
|
|
|
+
|
|
|
+ GetFinalScoreDataReq query = new GetFinalScoreDataReq();
|
|
|
+ query.setRootOrgId(req.getRootOrgId());
|
|
|
+ query.setExamId(examResp.getId());
|
|
|
+ query.setCourseCode(req.getCourseCode());
|
|
|
+ query.setStudentCode(req.getStudentCode());
|
|
|
+ query.setIdentityNumber(req.getIdentityNumber());
|
|
|
+ GetFinalScoreDataResp resp = examScoreDataCloudService.getFinalScoreData(query);
|
|
|
+
|
|
|
+ OuterQueryFinalScoreDataResp result = new OuterQueryFinalScoreDataResp();
|
|
|
+ result.setAbsent(resp.getAbsent());
|
|
|
+ result.setIllegality(resp.getIllegality());
|
|
|
+ result.setAudit(resp.getAudit());
|
|
|
+ if (resp.getScoreDataBean() != null) {
|
|
|
+ result.setTotalScore(resp.getScoreDataBean().getTotalScore());
|
|
|
+ }
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "按某个考生获取成绩数据", notes = "若该考生存在考多次情况,会对应有多条成绩记录")
|