From 013450af0b071d504c9b1c6cf7d1c58639e3cf32 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 11 四月 2025 13:58:48 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java | 42 ++++++++++++++++++++++-------------------- 1 files changed, 22 insertions(+), 20 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java index 9a1ff53..72dd95d 100644 --- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetAssortServiceImpl.java @@ -14,7 +14,9 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -49,30 +51,30 @@ @Override public List<IvrLibaTargetAssortVO> selectIvrLibaTargetAssortList(IvrLibaTargetAssort ivrLibaTargetAssort) { List<IvrLibaTargetAssort> ivrLibaTargetAssorts = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort); - //灏唒id涓虹┖鐨勶紝杩囨护鎺� - List<IvrLibaTargetAssort> ivrLibaTargetAssortList = new ArrayList<>(); - for (IvrLibaTargetAssort ivrLibaTargetAssort1 : ivrLibaTargetAssorts) { -// if (ivrLibaTargetAssort1.getPid() != null) { - ivrLibaTargetAssortList.add(ivrLibaTargetAssort1); -// } + List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargetAssorts, IvrLibaTargetAssortVO.class); + + List<IvrLibaTargetAssortVO> rootList = new ArrayList<>(); + Map<Long, IvrLibaTargetAssortVO> categoryMap = new HashMap<>(); + + // 寤虹珛id->瀵硅薄鐨勬槧灏� + for (IvrLibaTargetAssortVO category : ivrLibaTargetAssortVOS) { + categoryMap.put(category.getId(), category); } - List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargetAssortList, IvrLibaTargetAssortVO.class); - //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁 - List<IvrLibaTargetAssortVO> ivrLibaTargetAssortVOS1 = new ArrayList<>(); - for (IvrLibaTargetAssortVO ivrLibaTargetAssortVO : ivrLibaTargetAssortVOS) { -// if (ivrLibaTargetAssortVO.getPid() != -1) { -// continue; -// } - IvrLibaTargetAssort ivrLibaTargetAssort1 = new IvrLibaTargetAssort(); - ivrLibaTargetAssort1.setPid(ivrLibaTargetAssortVO.getId()); - List<IvrLibaTargetAssort> ivrLibaTargetAssorts2 = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort1); - if (!Collections.isEmpty(ivrLibaTargetAssorts2)) { - ivrLibaTargetAssortVO.setIvrLibaTargetAssortList(ivrLibaTargetAssorts2); + for (IvrLibaTargetAssortVO category : ivrLibaTargetAssortVOS) { + if (category.getPid() == null || category.getPid() == -1) { + // 椤跺眰鑺傜偣 + rootList.add(category); + } else { + // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃 + IvrLibaTargetAssortVO parent = categoryMap.get(category.getPid()); + if (parent != null) { + IvrLibaTargetAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaTargetAssort.class); + parent.getIvrLibaTargetAssortList().add(sc); + } } - ivrLibaTargetAssortVOS1.add(ivrLibaTargetAssortVO); } - return ivrLibaTargetAssortVOS1; + return rootList; } /** -- Gitblit v1.9.3