From 459f5590bc904390faf88587cbdcfcb9d07bdd56 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Thu, 25 Jul 2019 14:45:09 +0800
Subject: [PATCH] 新增显示无人机飞行轨迹地图接口
---
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 92 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 8e9366c..c273e14 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -1,24 +1,5 @@
package com.moral.service.impl;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-import javax.validation.constraints.NotNull;
-
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@@ -39,8 +20,24 @@
import com.moral.mapper.OrganizationMapper;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
-
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
import tk.mybatis.mapper.entity.Example;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
@Service
public class DeviceServiceImpl implements DeviceService {
@@ -432,12 +429,18 @@
}
return deviceMapper.countByTimes(start, end, format);
}
+
@Override
public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
Device device = new Device();
device.setMonitorPointId(monitorPointId);
device.setIsDelete(Constants.IS_DELETE_FALSE);
- return deviceMapper.select(device);
+ List<Device> devices = deviceMapper.select(device);
+ for (Device device2 : devices) {
+ DeviceProperty deviceProperty = devicePropertyMapper.selectByPrimaryKey(device2.getId());
+ device2.setDeviceProperty(deviceProperty);
+ }
+ return devices;
}
/**
@@ -526,6 +529,7 @@
@Override
@Transactional
public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
+ device.setMac(device.getMac().toLowerCase());
if (ObjectUtils.isEmpty(device.getId())) {
device.setState(Constants.DEVICE_STATE_OFFLINE);
device.setIsDelete(Constants.IS_DELETE_FALSE);
@@ -550,4 +554,71 @@
return new PageBean(deviceList);
}
+ @Override
+ public void offLinToMaintenance(Map<String, Object> parameters) {
+ ValidateUtil.notNull(parameters.get("id"), "param.is.null");
+ ValidateUtil.notNull(parameters.get("old_state"), "param.is.null");
+ ValidateUtil.notNull(parameters.get("new_state"), "param.is.null");
+ int count = 0;
+ if (Constants.DEVICE_STATE_OFFLINE.equals(parameters.get("old_state")) && Constants.DEVICE_STATE_MAINTENANCE.equals(parameters.get("new_state"))) {
+ Device device = new Device();
+ Example example = new Example(ENTITY_CLASS);
+ example.and().andEqualTo("id", new Integer(parameters.get("id").toString())).andEqualTo("state", Constants.DEVICE_STATE_OFFLINE);
+ device.setState(Constants.DEVICE_STATE_MAINTENANCE);
+ count = deviceMapper.updateByExampleSelective(device, example);
+ }
+ if (count == 0) {
+ throw new BusinessException("������������������");
+ }
+ }
+
+ @Override
+ public void saveOrUpdate4Mobile(Device device, DeviceProperty deviceProperty) {
+ device.setMac(device.getMac().toLowerCase());
+ Device selectDevice = new Device();
+ selectDevice.setMac(device.getMac());
+ selectDevice = deviceMapper.selectOne(selectDevice);
+ if (ObjectUtils.isEmpty(selectDevice)) {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ deviceProperty.setId(device.getId());
+ devicePropertyMapper.insertSelective(deviceProperty);
+ } else {
+ device.setId(selectDevice.getId());
+ deviceMapper.updateByPrimaryKeySelective(device);
+ deviceProperty.setId(selectDevice.getId());
+ devicePropertyMapper.selectByPrimaryKey(selectDevice.getId());
+ if (ObjectUtils.isEmpty(devicePropertyMapper.selectByPrimaryKey(deviceProperty.getId()))) {
+ devicePropertyMapper.insertSelective(deviceProperty);
+ } else {
+ devicePropertyMapper.updateByPrimaryKeySelective(deviceProperty);
+ }
+
+ }
+ refreshDeviceInRedis(device.getMac());
+
+
+ }
+
+ @Override
+ public String getLimitDataByDevice(Map<String, Object> parameters) {
+ // TODO Auto-generated method stub
+ return deviceMapper.getLimitDataByDevice(parameters);
+ }
+
+ //������������������������������mac���������������������������������������������
+ @Override
+ public Device getDeviceByLongitudeAsc(String mac) {
+ Example example = new Example(Device.class);
+ example.setOrderByClause("longitude ASC");
+ List<Device> deviceList=deviceMapper.selectByExample(example);
+ for(int i=0;i<deviceList.size();i++){
+ if(mac.equals(deviceList.get(i).getMac())){
+ Device deviceSecond=deviceList.get(i+1);
+ return deviceSecond;
+ }
+ }
+ return null;
+ }
}
--
Gitblit v1.8.0