From cb1ad751b62fdfb5182956bcdcb2552e508f751c Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 8 Jan 2024 09:39:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=9F=A5=E8=AF=A2=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cac/controller/ParamBindController.java | 30 +++++++++++ src/main/java/com/xydl/cac/entity/Bdz.java | 4 ++ src/main/java/com/xydl/cac/entity/Jg.java | 3 ++ src/main/java/com/xydl/cac/entity/Zsb.java | 4 ++ .../xydl/cac/service/ParamBindService.java | 10 ++++ .../service/impl/ParamBindServiceImpl.java | 54 +++++++++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 src/main/java/com/xydl/cac/controller/ParamBindController.java create mode 100644 src/main/java/com/xydl/cac/service/ParamBindService.java create mode 100644 src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java diff --git a/src/main/java/com/xydl/cac/controller/ParamBindController.java b/src/main/java/com/xydl/cac/controller/ParamBindController.java new file mode 100644 index 0000000..1c1501c --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/ParamBindController.java @@ -0,0 +1,30 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.Bdz; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.ParamBindService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@Api(tags = {"参数绑定相关接口"}) +@RequestMapping("parambind") +@Slf4j +public class ParamBindController extends BasicController { + + @Resource + ParamBindService bindService; + + @GetMapping("getTree") + @ApiOperation("查询树") + public Response> getTree() throws Exception { + List result = bindService.getTree(); + return Response.success(result); + } + +} diff --git a/src/main/java/com/xydl/cac/entity/Bdz.java b/src/main/java/com/xydl/cac/entity/Bdz.java index 707a776..6e47ce8 100644 --- a/src/main/java/com/xydl/cac/entity/Bdz.java +++ b/src/main/java/com/xydl/cac/entity/Bdz.java @@ -10,6 +10,7 @@ import lombok.NoArgsConstructor; import javax.persistence.*; import javax.validation.constraints.NotEmpty; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -91,4 +92,7 @@ public class Bdz { @Column(name = "svgurl") private String svgurl; + @Transient + private List children; + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/Jg.java b/src/main/java/com/xydl/cac/entity/Jg.java index 445992b..c50912f 100644 --- a/src/main/java/com/xydl/cac/entity/Jg.java +++ b/src/main/java/com/xydl/cac/entity/Jg.java @@ -11,6 +11,7 @@ import javax.persistence.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -49,4 +50,6 @@ public class Jg { @Transient private String bdzName; + @Transient + private List children; } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/Zsb.java b/src/main/java/com/xydl/cac/entity/Zsb.java index 61d8d4d..c493ccb 100644 --- a/src/main/java/com/xydl/cac/entity/Zsb.java +++ b/src/main/java/com/xydl/cac/entity/Zsb.java @@ -11,6 +11,7 @@ import javax.persistence.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -216,4 +217,7 @@ public class Zsb { @Transient private String lxName; + @Transient + private List children; + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ParamBindService.java b/src/main/java/com/xydl/cac/service/ParamBindService.java new file mode 100644 index 0000000..875d258 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/ParamBindService.java @@ -0,0 +1,10 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.Bdz; + +import java.util.List; + +public interface ParamBindService { + + List getTree() throws Exception; +} diff --git a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java new file mode 100644 index 0000000..25824fb --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java @@ -0,0 +1,54 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.Bdz; +import com.xydl.cac.entity.Jg; +import com.xydl.cac.entity.Modev; +import com.xydl.cac.entity.Zsb; +import com.xydl.cac.repository.BdzRepository; +import com.xydl.cac.repository.JgRepository; +import com.xydl.cac.repository.ModevRepository; +import com.xydl.cac.repository.ZsbRepository; +import com.xydl.cac.service.ParamBindService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ParamBindServiceImpl implements ParamBindService { + + @Resource + BdzRepository bdzRepository; + @Resource + JgRepository jgRepository; + @Resource + ZsbRepository zsbRepository; + @Resource + ModevRepository modevRepository; + + @Override + public List getTree() throws Exception { + List bdzList = bdzRepository.findAll(); + for (Bdz bdz : bdzList) { + List jgList = jgRepository.findByBdzid(bdz.getId()); + bdz.setChildren(jgList); + for (Jg jg : jgList) { + jg.setBdzName(bdz.getMc()); + List zsbList = zsbRepository.findByJgid(jg.getId()); + jg.setChildren(zsbList); + for (Zsb zsb : zsbList) { + zsb.setBdzName(bdz.getMc()); + zsb.setJgName(jg.getMc()); + List modevList = modevRepository.findByZsbid(zsb.getId()); + zsb.setChildren(modevList); + } + } + } + return bdzList; + } +}