fix(ccdi-project): 修复审计字段和批量更新性能问题

1. 补充审计字段设置:
   - updateParamValue 添加 update_by 字段
   - insertBatch 添加 create_by 和 update_by 字段
   - Service 层手动设置审计字段

2. 优化批量更新性能:
   - 从循环单次更新改为批量更新
   - 使用 batchUpdateParamValues 方法
   - 减少数据库交互次数(从18次减少到1次)

影响:提升性能,完善审计追踪
This commit is contained in:
wkc
2026-03-09 09:49:05 +08:00
parent fb537ac0f2
commit c2a95e35ae
3 changed files with 48 additions and 21 deletions

View File

@@ -70,6 +70,7 @@
<update id="updateParamValue">
UPDATE ccdi_model_param
SET param_value = #{paramValue},
update_by = #{updateBy},
update_time = NOW()
WHERE project_id = #{projectId}
AND model_code = #{modelCode}
@@ -81,14 +82,14 @@
INSERT INTO ccdi_model_param (
project_id, model_code, model_name, param_code, param_name,
param_desc, param_value, param_unit, sort_order, remark,
create_time, update_time
create_by, create_time, update_by, update_time
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.projectId}, #{item.modelCode}, #{item.modelName},
#{item.paramCode}, #{item.paramName}, #{item.paramDesc},
#{item.paramValue}, #{item.paramUnit}, #{item.sortOrder},
#{item.remark}, NOW(), NOW()
#{item.remark}, #{item.createBy}, NOW(), #{item.updateBy}, NOW()
)
</foreach>
</insert>