From 55cbc62f11f6fe9e2178e26d425f2c8762ced5f5 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 26 Jan 2024 22:24:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=80=83=E6=A0=B8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/supervise/vo/api/ClassifyApiVO.java | 4 ++ .../service/impl/ClassifyServiceImpl.java | 14 ++++-- .../supervise/wrapper/PointsWrapper.java | 47 +++++++++++++++++++ 3 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 blade-service/logpm-supervise/src/main/java/com/logpm/supervise/wrapper/PointsWrapper.java diff --git a/blade-service-api/logpm-supervise-api/src/main/java/com/logpm/supervise/vo/api/ClassifyApiVO.java b/blade-service-api/logpm-supervise-api/src/main/java/com/logpm/supervise/vo/api/ClassifyApiVO.java index f07fff9da..343a7c94a 100644 --- a/blade-service-api/logpm-supervise-api/src/main/java/com/logpm/supervise/vo/api/ClassifyApiVO.java +++ b/blade-service-api/logpm-supervise-api/src/main/java/com/logpm/supervise/vo/api/ClassifyApiVO.java @@ -2,6 +2,8 @@ package com.logpm.supervise.vo.api; import com.logpm.supervise.entity.ClassifyEntity; +import com.logpm.supervise.entity.PointsEntity; +import com.logpm.supervise.vo.PointsVO; import lombok.Data; import lombok.EqualsAndHashCode; @@ -12,4 +14,6 @@ import java.util.List; public class ClassifyApiVO extends ClassifyEntity { private List children; + + private List pointsVOS; } diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java index 22634dbd9..cd5e41bb4 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java @@ -37,6 +37,7 @@ import com.logpm.supervise.vo.ClassifyVO; import com.logpm.supervise.vo.IndicatorsVO; import com.logpm.supervise.vo.api.ClassifyApiVO; import com.logpm.supervise.wrapper.IndicatorsWrapper; +import com.logpm.supervise.wrapper.PointsWrapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; @@ -75,6 +76,7 @@ public class ClassifyServiceImpl extends BaseServiceImpl pageList(IPage page, Map classify) { Long pId = (Long) classify.get("pId"); @@ -195,9 +197,15 @@ public class ClassifyServiceImpl extends BaseServiceImpl classifyEntities = getClassifyList(pid); for (ClassifyApiVO classifyEntity : classifyEntities) { - List classifyList = getClassifyList(classifyEntity.getId()); - if (!Objects.isNull(classifyList)){ - classifyEntity.setChildren(classifyList); + if (classifyEntity.getPId().equals(0L)){ + List classifyList = getClassifyList(classifyEntity.getId()); + List list = pointsService.list(Wrappers.query().lambda().eq(PointsEntity::getClassifyId, classifyEntity.getId())); + if (!Objects.isNull(classifyList)){ + classifyEntity.setChildren(classifyList); + if (Func.isNotEmpty(list)){ + classifyEntity.setPointsVOS(PointsWrapper.build().listVO(list)); + } + } } } return classifyEntities; diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/wrapper/PointsWrapper.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/wrapper/PointsWrapper.java new file mode 100644 index 000000000..1995aa499 --- /dev/null +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/wrapper/PointsWrapper.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.supervise.wrapper; + +import com.logpm.supervise.entity.IndicatorsEntity; +import com.logpm.supervise.entity.PointsEntity; +import com.logpm.supervise.vo.IndicatorsVO; +import com.logpm.supervise.vo.PointsVO; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; + +import java.util.Objects; + +/** + * 分类指标表 包装类,返回视图层所需的字段 + * + * @author BladeX + * @since 2024-01-23 + */ +public class PointsWrapper extends BaseEntityWrapper { + + public static PointsWrapper build() { + return new PointsWrapper(); + } + + @Override + public PointsVO entityVO(PointsEntity pointsEntity) { + PointsVO pointsVO = Objects.requireNonNull(BeanUtil.copy(pointsEntity, PointsVO.class)); + return pointsVO; + } + + +} From 4caa78bf661a13905c5ba79101a254d9c10ba24c Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 26 Jan 2024 23:43:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=80=83=E6=A0=B8=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E6=8C=87=E6=A0=87=E5=88=97=E8=A1=A8=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ClassifyServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java index cd5e41bb4..062227e79 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java @@ -36,6 +36,7 @@ import com.logpm.supervise.service.IPointsService; import com.logpm.supervise.vo.ClassifyVO; import com.logpm.supervise.vo.IndicatorsVO; import com.logpm.supervise.vo.api.ClassifyApiVO; +import com.logpm.supervise.wrapper.ClassifyWrapper; import com.logpm.supervise.wrapper.IndicatorsWrapper; import com.logpm.supervise.wrapper.PointsWrapper; import lombok.AllArgsConstructor; @@ -48,6 +49,7 @@ import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -198,13 +200,24 @@ public class ClassifyServiceImpl extends BaseServiceImpl classifyEntities = getClassifyList(pid); for (ClassifyApiVO classifyEntity : classifyEntities) { if (classifyEntity.getPId().equals(0L)){ - List classifyList = getClassifyList(classifyEntity.getId()); - List list = pointsService.list(Wrappers.query().lambda().eq(PointsEntity::getClassifyId, classifyEntity.getId())); + List classifyList = new ArrayList<>(); + List entityList = this.list(Wrappers.query().lambda() + .eq(ClassifyEntity::getPId, classifyEntity.getId()) + .ne(ClassifyEntity::getPId, 0L) + ); + for (ClassifyEntity entity : entityList) { + ClassifyVO classifyVO = ClassifyWrapper.build().entityVO(entity); + ClassifyApiVO classifyApiVO = Func.copy(classifyVO, ClassifyApiVO.class); + List list = pointsService.list(Wrappers.query().lambda() + .eq(PointsEntity::getClassifyId,entity.getId()) + ); + if(Func.isNotEmpty(list)){ + classifyApiVO.setPointsVOS(PointsWrapper.build().listVO(list)); + } + classifyList.add(classifyApiVO); + } if (!Objects.isNull(classifyList)){ classifyEntity.setChildren(classifyList); - if (Func.isNotEmpty(list)){ - classifyEntity.setPointsVOS(PointsWrapper.build().listVO(list)); - } } } }