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/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 2245b0c..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;
+ 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);
+ }
}
- IvrLibaTargetAssort ivrLibaTargetAssort1 = new IvrLibaTargetAssort();
- ivrLibaTargetAssort1.setPid(ivrLibaTargetAssortVO.getId());
- List<IvrLibaTargetAssort> ivrLibaTargetAssorts2 = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort1);
- if (!Collections.isEmpty(ivrLibaTargetAssorts2)) {
- ivrLibaTargetAssortVO.setIvrLibaTargetAssortList(ivrLibaTargetAssorts2);
- }
- ivrLibaTargetAssortVOS1.add(ivrLibaTargetAssortVO);
}
- return ivrLibaTargetAssortVOS1;
+ return rootList;
}
/**
--
Gitblit v1.9.3