From 93af1c6ffb9ae0e894689ad3a37b548e57d54cff Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期四, 11 三月 2021 19:10:07 +0800 Subject: [PATCH] 有注释的测评系统业务代码 --- src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java index e52b8cd..5250508 100644 --- a/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/CountCalculateServiceImpl.java @@ -1,4 +1,5 @@ package com.ots.project.exam.service.impl; + import com.ots.common.enums.TestMemberStatusEnum; import com.ots.project.exam.domain.*; import com.ots.project.exam.mapper.EntTestMemberMapper; @@ -7,23 +8,29 @@ import com.ots.project.exam.service.CountCalculateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + import java.util.*; import java.util.stream.Collectors; +/** + * 娆℃暟璁$畻缁勪欢 + */ @Component public class CountCalculateServiceImpl implements CountCalculateService { + @Autowired private EntTestMemberMapper entTestMemberMapper; @Autowired private EntTestPackageMapper entTestPackageMapper; @Autowired private SysUserExtendMapper sysUserExtendMapper; + @Override public NumberOfUsersByCompany calculateProductPackagesMemberCount(EntTestPackage entTestPackage) { Long userId = entTestPackage.getUserId(); NumberOfUsersByCompany result = new NumberOfUsersByCompany(); if (Objects.nonNull(userId)) { - + //1銆佹煡璇紒涓氱敤鎴锋墿灞曞弬鏁� SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(userId); if (Objects.isNull(sysUserExtend)) { return result; @@ -35,15 +42,17 @@ result.setTestNum(testNum.intValue()); } List<EntTestPackage> entTestPackages = findEntTestPackages(entTestPackage); - + //3銆佹煡璇㈠綋鍓嶆祴璇曞寘涓嬬殑鐢ㄦ埛 if (Objects.nonNull(entTestPackages) && !entTestPackages.isEmpty()) { result = constructResult(userId, entTestPackages); } return result; } + private List<EntTestPackage> findEntTestPackages(EntTestPackage entTestPackage) { return entTestPackageMapper.selectEntTestPackageList(entTestPackage); } + private NumberOfUsersByCompany constructResult(Long userId, List<EntTestPackage> entTestPackages) { List<Long> collect = entTestPackages.stream().map(p -> p.getId()).collect(Collectors.toList()); List<EntTestMember> entTestMembers = findEntTestMembers(collect); @@ -54,7 +63,7 @@ if (Objects.nonNull(result.getTestNum())) { result.setUsedTimes(entTestMembers.size()); } - + //4銆佹瘡涓祴璇曞寘鐨勪娇鐢ㄦ儏鍐� Map<Long, List<EntTestMember>> testPackageUsageTimesMap = entTestMembers.stream().collect(Collectors.groupingBy(EntTestMember::getTestId)); entTestPackages.stream().forEach(p -> { NumberOfUsersByPackage numberOfUsersByPackage = new NumberOfUsersByPackage(); @@ -80,12 +89,14 @@ }); return result; } + private List<EntTestMember> findEntTestMembers(List<Long> collect) { Map map = new HashMap(); map.put("testIds", collect); - + //unprocessed("0", "鏈鐞�"),completed("1", "宸插畬鎴�"),answering("2", "绛旈涓�"), 涓夌鐘舵�佺畻宸茬粡浣跨敤浜嗘鏁� List<String> recyclingStatus = Arrays.asList(TestMemberStatusEnum.unprocessed.getCode(), TestMemberStatusEnum.completed.getCode(), TestMemberStatusEnum.answering.getCode()); map.put("status", recyclingStatus); return entTestMemberMapper.selectEntTestMemberListByMap(map); } + } -- Gitblit v1.9.1