CZT
2023-09-26 d52037b84cd6689b1cc03b47a5cd43fcb6b7342f
igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grain/RemoteGrainServiceImpl.java
@@ -1,5 +1,6 @@
package com.ld.igds.protocol.beibo.grain;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.io.RemoteGrainService;
import com.ld.igds.io.constant.OrderRespEnum;
import com.ld.igds.io.constant.ProtocolEnum;
@@ -8,8 +9,10 @@
import com.ld.igds.protocol.beibo.grain.builder.CommandBuild;
import com.ld.igds.protocol.beibo.grain.client.BeiboClientEngine;
import com.ld.igds.util.BytesUtil;
import com.ld.igds.util.RedisUtil;
import com.ld.io.api.InvokeResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
@@ -23,6 +26,9 @@
    public static final String BEAN_ID = "beiboGrain.remoteGrainService";
    @Autowired
    private RedisUtil redisUtil;
    @Override
    public String getProtocol() {
        return ProtocolEnum.TCP_BEIBO_GRAIN_V1.getCode();
@@ -31,20 +37,22 @@
    @Override
    public GrainResponse checkGrain(CheckGrainRequest request) {
        try {
            log.info("贝博粮情分机开始检测,分机{}的IP={},端口={}",request.getSerId(),request.getIp(),request.getPort());
            BeiboClientEngine beibo = new BeiboClientEngine(request.getIp(),request.getPort());
            log.info("贝博粮情分机开始检测,分机{}的IP={},端口={}", request.getSerId(), request.getIp(), request.getPort());
            BeiboClientEngine beibo = new BeiboClientEngine(request.getIp(), request.getPort());
            beibo.start();
            Thread.sleep(3000);
            //生成粮情命令
            String hexStr = CommandBuild.getInstance().getMsgCheck(request.getSerId(), request.getDepotId());
            String hexStr = CommandBuild.getInstance().getMsgCheck(request.getSerId());
            InvokeResult result = beibo.send(BytesUtil.hexStrToBytes(hexStr));
            log.info("result=" +result.getMessage());
            log.info("result=" + result.getMessage());
            // 封装返回信息
            if (InvokeResult.SUCCESS == result) {
                String key = RedisConst.buildKey(request.getCompanyId(), "GRAIN_BEIBO");
                redisUtil.set(key, request.getDepotId());
                return new GrainResponse(OrderRespEnum.ORDER_SUCCESS.getCode(),
                        "粮情粮情发送成功!");
            } else {