This commit is contained in:
2026-04-29 14:06:41 +08:00
parent 65216cd4cf
commit 8e4c2eef98
37 changed files with 2686 additions and 1985 deletions
+10
View File
@@ -206,6 +206,16 @@ class FeishuClient:
primary_field = next((field for field in fields if field.get("is_primary")), None)
if not primary_field:
raise FeishuApiError("未找到主字段")
expected_field_names = {spec.feishu_name for spec in FIELD_SPECS}
actual_managed_field_names = {
field.get("field_name")
for field in fields
if not field.get("is_primary") and field.get("field_name") in expected_field_names
}
primary_matches = primary_field.get("field_name") == PRIMARY_FIELD_NAME
fields_match = actual_managed_field_names == expected_field_names
if primary_matches and fields_match:
return [field.get("field_name") for field in fields if field.get("field_name")]
duplicate_primary = next(
(field for field in fields if not field.get("is_primary") and field.get("field_name") == PRIMARY_FIELD_NAME),