From bde2512a915e394ab6f3939833469516c473ee0e Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 14 Jun 2018 11:49:17 +0800
Subject: [PATCH] EquDeviceAdapter 更新

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 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..4213c13 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -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