From ecf699bc66ec5a4be17e809670efd58563800f19 Mon Sep 17 00:00:00 2001 From: liyawei Date: Mon, 16 May 2022 14:43:53 +0800 Subject: [PATCH] =?UTF-8?q?bug50782-=E6=A0=87=E5=87=86=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=AD=98=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FileSplitItemsEOServiceImpl.java | 55 ++++++++----------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index f6f8ff08a..f6adbf734 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -366,7 +366,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -381,9 +380,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -396,11 +394,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl ossFiles = ossFileService.getFileInfosByConnectId(value.toString()); - if(CollectionUtil.isNotEmpty(ossFiles)){ + if(CollectionUtil.isNotEmpty(ossFiles)){ // 没有修改文件 valuesBuilder.append("," + "'" + value + "'"); - } else { + } else { // 新加了一个文件 String valueTemp = UUID.randomUUID().toString().replace("-", ""); - // value = valueTemp; //修改文件表关联信息connect_id List oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -418,7 +415,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl sysUserList = sysUserService.listByIds(Arrays.asList(itemsMap.get(dbFieldName).toString().split(","))); @@ -924,43 +921,39 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl 0) { - List> documentLibraryEOList = documentLibraryEOService.queryListByIds(itemsMap.get(dbFieldName).toString()); + List> documentLibraryEOList = documentLibraryEOService.getListBySerialNumber(itemsMap.get(dbFieldName).toString()); + documentLibraryEOList = documentLibraryEOList.stream() + .collect(Collectors.collectingAndThen(Collectors + .toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.get("serial_number").toString()))), ArrayList::new)); // 根据编号去重 Map idSerialNumberMap = new HashMap<>(); List idList = new ArrayList<>(); + List nameList = new ArrayList<>(); for (Map map : documentLibraryEOList) { - String serialNumber = (String) map.get("serial_number"); + String serialNumber = (String) map.get("serial_number"); // TODO 可能存在编号相同的情况 String documentLibraryEOId = (String) map.get("id"); - idSerialNumberMap.put(documentLibraryEOId, serialNumber); - idList.add(documentLibraryEOId); + idSerialNumberMap.put(serialNumber, documentLibraryEOId); + nameList.add(serialNumber); } - List valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")); - List newValueList = new ArrayList<>(); - + List valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")).stream().distinct().collect(Collectors.toList()); for(String value : valueList) { - if (idList.contains(value)) { - newValueList.add(idSerialNumberMap.get(value)); + if (nameList.contains(value)) { + idList.add(idSerialNumberMap.get(value)); } else { - newValueList.add(value); + idList.add(value); } } - String names = StringUtils.join(newValueList, ","); - itemsMap.put(dbFieldName+"_id", itemsMap.get(dbFieldName).toString()); - itemsMap.put(dbFieldName, names); + + String ids = StringUtils.join(idList, ","); + itemsMap.put(dbFieldName+"_id", ids); + itemsMap.put(dbFieldName, itemsMap.get(dbFieldName).toString()); } -// List> documentLibraryEOList = documentLibraryEOService.queryListByIds(itemsMap.get(dbFieldName).toString()); -// if(CollectionUtil.isNotEmpty(documentLibraryEOList)){ -// String names = StringUtils.join(documentLibraryEOList.stream().map(map->map.get("serial_number")).collect(Collectors.toList()),","); -// itemsMap.put(dbFieldName+"_id", itemsMap.get(dbFieldName).toString()); -// itemsMap.put(dbFieldName, names); -// -// } } - } + }*/ } return itemsMap; }