文档库--编辑和删除时,关联删除文件
This commit is contained in:
+3
@@ -30,4 +30,7 @@ public interface IOSSFileService extends IService<OSSFile> {
|
||||
*/
|
||||
void updateFileInfo(List<OSSFile> ossFileList);
|
||||
|
||||
|
||||
void deleteByConnectIdList(List<String> connectIdList);
|
||||
|
||||
}
|
||||
|
||||
+7
@@ -145,4 +145,11 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
this.updateBatchById(ossFileList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByConnectIdList(List<String> connectIdList) {
|
||||
LambdaQueryWrapper<OSSFile> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(OSSFile::getConnectId,connectIdList);
|
||||
this.remove(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+59
-37
@@ -74,6 +74,29 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
|
||||
//字段属性
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||
//文件类型字段
|
||||
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||
|
||||
//删除文件
|
||||
|
||||
//删除文件
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,ids);
|
||||
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMaps(lambdaQueryWrapper);
|
||||
|
||||
List<String> connectIdList = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : fieldFileList) {
|
||||
String connectId = (String) mapList.get(0).get(onlCgformField.getDbFieldName());
|
||||
if(StringUtils.isNotBlank(connectId)){
|
||||
connectIdList.add(connectId);
|
||||
}
|
||||
}
|
||||
//删除文件
|
||||
iOSSFileService.deleteByConnectIdList(connectIdList);
|
||||
//删除文档库数据
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
@@ -193,38 +216,25 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BussDocumentLibraryEO::getId, id);
|
||||
//通过id查询数据
|
||||
List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
||||
return dateList;
|
||||
// //区域管理
|
||||
// List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList();
|
||||
// //字段属性
|
||||
// List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||
//
|
||||
// if(fieldList.size() != 0){
|
||||
// //过滤出表单字段(is_show_form-->表单是否显示0否 1是)
|
||||
// fieldList = fieldList.stream().filter(e-> YesOrNo.YES.getValue().equals(String.valueOf(e.getIsShowForm()))).collect(Collectors.toList());
|
||||
// }
|
||||
// List<Map<String,Object>> result = new ArrayList<>();
|
||||
// for (OnlCgformArea onlCgformAreaTemp : areaList) {
|
||||
// fieldList = fieldList.stream().filter(e->onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
|
||||
// for (OnlCgformField onlCgformField : fieldList) {
|
||||
// Map<String,Object> map = new HashMap<>();
|
||||
// if(dateList.size() != 0){
|
||||
// dateList.get(0).entrySet().forEach(entry->{
|
||||
// if(onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||
// map.put("value",entry.getValue());
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// map.put("field_show_type",onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
||||
// map.put("dict_field",onlCgformField.getDictField());
|
||||
// map.put("db_field_name",onlCgformField.getDbFieldName());//字段
|
||||
// map.put("db_field_txt",onlCgformField.getDbFieldTxt());//字段中文名
|
||||
// map.put("db_field_en_name",onlCgformField.getDbFieldEnName());//字段英文名
|
||||
// map.put("area",onlCgformAreaTemp.getShowArea());//区域
|
||||
// result.add(map);
|
||||
// }
|
||||
// }
|
||||
List<Map<String, Object>> dataList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
||||
return dataList;
|
||||
|
||||
//一下代码为查看已上传的文件(此处已经单独提出一个接口-->/sys/common/getFileInfos)
|
||||
// //字段属性
|
||||
// List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||
// //文件类型字段
|
||||
// List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||
// for (OnlCgformField onlCgformField : fieldFileList) {
|
||||
// String dbFieldName = onlCgformField.getDbFieldName();
|
||||
// String value = (String) dataList.get(0).get(dbFieldName);
|
||||
// if(StringUtils.isNotBlank(value)){
|
||||
// List<OSSFile> fileInfos = iOSSFileService.getFileInfos(value);
|
||||
// int a = 0;
|
||||
// if(fileInfos.size() != 0){
|
||||
// dataList.get(0).put(dbFieldName +"_file",fileInfos);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -339,7 +349,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
|
||||
|
||||
String valueTemp = UUID.randomUUID().toString().replace("-", "");
|
||||
// value = valueTemp;
|
||||
//修改文件表关联信息connect_id
|
||||
List<OSSFile> oSSFileList = new ArrayList<>();
|
||||
for (String fileId : value.toString().split(",")) {
|
||||
@@ -349,7 +358,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
oSSFileList.add(ossFile);
|
||||
}
|
||||
iOSSFileService.updateFileInfo(oSSFileList);
|
||||
valuesBuilder.append("'" + value + "'" + ",");
|
||||
valuesBuilder.append("'" + valueTemp + "'" + ",");
|
||||
} else {
|
||||
valuesBuilder.append("'" + value + "'" + ",");
|
||||
}
|
||||
@@ -359,10 +368,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
|
||||
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
|
||||
//先删除在新增.
|
||||
// bussDocumentLibraryEOMapper.deleteById((String)dateList.get(0).get("id"));
|
||||
//删除文件
|
||||
|
||||
//编辑数据采用先删除在新增的方法
|
||||
|
||||
//删除文件
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(BussDocumentLibraryEO::getId,(String) map.get("id"));
|
||||
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMaps(lambdaQueryWrapper);
|
||||
|
||||
List<String> connectIdList = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : fieldFileList) {
|
||||
String connectId = (String) mapList.get(0).get(onlCgformField.getDbFieldName());
|
||||
if(StringUtils.isNotBlank(connectId)){
|
||||
connectIdList.add(connectId);
|
||||
}
|
||||
}
|
||||
//删除文件
|
||||
iOSSFileService.deleteByConnectIdList(connectIdList);
|
||||
//删除文档库数据
|
||||
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
||||
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||
|
||||
Reference in New Issue
Block a user