|
@@ -1,11 +1,14 @@
|
|
package com.greentech.gateservice.controller;
|
|
package com.greentech.gateservice.controller;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.greentech.gateservice.util.LoginModule;
|
|
import com.greentech.gateservice.util.LoginModule;
|
|
import com.netsdk.common.Res;
|
|
import com.netsdk.common.Res;
|
|
import com.netsdk.lib.NetSDKLib;
|
|
import com.netsdk.lib.NetSDKLib;
|
|
import com.netsdk.lib.ToolKits;
|
|
import com.netsdk.lib.ToolKits;
|
|
import com.sun.jna.Memory;
|
|
import com.sun.jna.Memory;
|
|
import com.sun.jna.Pointer;
|
|
import com.sun.jna.Pointer;
|
|
|
|
+import com.greentech.gateservice.util.Resonse;
|
|
|
|
+import org.apache.http.HttpResponse;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
@@ -15,7 +18,8 @@ import javax.swing.*;
|
|
@RestController
|
|
@RestController
|
|
public class GateController {
|
|
public class GateController {
|
|
@RequestMapping("/open/door")
|
|
@RequestMapping("/open/door")
|
|
- public String openDoor(@RequestParam String sn){
|
|
|
|
|
|
+ public JSONObject openDoor(@RequestParam String sn){
|
|
|
|
+
|
|
NetSDKLib.NET_CTRL_ACCESS_OPEN openInfo = new NetSDKLib.NET_CTRL_ACCESS_OPEN();
|
|
NetSDKLib.NET_CTRL_ACCESS_OPEN openInfo = new NetSDKLib.NET_CTRL_ACCESS_OPEN();
|
|
openInfo.nChannelID = 0;
|
|
openInfo.nChannelID = 0;
|
|
openInfo.emOpenDoorType = NetSDKLib.EM_OPEN_DOOR_TYPE.EM_OPEN_DOOR_TYPE_REMOTE;
|
|
openInfo.emOpenDoorType = NetSDKLib.EM_OPEN_DOOR_TYPE.EM_OPEN_DOOR_TYPE_REMOTE;
|
|
@@ -30,24 +34,27 @@ public class GateController {
|
|
//获取handle句柄和设备信息
|
|
//获取handle句柄和设备信息
|
|
NetSDKLib.NET_DEVICEINFO_Ex value = LoginModule.m_stDeviceInfo.get(key);
|
|
NetSDKLib.NET_DEVICEINFO_Ex value = LoginModule.m_stDeviceInfo.get(key);
|
|
String deviceSn = new String(value.sSerialNumber);
|
|
String deviceSn = new String(value.sSerialNumber);
|
|
- if (deviceSn.equals(sn)) {
|
|
|
|
|
|
+ System.out.println("内存sn:"+deviceSn+"传入sn:"+sn);
|
|
|
|
+ boolean f = deviceSn.trim().equalsIgnoreCase(sn.trim());
|
|
|
|
+ System.out.println(f);
|
|
|
|
+ if (f) {
|
|
boolean ret = LoginModule.netsdk.CLIENT_ControlDeviceEx(key,
|
|
boolean ret = LoginModule.netsdk.CLIENT_ControlDeviceEx(key,
|
|
NetSDKLib.CtrlType.CTRLTYPE_CTRL_ACCESS_OPEN, pointer, null, 10000);
|
|
NetSDKLib.CtrlType.CTRLTYPE_CTRL_ACCESS_OPEN, pointer, null, 10000);
|
|
if (!ret) {
|
|
if (!ret) {
|
|
JOptionPane.showMessageDialog(null, ToolKits.getErrorCodeShow(), Res.string().getErrorMessage(),
|
|
JOptionPane.showMessageDialog(null, ToolKits.getErrorCodeShow(), Res.string().getErrorMessage(),
|
|
JOptionPane.ERROR_MESSAGE);
|
|
JOptionPane.ERROR_MESSAGE);
|
|
- return "开门失败";
|
|
|
|
|
|
+ return Resonse.ResponseError("开门失败");
|
|
}
|
|
}
|
|
- return "开门成功";
|
|
|
|
|
|
+ return Resonse.ResponseSuccess("开门成功");
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return "未发现设备";
|
|
|
|
|
|
+ return Resonse.ResponseError("未发现设备");
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("/close/door")
|
|
@RequestMapping("/close/door")
|
|
- public String closeDoor(@RequestParam String sn){
|
|
|
|
|
|
+ public JSONObject closeDoor(@RequestParam String sn){
|
|
final NetSDKLib.NET_CTRL_ACCESS_CLOSE close = new NetSDKLib.NET_CTRL_ACCESS_CLOSE();
|
|
final NetSDKLib.NET_CTRL_ACCESS_CLOSE close = new NetSDKLib.NET_CTRL_ACCESS_CLOSE();
|
|
close.nChannelID = 0; // 对应的门编号 - 如何开全部的门
|
|
close.nChannelID = 0; // 对应的门编号 - 如何开全部的门
|
|
close.write();
|
|
close.write();
|
|
@@ -58,19 +65,19 @@ public class GateController {
|
|
//获取handle句柄和设备信息
|
|
//获取handle句柄和设备信息
|
|
NetSDKLib.NET_DEVICEINFO_Ex value = LoginModule.m_stDeviceInfo.get(key);
|
|
NetSDKLib.NET_DEVICEINFO_Ex value = LoginModule.m_stDeviceInfo.get(key);
|
|
String deviceSn = new String(value.sSerialNumber);
|
|
String deviceSn = new String(value.sSerialNumber);
|
|
- if (deviceSn.equals(sn)) {
|
|
|
|
|
|
+ if (deviceSn.trim().equalsIgnoreCase(sn.trim())) {
|
|
boolean result = LoginModule.netsdk.CLIENT_ControlDeviceEx(key,
|
|
boolean result = LoginModule.netsdk.CLIENT_ControlDeviceEx(key,
|
|
NetSDKLib.CtrlType.CTRLTYPE_CTRL_ACCESS_CLOSE, close.getPointer(), null, 5000);
|
|
NetSDKLib.CtrlType.CTRLTYPE_CTRL_ACCESS_CLOSE, close.getPointer(), null, 5000);
|
|
close.read();
|
|
close.read();
|
|
if (!result) {
|
|
if (!result) {
|
|
JOptionPane.showMessageDialog(null, ToolKits.getErrorCodeShow(), Res.string().getErrorMessage(),
|
|
JOptionPane.showMessageDialog(null, ToolKits.getErrorCodeShow(), Res.string().getErrorMessage(),
|
|
JOptionPane.ERROR_MESSAGE);
|
|
JOptionPane.ERROR_MESSAGE);
|
|
- return "关门失败";
|
|
|
|
|
|
+ return Resonse.ResponseError("关门失败");
|
|
}
|
|
}
|
|
- return "关门成功";
|
|
|
|
|
|
+ return Resonse.ResponseError("关门成功");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return "未发现设备";
|
|
|
|
|
|
+ return Resonse.ResponseError("未发现设备");
|
|
}
|
|
}
|
|
}
|
|
}
|