From 19cfd37456d6bf42fcb90207b481637f56aedb6d Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Sat, 23 Jun 2018 11:26:55 +0800
Subject: [PATCH] screencontroller rtm-layout utf-8 更新

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index a3c9565..33ff1b4 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -32,7 +32,7 @@
 
 @Service
 public class DeviceServiceImpl implements DeviceService {
-	Logger log = Logger.getLogger(DeviceServiceImpl.class);
+	private static Logger log = Logger.getLogger(DeviceServiceImpl.class);
 	//-----------------------redis key������-������---------------------------------
 	private static String AlARM = "alarm";//������������������key������
 	private static String ADJUST="adjust";//���������������key������
@@ -376,18 +376,27 @@
 	}
 
 	@Override
+	@Transactional
 	public void addOrModify(Device device){
 		try{
 			//mac ���������
 			if(!StringUtils.isBlank(device.getMac())){
 				device.setMac(device.getMac().toLowerCase());
 			}
-			if(device.getId()==null){
-				device.setState(Constants.DEVICE_STATE_OFFLINE);
-				device.setIsDelete(Constants.IS_DELETE_FALSE);
-				deviceMapper.insertSelective(device);
-			}else{
+			if(device.getId()!=null){
 				deviceMapper.updateByPrimaryKeySelective(device);
+			}else{
+				Device deviceQuery = new Device();
+				deviceQuery.setMac(device.getMac());
+				Device deviceResult = deviceMapper.selectOne(deviceQuery);
+				if(deviceResult !=null){
+					device.setId(deviceResult.getId());
+					deviceMapper.updateByPrimaryKeySelective(device);
+				}else {
+					device.setState(Constants.DEVICE_STATE_OFFLINE);
+					device.setIsDelete(Constants.IS_DELETE_FALSE);
+					deviceMapper.insertSelective(device);
+				}
 			}
 			//������redis���������������
 			refreshDeviceInRedis(device.getMac());

--
Gitblit v1.8.0