DeviceRunInfoHandler.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.inspur.netty.handler;
  2. import com.inspur.device.domain.SmsbDeviceRunInfo;
  3. import com.inspur.device.domain.vo.SmsbDeviceVo;
  4. import com.inspur.device.mapper.SmsbDeviceRunInfoMapper;
  5. import com.inspur.device.service.ISmsbDeviceService;
  6. import com.inspur.device.service.impl.SmsbDeviceServiceImpl;
  7. import com.inspur.netty.message.receive.ReceiveMessageType;
  8. import io.netty.channel.ChannelHandlerContext;
  9. import io.netty.channel.ChannelInboundHandlerAdapter;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.dromara.common.core.utils.SpringUtils;
  12. /**
  13. * 设备运行信息处理器
  14. *
  15. * @author lihao16
  16. */
  17. @Slf4j
  18. public class DeviceRunInfoHandler extends ChannelInboundHandlerAdapter {
  19. private static final SmsbDeviceRunInfoMapper smsbDeviceRunInfoMapper = SpringUtils.getBean(SmsbDeviceRunInfoMapper.class);
  20. private static final ISmsbDeviceService smsbDeviceService = SpringUtils.getBean(SmsbDeviceServiceImpl.class);
  21. @Override
  22. public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
  23. String message = (String) msg;
  24. if (message.contains(ReceiveMessageType.DEVICE_RUN_INFO.getValue())) {
  25. log.info("DeviceRunInfoHandler : receive device run info message :{}", message);
  26. String[] messageArray = message.split("/");
  27. String identifier = messageArray[0];
  28. SmsbDeviceVo smsbDeviceVo = smsbDeviceService.getDeviceByIdentifier(identifier);
  29. if (null == smsbDeviceVo) {
  30. return;
  31. }
  32. SmsbDeviceRunInfo smsbDeviceRunInfo = new SmsbDeviceRunInfo();
  33. buildSmsbDeviceRunInfo(smsbDeviceRunInfo, messageArray, smsbDeviceVo);
  34. smsbDeviceRunInfoMapper.insert(smsbDeviceRunInfo);
  35. } else {
  36. ctx.fireChannelRead(message);
  37. }
  38. }
  39. private void buildSmsbDeviceRunInfo(SmsbDeviceRunInfo smsbDeviceRunInfo, String[] messageArray, SmsbDeviceVo smsbDeviceVo) {
  40. }
  41. }