规范了update data的构建方式,统一使用build_update_request_data方法来处理更新数据的构建和过滤逻辑。这个方法会根据提供的原始数据、更新数据和对应的schema来生成最终的更新请求数据,同时会自动排除掉未变化的字段和空值字段,从而确保只发送必要的更新信息到后端接口。这种方式不仅简化了代码逻辑,还提高了代码的可维护性和一致性。
This commit is contained in:
@@ -106,7 +106,7 @@ class MaterialApiHandler(BaseApiHandler):
|
||||
|
||||
# 1. 基础信息更新 (MaterialUpdate)
|
||||
force_steps_update = self._steps_changed(node)
|
||||
base_diff = self._get_schema_diff(
|
||||
base_diff = self.get_update_schema_diff(
|
||||
MaterialUpdate,
|
||||
data,
|
||||
origin_data,
|
||||
@@ -131,7 +131,7 @@ class MaterialApiHandler(BaseApiHandler):
|
||||
error = f"{ERROR_VALIDATION_FAILED}: {e}"
|
||||
|
||||
# 2. 计划信息更新 (MaterialPlanUpdate)
|
||||
plan_diff = self._get_schema_diff(MaterialPlanUpdate, data, origin_data, node.node_id)
|
||||
plan_diff = self.get_update_schema_diff(MaterialPlanUpdate, data, origin_data, node.node_id)
|
||||
if not error and plan_diff:
|
||||
try:
|
||||
plan_model = MaterialPlanUpdate.model_validate(data)
|
||||
|
||||
Reference in New Issue
Block a user