diff --git a/src/main/java/com/zhgd/mqtt/server/DispatchHandler.java b/src/main/java/com/zhgd/mqtt/server/DispatchHandler.java index 17bc7392b..dc28cca8d 100644 --- a/src/main/java/com/zhgd/mqtt/server/DispatchHandler.java +++ b/src/main/java/com/zhgd/mqtt/server/DispatchHandler.java @@ -2,6 +2,7 @@ package com.zhgd.mqtt.server; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.zhgd.xmgl.modules.worker.service.IUfaceDevService; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService; import com.zhgd.xmgl.modules.xz.service.IXzHikvisionSyncService; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -19,6 +20,9 @@ public class DispatchHandler { @Resource private IWorkerAttendanceService workerAttendanceService; + @Resource + private IUfaceDevService ufaceDevService; + public void message(String topic, Object payLoad) { // 下发人脸返回 if (topic.contains("mqtt/face/") && topic.contains("/Ack")) { @@ -51,5 +55,11 @@ public class DispatchHandler { JSONObject body = jsonObject.getJSONObject("body"); workerAttendanceService.zyMqttRec(body); } + // 正赢人脸设备心跳推送 + if (topic.equals("heartbeat/response")) { + JSONObject jsonObject = JSONObject.parseObject(payLoad.toString()); + ufaceDevService.online(jsonObject.getString("sn")); + } + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java index e40cb0e34..db95ad1d6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java @@ -116,4 +116,12 @@ public interface IUfaceDevService extends IService { * @return */ List getDevSnListByGroupId(String groupId); + + /** + * 收到心跳设置设备在线并充值心跳时间 + * + * @param devSn + * @return + */ + void online(String devSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java index 61476adbb..0f3a02c8f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java @@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.worker.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.execption.OpenAlertException; @@ -279,4 +281,12 @@ public class UfaceDevServiceImpl extends ServiceImpl i public List getDevSnListByGroupId(String groupId) { return ufaceDevMapper.getDevSnListByGroupId(groupId); } + + @Override + public void online(String devSn) { + LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate(); + wrapper.set(UfaceDev::getHeartBeatTime, new Date()); + wrapper.eq(UfaceDev::getDevSn, devSn); + this.update(wrapper); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index f7907d6e5..8d707163c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -71,7 +71,7 @@ mqtt.url=tcp://jxj.zhgdyun.com:1883 mqtt.producer.clientId=mqttProd0729 mqtt.producer.defaultTopic=topic1 mqtt.consumer.clientId=mqttConsumer0729 -mqtt.consumer.defaultTopic=topic1,mqtt/face/+/Ack,mqtt/face/+/Rec,face/createFace/response,face/response +mqtt.consumer.defaultTopic=topic1,mqtt/face/+/Ack,mqtt/face/+/Rec,face/createFace/response,face/response,heartbeat/response #mqtt.consumer.defaultTopic=/P114101/202203010084 #server.http2.enabled=true #server.ssl.key-store=classpath:www.cscec1b1.com.jks