diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/portal/PortalController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/portal/PortalController.java index b6526fb..b74194c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/portal/PortalController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/portal/PortalController.java @@ -104,6 +104,16 @@ public class PortalController extends BaseController { return resourceService.queryProtalPageList(bo, pageQuery); } + /** + * 查询目录-专题资源 + */ + @SaIgnore + @GetMapping("/resource/catalog/tree") + public R>> treeList(SysCatalogResourceBo bo) { + List> trees = resourceService.buildTreeSelect(bo); + return R.ok(trees); + } + /** * 查询目录-专题资源 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssResourceMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssResourceMapper.java index 759b49a..5e96a0d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssResourceMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssResourceMapper.java @@ -31,4 +31,5 @@ public interface SysOssResourceMapper extends BaseMapperPlus queryWrapper); int addDownloadNum(Long id); + int addPreviewNum(Long id); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssTextbookMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssTextbookMapper.java index f21fbee..3b68f0e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssTextbookMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssTextbookMapper.java @@ -29,4 +29,5 @@ public interface SysOssTextbookMapper extends BaseMapperPlus queryWrapper); int addDownloadNum(Long id); + int addPreviewNum(Long id); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogResourceService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogResourceService.java index 144c519..97f1382 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogResourceService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogResourceService.java @@ -1,6 +1,7 @@ package org.dromara.system.service; +import cn.hutool.core.lang.tree.Tree; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -118,4 +119,12 @@ public interface ISysCatalogResourceService { String selectCatalogNameById(Long catalogId); List selectList(Wrapper queryWrapper); + + /** + * 构建前端所需要下拉树结构 + * + * @param bo 目录列表 + * @return 下拉树结构列表 + */ + List> buildTreeSelect(SysCatalogResourceBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogTextbookService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogTextbookService.java index 6b0ad98..b9ae6fe 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogTextbookService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysCatalogTextbookService.java @@ -114,10 +114,8 @@ public interface ISysCatalogTextbookService { /** * 构建前端所需要下拉树结构 * - * @param catalogs 目录列表 + * @param bo 目录列表 * @return 下拉树结构列表 */ - //List> buildCatalogTreeSelect(List catalogs); - List> buildTreeSelect(SysCatalogTextbookBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java index d8c833e..d31df04 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssResourceService.java @@ -1,6 +1,7 @@ package org.dromara.system.service; +import cn.hutool.core.lang.tree.Tree; import jakarta.servlet.http.HttpServletResponse; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java index e6dafb8..6776f58 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysCatalogResourceServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.system.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -13,6 +14,7 @@ import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.core.utils.TreeBuildUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.helper.DataBaseHelper; @@ -70,7 +72,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService } /** - * 管理使用 + * 管理使用,页面 * * @param bo 查询条件 * @param pageQuery 分页参数 @@ -210,6 +212,28 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService return baseMapper.selectList(queryWrapper); } + @Override + public List> buildTreeSelect(SysCatalogResourceBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + List voList = baseMapper.selectVoList(lqw); + return buildCatalogTreeSelect(voList); + } + + //@Override + private List> buildCatalogTreeSelect(List catalogs) { + if (CollUtil.isEmpty(catalogs)) { + return CollUtil.newArrayList(); + } + return TreeBuildUtils.build(catalogs, (catalog, tree) -> + tree.setId(catalog.getCatalogId()) + .setParentId(catalog.getParentId()) + .setName(catalog.getCatalogName()) + .setWeight(catalog.getOrderNum()) + .putExtra("type", catalog.getType()) + ); + + } + /** * 修改子元素关系 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java index f307df8..552f0bf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.system.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -12,14 +14,18 @@ import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.core.utils.TreeBuildUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.system.domain.SysCatalogResource; +import org.dromara.system.domain.SysCatalogTextbook; import org.dromara.system.domain.SysOssResource; import org.dromara.system.domain.SysOssTextbook; +import org.dromara.system.domain.bo.SysCatalogTextbookBo; import org.dromara.system.domain.bo.SysOssResourceBo; import org.dromara.system.domain.vo.SysCatalogResourceVo; +import org.dromara.system.domain.vo.SysCatalogTextbookVo; import org.dromara.system.domain.vo.SysOssResourceVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.mapper.SysOssResourceMapper; @@ -223,4 +229,5 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService { ossService.download(ossResource.getOssId(), fileName, response); baseMapper.addDownloadNum(id); } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssResourceMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssResourceMapper.xml index 6719189..05115db 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssResourceMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssResourceMapper.xml @@ -22,4 +22,10 @@ set download_num = download_num + 1 where id = #{id} + + + update sys_oss_resource + set preview_num = preview_num + 1 + where id = #{id} + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml index d8bc84a..556f107 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssTextbookMapper.xml @@ -1,9 +1,8 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -