|
|
@@ -24,10 +24,7 @@ import com.xunmei.iot.mapper.IotBoardMapper;
|
|
|
import com.xunmei.iot.mapper.IotDvrChannelMapper;
|
|
|
import com.xunmei.iot.mapper.IotDvrDiskMapper;
|
|
|
import com.xunmei.iot.mapper.VideoDaysCheckMapper;
|
|
|
-import com.xunmei.iot.service.IIotCommonSensorService;
|
|
|
-import com.xunmei.iot.service.IotAlarmDataService;
|
|
|
-import com.xunmei.iot.service.IotBoardService;
|
|
|
-import com.xunmei.iot.service.VideoDiagnosisService;
|
|
|
+import com.xunmei.iot.service.*;
|
|
|
import com.xunmei.iot.vo.alarmData.AppAlarmDataPageVo;
|
|
|
import com.xunmei.iot.vo.board.IotBoardOverviewItemVo;
|
|
|
import com.xunmei.iot.vo.board.IotBoardOverviewVo;
|
|
|
@@ -35,6 +32,7 @@ import com.xunmei.iot.vo.board.IotBoardTotalData;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.domain.SysUser;
|
|
|
+import com.xunmei.system.api.model.LoginUser;
|
|
|
import com.xunmei.system.api.vo.SysOrgVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
@@ -77,6 +75,9 @@ public class IotBoardServiceImpl implements IotBoardService {
|
|
|
@Resource
|
|
|
IotDvrDiskMapper iotDvrDiskMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ ICoreNoticeRuleItemService coreNoticeRuleItemService;
|
|
|
+
|
|
|
private final Long TIMEOUT = 3L;
|
|
|
|
|
|
@Override
|
|
|
@@ -211,6 +212,18 @@ public class IotBoardServiceImpl implements IotBoardService {
|
|
|
//屏蔽红外
|
|
|
alarmDataList.removeIf(d -> ObjectUtil.equal(METER_ATTRIBUTES_4.getText(), d.getSourceTypeDes()));
|
|
|
Map<Object, List<IotAlarmData>> dataList = alarmDataList.stream().collect(Collectors.groupingBy(IotAlarmData::getSourceType));
|
|
|
+
|
|
|
+
|
|
|
+ //查询当前登录用户需要通知的告警类型
|
|
|
+ LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
+ List<String> roleIds = null;
|
|
|
+ Set<String> roles = loginUser.getRoles();
|
|
|
+ if (roles != null && !roles.isEmpty()){
|
|
|
+ roleIds = new ArrayList<>(roles);
|
|
|
+ }
|
|
|
+ List<String> productTypes = coreNoticeRuleItemService.getNoticeProductTypesByUser(roleIds, orgId, loginUser.getUserid());
|
|
|
+
|
|
|
+
|
|
|
for (Map.Entry<Object, List<IotAlarmData>> listEntry : dataList.entrySet()) {
|
|
|
List<IotAlarmData> value = listEntry.getValue();
|
|
|
Map<String, Object> hashMap = new HashMap<>();
|
|
|
@@ -224,6 +237,8 @@ public class IotBoardServiceImpl implements IotBoardService {
|
|
|
hashMap.put("unDealAlarm", (int) unDealAlarm);
|
|
|
hashMap.put("needAlarm", (int) needAlarm);
|
|
|
hashMap.put("currentAlarmData", getAlarmDataList(value, Integer.parseInt(listEntry.getKey().toString()), cacheList));
|
|
|
+ hashMap.put("needNotice", productTypes.contains(value.get(0).getSourceType()) ? 1 : 0);
|
|
|
+
|
|
|
resultList.add(hashMap);
|
|
|
}
|
|
|
List<String> keyList = resultList.stream().map(m -> m.get("key")).distinct().map(String::valueOf).collect(Collectors.toList());
|
|
|
@@ -237,6 +252,7 @@ public class IotBoardServiceImpl implements IotBoardService {
|
|
|
hashMap.put("unDealAlarm", 0);
|
|
|
hashMap.put("needAlarm", 0);
|
|
|
hashMap.put("currentAlarmData", Lists.newArrayList());
|
|
|
+ hashMap.put("needNotice", 0);
|
|
|
resultList.add(hashMap);
|
|
|
}
|
|
|
}
|
|
|
@@ -286,6 +302,7 @@ public class IotBoardServiceImpl implements IotBoardService {
|
|
|
hashMap.put("unDealAlarm", 0);
|
|
|
hashMap.put("needAlarm", 0);
|
|
|
hashMap.put("currentAlarmData", Lists.newArrayList());
|
|
|
+ hashMap.put("needNotice", 0);
|
|
|
resultList.add(hashMap);
|
|
|
}
|
|
|
|