diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml
index f368c9b..314a792 100644
--- a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml
+++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml
@@ -30,6 +30,12 @@
itc-ms-user-api
${revision}
+
+
+ com.geg
+ itc-ms-system-api
+ ${revision}
+
com.geg
diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogAttrFieldInfo.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogAttrFieldInfo.java
new file mode 100644
index 0000000..e5d1a54
--- /dev/null
+++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogAttrFieldInfo.java
@@ -0,0 +1,24 @@
+package com.pictc.datalog;
+
+import java.lang.reflect.Field;
+
+import com.pictc.utils.ClassUtils;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class LogAttrFieldInfo {
+
+ private String tableName;
+
+ private Field field;
+
+ private boolean list;
+
+ public static LogAttrFieldInfo ofField(String tableName,Field field) {
+ return new LogAttrFieldInfo().setField(field).setTableName(tableName).setList(ClassUtils.isList(field.getType()));
+ }
+
+}
diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogTableInfo.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogTableInfo.java
index cec40da..8296ebd 100644
--- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogTableInfo.java
+++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/datalog/LogTableInfo.java
@@ -9,6 +9,7 @@ import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.pictc.annotations.datalog.LogAttrField;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogTable;
@@ -34,6 +35,8 @@ public class LogTableInfo {
private List fields = CollectionUtils.newArrayList();
+ private List attrs = CollectionUtils.newArrayList();
+
private Map fieldMap = CollectionUtils.newConcurrentHashMap();
private Map columnMap = CollectionUtils.newConcurrentHashMap();
@@ -49,9 +52,11 @@ public class LogTableInfo {
info = MybatisTools.getTableInfo(table.source());
initId();
initFields();
+ initAttrs();
initJoins();
}
+
public String getName() {
return table.name();
}
@@ -68,6 +73,17 @@ public class LogTableInfo {
idField = BeanUtils.getField(idKey,klazz);
}
+ private void initAttrs() {
+ if(isValid()) {
+ List _fields = BeanUtils.getFields(klazz, LogAttrField.class);
+ if(CollectionUtils.isNotEmpty(_fields)) {
+ for (Field field : _fields) {
+ attrs.add(LogAttrFieldInfo.ofField(table.source(),field));
+ }
+ }
+ }
+ }
+
private void initFields() {
if(isValid()) {
List _fields = BeanUtils.getFields(klazz, LogField.class);
@@ -127,7 +143,7 @@ public class LogTableInfo {
return fieldInfo==null?null:BeanUtils.getFieldValue(fieldInfo.getField(),entity);
}
- public Object getFieldValue(Object entity,Field field) {
+ public T getFieldValue(Object entity,Field field) {
if(entity==null) return null;
return BeanUtils.getFieldValue(field,entity);
}
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 72a1b49..1a4c87d 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
@@ -39,6 +39,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.alibaba.fastjson.JSON;
+import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import com.alibaba.nacos.shaded.com.google.common.collect.Maps;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -52,6 +53,7 @@ import com.pictc.converts.ConverUtil;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.datalog.DefaultDataOperationListener;
+import com.pictc.datalog.LogAttrFieldInfo;
import com.pictc.datalog.LogFieldInfo;
import com.pictc.datalog.LogJoinInfo;
import com.pictc.datalog.LogTableInfo;
@@ -70,6 +72,10 @@ import com.xjrsoft.module.datalog.mapper.DatalogMapper;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.datalog.vo.OperationType;
import com.xjrsoft.module.organization.dto.UserDto;
+import com.xjrsoft.module.system.client.IFileClient;
+import com.xjrsoft.module.system.dto.LngFileUploadBindDto;
+import com.xjrsoft.module.system.dto.UpdateLngFileUploadDto;
+import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
@@ -97,10 +103,17 @@ public class DataLogTools {
private static DatalogMapper logDbService;
+ private static IFileClient fileClient;
+
@Autowired
public void setLogDbService(DatalogMapper logDbService) {
DataLogTools.logDbService = logDbService;
}
+
+ @Autowired
+ public void setFileClient(IFileClient fileClient) {
+ DataLogTools.fileClient = fileClient;
+ }
public static DataChangeLog createLog(Class> klazz,OperationType type) {
DataChangeLog createLog = createLog(klazz, type, null);
@@ -163,6 +176,7 @@ public class DataLogTools {
try {
mapper.insert(BeanUtil.toBean(entity,tabInfo.getEntityType()));
+ saveAttrs(tabInfo,entity);
datalog.setEntityId(idValue);
buildFields(datalog,tabInfo,entity,null);
logs.add(datalog);
@@ -193,6 +207,32 @@ public class DataLogTools {
return entity;
}
+ private static void saveAttrs(LogTableInfo tabInfo, T entity) {
+ saveAttrs(tabInfo, entity, false);
+ }
+
+ private static void saveAttrs(LogTableInfo tabInfo, T entity,boolean remove) {
+ List attrs = tabInfo.getAttrs();
+ if(CollectionUtils.isNotEmpty(attrs)) {
+ for (LogAttrFieldInfo item : attrs) {
+ LngFileUploadBindDto bindDto = new LngFileUploadBindDto();
+ bindDto.setTableId(tabInfo.getIdValue(entity));
+ bindDto.setTableName(item.getTableName());
+ bindDto.setColumnName(item.getField().getName());
+ bindDto.setRemove(remove);
+ if(item.isList()) {
+ bindDto.setFiles(tabInfo.getFieldValue(entity,item.getField()));
+ }else {
+ UpdateLngFileUploadDto vo = tabInfo.getFieldValue(entity,item.getField());
+ if(vo!=null) {
+ bindDto.setFiles(Lists.newArrayList(vo));
+ }
+ }
+ fileClient.bindTableData(bindDto);
+ }
+ }
+ }
+
public static T update(T dto) {
return update(dto, new DefaultDataOperationListener());
}
@@ -215,8 +255,8 @@ public class DataLogTools {
List logs = CollectionUtils.newArrayList();
DataChangeLog datalog = createLog(klazz,OperationType.UPDATE);
initJoinValue(dto,tabInfo,null);
-
mapper.updateById(tabInfo.toEntity(dto));
+ saveAttrs(tabInfo,dto);
datalog.setEntityId(idValue);
buildFields(datalog,tabInfo,dto,old);
logs.add(datalog);
@@ -331,6 +371,7 @@ public class DataLogTools {
List logs = CollectionUtils.newArrayList();
try {
delete(entity, tabInfo, mapper);
+ saveAttrs(tabInfo,entity,true);
DataChangeLog datalog = createLog(klazz,OperationType.DELETE);
datalog.setEntityId(id);
buildFields(datalog,tabInfo,entity,null);
@@ -640,29 +681,32 @@ public class DataLogTools {
datalog.setEntityId(idValue);
Object bean = BeanUtil.toBean(item,joinTable.getEntityType());
mapper.insert(bean);
+ saveAttrs(joinTable,item);
buildFields(datalog,joinTable,item,null);
logs.add(datalog);
}
}else {
for (Object item : listValue) {
Long idValue = joinTable.getIdValue(item);
- Object voOjb = BeanUtil.toBean(item,joinTable.getKlazz());
DataChangeLog datalog = createLog(join.getTargetClass(),type,parent);
datalog.setEntityId(idValue);
- delete(voOjb, joinTable, mapper);
- buildFields(datalog,joinTable,voOjb,null);
+ Object pojo = BeanUtil.toBean(item,joinTable.getKlazz());
+ delete(pojo, joinTable, mapper);
+ saveAttrs(joinTable,item,true);
+ buildFields(datalog,joinTable,item,null);
logs.add(datalog);
}
}
}else {
for (Object item : listValue) {
Long idValue = joinTable.getIdValue(item);
- Object nval = BeanUtil.toBean(item,joinTable.getKlazz());
DataChangeLog datalog = createLog(join.getTargetClass(),type,parent);
datalog.setEntityId(idValue);
Object old = findById(join.getTargetClass(), idValue);
- mapper.updateById(nval);
- buildFields(datalog,joinTable,nval,old);
+ Object pojo = BeanUtil.toBean(item,joinTable.getKlazz());
+ mapper.updateById(pojo);
+ saveAttrs(joinTable,item);
+ buildFields(datalog,joinTable,item,old);
logs.add(datalog);
}
}
@@ -671,12 +715,13 @@ public class DataLogTools {
List oldList = getJoinList(joinTable, join, mapper, parentInfo, entity);
if(oldList!=null) {
for (Object item : oldList) {
- Object voOjb = BeanUtil.toBean(item,joinTable.getKlazz());
Long idValue = joinTable.getIdValue(item);
DataChangeLog datalog = createLog(join.getTargetClass(),OperationType.DELETE,parent);
datalog.setEntityId(idValue);
- delete(voOjb, joinTable, mapper);
- buildFields(datalog,joinTable,voOjb,null);
+ Object pojo = BeanUtil.toBean(item,joinTable.getKlazz());
+ delete(pojo, joinTable, mapper);
+ saveAttrs(joinTable,item,true);
+ buildFields(datalog,joinTable,item,null);
logs.add(datalog);
}
}
@@ -688,29 +733,33 @@ public class DataLogTools {
DataChangeLog datalog = createLog(join.getTargetClass(),type,parent);
logs.add(datalog);
datalog.setEntityId(idValue);
+ Object pojo = BeanUtil.toBean(val,joinTable.getKlazz());
if(type==OperationType.INSERT || type==OperationType.DELETE) {
if(type==OperationType.INSERT) {
- mapper.insert(val);
+ mapper.insert(pojo);
+ saveAttrs(joinTable,val);
}else {
- delete(val, joinTable, mapper);
+ delete(pojo, joinTable, mapper);
+ saveAttrs(joinTable,val,true);
}
buildFields(datalog,joinTable, val, null);
}else {
Object old = mapper.selectById(idValue);
+ mapper.updateById(pojo);
+ saveAttrs(joinTable,val,true);
buildFields(datalog,joinTable,val,old);
- Object bean = BeanUtil.toBean(val,joinTable.getEntityType());
- mapper.updateById(bean);
}
} else if(type==OperationType.UPDATE || type==OperationType.DELETE){
//进行修改或者删除时,级联对象为空时,需要删除旧数据
Object old = getJoinObj(joinTable, join, mapper, parentInfo, entity);
if(old!=null) {
- Object voOjb = BeanUtil.toBean(old,joinTable.getKlazz());
+ Object dto = BeanUtil.toBean(old,joinTable.getKlazz());
Long idValue = joinTable.getIdValue(old);
DataChangeLog datalog = createLog(join.getTargetClass(),OperationType.DELETE,parent);
datalog.setEntityId(idValue);
- delete(voOjb, joinTable, mapper);
- buildFields(datalog,joinTable,voOjb,null);
+ delete(dto, joinTable, mapper);
+ saveAttrs(joinTable,dto,true);
+ buildFields(datalog,joinTable,dto,null);
}
}
}
@@ -1185,11 +1234,6 @@ public class DataLogTools {
}
- public static void main(String[] args) {
- long id = IdWorker.getId();
- System.out.println(""+id);
- System.out.println((""+id).length());
- }
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java
index 8924da4..b806574 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDocDto.java
@@ -16,7 +16,10 @@ import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.JoinCaseType;
import com.pictc.annotations.datalog.JoinType;
+import com.pictc.annotations.datalog.LogAttrField;
import com.pictc.annotations.datalog.ValueDirectionType;
+import com.xjrsoft.module.system.dto.UpdateLngFileUploadDto;
+import com.xjrsoft.module.system.vo.LngFileUploadVo;
@@ -100,10 +103,6 @@ public class UpdateLngCustomerDocDto implements Serializable {
* lngFileUpload
*/
@ApiModelProperty("lngFileUpload子表")
- @LogJoin(name = "lngFileUpload子表",
- columns = {
- @LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
- },
- caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
+ @LogAttrField
private List fileList;
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java
index dd8dc31..10724fc 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngCustomerDto.java
@@ -7,11 +7,14 @@ import java.util.List;
import com.pictc.annotations.datalog.JoinCaseType;
import com.pictc.annotations.datalog.JoinType;
+import com.pictc.annotations.datalog.LogAttrField;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.LogTable;
import com.pictc.annotations.datalog.ValueDirectionType;
+import com.xjrsoft.module.system.dto.UpdateLngFileUploadDto;
+import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -292,10 +295,6 @@ public class UpdateLngCustomerDto implements Serializable {
* lngFileUpload
*/
@ApiModelProperty("lngFileUpload子表")
- @LogJoin(name = "lngFileUpload子表",
- columns = {
- @LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
- },
- caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
+ @LogAttrField
private List lngFileUploadList;
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngFileUploadDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngFileUploadDto.java
deleted file mode 100644
index c2c7bd7..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/dto/UpdateLngFileUploadDto.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.xjrsoft.module.sales.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import java.io.Serializable;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.util.List;
-
-import com.pictc.annotations.datalog.LogTable;
-import com.pictc.annotations.datalog.LogField;
-import com.pictc.annotations.datalog.LogJoin;
-import com.pictc.annotations.datalog.LogJoinColumn;
-import com.pictc.annotations.datalog.JoinCaseType;
-import com.pictc.annotations.datalog.JoinType;
-import com.pictc.annotations.datalog.ValueDirectionType;
-
-
-
-
-/**
-* @title: 客户
-* @Author 管理员
-* @Date: 2025-11-21
-* @Version 1.0
-*/
-@Data
-@LogTable(source="lng_file_upload",name="客户")
-public class UpdateLngFileUploadDto implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- *
- */
- @LogField(name="",index=0)
- @ApiModelProperty("")
- private Long id;
-
- /**
- *
- */
- @LogField(name="",index=1)
- @ApiModelProperty("")
- private String tableName;
-
- /**
- *
- */
- @LogField(name="",index=2)
- @ApiModelProperty("")
- private Long tableId;
-
- /**
- *
- */
- @LogField(name="",index=3)
- @ApiModelProperty("")
- private String columnName;
-
- /**
- *
- */
- @LogField(name="",index=4)
- @ApiModelProperty("")
- private String fileOrg;
-
- /**
- *
- */
- @LogField(name="",index=5)
- @ApiModelProperty("")
- private String filePath;
-
- /**
- *
- */
- @LogField(name="",index=6)
- @ApiModelProperty("")
- private Long fileSize;
-
- /**
- *
- */
- @LogField(name="",index=7)
- @ApiModelProperty("")
- private String docDesc;
-
- /**
- *
- */
- @LogField(name="",index=8)
- @ApiModelProperty("")
- private Short sort;
-
- /**
- *
- */
- @LogField(name="",index=9)
- @ApiModelProperty("")
- private Long tenantId;
-
- @LogField(name="",index=10)
- @ApiModelProperty("")
- private Long xjrFileId;
-}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java
index 6e2cc24..006be09 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerDocVo.java
@@ -8,6 +8,8 @@ import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
+import com.xjrsoft.module.system.vo.LngFileUploadVo;
+
/**
* @title: 表单出参
* @Author 管理员
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java
index fa10322..698a446 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerVo.java
@@ -4,6 +4,8 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
+import com.xjrsoft.module.system.vo.LngFileUploadVo;
+
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngFileUploadVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngFileUploadVo.java
deleted file mode 100644
index bee7962..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngFileUploadVo.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.xjrsoft.module.sales.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.pictc.annotations.datalog.LogField;
-
-/**
-* @title: 表单出参
-* @Author 管理员
-* @Date: 2025-11-21
-* @Version 1.0
-*/
-@Data
-public class LngFileUploadVo {
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long id;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private String tableName;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long tableId;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private String columnName;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private String fileOrg;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private String filePath;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long fileSize;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private String docDesc;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Short sort;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long createUserId;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private LocalDateTime createDate;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long modifyUserId;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private LocalDateTime modifyDate;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long tenantId;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long deptId;
-
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long ruleUserId;
-
-
- @ApiModelProperty("")
- private String presignedUrl;
-
-
- @LogField(name="",index=10)
- @ApiModelProperty("")
- private Long xjrFileId;
-
-}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java
index 025790f..593c938 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java
@@ -15,11 +15,17 @@ import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.pictc.datalog.DataOperationContent;
+import com.pictc.datalog.DataOperationListener;
+import com.pictc.enums.BusinessCode;
+import com.pictc.enums.ExceptionCommonCode;
import com.pictc.utils.StringUtils;
+import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.common.db.utils.CommonCallUtils;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.sales.dto.LngCustomerPageDto;
@@ -106,13 +112,13 @@ public class CustomerController {
@ApiOperation(value = "新增LngCustomer")
@SaCheckPermission("customer:add")
public R add(@Valid @RequestBody UpdateLngCustomerDto dto){
- String code = codeRuleClient.genEncode(CUSTOMER_CODE);
- dto.setCuCode("C"+code);
- Long id = customerService.add(dto);
- dto.setId(id);
- codeRuleClient.useEncode(CUSTOMER_CODE);
- return R.ok(dto);
- /**
+// String code = codeRuleClient.genEncode(CUSTOMER_CODE);
+// dto.setCuCode("C"+code);
+// Long id = customerService.add(dto);
+// dto.setId(id);
+// codeRuleClient.useEncode(CUSTOMER_CODE);
+// return R.ok(dto);
+
return R.ok(dataService.insert(dto,new DataOperationListener() {
@Override
@@ -125,14 +131,14 @@ public class CustomerController {
@Override
public UpdateLngCustomerDto after(DataOperationContent content) {
String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue());
- if (StringUtils.isNotBlank(msg)) {
+ if (StringUtils.isNotEmpty(msg)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
}
codeRuleClient.useEncode(CUSTOMER_CODE);
return content.getObj();
}
}));
- **/
+
}
@@ -140,8 +146,27 @@ public class CustomerController {
@ApiOperation(value = "修改LngCustomer")
@SaCheckPermission("customer:edit")
public R update(@Valid @RequestBody UpdateLngCustomerDto dto){
- customerService.update(dto);
- return R.ok();
+// customerService.update(dto);
+// return R.ok();
+ return R.ok(dataService.updateById(dto,new DataOperationListener() {
+
+ @Override
+ public UpdateLngCustomerDto before(DataOperationContent content) {
+ String code = codeRuleClient.genEncode(CUSTOMER_CODE);
+ dto.setCuCode("C"+code);
+ return content.getObj();
+ }
+
+ @Override
+ public UpdateLngCustomerDto after(DataOperationContent content) {
+ String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue());
+ if (StringUtils.isNotEmpty(msg)) {
+ throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
+ }
+ codeRuleClient.useEncode(CUSTOMER_CODE);
+ return content.getObj();
+ }
+ }));
}
@DeleteMapping
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java
index aea74c0..d62cc2e 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java
@@ -15,7 +15,6 @@ import com.pictc.annotations.datalog.JoinType;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.ValueDirectionType;
-import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -312,19 +311,6 @@ public class LngCustomer implements Serializable {
}, caseType = JoinCaseType.FULL, target = LngCustomerContact.class, type = JoinType.MANY)
private List lngCustomerContactList;
-
-
- /**
- * lngFileUpload
- */
- @ApiModelProperty("lngFileUpload子表")
- @TableField(exist = false)
- @EntityMapping(thisField = "id", joinField = "tableId")
- @LogJoin(name = "lngFileUpload子表",
- columns = {
- @LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
- },
- caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
- private List lngFileUploadList;
+
}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java
index e8db042..5117fad 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomerDoc.java
@@ -2,19 +2,11 @@ package com.xjrsoft.module.sales.entity;
import java.io.Serializable;
import java.time.LocalDateTime;
-import java.util.List;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.github.yulichang.annotation.EntityMapping;
-import com.pictc.annotations.datalog.JoinCaseType;
-import com.pictc.annotations.datalog.JoinType;
-import com.pictc.annotations.datalog.LogJoin;
-import com.pictc.annotations.datalog.LogJoinColumn;
-import com.pictc.annotations.datalog.ValueDirectionType;
-import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -130,19 +122,6 @@ public class LngCustomerDoc implements Serializable {
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
-
- /**
- * lngFileUpload
- */
- @ApiModelProperty("lngFileUpload子表")
- @TableField(exist = false)
- @EntityMapping(thisField = "id", joinField = "tableId")
- @LogJoin(name = "lngFileUpload子表",
- columns = {
- @LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
- },
- caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
- private List fileList;
}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngFileUpload.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngFileUpload.java
deleted file mode 100644
index 97cc2b2..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngFileUpload.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.xjrsoft.module.sales.entity;
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.github.yulichang.annotation.EntityMapping;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-
-
-/**
-* @title: 客户
-* @Author 管理员
-* @Date: 2025-11-21
-* @Version 1.0
-*/
-@Data
-@TableName("lng_file_upload")
-@ApiModel(value = "客户对象", description = "客户")
-public class LngFileUpload implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableId
- private Long id;
-
- /**
- *
- */
- @ApiModelProperty("")
- private String tableName;
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long tableId;
-
- /**
- *
- */
- @ApiModelProperty("")
- private String columnName;
-
- /**
- *
- */
- @ApiModelProperty("")
- private String fileOrg;
-
- /**
- *
- */
- @ApiModelProperty("")
- private String filePath;
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long fileSize;
-
- /**
- *
- */
- @ApiModelProperty("")
- private String docDesc;
-
- /**
- *
- */
- @ApiModelProperty("")
- private Short sort;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.INSERT)
- private Long createUserId;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createDate;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.UPDATE)
- private Long modifyUserId;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.UPDATE)
- private LocalDateTime modifyDate;
-
- /**
- *
- */
- @ApiModelProperty("")
- private Long tenantId;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.INSERT)
- private Long deptId;
-
- /**
- *
- */
- @ApiModelProperty("")
- @TableField(fill = FieldFill.INSERT)
- private Long ruleUserId;
-
- @ApiModelProperty("")
- @TableField(exist = false)
- private String presignedUrl;
-
- //@ApiModelProperty("")
- //private Long xjrFileId;
-
-}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngFileUploadMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngFileUploadMapper.java
deleted file mode 100644
index 1706efb..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngFileUploadMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.xjrsoft.module.sales.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.sales.entity.LngFileUpload;
-
-/**
-* @title: mapper
-* @Author 管理员
-* @Date: 2025-11-21
-* @Version 1.0
-*/
-@Mapper
-public interface LngFileUploadMapper extends MPJBaseMapper,BaseMapper {
-
-}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java
index a1b57c7..8098433 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java
@@ -1,42 +1,36 @@
package com.xjrsoft.module.sales.service.impl;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.pictc.utils.StringUtils;
-import com.xjrsoft.module.sales.entity.LngCustomerAttrPower;
-import com.xjrsoft.module.sales.mapper.LngCustomerAttrPowerMapper;
-import com.xjrsoft.module.sales.entity.LngCustomerBank;
-import com.xjrsoft.module.sales.mapper.LngCustomerBankMapper;
-import com.xjrsoft.module.sales.entity.LngCustomerDoc;
-import com.xjrsoft.module.sales.entity.LngFileUpload;
-import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper;
-import com.xjrsoft.module.sales.entity.LngCustomerContact;
-import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper;
-import com.xjrsoft.common.factory.CloudStorageService;
-import com.xjrsoft.common.factory.OssFactory;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerAttrPowerDto;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerBankDto;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerContactDto;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDocDto;
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
-import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
import com.xjrsoft.module.sales.entity.LngCustomer;
+import com.xjrsoft.module.sales.entity.LngCustomerAttrPower;
+import com.xjrsoft.module.sales.entity.LngCustomerBank;
+import com.xjrsoft.module.sales.entity.LngCustomerContact;
+import com.xjrsoft.module.sales.entity.LngCustomerDoc;
+import com.xjrsoft.module.sales.mapper.LngCustomerAttrPowerMapper;
+import com.xjrsoft.module.sales.mapper.LngCustomerBankMapper;
+import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper;
+import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper;
import com.xjrsoft.module.sales.mapper.LngCustomerMapper;
-import com.xjrsoft.module.sales.mapper.LngFileUploadMapper;
import com.xjrsoft.module.sales.service.ICustomerService;
+import com.xjrsoft.module.system.client.IFileClient;
+import com.xjrsoft.module.system.dto.LngFileUploadBindDto;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
/**
* @title: service
@@ -53,7 +47,8 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl 0){
lngCustomerDocMapper.deleteBatchIds(lngCustomerDocRemoveIds);
- lngFileUploadMapper.delete(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer_doc").in(LngFileUpload::getTableId, lngCustomerDocRemoveIds));
+ //lngFileUploadMapper.delete(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer_doc").in(LngFileUpload::getTableId, lngCustomerDocRemoveIds));
}
}
@@ -260,31 +253,31 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl lngFileUploadList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer").eq(LngFileUpload::getTableId, lngCustomer.getId()).select(LngFileUpload::getId));
- List lngFileUploadIds = lngFileUploadList.stream().map(LngFileUpload::getId).collect(Collectors.toList());
- //原有子表单 没有被删除的主键
- List lngFileUploadOldIds = updateLngCustomerDto.getLngFileUploadList().stream().map(UpdateLngFileUploadDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
- //找到需要删除的id
- List lngFileUploadRemoveIds = lngFileUploadIds.stream().filter(item -> !lngFileUploadOldIds.contains(item)).collect(Collectors.toList());
-
- for (UpdateLngFileUploadDto lngFileUploadDto : updateLngCustomerDto.getLngFileUploadList()) {
- LngFileUpload lngFileUpload = new LngFileUpload();
- BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
- lngFileUpload.setTableName("lng_customer");
- //如果不等于空则修改
- if (lngFileUpload.getId() != null) {
- lngFileUploadMapper.updateById(lngFileUpload);
- }
- //如果等于空 则新增
- else {
- lngFileUpload.setTableId(lngCustomer.getId());
- lngFileUploadMapper.insert(lngFileUpload);
- }
- }
- //已经不存在的id 删除
- if(lngFileUploadRemoveIds.size() > 0){
- lngFileUploadMapper.deleteBatchIds(lngFileUploadRemoveIds);
- }
+// List lngFileUploadList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer").eq(LngFileUpload::getTableId, lngCustomer.getId()).select(LngFileUpload::getId));
+// List lngFileUploadIds = lngFileUploadList.stream().map(LngFileUpload::getId).collect(Collectors.toList());
+// //原有子表单 没有被删除的主键
+// List lngFileUploadOldIds = updateLngCustomerDto.getLngFileUploadList().stream().map(UpdateLngFileUploadDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
+// //找到需要删除的id
+// List lngFileUploadRemoveIds = lngFileUploadIds.stream().filter(item -> !lngFileUploadOldIds.contains(item)).collect(Collectors.toList());
+//
+// for (UpdateLngFileUploadDto lngFileUploadDto : updateLngCustomerDto.getLngFileUploadList()) {
+// LngFileUpload lngFileUpload = new LngFileUpload();
+// BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
+// lngFileUpload.setTableName("lng_customer");
+// //如果不等于空则修改
+// if (lngFileUpload.getId() != null) {
+// lngFileUploadMapper.updateById(lngFileUpload);
+// }
+// //如果等于空 则新增
+// else {
+// lngFileUpload.setTableId(lngCustomer.getId());
+// lngFileUploadMapper.insert(lngFileUpload);
+// }
+// }
+// //已经不存在的id 删除
+// if(lngFileUploadRemoveIds.size() > 0){
+// lngFileUploadMapper.deleteBatchIds(lngFileUploadRemoveIds);
+// }
}
//********************************* LngFileUpload 增删改 结束 *******************************************/
return true;
@@ -301,8 +294,7 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl tempList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomerDoc.getId()).eq(LngFileUpload::getTableName, "lng_customer_doc"));
- if(CollectionUtil.isNotEmpty(tempList)) {
- CloudStorageService storageService = OssFactory.build();
- tempList.forEach(file -> {
- file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
- });
- lngCustomerDoc.setFileList(tempList);
- }
+// List tempList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomerDoc.getId()).eq(LngFileUpload::getTableName, "lng_customer_doc"));
+// if(CollectionUtil.isNotEmpty(tempList)) {
+// CloudStorageService storageService = OssFactory.build();
+// tempList.forEach(file -> {
+// file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
+// });
+// lngCustomerDoc.setFileList(tempList);
+// }
}
}
- List fileList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomer.getId()).eq(LngFileUpload::getTableName, "lng_customer"));
- if (CollUtil.isNotEmpty(fileList)) {
- CloudStorageService storageService = OssFactory.build();
- fileList.forEach(file -> {
- file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
- });
- }
- lngCustomer.setLngFileUploadList(fileList);
+// List fileList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomer.getId()).eq(LngFileUpload::getTableName, "lng_customer"));
+// if (CollUtil.isNotEmpty(fileList)) {
+// CloudStorageService storageService = OssFactory.build();
+// fileList.forEach(file -> {
+// file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
+// });
+// }
+ //lngCustomer.setLngFileUploadList(fileList);
return lngCustomer;
}
}