diff --git a/commons/src/main/java/org/yzh/commons/constant/BusinessConstant.java b/commons/src/main/java/org/yzh/commons/constant/BusinessConstant.java index 292376f..5852394 100644 --- a/commons/src/main/java/org/yzh/commons/constant/BusinessConstant.java +++ b/commons/src/main/java/org/yzh/commons/constant/BusinessConstant.java @@ -1,13 +1,30 @@ package org.yzh.commons.constant; public interface BusinessConstant { + /** + * 通用日志前缀 + */ String LOGGER_PREFIX = " --- custom log --- "; + /** + * 默认通道号 + */ Integer DEFAULT_CHANNEL_NO = 9; + /** + * 直播推流状态 + */ String LIVE_STATUS_ONLINE = "online"; String LIVE_STATUS_WAITING = "waiting"; String LIVE_STATUS_OFFLINE = "offline"; + /** + * 慢直播服务更新推流车辆和直播推流状态接口地址 + */ String LIVE_SERVER_UPDATE_PUSH_CAR = "http://42.192.165.208:8002/blade-business/common-api/set-push-car-and-stat"; + + /** + * jtt1078服务IP地址 + */ + String JTT1078_SERVER_HOST = "112.6.27.89"; } diff --git a/commons/src/main/java/org/yzh/commons/util/BusinessCacheUtil.java b/commons/src/main/java/org/yzh/commons/util/BusinessCacheUtil.java index 1f7ba65..9aec951 100644 --- a/commons/src/main/java/org/yzh/commons/util/BusinessCacheUtil.java +++ b/commons/src/main/java/org/yzh/commons/util/BusinessCacheUtil.java @@ -11,6 +11,7 @@ public class BusinessCacheUtil { private static String CACHE_KEY_CURRENT_PUSH_CHANNEL = "current-push-channel"; private static String CACHE_KEY_1078_PUSH_DEVICE = "1078-push-device"; private static String CACHE_KEY_PUSH_STATUS = "push-status"; + private static String CACHE_KEY_PUSH_EMPTY_TIMES = "1078-push-empty-times"; /** * 获取当前推流车辆的clientID @@ -85,4 +86,22 @@ public class BusinessCacheUtil { public static void setPushStatus(String status) { businessCache.put(CACHE_KEY_PUSH_STATUS, status); } + + /** + * 获取1078推送为空的次数缓存 + * + * @return + */ + public static int getPushEmptyTimes() { + String times = "0"; + if (businessCache.containsKey(CACHE_KEY_PUSH_EMPTY_TIMES)) { + times = businessCache.get(CACHE_KEY_PUSH_EMPTY_TIMES); + } + + return Integer.parseInt(times); + } + + public static void setPushEmptyTimes(int times) { + businessCache.put(CACHE_KEY_PUSH_EMPTY_TIMES, String.valueOf(times)); + } } diff --git a/jtt808-server/src/main/java/io/github/yezhihao/netmc/websocket/WsChannelInboundHandler.java b/jtt808-server/src/main/java/io/github/yezhihao/netmc/websocket/WsChannelInboundHandler.java index 0035209..97ef399 100644 --- a/jtt808-server/src/main/java/io/github/yezhihao/netmc/websocket/WsChannelInboundHandler.java +++ b/jtt808-server/src/main/java/io/github/yezhihao/netmc/websocket/WsChannelInboundHandler.java @@ -39,12 +39,21 @@ public class WsChannelInboundHandler extends SimpleChannelInboundHandler { // log.warn("消息发送失败", e); - log.warn(BusinessConstant.LOGGER_PREFIX + " : 发送推流命令 : 结果 = 消息发送失败. msg : {}", e); + log.info(BusinessConstant.LOGGER_PREFIX + " : 发送推流命令 : 结果 = 消息发送失败. msg : {}", e); return SENDFAIL_RESULT; }); log.info(BusinessConstant.LOGGER_PREFIX + " : 发送推流命令 : 结果 = {}", resultMono.block().toString()); diff --git a/jtt808-server/src/main/java/org/yzh/web/service/SendCommandService.java b/jtt808-server/src/main/java/org/yzh/web/service/SendCommandService.java index 6586b77..34c41d0 100644 --- a/jtt808-server/src/main/java/org/yzh/web/service/SendCommandService.java +++ b/jtt808-server/src/main/java/org/yzh/web/service/SendCommandService.java @@ -2,6 +2,7 @@ package org.yzh.web.service; import io.github.yezhihao.netmc.session.Session; import io.github.yezhihao.netmc.session.SessionManager; +import io.netty.util.internal.ObjectUtil; import io.netty.util.internal.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,7 +51,7 @@ public class SendCommandService { T9101 request = new T9101(); request.setChannelNo(9); request.setClientId(clientId); - request.setIp("112.6.27.89"); + request.setIp(BusinessConstant.JTT1078_SERVER_HOST); request.setMediaType(1); request.setStreamType(0); request.setTcpPort(4001); @@ -77,6 +78,11 @@ public class SendCommandService { * 管理当前所有在线设备, 自动发送推流命令, 直到成功一个或全部失败, 通知慢直播平台当前推流车辆及推流状态 */ public void sendToDevice() { + if (sessionManager.all() == null || sessionManager.all().size() == 0) { + log.info(BusinessConstant.LOGGER_PREFIX + " : 自定义推流方法 sendToDevice : 当前无在线设备, 直接返回 "); + return; + } + log.info(BusinessConstant.LOGGER_PREFIX + " : 自定义推流方法 sendToDevice : 开始执行 "); if (sendCommandToDeviceThread != null && sendCommandToDeviceThread.isAlive()) { @@ -145,7 +151,7 @@ public class SendCommandService { T9101 request = new T9101(); request.setChannelNo(channelNo); request.setClientId(clientId); - request.setIp("112.6.27.89"); + request.setIp(BusinessConstant.JTT1078_SERVER_HOST); request.setMediaType(1); request.setStreamType(0); request.setTcpPort(4001); @@ -214,6 +220,7 @@ public class SendCommandService { params.put("clientId", clientId); params.put("carStat", status); log.info(BusinessConstant.LOGGER_PREFIX + " : 调用慢直播服务接口 : 当前推流设备 = {} - {} - {}", clientId, channelNo, status); - HttpClientUtils.doGet(url, params); + String res = HttpClientUtils.doGet(url, params); + log.info(BusinessConstant.LOGGER_PREFIX + " : 调用慢直播服务接口 : 返回结果 = {}", res); } }