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