|
|
@@ -971,6 +971,8 @@ public class KwfTruckService {
|
|
|
|
|
|
@Value("${external.openapi.queryLocate}")
|
|
|
private String queryLocate;
|
|
|
+ @Value("${external.openapi.queryLocateTrack}")
|
|
|
+ private String queryLocateTrack;
|
|
|
|
|
|
/**
|
|
|
* @param truckNos 车牌号
|
|
|
@@ -991,17 +993,14 @@ public class KwfTruckService {
|
|
|
|
|
|
long begTime = System.currentTimeMillis();
|
|
|
String httpResult = HttpClientUtil.post(queryLocate, JSON.toJSONString(params));
|
|
|
- System.out.println(httpResult);
|
|
|
long entTime = System.currentTimeMillis();
|
|
|
if (StringUtils.isNotBlank(httpResult)) {
|
|
|
JSONObject result = JSONObject.parseObject(httpResult);
|
|
|
if (result.getInteger("code") != null && result.getInteger("code") != 200) {
|
|
|
return truckGpsMap;
|
|
|
- } else {
|
|
|
-
|
|
|
}
|
|
|
JSONArray trucks = result.getJSONArray("data");
|
|
|
- log.info("车牌号数量="+ truckNos.size() + " GPS数量=" + (trucks != null ? trucks.size() : 0) + " 响应时间="+(entTime - begTime));
|
|
|
+ //log.info("车牌号数量="+ truckNos.size() + " GPS数量=" + (trucks != null ? trucks.size() : 0) + " 响应时间="+(entTime - begTime));
|
|
|
for (int i=0; trucks != null && i < trucks.size(); i++) {
|
|
|
JSONObject truck = trucks.getJSONObject(i);
|
|
|
JSONObject locateInfo = truck.getJSONObject("locateInfo");
|
|
|
@@ -1021,6 +1020,83 @@ public class KwfTruckService {
|
|
|
return truckGpsMap;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param params {truckNos 車牌號集, startTime 開始實際, endTime 結束時間}
|
|
|
+ * @desc 车辆查询GPS(通过车牌号查询)
|
|
|
+ * @author zk
|
|
|
+ * @date 2023/9/27
|
|
|
+ **/
|
|
|
+ public List<KwfTruckGpsVo> queryLocateTrack(GpsByTruckNoDto params) {
|
|
|
+ List<KwfTruckGpsVo> truckGpsList = new ArrayList<>();
|
|
|
+ long page = 1, pageSize = 1000, size = 0, pages = 0;
|
|
|
+ Map queryParams = new HashMap<>(Global.NUMERICAL_SIXTEEN){{
|
|
|
+ put("vehicleNo", params.getTruckNo());
|
|
|
+ put("startTime", params.getStartTime());
|
|
|
+ put("endTime", params.getEndTime());
|
|
|
+ put("page", page);
|
|
|
+ put("pageSize", pageSize);
|
|
|
+ }};
|
|
|
+
|
|
|
+ String httpResult = HttpClientUtil.post(queryLocateTrack, JSON.toJSONString(queryParams));
|
|
|
+ if (StringUtils.isNotBlank(httpResult)) {
|
|
|
+ JSONObject result = JSONObject.parseObject(httpResult);
|
|
|
+ if (result.getInteger("code") != null && result.getInteger("code") != 200) {
|
|
|
+ return truckGpsList;
|
|
|
+ }
|
|
|
+ JSONObject data = result.getJSONObject("data");
|
|
|
+ if (data == null) {
|
|
|
+ return truckGpsList;
|
|
|
+ }
|
|
|
+ size = data.getLong("size");
|
|
|
+ pages = size/pageSize + (size%pageSize > 0 ? 1 : 0);
|
|
|
+ JSONArray trucks = data.getJSONArray("list");
|
|
|
+ for (int i=0; trucks != null && i < trucks.size(); i++) {
|
|
|
+ JSONObject truck = trucks.getJSONObject(i);
|
|
|
+ KwfTruckGpsVo truckGps = new KwfTruckGpsVo();
|
|
|
+ truckGps.setLat(truck.getString("lat"));
|
|
|
+ truckGps.setLng(truck.getString("lng"));
|
|
|
+ truckGps.setSpeed(truck.getDouble("speed"));
|
|
|
+ truckGps.setGpsTime(truck.getString("createTime"));
|
|
|
+ truckGps.setRunStatus(runStatus(truckGps.getGpsTime(), truckGps.getSpeed()));
|
|
|
+ truckGpsList.add(truckGps);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (pages <= 1) {
|
|
|
+ return truckGpsList;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (long i=2; i <= pages; i++) {
|
|
|
+ queryParams.put("page", i);
|
|
|
+ httpResult = HttpClientUtil.post(queryLocate, JSON.toJSONString(queryParams));
|
|
|
+ if (StringUtils.isNotBlank(httpResult)) {
|
|
|
+ result = JSONObject.parseObject(httpResult);
|
|
|
+ if (result.getInteger("code") != null && result.getInteger("code") != 200) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ data = result.getJSONObject("data");
|
|
|
+ if (data == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ trucks = data.getJSONArray("list");
|
|
|
+ for (int j=0; trucks != null && j < trucks.size(); j++) {
|
|
|
+ JSONObject truck = trucks.getJSONObject(j);
|
|
|
+ KwfTruckGpsVo truckGps = new KwfTruckGpsVo();
|
|
|
+ truckGps.setTruckNo(truck.getString("vehicleNo"));
|
|
|
+ truckGps.setLat(truck.getString("lat"));
|
|
|
+ truckGps.setLng(truck.getString("lng"));
|
|
|
+ truckGps.setSpeed(truck.getDouble("speed"));
|
|
|
+ truckGps.setGpsTime(truck.getString("createTime"));
|
|
|
+ truckGps.setRunStatus(runStatus(truckGps.getGpsTime(), truckGps.getSpeed()));
|
|
|
+ truckGpsList.add(truckGps);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return truckGpsList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* @param truckNos 车牌号
|
|
|
* @desc 查询车辆定位数据-单车牌号
|