package com.ld.igds.protocol.quantity.shuhan.server; import com.alibaba.fastjson.JSON; import com.ld.igds.protocol.quantity.shuhan.ShuHanUtils; import com.ld.igds.protocol.quantity.shuhan.analysis.AnalysisService; import com.ld.igds.protocol.quantity.shuhan.command.Message; import com.ld.igds.util.SpringUtil; import com.ld.io.api.IoMsgConsumer; import com.ld.io.api.IoSession; import lombok.extern.slf4j.Slf4j; /** * 接收终端返回回来的信息。 * * @author vince */ @Slf4j public class MsgConsumer implements IoMsgConsumer { private AnalysisService analysisService; @Override public void consume(IoSession session, byte[] bytes) { String msg; try { msg = new String(bytes, ShuHanUtils.CHARSET); msg = msg.substring(ShuHanUtils.MSG_START.length()); Message message = JSON.parseObject(msg, Message.class); //调用解析接口开始解析 if (null == analysisService) { analysisService = (AnalysisService) SpringUtil.getBean(AnalysisService.BEAN_ID); } analysisService.analysis(session.getAddress(), session.getPort(), message); } catch (Exception e) { e.printStackTrace(); log.error(e.getMessage(), e); } } }