package com.qianwen.smartman.modules.cps.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import java.lang.invoke.SerializedLambda;
|
import java.util.List;
|
import java.util.Set;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
import com.qianwen.smartman.common.utils.MessageUtils;
|
import com.qianwen.core.log.exception.ServiceException;
|
import com.qianwen.core.mp.service.impl.BladeServiceImpl;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.entity.DeviceTypeCheckProject;
|
import com.qianwen.smartman.modules.cps.mapper.DeviceTypeCheckProjectMapper;
|
import com.qianwen.smartman.modules.cps.service.IDeviceCheckService;
|
import com.qianwen.smartman.modules.cps.vo.DeviceCheckSubmitVO;
|
import com.qianwen.smartman.modules.cps.vo.DeviceTypeCheckProjectVO;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/DeviceCheckServiceImpl.class */
|
public class DeviceCheckServiceImpl extends BladeServiceImpl<DeviceTypeCheckProjectMapper, DeviceTypeCheckProject> implements IDeviceCheckService {
|
|
|
@Override // org.springblade.modules.cps.service.IDeviceCheckService
|
@Transactional(rollbackFor = {Exception.class})
|
public List<DeviceTypeCheckProject> createDeviceCheck(DeviceCheckSubmitVO vo) {
|
List<Long> checkProjectId = vo.getCheckProjectId();
|
if (Func.isEmpty(checkProjectId)) {
|
throw new ServiceException(MessageUtils.message("cps.tpm.devicetype.checkproject.not.empty", new Object[0]));
|
}
|
Long deviceTypeId = vo.getDeviceTypeId();
|
Integer intervalTime = vo.getIntervalTime();
|
List<DeviceTypeCheckProject> list = list(Wrappers.<DeviceTypeCheckProject>lambdaQuery().eq(DeviceTypeCheckProject::getDeviceTypeId, deviceTypeId));
|
Set<Long> checkProjectIdSet = list.stream().map((v0) -> {
|
return v0.getCheckProjectId();
|
}).collect(Collectors.toSet());
|
|
boolean anyMatch = checkProjectId.stream().anyMatch(checkProjectIdSet::contains);
|
/*
|
Stream<Long> stream = checkProjectId.stream();
|
checkProjectIdSet.getClass();
|
boolean anyMatch = stream.anyMatch((v1) -> {
|
return r1.contains(v1);
|
});*/
|
if (anyMatch) {
|
throw new ServiceException(MessageUtils.message("cps.tpm.devicetype.checkproject.same", new Object[0]));
|
}
|
List<DeviceTypeCheckProject> collect = checkProjectId.stream().map(c -> {
|
return DeviceTypeCheckProject.builder().deviceTypeId(deviceTypeId).checkProjectId(c).intervalTime(intervalTime).build();
|
}).collect(Collectors.toList());
|
saveBatch(collect);
|
return collect;
|
}
|
|
@Override // org.springblade.modules.cps.service.IDeviceCheckService
|
public List<DeviceTypeCheckProjectVO> listDeviceCheck(Long id) {
|
return this.baseMapper.listDeviceCheck(id);
|
}
|
}
|