zhang
12 小时以前 70930071a49190f414c8d8bc9c9e9795a4096739
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvCmdService.java
@@ -12,9 +12,11 @@
import com.zy.acs.common.domain.protocol.IMessageBody;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.common.utils.RequestSupport;
import com.zy.acs.manager.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zy.acs.common.utils.News;
import java.util.concurrent.TimeoutException;
@@ -29,11 +31,13 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private ConfigService configService;
    public BaseResult<?> executeAgvActionCmd(AgvAction agvAction) {
        // todo 1: 记录日志 2:发送任务  3:同步响应
        log.info(JSON.toJSONString(agvAction));
//        News.info(JSON.toJSONString(agvAction));
        String serialNo = agvAction.getSerialNo();
@@ -47,7 +51,7 @@
    public BaseResult<?> executeAgvCommand(AgvCommand agvCommand) {
        // todo 1: 记录日志 2:发送任务  3:同步响应
        log.info(JSON.toJSONString(agvCommand));
        News.info(JSON.toJSONString(agvCommand));
        String serialNo = agvCommand.getSerialNo();
@@ -66,7 +70,8 @@
            } else {
                return BaseResult.error();
            }
        } catch (TimeoutException ex){
        } catch (TimeoutException e){
            News.error("AgvCmdService.requestProcess", e);
            return BaseResult.error();
        }
    }
@@ -74,7 +79,7 @@
    @SuppressWarnings("all")
    private IMessageBody executeRequest(String serialNo, AgvProtocol protocol) throws TimeoutException {
        redis.push(RedisConstant.AGV_CMD_DOWN_FLAG, protocol);
        redis.push(RedisConstant.AGV_PATH_DOWN_FLAG, protocol);
        IMessageBody messageBody = null;
@@ -82,12 +87,12 @@
        // 获取响应
        long startTime = System.currentTimeMillis();
        while ((System.currentTimeMillis() - startTime) < RedisConstant.CMD_TIMEOUT_LIMIT) {
            if ((messageBody = redis.getObject(RedisConstant.AGV_CMD_UP_FLAG, redisKey)) != null){
                redis.deleteObject(RedisConstant.AGV_CMD_UP_FLAG, redisKey);
            if ((messageBody = redis.getObject(RedisConstant.AGV_PATH_UP_FLAG, redisKey)) != null){
                redis.deleteObject(RedisConstant.AGV_PATH_UP_FLAG, redisKey);
                return messageBody;
            }
            try{
                Thread.sleep(100);
                Thread.sleep(10);
            }catch(Exception ex){
                ex.printStackTrace();
            }
@@ -95,4 +100,4 @@
        throw new TimeoutException();
    }
}
}