Merge remote-tracking branch 'origin/master'
| | |
| | | |
| | | @MapKey(value = "id") |
| | | Map<Integer, TreeIntegerNode> getLabelTreeList(@Param("label") LabelVO label); |
| | | |
| | | /** |
| | | * 查询子集标签集合 |
| | | * @param list |
| | | * @return |
| | | */ |
| | | @MapKey(value = "id") |
| | | Map<Integer, TreeIntegerNode> getChildrenLabelList(@Param("list") List<Integer> list); |
| | | } |
| | |
| | | <!--标签查询,按父id查询下级--> |
| | | <select id="getLabelList" resultType="org.springblade.common.node.TreeIntegerNode"> |
| | | SELECT |
| | | jl.id as id,jl.parent_id as parentId,jl.label_name as name |
| | | jl.id as id,jl.parent_id as parentId,jl.label_name as name, |
| | | ( |
| | | SELECT |
| | | CASE WHEN count(1) > 0 THEN 1 ELSE 0 END |
| | | FROM |
| | | jczz_label |
| | | WHERE |
| | | parent_id = jl.id and is_deleted = 0 |
| | | ) AS hasChildren |
| | | FROM |
| | | jczz_label jl |
| | | where parent_id = #{label.parentId} |
| | | where is_deleted = 0 |
| | | and parent_id = #{label.parentId} |
| | | </select> |
| | | |
| | | <!--标签查询,按父id查询下级--> |
| | | <select id="getChildrenLabelList" resultType="org.springblade.common.node.TreeIntegerNode"> |
| | | SELECT |
| | | jl.id as id,jl.parent_id as parentId,jl.label_name as name, |
| | | ( |
| | | SELECT |
| | | CASE WHEN count(1) > 0 THEN 1 ELSE 0 END |
| | | FROM |
| | | jczz_label |
| | | WHERE |
| | | parent_id = jl.id and is_deleted = 0 |
| | | ) AS hasChildren |
| | | FROM |
| | | jczz_label jl |
| | | where is_deleted = 0 |
| | | and parent_id in |
| | | <foreach collection="list" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </select> |
| | | |
| | | |
| | |
| | | import org.springblade.modules.label.vo.LabelVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public Object getLabelList(LabelVO label) { |
| | | return NodeTreeUtil.getNodeTree(baseMapper.getLabelList(label)); |
| | | Map<Integer, TreeIntegerNode> labelList = baseMapper.getLabelList(label); |
| | | List<Integer> list = new ArrayList<>(); |
| | | // 遍历 |
| | | labelList.forEach((id, treeNode) -> { |
| | | if (treeNode.getHasChildren()){ |
| | | list.add(id); |
| | | } |
| | | }); |
| | | if (list.size()>0) { |
| | | // 查询子集 |
| | | Map<Integer, TreeIntegerNode> childrenLabelList = baseMapper.getChildrenLabelList(list); |
| | | // 合并集合 |
| | | labelList.putAll(childrenLabelList); |
| | | } |
| | | // 处理并返回 |
| | | return NodeTreeUtil.getNodeTree(labelList); |
| | | } |
| | | |
| | | @Override |