From 52303c8868a7d63238e5ac579c85721306e51a40 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 07 Mar 2018 08:52:27 +0800
Subject: [PATCH] 报表 优化
---
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index e979b68..22c16d9 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -12,6 +12,9 @@
import com.moral.common.bean.Constants;
import com.moral.common.bean.PageBean;
import com.moral.common.util.*;
+import com.moral.entity.Device;
+import com.moral.mapper.DeviceMapper;
+import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import com.moral.entity.MonitorPoint;
@@ -24,6 +27,8 @@
public class MonitorPointServiceImpl implements MonitorPointService {
@Resource
private MonitorPointMapper monitorPointMapper;
+ @Resource
+ private DeviceMapper deviceMapper;
@Resource
RedisUtils redisUtils;
private static Class ENTITY_CLASS = MonitorPoint.class;
@@ -84,15 +89,43 @@
monitorPoint.setIsDelete(Constants.IS_DELETE_FALSE);
monitorPointMapper.insertSelective(monitorPoint);
}else{
- // TODO ������������id������������������redis���������������
monitorPointMapper.updateByPrimaryKeySelective(monitorPoint);
+ // ������������������������������ ���redis���������������
+ refreshDevicesInRedis(monitorPoint.getId());
}
}
catch (Exception ex){
throw ex;
}
}
+ /*
+ ������������������������������ ���redis���������������
+ */
+ private void refreshDevicesInRedis(int monitorPointId){
+ Device device = new Device();
+ device.setMonitorPointId(monitorPointId);
+ List<Device> deviceList = deviceMapper.select(device);
+ if (!CollectionUtils.isEmpty(deviceList)){
+ List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(monitorPointId);
+ if (!CollectionUtils.isEmpty(orgIds)){
+ deviceList.stream().forEach(dev ->{
+ if(!StringUtils.isNullOrEmpty(dev.getMac())){
+ String key = "device_"+dev.getMac();
+ // ��������������������� ������������redis
+ Device simpleDevice = new Device();
+ simpleDevice.setId(dev.getId());
+ simpleDevice.setDeviceVersion(dev.getDeviceVersion());
+ simpleDevice.setMac(dev.getMac());
+ simpleDevice.setMonitorPointId(dev.getMonitorPointId());
+ // ������������������������������������������������������������������
+ simpleDevice.setOrganizationIds(orgIds);
+ redisUtils.set(key,simpleDevice);
+ }
+ });
+ }
+ }
+ }
@Override
public void deleteByIds(Integer... ids) {
MonitorPoint monitorPoint = new MonitorPoint();
@@ -138,4 +171,14 @@
}).collect(Collectors.toList());
return list;
}
+
+ @Override
+ public List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId) {
+ MonitorPoint monitorPoint = new MonitorPoint();
+ monitorPoint.setIsDelete(Constants.IS_DELETE_FALSE);
+ if (Constants.isNotSpecialOrgId(orgId)) {
+ monitorPoint.setOrganizationId(orgId);
+ }
+ return monitorPointMapper.select(monitorPoint);
+ }
}
--
Gitblit v1.8.0