From 371603a0eb9f3a279cf77073734e991b5851b792 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 05 九月 2025 16:21:01 +0800
Subject: [PATCH] 市一短信接口同步服务对接
---
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
index de07294..17594c5 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
@@ -14,7 +14,10 @@
import org.springframework.beans.factory.annotation.Autowired;
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,23 +52,30 @@
@Override
public List<SvyLibTemplateCategoryVO> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory) {
List<SvyLibTemplateCategory> svyLibTemplateCategories = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
- //灏唒id涓虹┖鐨勶紝杩囨护鎺�
- svyLibTemplateCategories = svyLibTemplateCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
List<SvyLibTemplateCategoryVO> svyLibTemplateCategoryVOList = DtoConversionUtils.sourceToTarget(svyLibTemplateCategories, SvyLibTemplateCategoryVO.class);
- //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
- for (SvyLibTemplateCategoryVO svyLibTemplateCategoryVO : svyLibTemplateCategoryVOList) {
- if (svyLibTemplateCategoryVO.getPid() != null) {
- continue;
- }
- SvyLibTemplateCategory svyLibTemplateCategory1 = new SvyLibTemplateCategory();
- svyLibTemplateCategory1.setPid(svyLibTemplateCategoryVO.getId());
- List<SvyLibTemplateCategory> svyLibTemplateCategoryList = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory1);
- if (!Collections.isEmpty(svyLibTemplateCategoryList)) {
- svyLibTemplateCategoryVO.setSvyLibTemplateCategoryList(svyLibTemplateCategoryList);
+
+ List<SvyLibTemplateCategoryVO> rootList = new ArrayList<>();
+ Map<Long, SvyLibTemplateCategoryVO> categoryMap = new HashMap<>();
+
+ // 寤虹珛id->瀵硅薄鐨勬槧灏�
+ for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) {
+ categoryMap.put(category.getId(), category);
+ }
+
+ for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) {
+ if (category.getPid() == null || category.getPid() == -1) {
+ // 椤跺眰鑺傜偣
+ rootList.add(category);
+ } else {
+ // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+ SvyLibTemplateCategoryVO parent = categoryMap.get(category.getPid());
+ if (parent != null) {
+ SvyLibTemplateCategory sc = DtoConversionUtils.sourceToTarget(category, SvyLibTemplateCategory.class);
+ parent.getSvyLibTemplateCategoryList().add(sc);
+ }
}
}
- return svyLibTemplateCategoryVOList;
+ return rootList;
}
/**
--
Gitblit v1.9.3