diff --git a/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java b/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java index 099a82b..beec91c 100644 --- a/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java @@ -124,6 +124,9 @@ public class LocusOrbitServiceImpl implements ILocusOrbitService { Criteria criteria = new Criteria(); // 车牌 criteria.and("vehicle_plate_hphm").is(locusOrbitQueryParams.getPlateNumber()); + // 坐标值不能为空 + criteria.and("longitude").ne(null); + criteria.and("latitude").ne(null); // 开始时间 // 结束时间 Long startTime = locusOrbitQueryParams.getStartTime(); @@ -161,26 +164,18 @@ public class LocusOrbitServiceImpl implements ILocusOrbitService { // 倒序排列 rabbitMqVehicles.sort((o1, o2) -> (int) (o2.getPictime() - o1.getPictime())); - // 时间游标 - Long lastPictime = Long.MAX_VALUE; - for (RabbitMQVehicle rabbitMqVehicle : rabbitMqVehicles) { if (null == rabbitMqVehicle || null == rabbitMqVehicle.getPictime()) { continue; } - Long currentPictime = rabbitMqVehicle.getPictime(); - // 更新时间游标 - if (lastPictime - currentPictime > DISTINCT_TIME_INTERVAL) { - lastPictime = currentPictime; - LocusOrbitResultParams locusOrbitResultParams = new LocusOrbitResultParams(); - locusOrbitResultParams.setId(rabbitMqVehicle.getId()); - locusOrbitResultParams.setPlateNumber(rabbitMqVehicle.getVehicle_plate_hphm()); - locusOrbitResultParams.setPictime(DateUtil.format(new Date(currentPictime), "yyyy-MM-dd HH:mm:ss")); - locusOrbitResultParams.setLongitude(rabbitMqVehicle.getLongitude()); - locusOrbitResultParams.setLatitude(rabbitMqVehicle.getLatitude()); - locusOrbitResultParams.setSnapshotUrl(rabbitMqVehicle.getSnapshoturl()); - resultList.add(locusOrbitResultParams); - } + LocusOrbitResultParams locusOrbitResultParams = new LocusOrbitResultParams(); + locusOrbitResultParams.setId(rabbitMqVehicle.getId()); + locusOrbitResultParams.setPlateNumber(rabbitMqVehicle.getVehicle_plate_hphm()); + locusOrbitResultParams.setPictime(DateUtil.format(new Date(rabbitMqVehicle.getPictime()), "yyyy-MM-dd HH:mm:ss")); + locusOrbitResultParams.setLongitude(rabbitMqVehicle.getLongitude()); + locusOrbitResultParams.setLatitude(rabbitMqVehicle.getLatitude()); + locusOrbitResultParams.setSnapshotUrl(rabbitMqVehicle.getSnapshoturl()); + resultList.add(locusOrbitResultParams); } // 重新排序 resultList.sort((o1, o2) -> { diff --git a/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java b/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java index c6a00e7..41e48ae 100644 --- a/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java @@ -6,12 +6,12 @@ import com.objecteye.config.RabbitmqConfig; import com.objecteye.entity.ResponseParam; import com.objecteye.entity.UploadVehicleResult; import com.objecteye.entity.VpAnalysisParam; +import com.objecteye.exception.CustomXException; import com.objecteye.service.IUploadFileService; import com.objecteye.utils.GlobalUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -21,12 +21,10 @@ import java.io.IOException; @Component public class UploadFileServiceImpl implements IUploadFileService { @Autowired - private RedisTemplate redisTemplate; - @Autowired private RabbitTemplate rabbitTemplate; @Value("${picture.storePath}") - private String path2; + private String storePath; @Value("${picture.http}") private String http; @Value("${requestFile}") @@ -42,8 +40,10 @@ public class UploadFileServiceImpl implements IUploadFileService { public JSONObject uploadFile2Mongo(MultipartFile multipartFile) throws IOException { // 格式化文件名由format开头, e.g. format-15321354564-12.12654_15.156567.jpg String fileName = multipartFile.getOriginalFilename(); - String picPath = GlobalUtil.dbPath1() + File.separator + "export" + File.separator + "vehicleProject" - + File.separator + "picture" + File.separator + fileName; + if (fileName == null || "".equals(fileName)) { + throw new CustomXException("文件名不能不能为空", "201"); + } + String picPath = storePath + File.separator + fileName; File newFile = new File(picPath); multipartFile.transferTo(newFile); diff --git a/src/main/java/com/objecteye/service/impl/VehicleCurrencyServiceImpl.java b/src/main/java/com/objecteye/service/impl/VehicleCurrencyServiceImpl.java index cdb5034..e0c0fac 100644 --- a/src/main/java/com/objecteye/service/impl/VehicleCurrencyServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/VehicleCurrencyServiceImpl.java @@ -118,7 +118,6 @@ public class VehicleCurrencyServiceImpl implements VehicleCurrencyService { c.and("vehicle_pendant_detect_njbnumber").is(njbgs); } - //号牌类型检索 if (hplx != null) { c.and("vehicleplatetype").is(hplx); diff --git a/src/main/java/com/objecteye/utils/HttpClientUtils.java b/src/main/java/com/objecteye/utils/HttpClientUtils.java index 5bd7320..534662a 100644 --- a/src/main/java/com/objecteye/utils/HttpClientUtils.java +++ b/src/main/java/com/objecteye/utils/HttpClientUtils.java @@ -26,8 +26,7 @@ public class HttpClientUtils { private VehicleEngine vehicleEngine; public String VehicleAnalysis(String TPXX) { - String result = VehicleAnalysis("", TPXX, "", ""); - return result; + return VehicleAnalysis("", TPXX, "", ""); } @@ -41,7 +40,7 @@ public class HttpClientUtils { Map uriVariables = new HashMap<>(); uriVariables.put("GCXH", GCXH); - if (TPXX != null || TPXX.length() > 0) { + if (TPXX != null && TPXX.length() > 0) { uriVariables.put("TPXX", TPXX); } else { uriVariables.put("TPXX", "/software/sy/vehicle-socket/c++/image/test.jpg"); @@ -49,14 +48,12 @@ public class HttpClientUtils { uriVariables.put("MRHPT", MRHPT); uriVariables.put("HPHM", HPHM); ResponseEntity responseEntity = restTemplate.postForEntity(requestUrl, uriVariables, String.class); - String body = responseEntity.getBody(); - return body; + return responseEntity.getBody(); } //获取临时上传的图片数据信息 public String VehicleAnalysisTmp(MultipartFile TPXX) { - String analysis = VehicleAnalysisTmp("", TPXX, "", ""); - return analysis; + return VehicleAnalysisTmp("", TPXX, "", ""); } //获取临时上传的图片数据信息 diff --git a/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java b/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java index 7f9e08f..f2decb0 100644 --- a/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java +++ b/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java @@ -238,7 +238,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_driver_person_status; int vehicle_illegal_driver_person_status = rabbitMQVehicle.getVehicle_illegal_driver_person_status(); - String vehicleIllegalStatus3 = nullStatus; + String vehicleIllegalStatus3; if (vehicle_illegal_driver_person_status == 1003) { vehicleIllegalStatus3 = "无人"; } else if (vehicle_illegal_driver_person_status == 1004) { @@ -251,7 +251,7 @@ public class RabbitMQVehicleTools { if ("有人".equals(vehicleIllegalStatus3)) { // vehicle_illegal_driver_smoke_status; int vehicle_illegal_driver_smoke_status = rabbitMQVehicle.getVehicle_illegal_driver_smoke_status(); - String vehicleIllegalStatus = nullStatus; + String vehicleIllegalStatus; if (vehicle_illegal_driver_smoke_status == 1000) { vehicleIllegalStatus = "吸烟"; } else if (vehicle_illegal_driver_smoke_status == 1001) { @@ -263,7 +263,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_driver_belt_status; int vehicle_illegal_driver_belt_status = rabbitMQVehicle.getVehicle_illegal_driver_belt_status(); - String vehicleIllegalStatus1 = nullStatus; + String vehicleIllegalStatus1; if (vehicle_illegal_driver_belt_status == 1000) { vehicleIllegalStatus1 = "未系安全带"; } else if (vehicle_illegal_driver_belt_status == 1001) { @@ -275,7 +275,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_driver_phone_status; int vehicle_illegal_driver_phone_status = rabbitMQVehicle.getVehicle_illegal_driver_phone_status(); - String vehicleIllegalStatus2 = nullStatus; + String vehicleIllegalStatus2; if (vehicle_illegal_driver_phone_status == 1000) { vehicleIllegalStatus2 = "打电话"; } else if (vehicle_illegal_driver_phone_status == 1001) { @@ -293,7 +293,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_copilot_person_status; int vehicle_illegal_copilot_person_status = rabbitMQVehicle.getVehicle_illegal_copilot_person_status(); - String vehicleIllegalStatus7 = nullStatus; + String vehicleIllegalStatus7; if (vehicle_illegal_copilot_person_status == 1003) { vehicleIllegalStatus7 = "无人"; } else if (vehicle_illegal_copilot_person_status == 1004) { @@ -308,7 +308,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_copilot_smoke_status; int vehicle_illegal_copilot_smoke_status = rabbitMQVehicle.getVehicle_illegal_copilot_smoke_status(); System.out.println("副驾驶吸烟" + vehicle_illegal_copilot_smoke_status); - String vehicleIllegalStatus4 = nullStatus; + String vehicleIllegalStatus4; if (vehicle_illegal_copilot_smoke_status == 1000) { vehicleIllegalStatus4 = "吸烟"; } else if (vehicle_illegal_copilot_smoke_status == 1001) { @@ -320,7 +320,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_copilot_belt_status; int vehicle_illegal_copilot_belt_status = rabbitMQVehicle.getVehicle_illegal_copilot_belt_status(); - String vehicleIllegalStatus5 = nullStatus; + String vehicleIllegalStatus5; if (vehicle_illegal_copilot_belt_status == 1000) { vehicleIllegalStatus5 = "未系安全带"; } else if (vehicle_illegal_copilot_belt_status == 1001) { @@ -332,7 +332,7 @@ public class RabbitMQVehicleTools { // vehicle_illegal_copilot_phone_status; int vehicle_illegal_copilot_phone_status = rabbitMQVehicle.getVehicle_illegal_copilot_phone_status(); - String vehicleIllegalStatus6 = nullStatus; + String vehicleIllegalStatus6; if (vehicle_illegal_copilot_phone_status == 1000) { vehicleIllegalStatus6 = "打电话"; } else if (vehicle_illegal_copilot_phone_status == 1001) { @@ -470,30 +470,13 @@ public class RabbitMQVehicleTools { } - - /*public List sdkToRabbitPeople(JSONObject jsonObject) { - List rabbitMQPeoples = new ArrayList<>(); - try { - JSONArray peopleVehicleArr = jsonObject.containsKey("info") ? jsonObject.getJSONArray("info") : null; - for (int i = 0; i < peopleVehicleArr.size(); i++) { - JSONObject peopleVehicleSingle = peopleVehicleArr.getJSONObject(i); - FaceInfoParam faceInfoParam = faceUtils.rabbitToFaceInfo(peopleVehicleSingle, nullStatus); - rabbitMQPeoples.add(faceInfoParam); - } - return rabbitMQPeoples; - } catch (Exception e) { - System.out.println("不是规则的JSON格式"); - return null; - } - }*/ - public RabbitMQVehicle sdkToOnlyVehicle(JSONObject vehicleSingleInfo) { int count = 0;//在档案中的位置 String longitude = nullStatus; String latitude = nullStatus; String picurl = nullStatus; //图片的路径 int recordid = 0; //车辆档案id - Long pictime = 0l; //抓拍时间 + Long pictime = 0L; //抓拍时间 int flag = 0; //是否报警 int tag = 0; //是否确认 String personid = nullStatus; //人像id @@ -556,12 +539,10 @@ public class RabbitMQVehicleTools { } catch (Exception e) { RuntimeException exe = new RuntimeException("文件夹创建失败"); e.printStackTrace(); - } JSONObject colorRes = vehicleSingleInfo.containsKey("vehicle_color_res") ? vehicleSingleInfo.getJSONObject("vehicle_color_res") : null; if (colorRes != null) { - vehicle_color_index = colorRes.getInteger("index"); vehicle_color_score = colorRes.getFloat("score"); } @@ -600,7 +581,7 @@ public class RabbitMQVehicleTools { vehicle_illegal_driver_person_confidence = person.getFloat("confidence"); vehicle_illegal_driver_person_status = person.getInteger("status"); } - if (vehicle_illegal_copilot_person_status == 1004) { + if (vehicle_illegal_driver_person_status == 1004) { JSONObject belt = driver.containsKey("belt") ? driver.getJSONObject("belt") : null; if (belt != null) { vehicle_illegal_driver_belt_confidence = belt.getFloat("confidence"); @@ -654,47 +635,48 @@ public class RabbitMQVehicleTools { if (vehicle_pendant_det_res != null) { vehicle_pendant_count = vehicle_pendant_det_res.getInteger("count"); JSONArray vehiclePendantDetectInfoParams = vehicle_pendant_det_res.getJSONArray("vehiclePendantDetectInfoParams"); - int size = vehiclePendantDetectInfoParams.size(); - if (vehiclePendantDetectInfoParams != null && size > 0) { - for (int i = 0; i < vehiclePendantDetectInfoParams.size(); i++) { - //获取到其中的一个车辆属性 - JSONObject vehiclePendantOne = vehiclePendantDetectInfoParams.getJSONObject(i); - Integer index = vehiclePendantOne.getInteger("index"); - switch (index) { - case 3: - //是否有遮阳板 - vehicle_pendant_detect_zybexis = 1; - break; - case 4: - //获取年检标个数 - vehicle_pendant_detect_njbnumber++; - break; - case 5: - //是否有挂件 - vehicle_pendant_detect_gjexis = 1; - break; - default: + if (vehiclePendantDetectInfoParams != null) { + int size = vehiclePendantDetectInfoParams.size(); + if (vehiclePendantDetectInfoParams.size() > 0) { + for (int i = 0; i < vehiclePendantDetectInfoParams.size(); i++) { + //获取到其中的一个车辆属性 + JSONObject vehiclePendantOne = vehiclePendantDetectInfoParams.getJSONObject(i); + Integer index = vehiclePendantOne.getInteger("index"); + switch (index) { + case 3: + //是否有遮阳板 + vehicle_pendant_detect_zybexis = 1; + break; + case 4: + //获取年检标个数 + vehicle_pendant_detect_njbnumber++; + break; + case 5: + //是否有挂件 + vehicle_pendant_detect_gjexis = 1; + break; + default: + } } - } - - vehicle_pendant_Params = new PendantParams[size]; - for (int i = 0; i < size; i++) { - JSONObject jsonObject = vehiclePendantDetectInfoParams.getJSONObject(i); - float confidence = jsonObject.getFloat("confidence"); - Integer index = jsonObject.getInteger("index"); - int[] ints = new int[4]; - JSONObject syRectParam = jsonObject.getJSONObject("syRectParam"); - Integer height = syRectParam.getInteger("height"); - Integer left = syRectParam.getInteger("left"); - Integer top = syRectParam.getInteger("top"); - Integer width = syRectParam.getInteger("width"); - ints[0] = height; - ints[1] = left; - ints[2] = top; - ints[3] = width; - PendantParams pp = new PendantParams(index, ints, confidence); - vehicle_pendant_Params[i] = pp; + vehicle_pendant_Params = new PendantParams[size]; + for (int i = 0; i < size; i++) { + JSONObject jsonObject = vehiclePendantDetectInfoParams.getJSONObject(i); + float confidence = jsonObject.getFloat("confidence"); + Integer index = jsonObject.getInteger("index"); + int[] ints = new int[4]; + JSONObject syRectParam = jsonObject.getJSONObject("syRectParam"); + Integer height = syRectParam.getInteger("height"); + Integer left = syRectParam.getInteger("left"); + Integer top = syRectParam.getInteger("top"); + Integer width = syRectParam.getInteger("width"); + ints[0] = height; + ints[1] = left; + ints[2] = top; + ints[3] = width; + PendantParams pp = new PendantParams(index, ints, confidence); + vehicle_pendant_Params[i] = pp; + } } } } @@ -718,7 +700,7 @@ public class RabbitMQVehicleTools { JSONArray plateNumParams = vehicle_plate_det_recg_res.getJSONArray("plateNumParams"); int size = plateNumParams.size(); if (size > 0) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); vehicle_plate_plateNumParams = new PlatePlateNumParams[size]; for (int i = 0; i < size; i++) { JSONObject jsonObject = plateNumParams.getJSONObject(i);