From e733c442a3b41cd950232e1c20ca77e0b0b998a1 Mon Sep 17 00:00:00 2001 From: limqhz <540344226@qq.com> Date: Wed, 13 Dec 2023 21:16:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E3=80=81=E5=89=8D=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/controller/AdminNettyController.java | 17 +++++++++++++++++ .../sv/netty/netty/service/MessageService.java | 2 ++ .../impl/ServerMessageHandlerAdapter.java | 10 ++++++++++ .../com/sv/oms/controller/DeviceController.java | 6 ++++++ .../java/com/sv/service/oms/DeviceService.java | 17 +++++++++++++++++ 5 files changed, 52 insertions(+) diff --git a/api/src/main/java/com/sv/netty/controller/AdminNettyController.java b/api/src/main/java/com/sv/netty/controller/AdminNettyController.java index 462f5eb..fabb622 100644 --- a/api/src/main/java/com/sv/netty/controller/AdminNettyController.java +++ b/api/src/main/java/com/sv/netty/controller/AdminNettyController.java @@ -104,6 +104,23 @@ public class AdminNettyController extends BaseApiController { return ResponseDTO.ok(); } + /** + * 检验客户端读取能力 + * @return + */ + @RequestMapping("/upload/log/{id}") + public ResponseDTO uploadLog(@PathVariable("id") Integer id) { + Device device = deviceService.findById(id); + if (device == null){ + throw new ServiceException("设备不存在"); + } + if (!DeviceStatusEnum.ONLINE.value.equals(device.getStatus())){ + throw new ServiceException("设备离线!请检查连接"); + } + messageService.testLoad(device.getName(),device.getVenueId()); + return ResponseDTO.ok(); + } + /** * 下载线下入场凭证(二维码) * @param id diff --git a/api/src/main/java/com/sv/netty/netty/service/MessageService.java b/api/src/main/java/com/sv/netty/netty/service/MessageService.java index 6ea67aa..41ec8cb 100644 --- a/api/src/main/java/com/sv/netty/netty/service/MessageService.java +++ b/api/src/main/java/com/sv/netty/netty/service/MessageService.java @@ -52,5 +52,7 @@ public interface MessageService { void testLoad(String deviceName, Integer venueId); + void uploadLog(String deviceName, Integer venueId); + void offlineOpenDoor(String message); } diff --git a/api/src/main/java/com/sv/netty/netty/service/impl/ServerMessageHandlerAdapter.java b/api/src/main/java/com/sv/netty/netty/service/impl/ServerMessageHandlerAdapter.java index 6fd5bff..76c03dd 100644 --- a/api/src/main/java/com/sv/netty/netty/service/impl/ServerMessageHandlerAdapter.java +++ b/api/src/main/java/com/sv/netty/netty/service/impl/ServerMessageHandlerAdapter.java @@ -225,6 +225,16 @@ public class ServerMessageHandlerAdapter implements MessageService { ServerMessageUtils.INSTANCE.sendMsg(currentChannel,new VenueMessage(MessageType.HB,"测试链接")); } + /** + * 测试客户端连接 + * @return + */ + @Override + public void uploadLog(String deviceName, Integer venueId) { + Channel currentChannel = getCurrentChannel(deviceName, venueId); + ServerMessageUtils.INSTANCE.sendMsg(currentChannel,new VenueMessage(MessageType.LOG,"上传日志")); + } + /** * 线下订单 */ diff --git a/oms/src/main/java/com/sv/oms/controller/DeviceController.java b/oms/src/main/java/com/sv/oms/controller/DeviceController.java index 593cfe3..932dd7e 100644 --- a/oms/src/main/java/com/sv/oms/controller/DeviceController.java +++ b/oms/src/main/java/com/sv/oms/controller/DeviceController.java @@ -85,6 +85,12 @@ public class DeviceController extends OmsController { return ResponseDTO.ok("入场开门成功!"); } + @RequestMapping("/device/upload/log/{id}") + public ResponseDTO uploadLog(@PathVariable("id") Integer deviceId){ + deviceService.uploadLog(deviceId); + return ResponseDTO.ok("上传日志成功!"); + } + /** * 重新连接 * @param deviceId diff --git a/service/src/main/java/com/sv/service/oms/DeviceService.java b/service/src/main/java/com/sv/service/oms/DeviceService.java index 01aa2e6..c4d8cbc 100644 --- a/service/src/main/java/com/sv/service/oms/DeviceService.java +++ b/service/src/main/java/com/sv/service/oms/DeviceService.java @@ -214,6 +214,23 @@ public class DeviceService extends BaseServiceImpl { } } + public void uploadLog(Integer deviceId){ + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + HttpEntity> request = new HttpEntity<>(null,headers); + ResponseDTO responseDTO = null; + responseDTO = restTemplate.postForObject("http://127.0.0.1:8093/uplaod/log/"+deviceId, request, ResponseDTO.class); + Integer code = (Integer) responseDTO.get(ResponseDTO.ERR_CODE); + if(0 != code){ + throw new OmsException("上传日志失败,设备离线或者门禁异常!"); + } + }catch (Exception e){ + logger.error("设备离线或者门禁异常",e); + throw new OmsException("上传日志失败,设备离线或者门禁异常!"); + } + } + /** * find by DeviceName */