From 5f549c4d7bb36ff4dc012fed9ee1e049dbf899a8 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 08 May 2018 09:28:55 +0800
Subject: [PATCH] 运维app getEquInfoByMac api
---
src/main/java/com/moral/service/DeviceService.java | 4 +
src/main/resources/mapper/DeviceMapper.xml | 8 ++-
src/main/java/com/moral/controller/MobileController.java | 16 +++++--
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 33 ++++++++++++----
src/main/java/com/moral/entity/Device.java | 6 +--
5 files changed, 46 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index 47007b4..b4d908a 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -2,6 +2,7 @@
import static com.moral.common.util.WebUtils.getParametersStartingWith;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,7 @@
import com.moral.util.MessageUtils;
import com.taobao.api.ApiException;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.cglib.beans.BeanMap;
import org.springframework.web.bind.annotation.*;
import com.moral.common.bean.AppData;
@@ -109,9 +111,12 @@
* @return the device by mac
*/
@GetMapping("getEquInfoByMac")
- public AppData<Device> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
- Device device = deviceService.getDeviceByMac(mac);
- return new AppData<Device>(device);
+ public AppData<Map> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
+ Device device = deviceService.getDeviceByMac(mac,false);//���������������
+ Map<String,Object> deviceMap = new HashMap<>(BeanMap.create(device));
+ deviceMap.put("monitorpointDetail",deviceMap.get("monitorPoint"));
+ deviceMap.remove("monitorPoint");
+ return new AppData<Map>(deviceMap);
}
/**
@@ -190,9 +195,10 @@
}
/**
- * Send SMS
*
- * @param mobile
+ * @param username
+ * @param password
+ * @param code
* @return
*/
@PostMapping("password")
diff --git a/src/main/java/com/moral/entity/Device.java b/src/main/java/com/moral/entity/Device.java
index 6d98dfc..588df3f 100644
--- a/src/main/java/com/moral/entity/Device.java
+++ b/src/main/java/com/moral/entity/Device.java
@@ -117,11 +117,9 @@
private OperateUser operateUser;
@Transient
private DeviceVersion deviceVersion;
- //@Transient
- //private MonitorPoint monitorPoint;
+ @Transient
+ private MonitorPoint monitorPoint;
@Transient
private List<Integer> organizationIds;
- @Transient
- private MonitorPoint monitorpointDetail;
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/DeviceService.java b/src/main/java/com/moral/service/DeviceService.java
index 2c5be38..ff611fc 100644
--- a/src/main/java/com/moral/service/DeviceService.java
+++ b/src/main/java/com/moral/service/DeviceService.java
@@ -16,7 +16,9 @@
List<Device> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize);
- Device getDeviceByMac(String mac);
+ Device getDeviceByMac(String mac, boolean fromCache);
+
+ Device getDeviceByMac(String mac);
List<Device> query(Map<String,Object> map);
PageResult query(Integer orgId, String deviceName,Integer pageSize,Integer pageNo);
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 58b7dc2..93fad37 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -104,6 +104,8 @@
device.setId(queryDevice.getId());
deviceMapper.updateByPrimaryKeySelective(device);
}
+ //������redis������������
+ refreshDeviceInRedis(device);
}
@Override
@@ -115,17 +117,32 @@
List<Device> devices = deviceMapper.select(device);
return devices;
}
+ @Override
+ public Device getDeviceByMac (String mac ,boolean fromCache){
+ if(fromCache){
+ Device device = getDeviceFromRedis(mac);
+ if(device==null) {
+ device = deviceMapper.selectWithOrgIdsByMac(mac);
+ if(device!=null){
+ setDeviceToRedis(mac,device);
+ }
+ }
+ return device;
+ }else {
+ return deviceMapper.selectWithOrgIdsByMac(mac);
+ }
+ }
+
+ /**
+ * ���������������������
+ * @param mac
+ * @return
+ */
@Override
public Device getDeviceByMac(String mac) {
- Device device = getDeviceFromRedis(mac);
- if(device==null) {
- device = deviceMapper.selectWithOrgIdsByMac(mac);
- if(device!=null){
- setDeviceToRedis(mac,device);
- }
- }
- return device;
+
+ return getDeviceByMac(mac,true);
}
/*
* ���������������������redis������key
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index c7924aa..36ce410 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -210,9 +210,11 @@
</select>
<select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap">
select
- id,device_version_id,mac,monitor_point_id
- from device
- where mac = #{mac,jdbcType=VARCHAR}
+ dev.*,
+ mpt.name as monitor_point_name
+ from device dev
+ left join monitor_point mpt on dev.monitor_point_id = mpt.id
+ where dev.mac = #{mac,jdbcType=VARCHAR}
</select>
<select id="getDeviceCountByRegion" resultType="java.lang.Integer">
--
Gitblit v1.8.0