From 7849348924896006f566ffc6f680f06b9561bb1b Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 10 Dec 2024 10:07:51 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/ma/mapper/MaTypeMapper.java | 4 ++++ .../ma/service/impl/MaTypeServiceImpl.java | 7 +++++++ .../java/com/bonus/material/ma/vo/MaType.java | 2 ++ .../mapper/material/ma/MaMachineTypeMapper.xml | 17 +++++++++++++++++ 4 files changed, 30 insertions(+) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java index 0f9b478..0620612 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java @@ -87,4 +87,8 @@ public interface MaTypeMapper { List selectParentId(@Param("typeId")Long typeId, @Param("level")Integer level); Integer updateLeasePrice(@Param("typeIds")List typeIds,@Param("leasePrice") BigDecimal leasePrice); + + int deleteMaTypePropertyNames(@Param("typeId")Long typeId); + + int insertMaTypePropertyNames(@Param("typeId")Long typeId, @Param("list") List propertyNames); } \ No newline at end of file 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 b084c8f..63b5a40 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 @@ -8,6 +8,8 @@ import com.bonus.material.ma.service.ITypeService; import com.bonus.material.ma.vo.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -128,6 +130,11 @@ public class MaTypeServiceImpl implements ITypeService { Long typeId = maType.getTypeId(); maType.setUpdateTime(DateUtils.getNowDate()); int i = maTypeMapper.updateType(maType); + //保存配置属性 + if (!CollectionUtils.isEmpty(maType.getPropertyNames())) { + maTypeMapper.deleteMaTypePropertyNames(maType.getTypeId()); + maTypeMapper.insertMaTypePropertyNames(maType.getTypeId(), maType.getPropertyNames()); + } // 图片路径保存 if (StringUtils.isNotEmpty(maType.getPhotoName()) && StringUtils.isNotEmpty(maType.getPhotoUrl())) { typeFileMapper.deleteMaTypeFileByTypeId(typeId, "1"); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaType.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaType.java index b27456f..2b634bb 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaType.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaType.java @@ -216,4 +216,6 @@ public class MaType extends BaseEntity { private String intelligentCode; private List typeIds; + + private List propertyNames; } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml index 2992843..96cc55c 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml @@ -454,4 +454,21 @@ and del_flag = 0 + + + delete from ma_type_properties where type_id = #{typeId} + + + + insert into + ma_type_properties(type_id, property_name, create_time) + values + + ( + #{typeId}, + #{item}, + now() + ) + + \ No newline at end of file From 7bca69e746da06e483bcda49040f893cb10fbf01 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 10 Dec 2024 10:46:36 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/ma/mapper/MaTypeMapper.java | 2 ++ .../ma/service/impl/MaTypeServiceImpl.java | 12 ++++++++++++ .../bonus/material/ma/vo/MaTypeProperty.java | 17 +++++++++++++++++ .../com/bonus/material/ma/vo/TreeSelect.java | 11 +++++++++++ .../mapper/material/ma/MaMachineTypeMapper.xml | 6 ++++++ 5 files changed, 48 insertions(+) create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java index 0620612..b018b70 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/mapper/MaTypeMapper.java @@ -88,6 +88,8 @@ public interface MaTypeMapper { Integer updateLeasePrice(@Param("typeIds")List typeIds,@Param("leasePrice") BigDecimal leasePrice); + List selectMaTypePropertyNames(); + int deleteMaTypePropertyNames(@Param("typeId")Long typeId); int insertMaTypePropertyNames(@Param("typeId")Long typeId, @Param("list") List propertyNames); 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 63b5a40..b3a1750 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 @@ -2,6 +2,7 @@ package com.bonus.material.ma.service.impl; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.material.device.domain.DevInfo; import com.bonus.material.ma.mapper.MaTypeFileMapper; import com.bonus.material.ma.mapper.MaTypeMapper; import com.bonus.material.ma.service.ITypeService; @@ -209,6 +210,17 @@ public class MaTypeServiceImpl implements ITypeService { @Override public List getMaTypeList(String typeName, String parentId) { List maTypes = maTypeMapper.selectMaTypeTree(parentId); + List maTypeProperties = maTypeMapper.selectMaTypePropertyNames(); + Map> maTypePropertiesMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(maTypeProperties)) { + maTypePropertiesMap = maTypeProperties.stream().collect(Collectors.groupingBy(MaTypeProperty::getTypeId)); + } + for (MaType maType : maTypes) { + List tmpPropList = maTypePropertiesMap.get(maType.getTypeId()); + if (!CollectionUtils.isEmpty(tmpPropList)) { + maType.setPropertyNames(tmpPropList.stream().map(o -> o.getPropertyName()).collect(Collectors.toList())); + } + } List treeSelectList = buildDeptTreeSelect(maTypes); //如果没有查询到那么返回空 return treeSelectList; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java new file mode 100644 index 0000000..7cf356e --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java @@ -0,0 +1,17 @@ +package com.bonus.material.ma.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MaTypeProperty { + + /** 类型ID */ + @ApiModelProperty(value = "类型ID") + private Long typeId; + + /** 类型ID */ + @ApiModelProperty(value = "属性名称") + private String propertyName; + +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/TreeSelect.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/TreeSelect.java index bf65755..cbdd00b 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/TreeSelect.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/TreeSelect.java @@ -27,6 +27,8 @@ public class TreeSelect implements Serializable private String companyId; + private List propertyNames; + /** 子节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; @@ -51,6 +53,7 @@ public class TreeSelect implements Serializable this.id = maType.getTypeId(); this.label = maType.getTypeName(); this.companyId = maType.getCompanyId(); + this.propertyNames = maType.getPropertyNames(); this.children = maType.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); } // public TreeSelect(SysDept dept) @@ -106,6 +109,14 @@ public class TreeSelect implements Serializable this.companyId = companyId; } + public List getPropertyNames() { + return propertyNames; + } + + public void setPropertyNames(List propertyNames) { + this.propertyNames = propertyNames; + } + public List getChildren() { return children; diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml index 96cc55c..ba379e4 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/ma/MaMachineTypeMapper.xml @@ -455,6 +455,12 @@ and del_flag = 0 + + delete from ma_type_properties where type_id = #{typeId} From 9dc5902df36d375d1387dbc7942d415cb643b39e Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 10 Dec 2024 10:53:48 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/service/impl/MaTypeServiceImpl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 b3a1750..0763d05 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 @@ -2,7 +2,6 @@ package com.bonus.material.ma.service.impl; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; -import com.bonus.material.device.domain.DevInfo; import com.bonus.material.ma.mapper.MaTypeFileMapper; import com.bonus.material.ma.mapper.MaTypeMapper; import com.bonus.material.ma.service.ITypeService; @@ -210,6 +209,14 @@ public class MaTypeServiceImpl implements ITypeService { @Override public List getMaTypeList(String typeName, String parentId) { List maTypes = maTypeMapper.selectMaTypeTree(parentId); + //填充自定义属性 + fillProperties(maTypes); + List treeSelectList = buildDeptTreeSelect(maTypes); + //如果没有查询到那么返回空 + return treeSelectList; + } + + private void fillProperties(List maTypes) { List maTypeProperties = maTypeMapper.selectMaTypePropertyNames(); Map> maTypePropertiesMap = new HashMap<>(); if (!CollectionUtils.isEmpty(maTypeProperties)) { @@ -221,9 +228,6 @@ public class MaTypeServiceImpl implements ITypeService { maType.setPropertyNames(tmpPropList.stream().map(o -> o.getPropertyName()).collect(Collectors.toList())); } } - List treeSelectList = buildDeptTreeSelect(maTypes); - //如果没有查询到那么返回空 - return treeSelectList; } @Override @@ -373,6 +377,8 @@ 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) { From 16e25da984895b8d8c83e5c779556e34e906ae49 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 10 Dec 2024 11:13:35 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/ma/service/impl/MaTypeServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 0763d05..5da6c8e 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 @@ -133,7 +133,9 @@ public class MaTypeServiceImpl implements ITypeService { //保存配置属性 if (!CollectionUtils.isEmpty(maType.getPropertyNames())) { maTypeMapper.deleteMaTypePropertyNames(maType.getTypeId()); - maTypeMapper.insertMaTypePropertyNames(maType.getTypeId(), maType.getPropertyNames()); + List maTypeProperties = maType.getPropertyNames(); + maTypeProperties.removeIf(String::isEmpty); + maTypeMapper.insertMaTypePropertyNames(maType.getTypeId(), maTypeProperties); } // 图片路径保存 if (StringUtils.isNotEmpty(maType.getPhotoName()) && StringUtils.isNotEmpty(maType.getPhotoUrl())) { 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 5/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=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) {