提交 6f90e01b authored 作者: jiangwujie's avatar jiangwujie

feature(电子围栏): 调整位置获取方式 ,如果中交兴路缓存中无法获取,则从es中也取一下看看,取不到再使用app

上级 95c74527
......@@ -3403,26 +3403,38 @@ public class OrderChildServiceImpl implements OrderChildService {
log.info("发送发送监装提示短信:【当前车牌号{},运单{}需要进行现场监装,请您前往{}进行配合,如需帮助请联系客服。】,结果:{}", truckNo, childNo, supervisionAddress, result);
}
private BigDecimal[] getTruckLocation(String truckNo ,BigDecimal longitude, BigDecimal latitude) {
private BigDecimal[] getTruckLocation(String truckNo, BigDecimal longitude, BigDecimal latitude) {
TruckLocationDTO truckLocationDTO = null;
try {
truckLocationDTO = zjxlGpsService.getTruckLastLocation(truckNo);
} catch (Exception e) {
log.info("中交兴路获取失败:{}", e.getMessage());
}
//如果中交兴路获取到位置信息,则使用中交,否则用APP传的位置信息
if (truckLocationDTO != null) {
BigDecimal[] location = truckLocationDTO.getLocation();
longitude = location[0];
latitude = location[1];
log.info("当前中交兴路获取司机车牌:{},相关位置信息:{}", truckNo, JSONUtil.parse(truckLocationDTO));
} else {
log.info("中交兴路获取失败,通过高德获取,truckNo:{}", truckNo);
return new BigDecimal[]{longitude, latitude};
}
} catch (Exception e) {
log.info("中交兴路获取失败:{}", e.getMessage());
}
//20240815 海泉说中交兴路也可能往缓存中放,也可能往es中放,最新的应该都是使用es,所以缓存中如果取不到,就从es中取一下看看
BigDecimal[] truckLocation = truckTraceService.getCurrentTruckPosition(truckNo);
if (truckLocation != null && truckLocation.length >= 2
&& truckLocation[0] != null && truckLocation[1] != null
) {
longitude = truckLocation[0];
latitude = truckLocation[1];
log.info("中交兴路es获取司机车牌:{},相关位置信息:{}", truckNo, truckLocation);
return new BigDecimal[]{longitude, latitude};
}
BigDecimal[] result = new BigDecimal[]{longitude, latitude};
//如果中交兴路获取到位置信息,则使用中交,否则用APP传的位置信息
log.info("中交兴路获取失败,使用app上传位置,truckNo:{},相关位置信息:{}", truckNo, result);
return result;
}
@Override
public OcrRecognitionResultVO ocrRecognition(OcrRecognitionParam param) {
//校验,同一运单同一图片类型只能识别一次
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论