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