| | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | |
| | | /** |
| | | * @author lin |
| | |
| | | @Override |
| | | public boolean updateAllGps(Device device) { |
| | | List<DeviceChannel> deviceChannels = channelMapper.getChannelsWithoutTransform(device.getDeviceId()); |
| | | List<DeviceChannel> result = new ArrayList<>(); |
| | | List<DeviceChannel> result = new CopyOnWriteArrayList<>(); |
| | | if (deviceChannels.size() == 0) { |
| | | return true; |
| | | } |
| | | String now = DateUtil.getNow(); |
| | | deviceChannels.parallelStream().forEach(deviceChannel -> { |
| | | deviceChannel.setUpdateTime(now); |
| | | result.add(updateGps(deviceChannel, device)); |
| | | }); |
| | | int limitCount = 300; |
| | |
| | | @Select("select count(1) as total, sum(status) as online from device_channel") |
| | | ResourceBaceInfo getOverview(); |
| | | |
| | | @Select("select * from device_channel where deviceId = #{deviceId} " + |
| | | "and latitude * longitude > 0 and latitudeGcj02 * latitudeWgs84 * longitudeWgs84 * longitudeGcj02 = 0") |
| | | @Select("select channelId" + |
| | | ", deviceId" + |
| | | ", latitude" + |
| | | ", longitude" + |
| | | ", latitudeWgs84" + |
| | | ", longitudeWgs84" + |
| | | ", latitudeGcj02" + |
| | | ", longitudeGcj02 " + |
| | | "from device_channel where deviceId = #{deviceId} " + |
| | | "and latitude != 0 " + |
| | | "and longitude != 0 " + |
| | | "and (latitudeGcj02 = 0 or latitudeWgs84 = 0 or longitudeWgs84 = 0 or longitudeGcj02 = 0)") |
| | | List<DeviceChannel> getChannelsWithoutTransform(String deviceId); |
| | | } |