后端创建下拉树的方式

service 接口

/**
 * 获取下拉树列表分享文件夹树结构
 *      OpeKnowledgeBaseVO用他的子结构  文件管理对象 OpeKnowledgeFolderVO文件夹管理对象  泛型为文件夹管理对象
 *
 */
    List<OpeKnowledgeFolderVO> getsharTree(OpeKnowledgeBaseVO opeKnowledgeBaseVO);

实现类

    @Override
    public List<OpeKnowledgeFolderVO> getsharTree(OpeKnowledgeBaseVO opeKnowledgeBaseVO) {
//       1 获取分享文件列表
        List<OpeKnowledgeBaseVO> opeKnowledgeBaseVOS = opeKnowledgeBaseMapper.listKnowledgeBaseOfRecycle(opeKnowledgeBaseVO);
//       3 去除重复的id
        HashSet<Long> wjjids = new HashSet<>(); //Long为id类型 因为是去重复的id
//      2遍历出分享文件列表的
        for (OpeKnowledgeBaseVO knowledgeBaseVO : opeKnowledgeBaseVOS) {
//            4把遍历出来的数据ID添加到去重中 
            wjjids.add(knowledgeBaseVO.getWjjid());
        }
//        7.通过集合形式放在里边
        ArrayList<OpeKnowledgeFolderVO> opeKnowledgeFolderVOArrayList = new ArrayList<>();
//        6通过id查找OpeKnowledgeFolderVO
        for (Long wjjid : wjjids) {   //5先遍历出来处理过的id
            OpeKnowledgeFolderVO opeKnowledgeFolderVO = opeKnowledgeFolderMapper.selectOpeKnowledgeFolderById(wjjid);
//            8.放在集合中
            opeKnowledgeFolderVOArrayList.add(opeKnowledgeFolderVO);
        }

        return opeKnowledgeFolderVOArrayList;
    }
@GetMapping("/fileShareTreeSelect")
// 返回前端的参数AjaxResult 传两个参数 实体类参数  service调里边的方法 再返回service里定义的树结构
public  AjaxResult fileShareTreeSelect(OpeKnowledgeBaseVO opeKnowledgeBaseVO){
    List<OpeKnowledgeFolderVO> opeKnowledgeFolderVOS = opeKnowledgeFolderService.getsharTree(opeKnowledgeBaseVO);
    return AjaxResult.success(opeKnowledgeFolderService.buildFolderTreeSelect(opeKnowledgeFolderVOS));
}

获取树的sql mapper

  <select id="listKnowledgeBaseOfRecycle" parameterType="OpeKnowledgeBase" resultMap="OpeKnowledgeBaseResult">
        SELECT
        a.id,
        ( SELECT f.NAME FROM ope_knowledge_folder f WHERE f.id = a.wjjid ) folder_name,
        a.wjjid,
        a.file_name,
        a.file_type,
        a.file_des,
        a.file_path,
        a.file_del_falg,
        a.create_by,
        ( SELECT nick_name FROM sys_user su WHERE su.user_id = a.create_by ) create_by_name,
        a.create_time,
        'knowledge' file_source
        FROM
        ope_knowledge_base a
        <where>
            <if test="wjjid != null ">and a.wjjid = #{wjjid}</if>
            <if test="fileName != null  and fileName != ''">and a.file_name like concat('%', #{fileName}, '%')</if>
            <if test="fileType != null  and fileType != ''">and a.file_type = #{fileType}</if>
            <if test="fileDes != null  and fileDes != ''">and a.file_des like concat('%', #{fileDes}, '%')</if>
            <if test="filePath != null  and filePath != ''">and a.file_path = #{filePath}</if>
            <if test="fileDelFalg != null  and fileDelFalg != ''">and a.file_del_falg = #{fileDelFalg}</if>
            <if test="createBy != null  and createBy != ''">and a.create_by = #{createBy}</if>
        </where>
        ORDER BY
        a.create_time DESC

    </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值