package com.ld.igds.protocol.fzzy.command; import com.ld.igds.io.RemotePestService; import com.ld.igds.io.constant.OrderRespEnum; import com.ld.igds.io.request.CheckPestRequest; import com.ld.igds.io.response.PestResponse; import com.ld.igds.protocol.fzzy.builder.PestCommandBuilder; import com.ld.igds.protocol.fzzy.builder.PestStopCommandBuilder; import com.ld.igds.protocol.fzzy.dto.SendMessage; import com.ld.io.api.InvokeResult; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * 检测虫害 */ @Slf4j @Component(RemotePestServiceImpl.BEAN_ID) public class RemotePestServiceImpl extends BaseRemoteImpl implements RemotePestService { public static final String BEAN_ID = "fzzy.remotePestService"; @Override public PestResponse checkPest(CheckPestRequest request) { try { SendMessage message = PestCommandBuilder.getInstance() .buildMessage(request); InvokeResult result = send(request.getIp(), request.getPort(), message.getByteMsg()); log.error("平台------>>>>控制柜:虫害检测-{}", message.getStrMsg()); if (InvokeResult.SUCCESS != result) { log.error("平台------>>>>控制柜:虫害检测-失败{}", result.getMessage()); return new PestResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集执行失败:" + result.getMessage()); } } catch (Exception e) { log.error("气体检测异常:{}", e); return new PestResponse(OrderRespEnum.ORDER_ERROR.getCode(), "采集异常,原因:" + e.getMessage()); } return new PestResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "气体采集命令发送成功!"); } @Override public PestResponse stopCheckPest(CheckPestRequest request) { try { SendMessage message = PestStopCommandBuilder.getInstance().buildMessage(request); InvokeResult result = send(request.getIp(), request.getPort(), message.getByteMsg()); if (InvokeResult.SUCCESS != result) { return new PestResponse(OrderRespEnum.ORDER_ERROR.getCode(), "停止命令发送失败:" + result.getMessage()); } } catch (Exception e) { log.error("气体检测异常:{}", e); return new PestResponse(OrderRespEnum.ORDER_ERROR.getCode(), "停止命令异常,原因:" + e.getMessage()); } return new PestResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "虫害停止命令发送成功!"); } @Override public PestResponse checkPestByPoint(CheckPestRequest request) { return checkPest(request); } }