wlzboy
2025-12-23 355dda1f90c70ab04c4517688da37d1a4236f112
ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java
@@ -40,7 +40,7 @@
            case PENDING:        // 待处理 - 不同步
            case ARRIVED:        // 已到达 - 不同步
            default:
                log.debug("新系统状态不需要同步到旧系统: {}", taskStatus.getInfo());
//                log.debug("新系统状态不需要同步到旧系统: {}", taskStatus.getInfo());
                return null;
        }
    }
@@ -55,18 +55,18 @@
     */
    public static boolean shouldUpdateLegacyStatus(Integer newStatusCode, Integer oldStatusCode) {
        if (newStatusCode == null || oldStatusCode == null) {
            log.warn("状态码为空,跳过更新,新状态码: {}, 旧状态码: {}", newStatusCode, oldStatusCode);
//            log.warn("状态码为空,跳过更新,新状态码: {}, 旧状态码: {}", newStatusCode, oldStatusCode);
            return false;
        }
        
        // 防止状态倒退:旧系统状态 >= 新系统要推送的状态时,不更新
        // 原因:可能是旧系统已经处理了更新的状态,而新系统由于时间差还没有同步到
        if (oldStatusCode >= newStatusCode) {
            log.info("旧系统状态({}) >= 新系统目标状态({}),跳过推送,防止状态倒退," +
                "旧系统: {} ({}), 新系统目标: {} ({})",
                oldStatusCode, newStatusCode,
                oldStatusCode, getLegacyStatusDescription(oldStatusCode),
                newStatusCode, getLegacyStatusDescription(newStatusCode));
//            log.info("旧系统状态({}) >= 新系统目标状态({}),跳过推送,防止状态倒退," +
//                "旧系统: {} ({}), 新系统目标: {} ({})",
//                oldStatusCode, newStatusCode,
//                oldStatusCode, getLegacyStatusDescription(oldStatusCode),
//                newStatusCode, getLegacyStatusDescription(newStatusCode));
            return false;
        }
        
@@ -74,17 +74,17 @@
        if (oldStatusCode >= 8) {
            // 旧系统已经是完成态(8,9,10),不应该被任何中间状态覆盖
            if (newStatusCode < 8) {
                log.warn("旧系统已是终态({})(:{}),拒绝推送中间状态({})(:{})",
                    oldStatusCode, getLegacyStatusDescription(oldStatusCode),
                    newStatusCode, getLegacyStatusDescription(newStatusCode));
//                log.warn("旧系统已是终态({})(:{}),拒绝推送中间状态({})(:{})",
//                    oldStatusCode, getLegacyStatusDescription(oldStatusCode),
//                    newStatusCode, getLegacyStatusDescription(newStatusCode));
                return false;
            }
        }
        
        log.debug("允许推送状态,旧系统: {} ({}), 新系统目标: {} ({})",
            oldStatusCode, getLegacyStatusDescription(oldStatusCode),
            newStatusCode, getLegacyStatusDescription(newStatusCode));
//        log.debug("允许推送状态,旧系统: {} ({}), 新系统目标: {} ({})",
//            oldStatusCode, getLegacyStatusDescription(oldStatusCode),
//            newStatusCode, getLegacyStatusDescription(newStatusCode));
//
        return true;
    }