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