|
|
@@ -1,8 +1,10 @@
|
|
|
package com.supervision.web.ConnectSDK.carDoor;
|
|
|
|
|
|
|
|
|
-import com.supervision.web.ConnectSDK.carCamera.CarCameraDeviceManager;
|
|
|
+import com.supervision.web.ConnectSDK.carDoor.hik.BarrierGateManage;
|
|
|
import com.supervision.web.ConnectSDK.util.DeviceSession;
|
|
|
+import com.supervision.web.peopleGateManage.entity.Device;
|
|
|
+import com.supervision.web.peopleGateManage.service.DeviceService;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -25,7 +27,7 @@ import java.util.Map;
|
|
|
* - 查看设备状态
|
|
|
*/
|
|
|
@RestController
|
|
|
-@RequestMapping("/api/car-door")
|
|
|
+@RequestMapping("/carDoor")
|
|
|
public class CarDoorController {
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(CarDoorController.class);
|
|
|
@@ -33,6 +35,112 @@ public class CarDoorController {
|
|
|
@Autowired
|
|
|
private CarDoorDeviceManager carDoorDeviceManager;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DeviceService deviceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BarrierGateManage barrierGateManage;
|
|
|
+
|
|
|
+ @PostMapping("/getDoorStatus")
|
|
|
+ public Map<String, Object> getDoorStatus(@RequestBody Map<String, Object> params) {
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
+
|
|
|
+ Object idObj = params.get("deviceId");
|
|
|
+ if (idObj == null) {
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "deviceId不能为空");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ Long deviceId;
|
|
|
+ try {
|
|
|
+ deviceId = Long.parseLong(idObj.toString());
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "deviceId格式错误");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ Device device = deviceService.getById(deviceId);
|
|
|
+ if (device == null || device.getIp() == null) {
|
|
|
+ logger.error("设备不存在, deviceId={}", deviceId);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "设备不存在或未配置IP");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceSession deviceSession = carDoorDeviceManager.getDeviceSession(device.getIp());
|
|
|
+ if (deviceSession == null) {
|
|
|
+ logger.error("设备未登录, deviceId={}", deviceId);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "设备未登录");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ int userID = deviceSession.getUserID();
|
|
|
+ barrierGateManage.getBarrierGateState(userID);
|
|
|
+ result.put("success", true);
|
|
|
+ result.put("message", "操作成功");
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("控制门禁异常, deviceId={}", deviceId, e);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "操作失败: " + e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/ctrlDoor")
|
|
|
+ public Map<String, Object> ctrlDoor(@RequestBody Map<String, Object> params) {
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
+
|
|
|
+ Object idObj = params.get("deviceId");
|
|
|
+ if (idObj == null) {
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "deviceId不能为空");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ Long deviceId;
|
|
|
+ try {
|
|
|
+ deviceId = Long.parseLong(idObj.toString());
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "deviceId格式错误");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ Device device = deviceService.getById(deviceId);
|
|
|
+ if (device == null || device.getIp() == null) {
|
|
|
+ logger.error("设备不存在, deviceId={}", deviceId);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "设备不存在或未配置IP");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceSession deviceSession = carDoorDeviceManager.getDeviceSession(device.getIp());
|
|
|
+ if (deviceSession == null) {
|
|
|
+ logger.error("设备未登录, deviceId={}", deviceId);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "设备未登录");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ int userID = deviceSession.getUserID();
|
|
|
+ barrierGateManage.BarrierGateCtrl(userID, (HashMap<String, Object>) params);
|
|
|
+ result.put("success", true);
|
|
|
+ result.put("message", "操作成功");
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("控制门禁异常, deviceId={}, params={}", deviceId, params, e);
|
|
|
+ result.put("success", false);
|
|
|
+ result.put("message", "操作失败: " + e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 登录设备
|
|
|
*/
|
|
|
@@ -73,17 +181,17 @@ public class CarDoorController {
|
|
|
}
|
|
|
|
|
|
HashMap<String, Object> cmd = new HashMap<>();
|
|
|
- if ("start".equalsIgnoreCase(action)) {
|
|
|
- cmd.put("caseId", "1"); // 布防
|
|
|
- carDoorDeviceManager.handleCase(session.getUserID(), cmd);
|
|
|
- res.put("message", "布防已启动");
|
|
|
- } else if ("stop".equalsIgnoreCase(action)) {
|
|
|
- cmd.put("caseId", "2"); // 撤防
|
|
|
- carDoorDeviceManager.handleCase(session.getUserID(), cmd);
|
|
|
- res.put("message", "布防已撤销");
|
|
|
- } else {
|
|
|
- res.put("message", "未知操作: " + action);
|
|
|
- }
|
|
|
+// if ("start".equalsIgnoreCase(action)) {
|
|
|
+// cmd.put("caseId", "1"); // 布防
|
|
|
+// carDoorDeviceManager.handleCase(session.getUserID(), cmd);
|
|
|
+// res.put("message", "布防已启动");
|
|
|
+// } else if ("stop".equalsIgnoreCase(action)) {
|
|
|
+// cmd.put("caseId", "2"); // 撤防
|
|
|
+// carDoorDeviceManager.handleCase(session.getUserID(), cmd);
|
|
|
+// res.put("message", "布防已撤销");
|
|
|
+// } else {
|
|
|
+// res.put("message", "未知操作: " + action);
|
|
|
+// }
|
|
|
|
|
|
res.put("success", true);
|
|
|
return res;
|
|
|
@@ -121,7 +229,7 @@ public class CarDoorController {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
- carDoorDeviceManager.handleCase(session.getUserID(), req);
|
|
|
+// carDoorDeviceManager.handleCase(session.getUserID(), req);
|
|
|
res.put("success", true);
|
|
|
res.put("message", "操作完成");
|
|
|
return res;
|