diff --git a/update-service/src/main/java/com/xuqm/update/service/StoreSubmissionService.java b/update-service/src/main/java/com/xuqm/update/service/StoreSubmissionService.java index cd146c3..3eacc15 100644 --- a/update-service/src/main/java/com/xuqm/update/service/StoreSubmissionService.java +++ b/update-service/src/main/java/com/xuqm/update/service/StoreSubmissionService.java @@ -554,15 +554,19 @@ public class StoreSubmissionService { String onlineVersionName = appData.path("versionName").asText(""); int auditInt = appData.path("audit_status").asInt(appData.path("auditStatus").asInt(-1)); String submittedCode = String.valueOf(v.getVersionCode()); + // OPPO audit_status: 2/3/4/111 = online variants, 444 = rejected aggregate. + // 5 is NOT rejected — it maps to "审核中" (under review) per observed API behavior. boolean isLive = auditInt == 111 || List.of("2", "3", "4").contains(String.valueOf(auditInt)); StoreRemoteState.ReviewState reviewState; - if (auditInt == 444 || "5".equals(String.valueOf(auditInt))) { + if (auditInt == 444) { reviewState = StoreRemoteState.ReviewState.REJECTED; } else if (isLive) { reviewState = StoreRemoteState.ReviewState.ONLINE; } else { reviewState = StoreRemoteState.ReviewState.UNDER_REVIEW; } + log.info("OPPO remote state: versionId={} auditInt={} onlineCode={} submittedCode={} reviewState={}", + v.getId(), auditInt, onlineVersionCode, submittedCode, reviewState); return StoreRemoteState.ok( AppStoreConfigEntity.StoreType.OPPO, reviewState, @@ -728,6 +732,14 @@ public class StoreSubmissionService { storeService.updateStoreReview(v.getId(), storeType, AppVersionEntity.StoreReviewState.UNDER_REVIEW, "小米应用商店当前提交版本审核中"); + } else if (polled.getReviewState() == StoreRemoteState.ReviewState.UNDER_REVIEW) { + // Submission may have succeeded after our platform recorded an exception. + // Remote shows under review — restore from REJECTED. + log.info("Store review poll: {}/{} was REJECTED but remote shows UNDER_REVIEW — restoring", + v.getId(), storeType); + storeService.updateStoreReview(v.getId(), storeType, + AppVersionEntity.StoreReviewState.UNDER_REVIEW, + "厂商审核状态轮询检测:商店显示审核中"); } // otherwise leave REJECTED as-is }