From 02f970afdfd9dbf1f8f1ace7ab3712b51b0c583f Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 26 Apr 2023 11:53:08 +0800
Subject: [PATCH] 中台数据库行政区划增加treeList接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java | 6 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java | 8 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttAdBaseController.java | 27 +++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml | 32 ++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java | 6 +++
5 files changed, 78 insertions(+), 1 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttAdBaseController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttAdBaseController.java
index ed7e1b7..4a4c64c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttAdBaseController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttAdBaseController.java
@@ -3,8 +3,11 @@
import cn.gistack.sm.exam.entity.ExamPlan;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -12,9 +15,15 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.node.ForestNodeMerger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
+import java.util.Map;
/**
* @ClassName AttAdBaseController
@@ -39,4 +48,22 @@
return R.data(pageList);
}
+ /**
+ * 懒加载列表 懒加载待优化
+ */
+ @GetMapping("/lazy-tree")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "code", value = "区划编号", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "name", value = "区划名称", paramType = "query", dataType = "string")
+ })
+ @ApiOperation(value = "懒加载列表", notes = "传入code")
+ public R<List<AttAdBaseVO>> lazyTree(String parentCode, @ApiIgnore @RequestParam Map<String, Object> obj) {
+ List<AttAdBaseVO> list = attAdBaseService.lazyTree(parentCode, obj);
+ return R.data(listNodeLazyVO(list));
+ }
+
+ private List<AttAdBaseVO> listNodeLazyVO(List<AttAdBaseVO> list) {
+ return ForestNodeMerger.merge(list);
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
index b8d7e33..f913147 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
@@ -1,7 +1,11 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
/**
* AddAdBaseMapper 接口
@@ -10,6 +14,6 @@
*/
public interface AttAdBaseMapper extends BaseMapper<AttAdBase> {
-
+ List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
index 9f2d3fc..e359732 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
@@ -2,4 +2,36 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper">
+ <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
+ <id column="id" property="id"/>
+ <result column="parent_id" property="parentId"/>
+ <result column="title" property="title"/>
+ <result column="value" property="value"/>
+ <result column="key" property="key"/>
+ <result column="has_children" property="hasChildren"/>
+ </resultMap>
+
+ <select id="lazyTree" resultMap="treeNodeResultMap">
+ SELECT
+ region."ad_code" AS "id",
+ region."p_ad_code" AS "parent_id",
+ region."ad_name" AS "title",
+ region."ad_code" AS "value",
+ region."ad_code" AS "key",
+ ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM "SJZT_MD"."att_ad_base" WHERE "p_ad_code" = region."ad_code" ) AS "has_children"
+ FROM
+ "SJZT_MD"."att_ad_base" region
+ <where>
+ <if test="param1!=null">
+ and region."p_ad_code" = #{param1}
+ </if>
+ <if test="param2.code!=null and param2.code!=''">
+ and region."ad_code" like concat(concat('%', #{param2.code}),'%')
+ </if>
+ <if test="param2.name!=null and param2.name!=''">
+ and region."ad_name" like concat(concat('%', #{param2.name}),'%')
+ </if>
+ </where>
+ ORDER BY region."ad_code"
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
index 85f101f..a7ba90a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
@@ -1,7 +1,11 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
/**
* @ClassName IAttAdBase
@@ -11,4 +15,6 @@
* @Version 1.0
*/
public interface IAttAdBaseService extends IService<AttAdBase> {
+
+ List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
index d83201a..7456274 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -3,9 +3,13 @@
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
/**
* @ClassName AttAdBaseServiceImpl
@@ -17,4 +21,8 @@
@Service
@DS("zt")
public class AttAdBaseServiceImpl extends ServiceImpl<AttAdBaseMapper, AttAdBase> implements IAttAdBaseService {
+ @Override
+ public List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param) {
+ return baseMapper.lazyTree(parentCode, param);
+ }
}
--
Gitblit v1.9.3