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){ //进行修改或者删除时,级联对象为空时,需要删除旧数据