[1078] 通用通道支持位置更新

This commit is contained in:
lin
2025-08-06 06:38:37 +08:00
parent c90836261a
commit e555df52d3
4 changed files with 69 additions and 0 deletions

View File

@@ -164,7 +164,44 @@ public class jt1078ServiceImpl implements Ijt1078Service {
@Async("taskExecutor")
@EventListener
public void onApplicationEvent(JTPositionEvent event) {
if (event.getPhoneNumber() == null || event.getPositionInfo() == null
|| event.getPositionInfo().getLongitude() == null || event.getPositionInfo().getLatitude() == null) {
return;
}
JTDevice device = getDevice(event.getPhoneNumber());
if (device == null) {
return;
}
device.setLongitude(event.getPositionInfo().getLongitude());
device.setLatitude(event.getPositionInfo().getLatitude());
updateDevice(device);
// 通道发送状态变化通知
List<JTChannel> jtChannels = jtChannelMapper.selectAll(device.getId(), null);
List<CommonGBChannel> channelList = new ArrayList<>();
for (JTChannel jtChannel : jtChannels) {
if (jtChannel.getGbId() > 0) {
jtChannel.setGbLongitude(event.getPositionInfo().getLongitude());
jtChannel.setGbLatitude(event.getPositionInfo().getLatitude());
if (event.getPositionInfo().getAltitude() != null) {
jtChannel.setGpsAltitude((double) event.getPositionInfo().getAltitude());
}else {
jtChannel.setGpsAltitude(0d);
}
if (event.getPositionInfo().getDirection() != null) {
jtChannel.setGpsDirection((double) event.getPositionInfo().getDirection());
}else {
jtChannel.setGpsDirection(0d);
}
if (event.getPositionInfo().getTime() != null) {
jtChannel.setGpsTime(event.getPositionInfo().getTime());
}else {
jtChannel.setGpsTime(DateUtil.getNow());
}
channelList.add(jtChannel);
}
}
channelService.updateGPS(channelList);
}