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; + } +}