Commit ba4f9207e20bf6555e307acb9a0f8e67527ec6f3
1 parent
fea84dec
CRM:【线索】使用工具类替换stream操作
Showing
1 changed file
with
8 additions
and
13 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java
| @@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.crm.service.clue; | @@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.crm.service.clue; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.collection.ListUtil; | 4 | import cn.hutool.core.collection.ListUtil; |
| 5 | import cn.hutool.core.util.ObjectUtil; | 5 | import cn.hutool.core.util.ObjectUtil; |
| 6 | +import cn.hutool.core.util.StrUtil; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 8 | +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||
| 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 8 | import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmCluePageReqVO; | 10 | import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmCluePageReqVO; |
| 9 | import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueSaveReqVO; | 11 | import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueSaveReqVO; |
| @@ -25,11 +27,7 @@ import org.springframework.stereotype.Service; | @@ -25,11 +27,7 @@ import org.springframework.stereotype.Service; | ||
| 25 | import org.springframework.transaction.annotation.Transactional; | 27 | import org.springframework.transaction.annotation.Transactional; |
| 26 | import org.springframework.validation.annotation.Validated; | 28 | import org.springframework.validation.annotation.Validated; |
| 27 | 29 | ||
| 28 | -import java.util.Collection; | ||
| 29 | -import java.util.List; | ||
| 30 | -import java.util.Objects; | ||
| 31 | -import java.util.Set; | ||
| 32 | -import java.util.stream.Collectors; | 30 | +import java.util.*; |
| 33 | 31 | ||
| 34 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 32 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 35 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | 33 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; |
| @@ -145,19 +143,16 @@ public class CrmClueServiceImpl implements CrmClueService { | @@ -145,19 +143,16 @@ public class CrmClueServiceImpl implements CrmClueService { | ||
| 145 | List<CrmClueDO> clues = getClueList(clueIds, userId); | 143 | List<CrmClueDO> clues = getClueList(clueIds, userId); |
| 146 | if (CollUtil.isEmpty(clues) || ObjectUtil.notEqual(clues.size(), clueIds.size())) { | 144 | if (CollUtil.isEmpty(clues) || ObjectUtil.notEqual(clues.size(), clueIds.size())) { |
| 147 | clueIds.removeAll(convertSet(clues, CrmClueDO::getId)); | 145 | clueIds.removeAll(convertSet(clues, CrmClueDO::getId)); |
| 148 | - // TODO @min:可以使用 StrUtil.join(",", clueIds) 简化这种常见操作 | ||
| 149 | - throw exception(CLUE_ANY_CLUE_NOT_EXISTS, clueIds.stream().map(String::valueOf).collect(Collectors.joining(","))); | 146 | + throw exception(CLUE_ANY_CLUE_NOT_EXISTS, StrUtil.join(",", clueIds)); |
| 150 | } | 147 | } |
| 151 | 148 | ||
| 152 | // 过滤出未转化的客户 | 149 | // 过滤出未转化的客户 |
| 153 | - // TODO @min:1)存在已经转化的,直接提示哈。避免操作的用户,以为都转化成功了;2)常见的过滤逻辑,可以使用 CollectionUtils.filterList() | ||
| 154 | - List<CrmClueDO> unTransformClues = clues.stream() | ||
| 155 | - .filter(clue -> ObjectUtil.notEqual(Boolean.TRUE, clue.getTransformStatus())).toList(); | ||
| 156 | - // 传入的线索中包含已经转化的情况,抛出业务异常 | 150 | + List<CrmClueDO> unTransformClues = CollectionUtils.filterList(clues, |
| 151 | + clue -> ObjectUtil.notEqual(Boolean.TRUE, clue.getTransformStatus())); | ||
| 152 | + // 存在已经转化的,直接提示哈。避免操作的用户,以为都转化成功了 | ||
| 157 | if (ObjectUtil.notEqual(clues.size(), unTransformClues.size())) { | 153 | if (ObjectUtil.notEqual(clues.size(), unTransformClues.size())) { |
| 158 | - // TODO @min:可以使用 StrUtil.join(",", clueIds) 简化这种常见操作 | ||
| 159 | clueIds.removeAll(convertSet(unTransformClues, CrmClueDO::getId)); | 154 | clueIds.removeAll(convertSet(unTransformClues, CrmClueDO::getId)); |
| 160 | - throw exception(CLUE_ANY_CLUE_ALREADY_TRANSLATED, clueIds.stream().map(String::valueOf).collect(Collectors.joining(","))); | 155 | + throw exception(CLUE_ANY_CLUE_ALREADY_TRANSLATED, StrUtil.join(",", clueIds)); |
| 161 | } | 156 | } |
| 162 | 157 | ||
| 163 | // 遍历线索(未转化的线索),创建对应的客户 | 158 | // 遍历线索(未转化的线索),创建对应的客户 |