From a7b0ff73978df7a7d85acd1164af2f6fd5cb9201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com> Date: Wed, 24 Dec 2025 18:16:13 +0800 Subject: [PATCH] =?UTF-8?q?---=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=97=B6=E5=AD=90=E8=A1=A8=E6=B2=A1=E6=9C=89=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pictc/utils/DataLogTools.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java index 026dff3..523e595 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java @@ -1,5 +1,4 @@ package com.pictc.utils; - import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; @@ -671,9 +670,17 @@ public class DataLogTools { ids.add(idValue); DataChangeLog datalog = createLog(join.getTargetClass(),type,parent); Object old = findById(join.getTargetClass(),idValue); - mapper.updateById(joinTable.toEntity(item)); saveAttrs(joinTable,item); - buildFields(datalog,joinTable,item,old); + if(old==null) { + datalog.setOperationType(OperationType.INSERT); + mapper.insert(joinTable.toEntity(item)); + buildFields(datalog,joinTable,item,null); + continue; + }else { + datalog.setOperationType(OperationType.UPDATE); + mapper.updateById(joinTable.toEntity(item)); + buildFields(datalog,joinTable,item,old); + } } //删除旧数据 if(oldList!=null) { @@ -721,9 +728,16 @@ public class DataLogTools { buildFields(datalog,joinTable,val,null); }else { Object old = mapper.selectById(idValue); - mapper.updateById(joinTable.toEntity(val)); saveAttrs(joinTable,val,true); - buildFields(datalog,joinTable,val,old); + if(old==null) { + datalog.setOperationType(OperationType.INSERT); + mapper.insert(joinTable.toEntity(val)); + buildFields(datalog,joinTable,val,null); + }else { + datalog.setOperationType(OperationType.UPDATE); + mapper.updateById(joinTable.toEntity(val)); + buildFields(datalog,joinTable,val,old); + } } } else if(type==OperationType.UPDATE || type==OperationType.DELETE){ //进行修改或者删除时,级联对象为空时,需要删除旧数据