Commit 7dfdebe7 by “Kongxiangkun”

增加积分商城相关代码

parent 3aea8ea3
package com.yizhi.application.controller; package com.yizhi.application.controller;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.plugins.pagination.PageHelper; import com.baomidou.mybatisplus.plugins.pagination.PageHelper;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.yizhi.application.domain.TrExamOnlineReadOver; import com.yizhi.application.domain.TrExamOnlineReadOver;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.application.export.ReadOnLineExamsExport; import com.yizhi.application.export.ReadOnLineExamsExport;
import com.yizhi.application.mapper.TrExamOnlineReadOverMapper; import com.yizhi.application.mapper.TrExamOnlineReadOverMapper;
import com.yizhi.application.service.IExamService; import com.yizhi.application.service.IExamService;
import com.yizhi.application.service.ITrExamAnswerService; import com.yizhi.application.service.ITrExamAnswerService;
import com.yizhi.application.service.ITrExamAuthorizeService; import com.yizhi.application.service.ITrExamAuthorizeService;
import com.yizhi.application.service.ITrExamOnlineReadOverService; import com.yizhi.application.service.ITrExamOnlineReadOverService;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.exam.application.vo.*; import com.yizhi.exam.application.vo.*;
import com.yizhi.exam.application.vo.domain.Exam; import com.yizhi.exam.application.vo.domain.Exam;
import com.yizhi.point.application.feign.PointApiFeignClients;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -33,6 +36,7 @@ import java.util.Map; ...@@ -33,6 +36,7 @@ import java.util.Map;
* @author yizhi123 * @author yizhi123
* @since 2018-03-13 * @since 2018-03-13
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("/manage/exam") @RequestMapping("/manage/exam")
public class TrExamOnlineReadOverController { public class TrExamOnlineReadOverController {
...@@ -56,6 +60,8 @@ public class TrExamOnlineReadOverController { ...@@ -56,6 +60,8 @@ public class TrExamOnlineReadOverController {
@Autowired @Autowired
private ReadOnLineExamsExport readOnLineExamsExport; private ReadOnLineExamsExport readOnLineExamsExport;
@Autowired
private PointApiFeignClients pointApiFeignClients;
/** /**
* 阅卷列表 * 阅卷列表
...@@ -212,13 +218,21 @@ public class TrExamOnlineReadOverController { ...@@ -212,13 +218,21 @@ public class TrExamOnlineReadOverController {
}*/ }*/
@PostMapping(value = "/marking/student/save") @PostMapping(value = "/marking/student/save")
public Integer insertByFile(@RequestBody MarkStudentVO markStudentVO) { public Integer insertByFile(@RequestBody MarkStudentVO markStudentVO) {
Integer result = null; Map<String, Object> resultMap = new HashMap<>();
try { try {
result = iTrExamOnlineReadOverService.insertMarkStudent(markStudentVO); resultMap = iTrExamOnlineReadOverService.insertMarkStudent(markStudentVO);
return result; Integer score = (Integer) resultMap.get("score");
Integer qualifiedScore = (Integer) resultMap.get("qualifiedScore");
String examId = (String) resultMap.get("examId");
//考试交卷后根据分数增加积分
if(score.intValue() >= qualifiedScore.intValue()) {
log.info("考试合格发放积分:{}", JSONUtil.toJsonStr(resultMap));
pointApiFeignClients.addPoint(markStudentVO.getAccountId(), "point_exam", examId + "|" + score);
}
return score;
} catch (Exception e) { } catch (Exception e) {
Log.error("", e); Log.error("", e);
return result; return 0;
} }
} }
......
...@@ -81,7 +81,7 @@ public interface ITrExamOnlineReadOverService extends IService<TrExamOnlineReadO ...@@ -81,7 +81,7 @@ public interface ITrExamOnlineReadOverService extends IService<TrExamOnlineReadO
MarkStudentVO markStudent(Long id); MarkStudentVO markStudent(Long id);
Integer insertMarkStudent(MarkStudentVO markStudentVO); Map<String, Object> insertMarkStudent(MarkStudentVO markStudentVO);
/** /**
* 根据考试ID查询已阅卷人数 * 根据考试ID查询已阅卷人数
......
package com.yizhi.application.service.impl; package com.yizhi.application.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.yizhi.application.domain.*; import com.yizhi.application.domain.*;
...@@ -299,7 +300,8 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea ...@@ -299,7 +300,8 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
@Transactional(propagation = Propagation.REQUIRED) @Transactional(propagation = Propagation.REQUIRED)
@Override @Override
public Integer insertMarkStudent(MarkStudentVO markStudentVO) { public Map<String, Object> insertMarkStudent(MarkStudentVO markStudentVO) {
Map<String, Object> result = new HashMap<>();
Date createTime = new Date(); Date createTime = new Date();
BigDecimal score = new BigDecimal(0); BigDecimal score = new BigDecimal(0);
TrExamAnswerQuestion trExamAnswerQuestion; TrExamAnswerQuestion trExamAnswerQuestion;
...@@ -359,19 +361,21 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea ...@@ -359,19 +361,21 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
type = type == null ? 0 : type; type = type == null ? 0 : type;
if (overResult && type == 1) { if (overResult && type == 1) {
BigDecimal totalScore = trExamOnlineReadOver.getSumScore(); BigDecimal totalScore = trExamOnlineReadOver.getSumScore();
point = totalScore.intValue();
result.put("score", totalScore);
//计算考试积分 //计算考试积分
List<TrExamPointVO> trExamPointVOS = iTrExamPointService.listTrExamPoint(trExamOnlineReadOver.getExamId()); // List<TrExamPointVO> trExamPointVOS = iTrExamPointService.listTrExamPoint(trExamOnlineReadOver.getExamId());
for (TrExamPointVO trExamPointVO : trExamPointVOS) { // for (TrExamPointVO trExamPointVO : trExamPointVOS) {
BigDecimal minScore = new BigDecimal(trExamPointVO.getMinScore()); // BigDecimal minScore = new BigDecimal(trExamPointVO.getMinScore());
BigDecimal maxScore = new BigDecimal(trExamPointVO.getMaxScore()); // BigDecimal maxScore = new BigDecimal(trExamPointVO.getMaxScore());
//a = -1,表示bigdemical小于bigdemical2;a = 0 表示bigdemical等于bigdemical2;a = 1表示bigdemical大于bigdemical2; // //a = -1,表示bigdemical小于bigdemical2;a = 0 表示bigdemical等于bigdemical2;a = 1表示bigdemical大于bigdemical2;
Integer a = totalScore.compareTo(minScore); // Integer a = totalScore.compareTo(minScore);
Integer b = totalScore.compareTo(maxScore); // Integer b = totalScore.compareTo(maxScore);
if (a >= 0 && b < 1) { // if (a >= 0 && b < 1) {
point = trExamPointVO.getPoint(); // point = trExamPointVO.getPoint();
break; // break;
} // }
} // }
//完成阅卷了,更新答卷状态 //完成阅卷了,更新答卷状态
TrExamAnswer trExamAnswer = new TrExamAnswer(); TrExamAnswer trExamAnswer = new TrExamAnswer();
...@@ -387,10 +391,14 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea ...@@ -387,10 +391,14 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
try { try {
TrExamAnswer trExamAnswer1 = trExamAnswerMapper.selectById(markStudentVO.getExamAnswerId()); TrExamAnswer trExamAnswer1 = trExamAnswerMapper.selectById(markStudentVO.getExamAnswerId());
if (trExamAnswer1 == null) { if (trExamAnswer1 == null) {
return point; return result;
} }
Exam exam = examService.selectById(trExamAnswer1.getExamId()); Exam exam = examService.selectById(trExamAnswer1.getExamId());
if (exam != null) { if (exam != null) {
result.put("examId", exam.getId());
result.put("qualifiedScore", exam.getQualifiedScore());
if (trExamAnswer1.getAccountId() != null) { if (trExamAnswer1.getAccountId() != null) {
taskExecutor.asynExecute(new AbstractTaskHandler() { taskExecutor.asynExecute(new AbstractTaskHandler() {
@Override @Override
...@@ -407,12 +415,12 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea ...@@ -407,12 +415,12 @@ public class TrExamOnlineReadOverServiceImpl extends ServiceImpl<TrExamOnlineRea
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
Log.info("手动阅卷完成,考试得分返回结果result:{}", JSONUtil.toJsonStr(result));
return point; return result;
} else { } else {
Log.info("考试:" + trExamOnlineReadOver.getExamId() + "无积分发放"); Log.info("考试:{} 无积分发放", trExamOnlineReadOver.getExamId());
} }
return point; return result;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment