From 0fd34e51dadbf9598188b0e061b658139e6d6257 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 22 Jun 2018 13:47:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 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 a009a42..4213c13 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -203,7 +203,25 @@
 		if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){
 			PageHelper.startPage(pageNo,pageSize);
 		}
-		List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,deviceName);
+		String state = null;
+		switch (deviceName){
+			case "������":
+				state = "0";
+				deviceName = null;break;
+				case "������":
+				state = "1";
+				deviceName = null;break;
+			case "������":
+				state = "2";
+				deviceName = null;break;
+			case "������":
+				state = "3";
+				deviceName = null;break;
+			case "������":
+				state = "4";
+				deviceName = null;break;
+		}
+		List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,state,deviceName);
 		//���redis������������
 		loadDeviceState(list);
 		if(list instanceof Page){
@@ -358,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