From 4403a428edc18482c5aa561e603b26ebe13d328f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 02 四月 2024 18:27:02 +0800 Subject: [PATCH] 部门端登录、基础数据导入优化、得分计算优化 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java | 44 ++++++++++++++++++++++++++++---------------- 1 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java index 8555a6f..feab17d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java @@ -6,6 +6,7 @@ import com.ruoyi.common.enums.FieldInputTypeEnum; import com.ruoyi.common.enums.FieldTypeEnum; import com.ruoyi.common.enums.ShowStatusEnum; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.BeanUtils; import com.ruoyi.common.utils.CollUtils; import com.ruoyi.common.utils.StringUtils; @@ -14,6 +15,7 @@ import com.ruoyi.system.domain.TbFieldCategory; import com.ruoyi.system.dto.FieldDTO; import com.ruoyi.system.dto.ShowHideDTO; +import com.ruoyi.system.dto.update.FieldUpdateDTO; import com.ruoyi.system.mapper.TbFieldMapper; import com.ruoyi.system.query.FieldQuery; import com.ruoyi.system.service.TbBasicDataConfigService; @@ -27,6 +29,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -48,13 +51,13 @@ @Override public void add(FieldDTO dto) { //参数校验 - Integer fieldType = dto.getFieldType(); + FieldTypeEnum fieldType = dto.getFieldType(); //1:数字 2:文本 3:百分比 - if (FieldTypeEnum.TEXT.getCode().equals(fieldType)) { + if (FieldTypeEnum.TEXT.equals(fieldType)) { if (StringUtils.isNull(dto.getTextInputType())) { - throw new RuntimeException("输入类型不能为空"); - } else if (FieldInputTypeEnum.FIXED_CONTENT.getCode().equals(dto.getTextInputType()) && StringUtils.isBlank(dto.getTextContent())) { - throw new RuntimeException("内容设置不能为空"); + throw new ServiceException("输入类型不能为空"); + } else if (FieldInputTypeEnum.FIXED_CONTENT.equals(dto.getTextInputType()) && StringUtils.isBlank(dto.getTextContent())) { + throw new ServiceException("内容设置不能为空"); } } TbField tbField = BeanUtils.copyBean(dto, TbField.class); @@ -76,7 +79,7 @@ log.info("======主线程执行showHide{}",Thread.currentThread().getName() ); TbField field = this.getById(dto.getId()); if (StringUtils.isNull(field)) { - throw new RuntimeException("非法参数"); + throw new ServiceException("非法参数"); } //隐藏字段 this.lambdaUpdate().set(TbField::getStatus, dto.getStatus()).eq(TbField::getId, dto.getId()).update(); @@ -87,7 +90,7 @@ log.info("======子线程执行handleDataConfig{}",Thread.currentThread().getName() ); List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW.getCode()).list(); if (CollUtils.isNotEmpty(list)) { - List<Integer> ids = list.stream().map(config -> { + List<Long> ids = list.stream().map(config -> { String fieldIdStr = config.getFieldIdStr(); String[] split = fieldIdStr.split(","); //字符串数组转为List @@ -119,25 +122,34 @@ } @Override - public List<String> influencedData(Integer id) { - //List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().like(TbBasicDataConfig::getFieldIdStr, id).list(); - List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW.getCode()).list(); + public String influencedData(Long id) { + List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW).list(); if (CollUtils.isEmpty(list)) { - return CollUtils.emptyList(); + return ""; } - List<String> collect = list.stream().map(config -> { + String collect = list.stream().map(config -> { String fieldIdStr = config.getFieldIdStr(); String[] split = fieldIdStr.split(","); //字符串数组转为List - List<String> idList = new ArrayList<>(Arrays.asList(split)); + List<String> idList = Arrays.asList(split); if (idList.contains(id.toString())) { return config.getTypeName(); } return null; - }).collect(Collectors.toList()); - if (CollUtils.isEmpty(collect)) { - return CollUtils.emptyList(); + }).filter(Objects::nonNull).collect(Collectors.joining(",")); + if (StringUtils.isBlank(collect)) { + return ""; } return collect; } + + @Override + public void update(FieldUpdateDTO dto) { + TbField field = this.getById(dto.getId()); + if (Objects.isNull(field)) { + throw new ServiceException("参数异常"); + } + TbField tbField = BeanUtils.copyBean(dto, TbField.class); + this.updateById(tbField); + } } \ No newline at end of file -- Gitblit v1.7.1