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/IvrLibaTemplateAssortServiceImpl.java | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java
index fb2a11e..9c22e65 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateAssortServiceImpl.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<IvrLibaTemplateAssortVO> selectIvrLibaTemplateAssortList(IvrLibaTemplateAssort ivrLibaScriptAssort) {
List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaScriptAssort);
- //灏唒id涓虹┖鐨勶紝杩囨护鎺�
- ivrLibaTemplateAssorts = ivrLibaTemplateAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
List<IvrLibaTemplateAssortVO> ivrLibaTemplateAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateAssorts, IvrLibaTemplateAssortVO.class);
- //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
- for (IvrLibaTemplateAssortVO ivrLibaTemplateAssortVO : ivrLibaTemplateAssortVOS) {
- if (ivrLibaTemplateAssortVO.getPid() != null) {
- continue;
- }
- IvrLibaTemplateAssort ivrLibaTemplateAssort = new IvrLibaTemplateAssort();
- ivrLibaTemplateAssort.setPid(ivrLibaTemplateAssortVO.getId());
- List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts1 = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaTemplateAssort);
- if (!Collections.isEmpty(ivrLibaTemplateAssorts1)) {
- ivrLibaTemplateAssortVO.setIvrLibaTemplateAssortList(ivrLibaTemplateAssorts1);
+
+ List<IvrLibaTemplateAssortVO> rootList = new ArrayList<>();
+ Map<Long, IvrLibaTemplateAssortVO> categoryMap = new HashMap<>();
+
+ // 寤虹珛id->瀵硅薄鐨勬槧灏�
+ for (IvrLibaTemplateAssortVO category : ivrLibaTemplateAssortVOS) {
+ categoryMap.put(category.getId(), category);
+ }
+
+ for (IvrLibaTemplateAssortVO category : ivrLibaTemplateAssortVOS) {
+ if (category.getPid() == null || category.getPid() == -1) {
+ // 椤跺眰鑺傜偣
+ rootList.add(category);
+ } else {
+ // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+ IvrLibaTemplateAssortVO parent = categoryMap.get(category.getPid());
+ if (parent != null) {
+ IvrLibaTemplateAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaTemplateAssort.class);
+ parent.getIvrLibaTemplateAssortList().add(sc);
+ }
}
}
- return ivrLibaTemplateAssortVOS;
+ return rootList;
}
/**
--
Gitblit v1.9.3