目录管理添加右侧展示数据接口

This commit is contained in:
cjw 2024-05-29 16:42:45 +08:00
parent ae7c9bb06d
commit 6892aecb56
19 changed files with 124 additions and 15 deletions

View File

@ -10,6 +10,8 @@ import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.file.domain.bo.SysCatalogResourceBo; import org.dromara.file.domain.bo.SysCatalogResourceBo;
import org.dromara.file.domain.vo.SysCatalogResourceVo; import org.dromara.file.domain.vo.SysCatalogResourceVo;
@ -44,6 +46,15 @@ public class SysCatalogResourceController extends BaseController {
return R.ok(list); return R.ok(list);
} }
/**
* 查询同步教材列表
*/
@SaCheckPermission("catalog:resource:pageList")
@GetMapping("/pageList")
public TableDataInfo<SysCatalogResourceVo> list(SysCatalogResourceBo bo, PageQuery pageQuery) {
return resourceService.queryPageList(bo, pageQuery);
}
/** /**
* 获取目录-专题资源详细信息 * 获取目录-专题资源详细信息

View File

@ -10,6 +10,8 @@ import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.file.domain.bo.SysCatalogTextbookBo; import org.dromara.file.domain.bo.SysCatalogTextbookBo;
import org.dromara.file.domain.vo.SysCatalogTextbookVo; import org.dromara.file.domain.vo.SysCatalogTextbookVo;
@ -32,7 +34,7 @@ import java.util.List;
@RequestMapping("/catalog/textbook") @RequestMapping("/catalog/textbook")
public class SysCatalogTextbookController extends BaseController { public class SysCatalogTextbookController extends BaseController {
private final ISysCatalogTextbookService sysCatalogTextbookService; private final ISysCatalogTextbookService textbookService;
/** /**
* 查询目录-同步教材列表 * 查询目录-同步教材列表
@ -40,10 +42,19 @@ public class SysCatalogTextbookController extends BaseController {
@SaCheckPermission("catalog:textbook:list") @SaCheckPermission("catalog:textbook:list")
@GetMapping("/list") @GetMapping("/list")
public R<List<SysCatalogTextbookVo>> list(SysCatalogTextbookBo bo) { public R<List<SysCatalogTextbookVo>> list(SysCatalogTextbookBo bo) {
List<SysCatalogTextbookVo> list = sysCatalogTextbookService.queryList(bo); List<SysCatalogTextbookVo> list = textbookService.queryList(bo);
return R.ok(list); return R.ok(list);
} }
/**
* 查询同步教材列表
*/
@SaCheckPermission("catalog:textbook:pageList")
@GetMapping("/pageList")
public TableDataInfo<SysCatalogTextbookVo> list(SysCatalogTextbookBo bo, PageQuery pageQuery) {
return textbookService.queryPageList(bo, pageQuery);
}
/** /**
* 获取目录-同步教材详细信息 * 获取目录-同步教材详细信息
@ -54,7 +65,7 @@ public class SysCatalogTextbookController extends BaseController {
@GetMapping("/{catalogId}") @GetMapping("/{catalogId}")
public R<SysCatalogTextbookVo> getInfo(@NotNull(message = "主键不能为空") public R<SysCatalogTextbookVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long catalogId) { @PathVariable Long catalogId) {
return R.ok(sysCatalogTextbookService.queryById(catalogId)); return R.ok(textbookService.queryById(catalogId));
} }
/** /**
@ -65,7 +76,7 @@ public class SysCatalogTextbookController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogTextbookBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogTextbookBo bo) {
return toAjax(sysCatalogTextbookService.insertByBo(bo)); return toAjax(textbookService.insertByBo(bo));
} }
/** /**
@ -76,7 +87,7 @@ public class SysCatalogTextbookController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogTextbookBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogTextbookBo bo) {
return toAjax(sysCatalogTextbookService.updateByBo(bo)); return toAjax(textbookService.updateByBo(bo));
} }
/** /**
@ -89,6 +100,6 @@ public class SysCatalogTextbookController extends BaseController {
@DeleteMapping("/{catalogId}") @DeleteMapping("/{catalogId}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long catalogId) { @PathVariable Long catalogId) {
return toAjax(sysCatalogTextbookService.deleteById(catalogId)); return toAjax(textbookService.deleteById(catalogId));
} }
} }

View File

@ -24,7 +24,7 @@ public class SysCatalogResource extends TenantEntity {
/** /**
* 目录id * 目录id
*/ */
@TableId(value = "catalog_id") @TableId(value = "catalog_id",type = IdType.AUTO)
private Long catalogId; private Long catalogId;
/** /**

View File

@ -24,7 +24,7 @@ public class SysCatalogTextbook extends TenantEntity {
/** /**
* 目录id * 目录id
*/ */
@TableId(value = "catalog_id") @TableId(value = "catalog_id",type = IdType.AUTO)
private Long catalogId; private Long catalogId;
/** /**

View File

@ -8,7 +8,6 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 目录-专题资源视图对象 sys_catalog_resource * 目录-专题资源视图对象 sys_catalog_resource
* *
@ -57,6 +56,10 @@ public class SysCatalogResourceVo implements Serializable {
*/ */
//@ExcelProperty(value = "封面") //@ExcelProperty(value = "封面")
private Long cover; private Long cover;
/**
* 资源数量
*/
private Long resourceNum;
} }

