From 02ba8fc45b6d3ed898dbc6955a7236453da8fd2a Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 10 Dec 2024 12:07:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/biz/domain/TreeNode.java | 2 ++ .../service/impl/MaTypeInfoServiceImpl.java | 25 +++++++++++++++++++ .../ma/service/impl/MaTypeServiceImpl.java | 2 -- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java index 9d1e102..07f2ba3 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java @@ -48,6 +48,8 @@ public class TreeNode { private String remark; + private List propertyNames; + @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children = new ArrayList<>(); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java index fe2e48a..264e631 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/home/service/impl/MaTypeInfoServiceImpl.java @@ -8,13 +8,19 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.device.domain.vo.DevInfoVo; import com.bonus.material.home.mapper.MaTypeInfoMapper; import com.bonus.material.home.service.MaTypeInfoSevice; +import com.bonus.material.ma.mapper.MaTypeMapper; +import com.bonus.material.ma.vo.MaType; +import com.bonus.material.ma.vo.MaTypeProperty; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service @Slf4j @@ -23,6 +29,9 @@ public class MaTypeInfoServiceImpl implements MaTypeInfoSevice { @Resource private MaTypeInfoMapper maTypeInfoMapper; + @Resource + private MaTypeMapper maTypeMapper; + /** * 首页查询分类树 * @return @@ -33,6 +42,8 @@ public class MaTypeInfoServiceImpl implements MaTypeInfoSevice { List list = new ArrayList<>(); try { list = maTypeInfoMapper.getMaTypeInfoList(typeInfo); + //填充自定义属性 + fillProperties(list); if (CollectionUtils.isNotEmpty(list)) { // 创建树形结构(数据集合作为参数) TreeBuild treeBuild = new TreeBuild(list); @@ -45,6 +56,20 @@ public class MaTypeInfoServiceImpl implements MaTypeInfoSevice { return AjaxResult.success(groupList); } + private void fillProperties(List treeNodes) { + List maTypeProperties = maTypeMapper.selectMaTypePropertyNames(); + Map> maTypePropertiesMap = new HashMap<>(); + if (!org.springframework.util.CollectionUtils.isEmpty(maTypeProperties)) { + maTypePropertiesMap = maTypeProperties.stream().collect(Collectors.groupingBy(MaTypeProperty::getTypeId)); + } + for (TreeNode treeNode : treeNodes) { + List tmpPropList = maTypePropertiesMap.get(treeNode.getId()); + if (!org.springframework.util.CollectionUtils.isEmpty(tmpPropList)) { + treeNode.setPropertyNames(tmpPropList.stream().map(o -> o.getPropertyName()).collect(Collectors.toList())); + } + } + } + /** * 首页搜索热搜装备 * @param devInfoVo diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/service/impl/MaTypeServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/service/impl/MaTypeServiceImpl.java index 5da6c8e..9abeca9 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/service/impl/MaTypeServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/service/impl/MaTypeServiceImpl.java @@ -379,8 +379,6 @@ public class MaTypeServiceImpl implements ITypeService { @Override public List getEquipmentType(Long typeId, String typeName) { List maTypes = maTypeMapper.selectMaTypeList(""); - //填充自定义属性 - fillProperties(maTypes); List list = new ArrayList<>(); for (MaType maType : maTypes) { if (maType.getParentId() == 0) {