xiangpei
2024-05-24 0c510424ebe81013bc628d5a411457453f84f81b
考试记录计算平均分重写
1个文件已修改
8 ■■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java
@@ -28,6 +28,7 @@
import javax.validation.Valid;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -76,12 +77,13 @@
            vm.setSubjectName(name);
            vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
//            vm.setUserName(user.getRealName());
            return vm;
        });
//        page.setList(page.getList().stream().filter(e -> e != null).collect(Collectors.toList()));
        if (page.getList().size() > 0) {
            Double avg = page.getList().stream().mapToInt(ExamPaperAnswerPageResponseVM -> Integer.parseInt(ExamPaperAnswerPageResponseVM.getUserScore())).average().getAsDouble();
            BigDecimal sum = page.getList().stream()
                    .map(ExamPaperAnswerPageResponseVM -> new BigDecimal(ExamPaperAnswerPageResponseVM.getUserScore()))
                    .reduce(BigDecimal.ZERO, BigDecimal::add); // 计算总和
            Double avg = sum.divide(BigDecimal.valueOf(page.getList().size()), 2, RoundingMode.HALF_UP).doubleValue();
            page.getList().get(0).setAvgSource(avg);
        }
        return RestResponse.ok(page);