Bladeren bron

Merge remote-tracking branch 'origin/dev' into dev

dzx 1 jaar geleden
bovenliggende
commit
20a2287ffc

+ 17 - 10
src/main/java/com/xjrsoft/module/hikvision/util/EventController.java

@@ -13,17 +13,17 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.sql.DataSource;
-import java.security.PublicKey;
 import java.sql.SQLException;
 import java.text.ParseException;
 
-
 @RestController
 @RequestMapping("/event")
 @Api(value = "/event", tags = "事件接收")
@@ -38,14 +38,20 @@ public class EventController {
 
     @PostMapping("/receive")
     @ApiOperation(value = "接收事件")
-    public RT<Boolean> receiveEvent(@RequestBody(required = false) String eventData) throws SQLException, ParseException {
-        System.out.println("Received event data: " + eventData);
+    public ResponseEntity<Void> receiveEvent(@RequestBody(required = false) String eventData) {
+        log.info("Received event data: {}", eventData);
 
-        // TODO: 添加处理接收到的事件数据的逻辑
-        log.info("测试事件订阅");
-        outInRecordUtil.GetTeacherAndStudentRecordsTest(use,faceImportMapper,eventData);
+        new Thread(() -> {
+            try {
+                outInRecordUtil.GetTeacherAndStudentRecordsTest(use, faceImportMapper, eventData);
+                outInRecordUtil.GetVehicleRecordTask(use, faceImportMapper, eventData);
+            } catch (SQLException | ParseException e) {
+                log.error("Error processing event data", e);
+            }
+        }).start();
 
-        return RT.ok(true);
+        // 立即返回HTTP 200 OK响应
+        return ResponseEntity.ok().build();
     }
 
     @PostMapping("/subscribe")
@@ -54,13 +60,14 @@ public class EventController {
         ApiUtil apiUtil = new ApiUtil();
         JsonArray eventList = new JsonArray();
         eventList.add(196893);
+        eventList.add(1157632001);
         String apiPath = "/api/eventService/v1/eventSubscriptionByEventTypes";
         JsonObject paramJson = new JsonObject();
         paramJson.add("eventTypes", eventList);
         paramJson.addProperty("eventDest", "http://10.150.10.139:8001/event/receive");
 
-        String response = apiUtil.doPost(apiPath, String.valueOf(paramJson), null);
-        System.out.println("Subscribe response: " + response);
+        String response = apiUtil.doPost(apiPath, paramJson.toString(), null);
+        log.info("Subscribe response: {}", response);
         return RT.ok(true);
     }
 }

+ 14 - 5
src/main/java/com/xjrsoft/module/hikvision/util/Out_In_RecordUtil.java

@@ -393,12 +393,9 @@ public class Out_In_RecordUtil {
     }
 
     public void GetTeacherAndStudentRecordsTest(Db use, FaceImportMapper faceImportMapper,String data) throws SQLException, ParseException {
-        JsonArray responseBuilder = new JsonArray();
-
-        String response = data;
-
         if (data != null){
-            JsonElement responseElement = new Gson().fromJson(response, JsonElement.class);
+            JsonArray responseBuilder = new JsonArray();
+            JsonElement responseElement = new Gson().fromJson(data, JsonElement.class);
             JsonArray dataList = responseElement.getAsJsonObject().getAsJsonObject("data").getAsJsonArray("list");
 
             for (JsonElement item : dataList) {
@@ -408,4 +405,16 @@ public class Out_In_RecordUtil {
             InsertTeacherStudentRecords(use, responseBuilder, faceImportMapper);
         }
     }
+
+    public void GetVehicleRecordTask(Db use, FaceImportMapper faceImportMapper, String data) throws SQLException, ParseException {
+        if (data != null){
+            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);
+            }
+            InsertVehicleRecords(use, responseBuilder,faceImportMapper);
+        }
+    }
 }