规范了update data的构建方式,统一使用build_update_request_data方法来处理更新数据的构建和过滤逻辑。这个方法会根据提供的原始数据、更新数据和对应的schema来生成最终的更新请求数据,同时会自动排除掉未变化的字段和空值字段,从而确保只发送必要的更新信息到后端接口。这种方式不仅简化了代码逻辑,还提高了代码的可维护性和一致性。

This commit is contained in:
strepsiades
2026-03-30 14:51:01 +08:00
parent f50dc1aed0
commit bdc7bd5069
28 changed files with 416 additions and 129 deletions
@@ -144,9 +144,9 @@ class MaterialDetailApiHandler(BaseApiHandler):
origin_data = node.get_origin_data() or {}
# 使用 _get_schema_diff 检查差异并打印日志
# 使用 get_update_schema_diff 作为 update 入口检查差异并打印日志
force_steps_update = self._steps_changed(node)
diff_fields = self._get_schema_diff(
diff_fields = self.get_update_schema_diff(
MaterialDetailUpdate,
data,
origin_data,
@@ -165,7 +165,7 @@ class MaterialDetailApiHandler(BaseApiHandler):
continue
# 需要完整的 schema 数据(包括必填字段)
update_data = self._filter_update_data(
update_data = self.build_update_request_data(
data,
origin_data,
MaterialDetailUpdate,