| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.inspur.netty.handler;
- import com.inspur.device.domain.SmsbDeviceRunInfo;
- import com.inspur.device.domain.vo.SmsbDeviceVo;
- import com.inspur.device.mapper.SmsbDeviceRunInfoMapper;
- import com.inspur.device.service.ISmsbDeviceService;
- import com.inspur.device.service.impl.SmsbDeviceServiceImpl;
- import com.inspur.netty.message.receive.ReceiveMessageType;
- import io.netty.channel.ChannelHandlerContext;
- import io.netty.channel.ChannelInboundHandlerAdapter;
- import lombok.extern.slf4j.Slf4j;
- import org.dromara.common.core.utils.SpringUtils;
- /**
- * 设备运行信息处理器
- *
- * @author lihao16
- */
- @Slf4j
- public class DeviceRunInfoHandler extends ChannelInboundHandlerAdapter {
- private static final SmsbDeviceRunInfoMapper smsbDeviceRunInfoMapper = SpringUtils.getBean(SmsbDeviceRunInfoMapper.class);
- private static final ISmsbDeviceService smsbDeviceService = SpringUtils.getBean(SmsbDeviceServiceImpl.class);
- @Override
- public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
- String message = (String) msg;
- if (message.contains(ReceiveMessageType.DEVICE_RUN_INFO.getValue())) {
- log.info("DeviceRunInfoHandler : receive device run info message :{}", message);
- String[] messageArray = message.split("/");
- String identifier = messageArray[0];
- SmsbDeviceVo smsbDeviceVo = smsbDeviceService.getDeviceByIdentifier(identifier);
- if (null == smsbDeviceVo) {
- return;
- }
- SmsbDeviceRunInfo smsbDeviceRunInfo = new SmsbDeviceRunInfo();
- buildSmsbDeviceRunInfo(smsbDeviceRunInfo, messageArray, smsbDeviceVo);
- smsbDeviceRunInfoMapper.insert(smsbDeviceRunInfo);
- } else {
- ctx.fireChannelRead(message);
- }
- }
- private void buildSmsbDeviceRunInfo(SmsbDeviceRunInfo smsbDeviceRunInfo, String[] messageArray, SmsbDeviceVo smsbDeviceVo) {
- }
- }
|