|
@@ -1,10 +1,15 @@
|
|
|
package cn.iocoder.yudao.module.pms.service.alarm;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
|
|
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.alarm.vo.IotAlarmSettingPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.alarm.vo.IotAlarmSettingSaveReqVO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.alarm.IotAlarmSettingDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.alarm.IotAlarmSettingMapper;
|
|
|
+import com.google.common.collect.ImmutableMap;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -29,6 +34,27 @@ public class IotAlarmSettingServiceImpl implements IotAlarmSettingService {
|
|
|
|
|
|
@Resource
|
|
|
private IotAlarmSettingMapper iotAlarmSettingMapper;
|
|
|
+ @Resource
|
|
|
+ private IotDeviceMapper iotDeviceMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IotAlarmSettingDO getDeviceRange(String deviceCode, String identifier) {
|
|
|
+ List<IotDeviceDO> iotDeviceDOS = iotDeviceMapper.selectList("device_code", deviceCode);
|
|
|
+ if (CollUtil.isEmpty(iotDeviceDOS)) {
|
|
|
+ throw new ServiceException(new ErrorCode(1111,"设备不存在"));
|
|
|
+ }
|
|
|
+ Long deviceId = iotDeviceDOS.get(0).getId();
|
|
|
+ //获取某个设备的特定属性的区间
|
|
|
+ List<IotAlarmSettingDO> deviceSettings = iotAlarmSettingMapper.selectByMap(ImmutableMap.of("device_id", deviceId,"property_code", identifier));
|
|
|
+ List<IotAlarmSettingDO> classSettings = iotAlarmSettingMapper.selectByMap(ImmutableMap.of("classify_id", iotDeviceDOS.get(0).getAssetClass(),"property_code", identifier));
|
|
|
+ if (CollUtil.isNotEmpty(deviceSettings)) {
|
|
|
+ return deviceSettings.get(0);
|
|
|
+ } else if (CollUtil.isNotEmpty(classSettings)) {
|
|
|
+ return classSettings.get(0);
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public Long createIotAlarmSetting(IotAlarmSettingSaveReqVO createReqVO) {
|