diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/newhosts/NewHostsServiceImpl.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/newhosts/NewHostsServiceImpl.java index 7a82fc9..e1d650c 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/newhosts/NewHostsServiceImpl.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/newhosts/NewHostsServiceImpl.java @@ -15,6 +15,7 @@ import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import java.util.*; +import java.util.stream.Collectors; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -62,18 +63,21 @@ public class NewHostsServiceImpl implements NewHostsService { } @Override - public void deleteNewHostsListByIds(List ids) { - // 校验存在 - validateNewHostsExists(ids); - // 删除 - newHostsMapper.deleteByIds(ids); - } + public void deleteNewHostsListByIds(List ids) { + List hostsList = getValidatedNewHosts(ids); + List hostsIds = hostsList.stream() + .map(NewHostsDO::getHostsId) + .distinct() + .collect(Collectors.toList()); + newHostsMapper.deleteBatch(NewHostsDO::getHostsId, hostsIds); + } - private void validateNewHostsExists(List ids) { + private List getValidatedNewHosts(List ids) { List list = newHostsMapper.selectByIds(ids); if (CollUtil.isEmpty(list) || list.size() != ids.size()) { throw exception(ErrorCodeConstants.NEW_HOSTS_NOT_EXISTS); } + return list; } private void validateNewHostsExists(Long id) { @@ -111,4 +115,4 @@ public class NewHostsServiceImpl implements NewHostsService { newHostsMapper.deleteBatchIds(list); } -} \ No newline at end of file +}