Commit c95dfc74d3585a8625f35bad4c276e34e30454ac
1 parent
59207196
Exists in
master
发送看板修改
Showing
4 changed files
with
73 additions
and
38 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
@@ -78,30 +78,27 @@ public class MyTask implements ApplicationRunner { | @@ -78,30 +78,27 @@ public class MyTask implements ApplicationRunner { | ||
78 | 78 | ||
79 | @Override | 79 | @Override |
80 | public void run(ApplicationArguments args) throws Exception { | 80 | public void run(ApplicationArguments args) throws Exception { |
81 | -// 121.40.109.21 | ||
82 | - // 打开工程,初始化 | ||
83 | - LoginModule.init(disConnect, haveReConnect); | ||
84 | - //自注册 | ||
85 | - autoRegister(); | ||
86 | - | ||
87 | -// System.out.println(" sendRecordDao:"+sendRecordDao.getSenSuccess()); | 81 | + /** |
82 | + * 设备初始化、自注册 | ||
83 | + */ | ||
84 | + new MyTask(); | ||
88 | } | 85 | } |
89 | 86 | ||
90 | - | ||
91 | - /** | ||
92 | - * 设备自注册 | ||
93 | - */ | ||
94 | - private void autoRegister() { | 87 | + private MyTask() { |
88 | + /** | ||
89 | + * 打开工程,初始化 | ||
90 | + */ | ||
91 | + LoginModule.init(disConnect, haveReConnect); | ||
95 | 92 | ||
96 | /** | 93 | /** |
97 | * 开启监听服务 | 94 | * 开启监听服务 |
98 | */ | 95 | */ |
99 | - | ||
100 | - System.out.println("new Utils().getHostAddress():"+new Utils().getHostAddress()); | 96 | + log.info("new Utils().getHostAddress(): " + new Utils().getHostAddress()); |
101 | AutoRegisterModule.startServer(new Utils().getHostAddress(), 9500, servicCallback); | 97 | AutoRegisterModule.startServer(new Utils().getHostAddress(), 9500, servicCallback); |
102 | 98 | ||
103 | } | 99 | } |
104 | 100 | ||
101 | + | ||
105 | // 设备断线回调: 通过 CLIENT_Init 设置该回调函数,当设备出现断线时,SDK会调用该函数 | 102 | // 设备断线回调: 通过 CLIENT_Init 设置该回调函数,当设备出现断线时,SDK会调用该函数 |
106 | private class DisConnect implements NetSDKLib.fDisConnect { | 103 | private class DisConnect implements NetSDKLib.fDisConnect { |
107 | public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) { | 104 | public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) { |
@@ -450,12 +447,8 @@ public class MyTask implements ApplicationRunner { | @@ -450,12 +447,8 @@ public class MyTask implements ApplicationRunner { | ||
450 | //考勤成功 | 447 | //考勤成功 |
451 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime; | 448 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime; |
452 | 449 | ||
453 | - //一体机设备,抓拍到人脸,将人脸发送数据看板 | ||
454 | - if(null == mqttManager){ | ||
455 | - mqttManager = new MqttManager(); | ||
456 | - mqttManager.init(); | ||
457 | - } | ||
458 | - myScheduledTask.sendMQMess(content,deviceId); | 450 | + //开始推送看板 |
451 | + sendMQMess(content,deviceId,eventType); | ||
459 | 452 | ||
460 | //记录学生考勤签到记录 | 453 | //记录学生考勤签到记录 |
461 | FileUtils.getInstance().writeLogs(content, FileUtils.qiandaoSuccess); | 454 | FileUtils.getInstance().writeLogs(content, FileUtils.qiandaoSuccess); |
@@ -521,4 +514,52 @@ public class MyTask implements ApplicationRunner { | @@ -521,4 +514,52 @@ public class MyTask implements ApplicationRunner { | ||
521 | } | 514 | } |
522 | } | 515 | } |
523 | } | 516 | } |
517 | + | ||
518 | + | ||
519 | + /** | ||
520 | + * 消息发送 | ||
521 | + * @param deviceId | ||
522 | + * @param cardNum | ||
523 | + * @param eventType | ||
524 | + */ | ||
525 | + public void sendMQMess(String deviceId,String cardNum,int eventType) { | ||
526 | + | ||
527 | + //一体机设备,抓拍到人脸,将人脸发送数据看板 | ||
528 | + if(null == mqttManager){ | ||
529 | + mqttManager = new MqttManager(); | ||
530 | + mqttManager.init(); | ||
531 | + } | ||
532 | + | ||
533 | + String inOrOut = eventType == 1 ? "0" : "1"; | ||
534 | + //获取寝室关联的场景id | ||
535 | + String placeId = userDao.getPlaceIdWithKaoqinDevid(deviceId); | ||
536 | + | ||
537 | + if (null != placeId) { | ||
538 | + //关联的显示看板设备 | ||
539 | + List<String> kanbanIds = userDao.getKanBanIdWithPlaceId(placeId); | ||
540 | + | ||
541 | + for (int i = 0; i < kanbanIds.size(); i++) { | ||
542 | + String kanbanId = kanbanIds.get(i); | ||
543 | + String data = "{\"cmd\":\"" + 34 + "\",\"clientId\":\"" + kanbanId + "\",\"data\":{\"cardNum\":\"" + cardNum + "\",\"inOrOut\":\"" + inOrOut + "\"}}"; | ||
544 | + log.info("====== 开始推送看板======, kanbanId = {}, cardNum = {},content ={}",kanbanId,cardNum,data); | ||
545 | + mqttManager.sendMqQD(kanbanId, data); | ||
546 | + } | ||
547 | + | ||
548 | + } else { | ||
549 | + | ||
550 | + String schoolId = userDao.getSchoolIdWidthCardNum(cardNum); | ||
551 | + if(StringUtils.isEmpty(schoolId)||Integer.parseInt(schoolId) <=0)return; | ||
552 | + List<String> clintIds = userDao.getClintIds(schoolId); | ||
553 | + for (int i = 0; i < clintIds.size(); i++) { | ||
554 | + String clintId = clintIds.get(i); | ||
555 | + String data = "{\"cmd\":\"" + 34 + "\",\"clientId\":\"" + clintId + "\",\"data\":{\"cardNum\":\"" + cardNum + "\",\"inOrOut\":\"" + inOrOut + "\"}}"; | ||
556 | + log.info("====== 开始推送看板======, deviceId = {}, cardNum = {},content ={}",clintId,cardNum,data); | ||
557 | + mqttManager.sendMqQD(clintId, data); | ||
558 | + } | ||
559 | + } | ||
560 | + | ||
561 | + } | ||
524 | } | 562 | } |
563 | + | ||
564 | + | ||
565 | + |
cloud/dahua/src/main/java/com/example/dahua/async/MyScheduledTask.java
@@ -204,7 +204,7 @@ public class MyScheduledTask { | @@ -204,7 +204,7 @@ public class MyScheduledTask { | ||
204 | // System.out.println("indexLineNum:"+indexLineNum+" ----------readLineNum:"+readLineNum); | 204 | // System.out.println("indexLineNum:"+indexLineNum+" ----------readLineNum:"+readLineNum); |
205 | if (indexLineNum >= readLineNum) { | 205 | if (indexLineNum >= readLineNum) { |
206 | readLineNum++; | 206 | readLineNum++; |
207 | - sendMQMess(content,""); | 207 | + sendMQMess(content); |
208 | } | 208 | } |
209 | 209 | ||
210 | } | 210 | } |
@@ -235,18 +235,12 @@ public class MyScheduledTask { | @@ -235,18 +235,12 @@ public class MyScheduledTask { | ||
235 | 235 | ||
236 | } | 236 | } |
237 | 237 | ||
238 | - public void sendMQMess(String content,String deviceId) { | 238 | + public void sendMQMess(String content) { |
239 | String cardNum = content.substring(content.indexOf("卡号") + 3, content.indexOf("卡号") + 11); | 239 | String cardNum = content.substring(content.indexOf("卡号") + 3, content.indexOf("卡号") + 11); |
240 | 240 | ||
241 | String inOrOut = content.substring(content.indexOf("方向:") + 3, content.indexOf("方向:") + 5).endsWith("进门") ? "0" : "1"; | 241 | String inOrOut = content.substring(content.indexOf("方向:") + 3, content.indexOf("方向:") + 5).endsWith("进门") ? "0" : "1"; |
242 | 242 | ||
243 | - //判断是否一体机,发送消息看板 | ||
244 | - String qiandaoDevId=""; | ||
245 | - if(StringUtils.isEmpty(deviceId)){ | ||
246 | - qiandaoDevId = content.substring(content.indexOf("设备") + 3, content.indexOf("设备") + 12); | ||
247 | - }else{ | ||
248 | - qiandaoDevId =deviceId; | ||
249 | - } | 243 | + String qiandaoDevId = content.substring(content.indexOf("设备") + 3, content.indexOf("设备") + 12); |
250 | 244 | ||
251 | //获取寝室关联的场景id | 245 | //获取寝室关联的场景id |
252 | String placeId = userDao.getPlaceIdWithKaoqinDevid(qiandaoDevId); | 246 | String placeId = userDao.getPlaceIdWithKaoqinDevid(qiandaoDevId); |
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
@@ -10,6 +10,7 @@ import com.example.dahua.lib.NetSDKLib; | @@ -10,6 +10,7 @@ import com.example.dahua.lib.NetSDKLib; | ||
10 | import com.example.dahua.lib.NetSDKLib.*; | 10 | import com.example.dahua.lib.NetSDKLib.*; |
11 | import com.example.dahua.lib.ToolKits; | 11 | import com.example.dahua.lib.ToolKits; |
12 | import com.sun.jna.Memory; | 12 | import com.sun.jna.Memory; |
13 | +import com.sun.jna.Pointer; | ||
13 | import com.sun.jna.ptr.IntByReference; | 14 | import com.sun.jna.ptr.IntByReference; |
14 | import lombok.extern.slf4j.Slf4j; | 15 | import lombok.extern.slf4j.Slf4j; |
15 | 16 | ||
@@ -55,12 +56,10 @@ public class GateModule { | @@ -55,12 +56,10 @@ public class GateModule { | ||
55 | } | 56 | } |
56 | 57 | ||
57 | 58 | ||
58 | - private static NetSDKLib.NET_DEVICEINFO_Ex deviceInfo; | 59 | + private static NetSDKLib.NET_DEVICEINFO_Ex deviceInfo = new NET_DEVICEINFO_Ex(); |
59 | 60 | ||
60 | public static LLong realLoadPic2(int ChannelId, NetSDKLib.fAnalyzerDataCallBack m_AnalyzerDataCB, LLong lLong,String devcieId) { | 61 | public static LLong realLoadPic2(int ChannelId, NetSDKLib.fAnalyzerDataCallBack m_AnalyzerDataCB, LLong lLong,String devcieId) { |
61 | 62 | ||
62 | -// final NetSDKLib.NET_DEVICEINFO_Ex deviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex(); | ||
63 | - | ||
64 | // 设备ID | 63 | // 设备ID |
65 | System.arraycopy(devcieId.getBytes(), 0, deviceInfo.sSerialNumber, 0, devcieId.getBytes().length); | 64 | System.arraycopy(devcieId.getBytes(), 0, deviceInfo.sSerialNumber, 0, devcieId.getBytes().length); |
66 | 65 | ||
@@ -682,12 +681,12 @@ public class GateModule { | @@ -682,12 +681,12 @@ public class GateModule { | ||
682 | /** | 681 | /** |
683 | * 门禁卡记录集信息 | 682 | * 门禁卡记录集信息 |
684 | */ | 683 | */ |
685 | - private static NET_RECORDSET_ACCESS_CTL_CARD accessCardInfo; | 684 | + private static NET_RECORDSET_ACCESS_CTL_CARD accessCardInfo = new NET_RECORDSET_ACCESS_CTL_CARD(); |
686 | 685 | ||
687 | /** | 686 | /** |
688 | * 记录集操作 | 687 | * 记录集操作 |
689 | */ | 688 | */ |
690 | - private static NET_CTRL_RECORDSET_PARAM update; | 689 | + private static NET_CTRL_RECORDSET_PARAM update = new NET_CTRL_RECORDSET_PARAM(); |
691 | 690 | ||
692 | /** | 691 | /** |
693 | * 修改设备卡信息 | 692 | * 修改设备卡信息 |
@@ -714,7 +713,7 @@ public class GateModule { | @@ -714,7 +713,7 @@ public class GateModule { | ||
714 | /** | 713 | /** |
715 | * 门禁卡记录集信息 | 714 | * 门禁卡记录集信息 |
716 | */ | 715 | */ |
717 | - accessCardInfo = new NET_RECORDSET_ACCESS_CTL_CARD(); | 716 | +// accessCardInfo = new NET_RECORDSET_ACCESS_CTL_CARD(); |
718 | // 记录集编号, 修改、删除卡信息必须填写 | 717 | // 记录集编号, 修改、删除卡信息必须填写 |
719 | accessCardInfo.nRecNo = recordNo; | 718 | accessCardInfo.nRecNo = recordNo; |
720 | 719 | ||
@@ -784,7 +783,7 @@ public class GateModule { | @@ -784,7 +783,7 @@ public class GateModule { | ||
784 | /** | 783 | /** |
785 | * 记录集操作 | 784 | * 记录集操作 |
786 | */ | 785 | */ |
787 | - update = new NET_CTRL_RECORDSET_PARAM(); | 786 | +// update = new NET_CTRL_RECORDSET_PARAM(); |
788 | 787 | ||
789 | update.emType = EM_NET_RECORD_TYPE.NET_RECORD_ACCESSCTLCARD; // 记录集信息类型 | 788 | update.emType = EM_NET_RECORD_TYPE.NET_RECORD_ACCESSCTLCARD; // 记录集信息类型 |
790 | update.pBuf = accessCardInfo.getPointer(); | 789 | update.pBuf = accessCardInfo.getPointer(); |
cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java
1 | package com.example.dahua.mapper; | 1 | package com.example.dahua.mapper; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | +import com.example.dahua.MyTask; | ||
4 | import com.example.dahua.Tester; | 5 | import com.example.dahua.Tester; |
5 | import com.example.dahua.async.MyScheduledTask; | 6 | import com.example.dahua.async.MyScheduledTask; |
6 | import com.example.dahua.bean.CheckIn; | 7 | import com.example.dahua.bean.CheckIn; |
@@ -99,7 +100,7 @@ public class SearchMapperTest extends Tester { | @@ -99,7 +100,7 @@ public class SearchMapperTest extends Tester { | ||
99 | private MqttManager mqttManager; | 100 | private MqttManager mqttManager; |
100 | 101 | ||
101 | @Autowired | 102 | @Autowired |
102 | - private MyScheduledTask myScheduledTask; | 103 | + private MyTask myTask; |
103 | 104 | ||
104 | @Test | 105 | @Test |
105 | public void test5(){ | 106 | public void test5(){ |
@@ -113,7 +114,7 @@ public class SearchMapperTest extends Tester { | @@ -113,7 +114,7 @@ public class SearchMapperTest extends Tester { | ||
113 | String cardNo =""; | 114 | String cardNo =""; |
114 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:进门" + "______" + eventTime; | 115 | String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:进门" + "______" + eventTime; |
115 | 116 | ||
116 | - myScheduledTask.sendMQMess(content,deviceId); | 117 | + myTask.sendMQMess(deviceId,cardNo,1); |
117 | System.out.println("发送成功"); | 118 | System.out.println("发送成功"); |
118 | } | 119 | } |
119 | 120 |