View File

@ -58,5 +58,10 @@ public class SysCatalogTextbookVo implements Serializable {
//@ExcelProperty(value = "1暂定2学段3年级4学科5版本6教材7目录") //@ExcelProperty(value = "1暂定2学段3年级4学科5版本6教材7目录")
private Integer type; private Integer type;
/**
* 资源数量
*/
private Long resourceNum;
} }

View File

@ -1,6 +1,9 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.file.domain.SysCatalogResource; import org.dromara.file.domain.SysCatalogResource;
import org.dromara.file.domain.vo.SysCatalogResourceVo; import org.dromara.file.domain.vo.SysCatalogResourceVo;
@ -11,6 +14,7 @@ import org.dromara.file.domain.vo.SysCatalogResourceVo;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysCatalogResourceMapper extends BaseMapperPlus<SysCatalogResource, SysCatalogResourceVo> { public interface SysCatalogResourceMapper extends BaseMapperPlus<SysCatalogResource, SysCatalogResourceVo> {
Page<SysCatalogResourceVo> selectPageUserList(@Param("page") Page<SysCatalogResource> page, @Param("catalogId") Long catalogId);
} }

View File

@ -1,6 +1,9 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.file.domain.SysCatalogTextbook; import org.dromara.file.domain.SysCatalogTextbook;
import org.dromara.file.domain.vo.SysCatalogTextbookVo; import org.dromara.file.domain.vo.SysCatalogTextbookVo;
@ -11,6 +14,8 @@ import org.dromara.file.domain.vo.SysCatalogTextbookVo;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextbook, SysCatalogTextbookVo> { public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextbook, SysCatalogTextbookVo> {
Page<SysCatalogTextbookVo> selectPageUserList(@Param("page") Page<SysCatalogTextbook> page, @Param("catalogId") Long catalogId);
} }

View File

@ -1,8 +1,9 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.file.domain.SysHomeBanner; import org.dromara.file.domain.SysHomeBanner;
import org.dromara.file.domain.vo.SysHomeBannerVo; import org.dromara.file.domain.vo.SysHomeBannerVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 门户BannerMapper接口 * 门户BannerMapper接口
@ -10,6 +11,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysHomeBannerMapper extends BaseMapperPlus<SysHomeBanner, SysHomeBannerVo> { public interface SysHomeBannerMapper extends BaseMapperPlus<SysHomeBanner, SysHomeBannerVo> {
} }

View File

