|
|
@@ -20,6 +20,7 @@ import com.xunmei.iot.enums.ValueTypeEnum;
|
|
|
import com.xunmei.iot.mapper.IotAlarmRuleMapper;
|
|
|
import com.xunmei.iot.mapper.IotAlarmRuleSourceMapper;
|
|
|
import com.xunmei.iot.mapper.IotCommonSensorMapper;
|
|
|
+import com.xunmei.iot.service.IIotDeviceInfoService;
|
|
|
import com.xunmei.iot.service.IotAlarmRuleService;
|
|
|
import com.xunmei.iot.service.IotAlarmRuleSourceService;
|
|
|
import com.xunmei.iot.service.IotDeviceStatusService;
|
|
|
@@ -27,6 +28,7 @@ import com.xunmei.iot.vo.alarm.IotAlarmRuleSourceDetailVo;
|
|
|
import com.xunmei.iot.vo.alarm.IotAlarmRuleSourceDeviceVo;
|
|
|
import com.xunmei.iot.vo.alarm.ProductDeviceTempVo;
|
|
|
import com.xunmei.iot.vo.alarm.ProductTypeDataVo;
|
|
|
+import com.xunmei.system.api.domain.iot.IotDeviceInfo;
|
|
|
import com.xunmei.system.api.domain.iot.IotDeviceStatus;
|
|
|
import com.xunmei.system.api.vo.SysOrgVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -53,6 +55,9 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
|
|
|
private IotCommonSensorMapper iotCommonSensorMapper;
|
|
|
@Autowired
|
|
|
private IotDeviceStatusService iotDeviceStatusService;
|
|
|
+ @Autowired
|
|
|
+ private IIotDeviceInfoService deviceInfoService;
|
|
|
+
|
|
|
@Override
|
|
|
public IotAlarmRuleSourceDetailVo detail(IotAlarmRuleSourceDetailDto detailVo) throws Exception {
|
|
|
IotAlarmRuleSourceDetailVo iotAlarmRuleSourceDetailVo = new IotAlarmRuleSourceDetailVo();
|
|
|
@@ -179,8 +184,7 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
|
|
|
final List<IotAlarmRuleSource> ruleSourceList = iotAlarmRuleSourceMapper.selectList(new LambdaQueryWrapper<IotAlarmRuleSource>()
|
|
|
.eq(IotAlarmRuleSource::getRuleId, ruleId)
|
|
|
.eq(IotAlarmRuleSource::getProductType, Integer.parseInt(code))
|
|
|
- )
|
|
|
- ;
|
|
|
+ );
|
|
|
isAllDevice = ruleSourceList.stream().map(IotAlarmRuleSource::getValueType).anyMatch(ValueTypeEnum.AllDevice.getText()::equals);
|
|
|
if (isAllDevice) {
|
|
|
//如果此前已经设置了 产品类型=AllDevice的 本次就无需再添加
|
|
|
@@ -192,7 +196,7 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
|
|
|
source.setId(IDHelper.id());
|
|
|
source.setOrgId(productDevice.getOrgId());
|
|
|
source.setRuleId(ruleId);
|
|
|
- // source.setProductType(Integer.parseInt(code));
|
|
|
+ // source.setProductType(Integer.parseInt(code));
|
|
|
source.setValue(deviceId);
|
|
|
source.setValueType(ValueTypeEnum.Device.getText());
|
|
|
iotAlarmRuleSourceMapper.insert(source);
|
|
|
@@ -227,7 +231,7 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
|
|
|
List<String> deviceIds = deviceTempList.stream().map(ProductDeviceTempVo::getDeviceId).collect(Collectors.toList());
|
|
|
List<IotDeviceStatus> deviceStatuses = iotDeviceStatusService.selectByUniqueCodeList(deviceIds);
|
|
|
// CONCAT(org_id,'-',device_code) as device_code
|
|
|
- final Map<String, IotDeviceStatus> deviceIdAndName = deviceStatuses.stream().collect(Collectors.toMap(IotDeviceStatus::getUniqueCode, Function.identity()));
|
|
|
+ final Map<String, IotDeviceStatus> deviceIdAndName = deviceStatuses.stream().collect(Collectors.toMap(IotDeviceStatus::getUniqueCode, Function.identity(), (a, b) -> a));
|
|
|
for (ProductDeviceTempVo ptv : deviceTempList) {
|
|
|
final IotDeviceStatus deviceStatus = deviceIdAndName.get(ptv.getDeviceId());
|
|
|
if (deviceStatus != null) {
|
|
|
@@ -237,6 +241,19 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
|
|
|
ptv.setDeviceCode(deviceStatus.getDeviceCode());
|
|
|
final String orgName = dealOrgName(cacheList, deviceStatus.getOrgPath(), deviceStatus.getOrgName());
|
|
|
ptv.setOrgName(orgName);
|
|
|
+ } else {
|
|
|
+ if (ptv.getDeviceProduct().startsWith("FSU_DoPowerCollection")){
|
|
|
+ ptv.setDeviceProduct("FSU_DoPowerCollection");
|
|
|
+ }
|
|
|
+ IotDeviceInfo deviceInfo = deviceInfoService.selectDevice(ptv.getIotCode(), ptv.getDeviceProduct(), ptv.getDeviceCode());
|
|
|
+ if (deviceInfo != null) {
|
|
|
+ ptv.setDeviceName(deviceInfo.getDeviceName());
|
|
|
+ ptv.setIotCode(deviceInfo.getIotToken());
|
|
|
+ ptv.setDeviceProduct(deviceInfo.getDeviceProduct());
|
|
|
+ ptv.setDeviceCode(deviceInfo.getDeviceCode());
|
|
|
+ final String orgName = dealOrgName(cacheList, deviceInfo.getOrgPath(), deviceInfo.getOrgName());
|
|
|
+ ptv.setOrgName(orgName);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
/*List<IotSensor> iotSensors = iotCommonSensorMapper.selectByIds(deviceIds);
|