修复更新通道是更新各个坐标系的位置信息

pull/751/head
648540858 2023-02-16 14:01:09 +08:00
parent 7be636f8b8
commit 842f40df34
2 changed files with 16 additions and 3 deletions

View File

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* @author lin * @author lin
@ -179,11 +180,13 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
@Override @Override
public boolean updateAllGps(Device device) { public boolean updateAllGps(Device device) {
List<DeviceChannel> deviceChannels = channelMapper.getChannelsWithoutTransform(device.getDeviceId()); List<DeviceChannel> deviceChannels = channelMapper.getChannelsWithoutTransform(device.getDeviceId());
List<DeviceChannel> result = new ArrayList<>(); List<DeviceChannel> result = new CopyOnWriteArrayList<>();
if (deviceChannels.size() == 0) { if (deviceChannels.size() == 0) {
return true; return true;
} }
String now = DateUtil.getNow();
deviceChannels.parallelStream().forEach(deviceChannel -> { deviceChannels.parallelStream().forEach(deviceChannel -> {
deviceChannel.setUpdateTime(now);
result.add(updateGps(deviceChannel, device)); result.add(updateGps(deviceChannel, device));
}); });
int limitCount = 300; int limitCount = 300;

View File

@ -358,7 +358,17 @@ public interface DeviceChannelMapper {
@Select("select count(1) as total, sum(status) as online from device_channel") @Select("select count(1) as total, sum(status) as online from device_channel")
ResourceBaceInfo getOverview(); ResourceBaceInfo getOverview();
@Select("select * from device_channel where deviceId = #{deviceId} " + @Select("select channelId" +
"and latitude * longitude > 0 and latitudeGcj02 * latitudeWgs84 * longitudeWgs84 * longitudeGcj02 = 0") ", 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); List<DeviceChannel> getChannelsWithoutTransform(String deviceId);
} }