fix: align rule rollback version resolution
This commit is contained in:
@@ -127,12 +127,10 @@ class RuleConfigServiceImpl(IRuleConfigService):
|
||||
resolved_version_id = current_version_id or fallback_version_id
|
||||
has_usable_version = bool(rule_set_meta.get("has_usable_version"))
|
||||
usable_rule_count = int(rule_set_meta.get("usable_rule_count") or 0)
|
||||
latest_version_id = await self._load_latest_version_id(rule_set_id)
|
||||
latest_version_seq = await self._load_version_seq_by_id(latest_version_id)
|
||||
resolved_version_seq = await self._load_version_seq_by_id(resolved_version_id)
|
||||
if latest_version_id is not None and (resolved_version_id is None or latest_version_seq > resolved_version_seq):
|
||||
# 规则详情页优先读取最新草稿;上传运行仍以 current/fallback 的可用版本为准。
|
||||
resolved_version_id = latest_version_id
|
||||
if resolved_version_id is None:
|
||||
# 仅在当前没有生效版本时,才回退到最新版本(通常是草稿)。
|
||||
# 否则规则详情页必须与当前生效版本保持一致,发布/回滚后才能看到真实内容切换。
|
||||
resolved_version_id = await self._load_latest_version_id(rule_set_id)
|
||||
if resolved_version_id is not None:
|
||||
yaml_text = await self._load_yaml_text_by_version_id(resolved_version_id)
|
||||
source_status = "ready" if yaml_text.strip() else "missing"
|
||||
|
||||
Reference in New Issue
Block a user