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