From dd72d75e2ee9677a3347fffeb1306a3518cfbf2a Mon Sep 17 00:00:00 2001 From: caolin <1149034574@qq.com> Date: Thu, 17 Aug 2023 00:37:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E7=9B=AE=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jwl/driver/server/constant/Constants.java | 5 +++ .../service/impl/TdQuestionServiceImpl.java | 45 +++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/jwl/driver/server/constant/Constants.java b/src/main/java/com/jwl/driver/server/constant/Constants.java index 95215c5..e050280 100644 --- a/src/main/java/com/jwl/driver/server/constant/Constants.java +++ b/src/main/java/com/jwl/driver/server/constant/Constants.java @@ -6,6 +6,8 @@ package com.jwl.driver.server.constant; public class Constants { + public static Integer DEFAULT_CARTYPE_ID = -1; + //短信验证码redis存储的前缀 public static String MESSAGE_CODE_PREFIX = "code_"; @@ -39,4 +41,7 @@ public class Constants { //多选题 public static String QUESTION_TYPE_THREE = "3"; + //字典表题目分类标识 + public static String QUESTION_CATEGORY = "QusetionCategory"; + } diff --git a/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java index 298ce25..c6db098 100644 --- a/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java +++ b/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java @@ -1,21 +1,24 @@ package com.jwl.driver.server.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jwl.driver.server.constant.Constants; import com.jwl.driver.server.dto.QuestionQueryDto; import com.jwl.driver.server.entity.TdQuestion; +import com.jwl.driver.server.entity.TdSysConfigList; import com.jwl.driver.server.mapper.TdQuestionMapper; import com.jwl.driver.server.service.ITdQuestionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jwl.driver.server.service.ITdSysConfigListService; import com.jwl.driver.server.service.ITdSysConfigService; import com.jwl.driver.server.vo.QusetionCategoryVo; import com.jwl.driver.server.vo.QusetionVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -31,6 +34,9 @@ public class TdQuestionServiceImpl extends ServiceImpl questionCategory(QuestionQueryDto queryDto) { - return null; - + List resultList = new ArrayList<>(); + //获取题目 + List tdQuestions = queryQuestionByIdList(queryDto); + if (CollectionUtil.isEmpty(tdQuestions)){ + return resultList; + } + //获取分类 + List categoryList = configListService.querySysConfigList(Constants.QUESTION_CATEGORY, Constants.DEFAULT_CARTYPE_ID); + Map categoryMap = categoryList.stream().collect(Collectors.toMap(TdSysConfigList::getConfigItemCode, TdSysConfigList::getConfigItemName, (v1, v2) -> v1)); + Map totalMap = new HashMap<>(); + for (TdQuestion tdQuestion : tdQuestions) { + String category = tdQuestion.getCategory(); + if (StrUtil.isBlank(category)){ + continue; + } + String[] split = category.split(","); + for (String s : split) { //遍历字符串数组 + if (totalMap.containsKey(s)) { //判断Map集合中是否有该字符 + Integer value = totalMap.get(s); //通过key找出集合中的value + totalMap.put(s, value + 1); //将值的数据加1,然后添加到集合中去 + } else { + totalMap.put(s,1); //此时集合中没有该Key,所以将该字符作为键加入到集合中 + } + } + } + for (String category : totalMap.keySet()) { + QusetionCategoryVo categoryVo = new QusetionCategoryVo() + .setCategory(category) + .setCategoryName(categoryMap.getOrDefault(category,"其他类型")) + .setNum(totalMap.get(category)); + resultList.add(categoryVo); + } + return resultList; } }