#
luxiaotao1123
2024-11-11 6324d391d2b0aa5b96128f5e07a612ec7ebf8c20
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvCmdService.java
@@ -12,6 +12,7 @@
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;
@@ -29,6 +30,8 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private ConfigService configService;
    public BaseResult<?> executeAgvActionCmd(AgvAction agvAction) {
@@ -38,6 +41,11 @@
        String serialNo = agvAction.getSerialNo();
        AgvProtocol protocol = AgvProtocol.build(agvAction.getAgvNo()).setMessageBody(agvAction.beMesBody(serialNo));
        // fake
        if (configService.getVal("fakeSign", Boolean.class)) {
            return BaseResult.ok();
        }
        return this.requestProcess(serialNo, protocol
                , (RequestSupport<AGV_01_UP>) result -> result.getSerialNo().equals(serialNo));
@@ -74,7 +82,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,8 +90,8 @@
        // 获取响应
        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{