package com.ld.igds.protocol.bhzn.verb.command; import com.ld.igds.io.RemoteGasService; import com.ld.igds.io.constant.OrderRespEnum; import com.ld.igds.io.request.CheckGasRequest; import com.ld.igds.io.response.GasResponse; import com.ld.igds.protocol.bhzn.verb.builder.GasCommandBuilder; import com.ld.igds.protocol.bhzn.verb.builder.GasStopCommandBuilder; import com.ld.igds.protocol.bhzn.verb.dto.IoMessage; import com.ld.io.api.InvokeResult; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * 气体采集命令实现 */ @Slf4j @Component(RemoteGasServiceImpl.BEAN_ID) public class RemoteGasServiceImpl extends BaseRemoteImpl implements RemoteGasService { public static final String BEAN_ID = "bhzn.remoteGasService"; @Override public GasResponse checkGas(CheckGasRequest request) { try { IoMessage message = GasCommandBuilder.getInstance().buildMessage(request); InvokeResult result = send(request.getIp(), request.getPort(), message.getByteMsg()); log.error("平台------>>>>控制柜:气体检测-{}", message.toString()); if (InvokeResult.SUCCESS != result) { log.error("平台------>>>>控制柜:气体检测-失败{}", result.getMessage()); return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集执行失败:" + result.getMessage()); } } catch (Exception e) { log.error("气体检测异常:{}", e); return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集异常,原因:" + e.getMessage()); } return new GasResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "气体采集命令发送成功!"); } @Override public GasResponse stopCheckGas(CheckGasRequest request) { try { IoMessage message = GasStopCommandBuilder.getInstance().buildMessage(request); InvokeResult result = send(request.getIp(), request.getPort(), message.getByteMsg()); log.error("平台------>>>>控制柜:气体检测-{}", message.toString()); if (InvokeResult.SUCCESS != result) { log.error("平台------>>>>控制柜:气体检测-失败{}", result.getMessage()); return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集执行失败:" + result.getMessage()); } } catch (Exception e) { log.error("气体检测异常:{}", e); return new GasResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集异常,原因:" + e.getMessage()); } return new GasResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "气体采集命令发送成功!"); } @Override public GasResponse checkGasByPoint(CheckGasRequest request) { return checkGas(request); } }