From fd13d232df7292d93172d1200235a77f286f64ed Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 11 May 2018 16:39:14 +0800 Subject: [PATCH] 设备 redis 同步完善 --- src/main/java/com/moral/controller/ProfessionController.java | 22 +++++++ src/main/java/com/moral/controller/MobileController.java | 2 src/main/java/com/moral/entity/adapter/EquDeviceAdapter.java | 2 src/main/java/com/moral/controller/ScreenController.java | 18 +++-- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 33 ++++++---- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 34 +++++++---- src/main/java/com/moral/entity/Device.java | 2 src/main/resources/system/alarmLevels.json | 12 ++-- 8 files changed, 82 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java index 5ce114d..b9f1174 100644 --- a/src/main/java/com/moral/controller/MobileController.java +++ b/src/main/java/com/moral/controller/MobileController.java @@ -89,7 +89,7 @@ */ @RequestMapping("reportDevice") public AppData<String> installDevice(EquDeviceAdapter equDeviceAdapter) { - deviceService.saveOrUpdateDevice(equDeviceAdapter.toDevice()); + deviceService.addOrModify(equDeviceAdapter.toDevice()); return new AppData<String>(""); } diff --git a/src/main/java/com/moral/controller/ProfessionController.java b/src/main/java/com/moral/controller/ProfessionController.java new file mode 100644 index 0000000..bfa2aa6 --- /dev/null +++ b/src/main/java/com/moral/controller/ProfessionController.java @@ -0,0 +1,22 @@ +package com.moral.controller; + +import com.moral.common.bean.ResultBean; +import com.moral.entity.Profession; +import com.moral.service.ProfessionService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping("profession") +public class ProfessionController { + @Resource + ProfessionService professionService; + @GetMapping(value = "getall") + public ResultBean<List<Profession>> getALL(){ + return new ResultBean<>(professionService.getProfessiontList()); + } +} diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 0968946..f7d72e0 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -177,14 +177,16 @@ alarmLevelMap.entrySet().stream().forEach(entry -> { //��� increment������0������������������������ AlarmSensorLevel alarmSensorLevel = entry.getValue(); - boolean isAllZero = alarmSensorLevel.getIncrement().stream().allMatch(item -> item == 0); - if(isAllZero){ - AlarmSensorLevel defaultAlarmSensorLevel = finalDefaultSensorLevelMap==null?null:finalDefaultSensorLevelMap.get(entry.getKey()); - if(defaultAlarmSensorLevel!=null){ - alarmSensorLevel.setIncrement(defaultAlarmSensorLevel.getIncrement()); - }else{ - List<Float> tempList = Arrays.asList(0.0f,200.0f,500.0f); - alarmSensorLevel.setIncrement(tempList); + if(alarmSensorLevel.getIncrement()!=null){ + boolean isAllZero = alarmSensorLevel.getIncrement().stream().allMatch(item -> item == 0); + if(isAllZero){ + AlarmSensorLevel defaultAlarmSensorLevel = finalDefaultSensorLevelMap==null?null:finalDefaultSensorLevelMap.get(entry.getKey()); + if(defaultAlarmSensorLevel!=null){ + alarmSensorLevel.setIncrement(defaultAlarmSensorLevel.getIncrement()); + }else{ + List<Float> tempList = Arrays.asList(0.0f,200.0f,500.0f); + alarmSensorLevel.setIncrement(tempList); + } } } }); diff --git a/src/main/java/com/moral/entity/Device.java b/src/main/java/com/moral/entity/Device.java index 36ec4d7..dae7f3d 100644 --- a/src/main/java/com/moral/entity/Device.java +++ b/src/main/java/com/moral/entity/Device.java @@ -76,7 +76,7 @@ */ private Integer deviceVersionId; private String isDelete; - private String professionId; + private Integer professionId; /** * Sets the uid. * diff --git a/src/main/java/com/moral/entity/adapter/EquDeviceAdapter.java b/src/main/java/com/moral/entity/adapter/EquDeviceAdapter.java index 4482f55..32a56db 100644 --- a/src/main/java/com/moral/entity/adapter/EquDeviceAdapter.java +++ b/src/main/java/com/moral/entity/adapter/EquDeviceAdapter.java @@ -47,7 +47,7 @@ device.setMonitorPointId(monitorpoint); } - public void setProfessionId(String professionId) { + public void setProfessionId(Integer professionId) { device.setProfessionId(professionId); } public Device toDevice(){ diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index d68aa2e..f85a95b 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -117,6 +117,13 @@ List<Device> devices = deviceMapper.select(device); return devices; } + + /** + * + * @param mac + * @param fromCache + * @return ������������������ + */ @Override public Device getDeviceByMac (String mac ,boolean fromCache){ if(fromCache){ @@ -271,20 +278,20 @@ */ private void refreshDeviceInRedis(Device device){ if(!StringUtils.isBlank(device.getMac())){ - Device simpleDevice = new Device(); - simpleDevice.setId(device.getId());// id - simpleDevice.setName(device.getName());// name - simpleDevice.setAddress(device.getAddress());// address - simpleDevice.setDeviceVersionId(device.getDeviceVersionId());// version - simpleDevice.setMac(device.getMac()); // mac - simpleDevice.setMonitorPointId(device.getMonitorPointId());// ���������id - simpleDevice.setOrganizationIds(device.getOrganizationIds());// ������������ +// Device simpleDevice = new Device(); +// simpleDevice.setId(device.getId());// id +// simpleDevice.setName(device.getName());// name +// simpleDevice.setAddress(device.getAddress());// address +// simpleDevice.setDeviceVersionId(device.getDeviceVersionId());// version +// simpleDevice.setMac(device.getMac()); // mac +// simpleDevice.setMonitorPointId(device.getMonitorPointId());// ���������id +// simpleDevice.setOrganizationIds(device.getOrganizationIds());// ������������ if(device.getMonitorPointId()!=null){ List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); - simpleDevice.setOrganizationIds(orgIds); + device.setOrganizationIds(orgIds); } String key = "device_"+device.getMac(); - redisUtils.set(key,simpleDevice); + redisUtils.set(key,device); } } @Override @@ -340,7 +347,7 @@ public void addOrModify(Device device){ try{ //mac ��������� - if(StringUtils.isBlank(device.getMac())){ + if(!StringUtils.isBlank(device.getMac())){ device.setMac(device.getMac().toLowerCase()); } if(device.getId()==null){ @@ -349,9 +356,9 @@ deviceMapper.insertSelective(device); }else{ deviceMapper.updateByPrimaryKeySelective(device); - //������redis��������������� - refreshDeviceInRedis(device); } + //������redis��������������� + refreshDeviceInRedis(device); } catch (Exception ex){ throw ex; diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 3274397..5f128b2 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -95,9 +95,17 @@ monitorPoint.setIsDelete(Constants.IS_DELETE_FALSE); monitorPointMapper.insertSelective(monitorPoint); }else{ + MonitorPoint queryMonitorPoint = new MonitorPoint(); + queryMonitorPoint.setId(monitorPoint.getId()); + queryMonitorPoint.setOrganizationId(monitorPoint.getOrganizationId()); + // num = 1,���������������,������������������������ + Integer num = monitorPointMapper.selectCount(queryMonitorPoint); + boolean needRefreshCach = (num!=1); monitorPointMapper.updateByPrimaryKeySelective(monitorPoint); - // ������������������������������ ���redis��������������� - refreshDevicesInRedis(monitorPoint.getId()); + if(needRefreshCach){ + // ������������������������������ ���redis��������������� + refreshDevicesInRedis(monitorPoint.getId()); + } } } catch (Exception ex){ @@ -108,24 +116,24 @@ ������������������������������ ���redis��������������� */ private void refreshDevicesInRedis(int monitorPointId){ - Device device = new Device(); - device.setMonitorPointId(monitorPointId); - List<Device> deviceList = deviceMapper.select(device); + Device queryDevice = new Device(); + queryDevice.setMonitorPointId(monitorPointId); + List<Device> deviceList = deviceMapper.select(queryDevice); 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()); +// // ��������������������� ������������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); + dev.setOrganizationIds(orgIds); + redisUtils.set(key,dev); } }); } diff --git a/src/main/resources/system/alarmLevels.json b/src/main/resources/system/alarmLevels.json index ef409bf..7f7aa3c 100644 --- a/src/main/resources/system/alarmLevels.json +++ b/src/main/resources/system/alarmLevels.json @@ -50,9 +50,9 @@ "e5": { "enable": 0, "increment": [ - 0.01, - 0.02, - 0.05 + 0.1, + 0.5, + 1 ], "degressEnable": 0, "degression": [0,0,0] @@ -90,9 +90,9 @@ "e9": { "enable": 0, "increment": [ - 0.01, - 0.02, - 0.03 + 100, + 500, + 1000 ], "degressEnable": 0, "degression": [0,0,0] -- Gitblit v1.8.0