@ -1,5 +1,6 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.file.domain.SysHomeShow; import org.dromara.file.domain.SysHomeShow;
import org.dromara.file.domain.vo.SysHomeShowVo; import org.dromara.file.domain.vo.SysHomeShowVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysHomeShowMapper extends BaseMapperPlus<SysHomeShow, SysHomeShowVo> { public interface SysHomeShowMapper extends BaseMapperPlus<SysHomeShow, SysHomeShowVo> {
} }

View File

@ -1,5 +1,6 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.file.domain.SysHomeTrend; import org.dromara.file.domain.SysHomeTrend;
import org.dromara.file.domain.vo.SysHomeTrendVo; import org.dromara.file.domain.vo.SysHomeTrendVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysHomeTrendMapper extends BaseMapperPlus<SysHomeTrend, SysHomeTrendVo> { public interface SysHomeTrendMapper extends BaseMapperPlus<SysHomeTrend, SysHomeTrendVo> {
} }

View File

@ -1,6 +1,7 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.file.domain.SysOssResource; import org.dromara.file.domain.SysOssResource;
import org.dromara.file.domain.vo.SysOssResourceVo; import org.dromara.file.domain.vo.SysOssResourceVo;
@ -11,6 +12,7 @@ import org.dromara.file.domain.vo.SysOssResourceVo;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysOssResourceMapper extends BaseMapperPlus<SysOssResource, SysOssResourceVo> { public interface SysOssResourceMapper extends BaseMapperPlus<SysOssResource, SysOssResourceVo> {
} }

View File

@ -1,6 +1,7 @@
package org.dromara.file.mapper; package org.dromara.file.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.file.domain.SysOssTextbook; import org.dromara.file.domain.SysOssTextbook;
import org.dromara.file.domain.vo.SysOssTextbookVo; import org.dromara.file.domain.vo.SysOssTextbookVo;
@ -11,6 +12,7 @@ import org.dromara.file.domain.vo.SysOssTextbookVo;
* @author Lion Li * @author Lion Li
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Mapper
public interface SysOssTextbookMapper extends BaseMapperPlus<SysOssTextbook, SysOssTextbookVo> { public interface SysOssTextbookMapper extends BaseMapperPlus<SysOssTextbook, SysOssTextbookVo> {
} }

View File

