brealinxx пре 1 година
родитељ
комит
cc7470014a

+ 28 - 9
src/main/java/com/xjrsoft/module/hikvision/util/EventController.java

@@ -36,13 +36,12 @@ public class EventController {
     private final Db use = Db.use(datasource);
     private final FaceImportMapper faceImportMapper;
 
-    @PostMapping("/receive")
-    @ApiOperation(value = "接收事件")
-    public ResponseEntity<Void> receiveEvent(@RequestBody(required = false) String eventData) {
+    @PostMapping("/receiveCar")
+    @ApiOperation(value = "接收车辆事件")
+    public ResponseEntity<Void> receiveCarEvent(@RequestBody(required = false) String eventData) {
         log.info("Received event data: {}", eventData);
         new Thread(() -> {
             try {
-                outInRecordUtil.GetTeacherAndStudentRecordsTest(use, faceImportMapper, eventData);
                 outInRecordUtil.GetVehicleRecordTest(use, faceImportMapper, eventData);
             } catch (SQLException | ParseException e) {
                 log.error("Error processing event data", e);
@@ -53,18 +52,35 @@ public class EventController {
         return ResponseEntity.ok().build();
     }
 
+    @PostMapping("/receivePeople")
+    @ApiOperation(value = "接收人员事件")
+    public ResponseEntity<Void> receivePeopleEvent(@RequestBody(required = false) String eventData) {
+        log.info("Received event data: {}", eventData);
+        new Thread(() -> {
+            try {
+                outInRecordUtil.GetTeacherAndStudentRecordsTest(use, faceImportMapper, eventData);
+            } catch (SQLException | ParseException e) {
+                log.error("Error processing event data", e);
+            }
+        }).start();
+
+        return ResponseEntity.ok().build();
+    }
+
     @PostMapping("/subscribe")
     @ApiOperation(value = "订阅事件")
     public RT<Boolean> subscribeEvent() {
-//        authorizeController.permissions().get().toString();
         ApiUtil apiUtil = new ApiUtil();
         JsonArray eventList = new JsonArray();
-        eventList.add(196893); //人脸匹配
-        eventList.add(1157632001); //正常过车
         String apiPath = "/api/eventService/v1/eventSubscriptionByEventTypes";
         JsonObject paramJson = new JsonObject();
+//*******手动更改****************************************************
+        eventList.add(196893); //人脸匹配
+//        eventList.add(771760131); //正常过车
+//        eventList.add(771760134);
+        paramJson.addProperty("eventDest", "http://ff.cf.yingcaibx.com/event/receivePeople");
+//******************************************************************
         paramJson.add("eventTypes", eventList);
-        paramJson.addProperty("eventDest", "http://ff.cf.yingcaibx.com/event/receive");
 
         String response = apiUtil.doPost(apiPath, paramJson.toString(), null);
         log.info("Subscribe response: {}", response);
@@ -87,8 +103,11 @@ public class EventController {
     public String cancelEvent() {
         ApiUtil apiUtil = new ApiUtil();
         JsonArray eventList = new JsonArray();
+//*******手动更改****************************************************
         eventList.add(196893);
-        eventList.add(1157632001);
+        eventList.add(771760131); //正常过车
+        eventList.add(771760134);
+//******************************************************************
         JsonObject paramJson = new JsonObject();
         paramJson.add("eventTypes", eventList);
         String apiPath = "/api/eventService/v1/eventUnSubscriptionByEventTypes";

+ 37 - 12
src/main/java/com/xjrsoft/module/hikvision/util/Out_In_RecordUtil.java

@@ -360,8 +360,8 @@ public class Out_In_RecordUtil {
             } else {
                 facePicUri = ApiUtil.GetRedirectURL(facePicUriElement.getAsString());
             }
-
-            vehicleInsertRecord(use, carId, eventTime, crossRecordSyscode,releaseMode,facePicUri,status);
+            System.out.println(GetReserveOrderNo(crossRecordSyscode) + "haha");
+//            vehicleInsertRecord(use, carId, eventTime, crossRecordSyscode,releaseMode,facePicUri,status);
         }
     }
 
@@ -375,6 +375,20 @@ public class Out_In_RecordUtil {
         return apiUtil.doPost(apiPath, String.valueOf(paramJson), null);
     }
 
+    private String GetReserveOrderNo(String parkSyscode){
+        ApiUtil apiUtil = new ApiUtil();
+        String apiPath = "/api/pms/v2/reserveRecord/page";
+        JsonObject paramJson = new JsonObject();
+        paramJson.addProperty("pageNo", 1);
+        paramJson.addProperty("pageSize", 50);
+
+        String response = apiUtil.doPost(apiPath, String.valueOf(paramJson), null);
+        System.out.println(response + "xixi");
+//        JsonElement responseElement = new Gson().fromJson(response, JsonElement.class);
+//        JsonElement dataList = responseElement.getAsJsonObject().getAsJsonObject("data").getAsJsonArray("list");
+
+        return "123";//dataList.getAsJsonObject().get("reserveOrderNo").getAsString()
+    }
 
     private String ChangeTime(String recordTime) throws ParseException {
         SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
@@ -427,19 +441,30 @@ public class Out_In_RecordUtil {
 
 
     public void GetVehicleRecordTest(Db use, FaceImportMapper faceImportMapper, String data) throws SQLException, ParseException {
-        if (data != null){
+        if (data != null) {
             try {
-                JsonArray responseBuilder = new JsonArray();
-                JsonElement responseElement = new Gson().fromJson(data, JsonElement.class);
-                JsonArray dataList = responseElement.getAsJsonObject().getAsJsonObject("data").getAsJsonArray("list");
-                for (JsonElement item : dataList) {
-                    responseBuilder.add(item);
+                JsonObject jsonObject = new Gson().fromJson(data, JsonObject.class);
+                JsonObject paramsObject = jsonObject.getAsJsonObject("params");
+                JsonArray eventsArray = paramsObject.getAsJsonArray("events");
+
+                for (JsonElement eventElement : eventsArray) {
+                    JsonObject eventObject = eventElement.getAsJsonObject();
+                    JsonObject dataObject = eventObject.getAsJsonObject("data");
+
+                    String carMessageApplyIdStr = faceImportMapper.GetCarMessageApplyIdByCarNumber(dataObject.get("plateNo").getAsString().trim());
+                    Long carId = (carMessageApplyIdStr == null || carMessageApplyIdStr.isEmpty()) ? 0 : Long.parseLong(carMessageApplyIdStr);
+                    String eventTime = ChangeTime(dataObject.get("time").getAsString());
+                    int code = dataObject.get("eventType").getAsInt();
+                    int releaseMode = dataObject.getAsJsonObject("inResult").getAsJsonObject("rlsResult").get("releaseWay").getAsInt();
+                    String facePicUri = dataObject.getAsJsonObject("picUrl").get("vehiclePicUrl").getAsString();
+                    int status = eventObject.get("status").getAsInt();
+
+                    vehicleInsertRecord(use, carId, eventTime, "1",releaseMode,facePicUri,status);
                 }
-                InsertVehicleRecords(use, responseBuilder,faceImportMapper);
+            } catch (Exception e) {
+                log.info(String.valueOf(e));
             }
-          catch (Exception e){
-              log.info(String.valueOf(e));
-          }
         }
     }
+
 }

+ 2 - 1
src/main/resources/application-dev.yml

@@ -111,7 +111,8 @@ xjrsoft:
       - /system/check-QR-code-login
       - /system/loginQRCode
       - /system/QR-code-login
-      - /event/receive
+      - /event/receivePeople
+      - /event/receiveCar
     approval-time: 300 # 审核超时时间 目前设为5分钟
   email:
     host:  #邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>

+ 2 - 1
src/main/resources/application-pre.yml

@@ -95,7 +95,8 @@ xjrsoft:
       - /system/check-QR-code-login
       - /system/loginQRCode
       - /system/QR-code-login
-      - /event/receive
+      - /event/receivePeople
+      - /event/receiveCar
     approval-time: 300 # 审核超时时间 目前设为5分钟
   email:
     host:  #邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>

+ 2 - 1
src/main/resources/application-prod.yml

@@ -91,7 +91,8 @@ xjrsoft:
       - /system/check-QR-code-login
       - /system/loginQRCode
       - /system/QR-code-login
-      - /event/receive
+      - /event/receivePeople
+      - /event/receiveCar
     approval-time: 300 # 审核超时时间 目前设为5分钟
   email:
     host:  #邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>

+ 1 - 1
src/test/java/com/xjrsoft/module/job/HikvisionBaseDataTaskTest.java

@@ -104,7 +104,7 @@ class HikvisionBaseDataTaskTest {
 //        String carTableName = "car_message_apply";
 //        selectCar(use, carTableName);
 
-        outInRecordUtil.GetTeacherAndStudentRecords(use,faceImportMapper);
+        outInRecordUtil.GetVehicleRecord(use,faceImportMapper);
 //        selecAllPersonById(use);
         selectResource(use);
     }