@ -1,6 +1,8 @@
package org.dromara.file.service; package org.dromara.file.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.file.domain.bo.SysCatalogResourceBo; import org.dromara.file.domain.bo.SysCatalogResourceBo;
import org.dromara.file.domain.vo.SysCatalogResourceVo; import org.dromara.file.domain.vo.SysCatalogResourceVo;
@ -31,6 +33,15 @@ public interface ISysCatalogResourceService {
*/ */
List<SysCatalogResourceVo> queryList(SysCatalogResourceBo bo); List<SysCatalogResourceVo> queryList(SysCatalogResourceBo bo);
/**
* 分页查询题资源列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 门户Banner分页列表
*/
TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery);
/** /**
* 新增目录-专题资源 * 新增目录-专题资源
* *

View File

@ -1,7 +1,8 @@
package org.dromara.file.service; package org.dromara.file.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.file.domain.bo.SysCatalogTextbookBo; import org.dromara.file.domain.bo.SysCatalogTextbookBo;
import org.dromara.file.domain.vo.SysCatalogTextbookVo; import org.dromara.file.domain.vo.SysCatalogTextbookVo;
@ -32,6 +33,15 @@ public interface ISysCatalogTextbookService {
*/ */
List<SysCatalogTextbookVo> queryList(SysCatalogTextbookBo bo); List<SysCatalogTextbookVo> queryList(SysCatalogTextbookBo bo);
/**
* 分页查询同步教材列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 门户Banner分页列表
*/
TableDataInfo<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo, PageQuery pageQuery);
/** /**
* 新增目录-同步教材 * 新增目录-同步教材
* *

View File

@ -3,9 +3,12 @@ package org.dromara.file.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.file.domain.SysCatalogResource; import org.dromara.file.domain.SysCatalogResource;
import org.dromara.file.domain.SysOssResource; import org.dromara.file.domain.SysOssResource;
import org.dromara.file.domain.bo.SysCatalogResourceBo; import org.dromara.file.domain.bo.SysCatalogResourceBo;
@ -56,6 +59,12 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@Override
public TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery) {
Page<SysCatalogResourceVo> result = baseMapper.selectPageUserList(pageQuery.build(), bo.getCatalogId());
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<SysCatalogResource> buildQueryWrapper(SysCatalogResourceBo bo) { private LambdaQueryWrapper<SysCatalogResource> buildQueryWrapper(SysCatalogResourceBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysCatalogResource> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<SysCatalogResource> lqw = Wrappers.lambdaQuery();
@ -77,6 +86,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
public Boolean insertByBo(SysCatalogResourceBo bo) { public Boolean insertByBo(SysCatalogResourceBo bo) {
SysCatalogResource add = MapstructUtils.convert(bo, SysCatalogResource.class); SysCatalogResource add = MapstructUtils.convert(bo, SysCatalogResource.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
add.setAncestors(bo.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setCatalogId(add.getCatalogId()); bo.setCatalogId(add.getCatalogId());

View File

@ -3,9 +3,12 @@ package org.dromara.file.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.file.domain.SysCatalogTextbook; import org.dromara.file.domain.SysCatalogTextbook;
import org.dromara.file.domain.SysOssTextbook; import org.dromara.file.domain.SysOssTextbook;
import org.dromara.file.domain.bo.SysCatalogTextbookBo; import org.dromara.file.domain.bo.SysCatalogTextbookBo;
@ -56,6 +59,12 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@Override
public TableDataInfo<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo, PageQuery pageQuery) {
Page<SysCatalogTextbookVo> result = baseMapper.selectPageUserList(pageQuery.build(), bo.getCatalogId());
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<SysCatalogTextbook> buildQueryWrapper(SysCatalogTextbookBo bo) { private LambdaQueryWrapper<SysCatalogTextbook> buildQueryWrapper(SysCatalogTextbookBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysCatalogTextbook> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<SysCatalogTextbook> lqw = Wrappers.lambdaQuery();
@ -77,6 +86,9 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
public Boolean insertByBo(SysCatalogTextbookBo bo) { public Boolean insertByBo(SysCatalogTextbookBo bo) {
SysCatalogTextbook add = MapstructUtils.convert(bo, SysCatalogTextbook.class); SysCatalogTextbook add = MapstructUtils.convert(bo, SysCatalogTextbook.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
add.setAncestors(bo.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
String[] split = StringUtils.split(add.getAncestors(), StringUtils.SEPARATOR);
add.setType(split.length);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setCatalogId(add.getCatalogId()); bo.setCatalogId(add.getCatalogId());

View File

@ -4,4 +4,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.file.mapper.SysCatalogResourceMapper"> <mapper namespace="org.dromara.file.mapper.SysCatalogResourceMapper">
<select id="selectPageUserList" resultType="org.dromara.file.domain.vo.SysCatalogResourceVo">
select cr.catalog_id, cr.catalog_name, cr.order_num, count(sor.oss_id) as `resourceNum`
from sys_catalog_resource cr
left join sys_oss_resource sor on sor.catalog_id = cr.catalog_id
where FIND_IN_SET(#{catalogId}, cr.ancestors)
group by cr.catalog_id
order by cr.order_num
</select>
</mapper> </mapper>

View File

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.file.mapper.SysCatalogTextbookMapper"> <mapper namespace="org.dromara.file.mapper.SysCatalogTextbookMapper">
<select id="selectPageUserList" resultType="org.dromara.file.domain.vo.SysCatalogTextbookVo">
select ct.catalog_id, ct.catalog_name, ct.type, ct.order_num, count(ot.oss_id) as `resourceNum`
from sys_catalog_textbook ct
left join sys_oss_textbook ot on ot.catalog_id = ct.catalog_id
where FIND_IN_SET(#{catalogId}, ct.ancestors)
group by ct.catalog_id
order by ct.order_num
</select>
</mapper> </mapper>