优化目录列表数量统计,其他bug修复
This commit is contained in:
parent
ba2eec3a0c
commit
0d337286b1
|
@ -9,8 +9,6 @@ import org.dromara.common.core.validate.EditGroup;
|
|||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
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.system.domain.bo.CatalogDragBo;
|
||||
import org.dromara.system.domain.bo.SysCatalogResourceBo;
|
||||
|
@ -37,8 +35,6 @@ public class SysCatalogResourceController extends BaseController {
|
|||
private final ISysCatalogResourceService resourceService;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询目录-专题资源列表
|
||||
*/
|
||||
|
@ -50,12 +46,12 @@ public class SysCatalogResourceController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 查询同步教材列表
|
||||
* 查询专题资源列表
|
||||
*/
|
||||
@SaCheckPermission("catalog:resource:pageList")
|
||||
@GetMapping("/pageList")
|
||||
public TableDataInfo<SysCatalogResourceVo> list(SysCatalogResourceBo bo, PageQuery pageQuery) {
|
||||
return resourceService.queryPageList(bo, pageQuery);
|
||||
public R<List<SysCatalogResourceVo>> pageList(SysCatalogResourceBo bo) {
|
||||
return R.ok(resourceService.queryPageList(bo));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -9,8 +9,6 @@ import org.dromara.common.core.validate.EditGroup;
|
|||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
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.system.domain.bo.CatalogDragBo;
|
||||
import org.dromara.system.domain.bo.SysCatalogTextbookBo;
|
||||
|
@ -51,8 +49,8 @@ public class SysCatalogTextbookController extends BaseController {
|
|||
*/
|
||||
@SaCheckPermission("catalog:textbook:pageList")
|
||||
@GetMapping("/pageList")
|
||||
public TableDataInfo<SysCatalogTextbookVo> list(SysCatalogTextbookBo bo, PageQuery pageQuery) {
|
||||
return textbookService.queryPageList(bo, pageQuery);
|
||||
public R<List<SysCatalogTextbookVo>> pageList(SysCatalogTextbookBo bo) {
|
||||
return R.ok(textbookService.queryPageList(bo));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,6 +82,9 @@ public class SysOssResourceController extends BaseController {
|
|||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssResourceBo bo) {
|
||||
if (!sysOssResourceService.checkNameUnique(bo)) {
|
||||
return R.fail("上传'" + bo.getFileName() + "'失败,名称已存在");
|
||||
}
|
||||
return toAjax(sysOssResourceService.insertByBo(bo));
|
||||
}
|
||||
|
||||
|
|
|
@ -82,6 +82,9 @@ public class SysOssTextbookController extends BaseController {
|
|||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssTextbookBo bo) {
|
||||
if (!sysOssTextbookService.checkNameUnique(bo)) {
|
||||
return R.fail("上传'" + bo.getFileName() + "'失败,名称已存在");
|
||||
}
|
||||
return toAjax(sysOssTextbookService.insertByBo(bo));
|
||||
}
|
||||
|
||||
|
@ -150,6 +153,7 @@ public class SysOssTextbookController extends BaseController {
|
|||
public R<String> preview(@NotNull(message = "主键不能为空") @PathVariable Long id) throws Exception {
|
||||
return R.ok("操作成功", sysOssTextbookService.preview(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 定稿
|
||||
*
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.dromara.system.domain.vo.SysCatalogResourceVo;
|
|||
*/
|
||||
@Mapper
|
||||
public interface SysCatalogResourceMapper extends BaseMapperPlus<SysCatalogResource, SysCatalogResourceVo> {
|
||||
Page<SysCatalogResourceVo> selectPageList(@Param("page") Page<SysCatalogResource> page, @Param("catalogId") Long catalogId);
|
||||
|
||||
Page<SysCatalogResourceVo> selectProtalPageList(@Param("page") Page<SysCatalogResource> page, @Param("tenantId") String tenantId);
|
||||
|
||||
|
@ -27,4 +26,8 @@ public interface SysCatalogResourceMapper extends BaseMapperPlus<SysCatalogResou
|
|||
int subOrderNum(@Param("mix") Long mix, @Param("max") Long max);
|
||||
|
||||
int selectMaxOrderNumByParentId(Long parentId);
|
||||
|
||||
long countOssNum(Long catalogId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -25,5 +25,7 @@ public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextb
|
|||
|
||||
int subOrderNum(@Param("mix") Long mix, @Param("max") Long max);
|
||||
|
||||
long countOssNum(Long catalogId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -39,12 +39,14 @@ public interface ISysCatalogResourceService {
|
|||
|
||||
/**
|
||||
* 分页查询资源列表
|
||||
* 新版修改逻辑,保留接口不动
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @param bo 查询条件
|
||||
* //@param pageQuery 分页参数
|
||||
* @return 门户Banner分页列表
|
||||
*/
|
||||
TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery);
|
||||
//TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery);
|
||||
List<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo);
|
||||
|
||||
/**
|
||||
* 分页查询门户资源列表
|
||||
|
@ -74,7 +76,7 @@ public interface ISysCatalogResourceService {
|
|||
/**
|
||||
* 校验并批量删除目录-专题资源信息
|
||||
*
|
||||
* @param catalogId 待删除的主键
|
||||
* @param catalogId 待删除的主键
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
int deleteById(Long catalogId);
|
||||
|
|
|
@ -3,8 +3,6 @@ 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;
|
||||
import org.dromara.system.domain.SysCatalogTextbook;
|
||||
import org.dromara.system.domain.bo.CatalogDragBo;
|
||||
import org.dromara.system.domain.bo.SysCatalogTextbookBo;
|
||||
|
@ -39,12 +37,13 @@ public interface ISysCatalogTextbookService {
|
|||
|
||||
/**
|
||||
* 分页查询同步教材列表
|
||||
* 新版修改逻辑,保留接口不动
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @param bo 查询条件
|
||||
* //@param pageQuery 分页参数
|
||||
* @return 门户Banner分页列表
|
||||
*/
|
||||
TableDataInfo<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo, PageQuery pageQuery);
|
||||
List<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo);
|
||||
|
||||
/**
|
||||
* 新增目录-同步教材
|
||||
|
@ -65,7 +64,7 @@ public interface ISysCatalogTextbookService {
|
|||
/**
|
||||
* 校验并批量删除目录-同步教材信息
|
||||
*
|
||||
* @param catalogId 待删除的主键
|
||||
* @param catalogId 待删除的主键
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
int deleteById(Long catalogId);
|
||||
|
|
|
@ -94,4 +94,12 @@ public interface ISysOssResourceService {
|
|||
|
||||
String preview(Long id);
|
||||
|
||||
/**
|
||||
* 校验名称是否唯一
|
||||
*
|
||||
* @param resource 文件信息
|
||||
* @return 结果
|
||||
*/
|
||||
boolean checkNameUnique(SysOssResourceBo resource);
|
||||
|
||||
}
|
||||
|
|
|
@ -103,4 +103,12 @@ public interface ISysOssTextbookService {
|
|||
|
||||
Boolean finalize(SysOssTextbookBo bo);
|
||||
|
||||
/**
|
||||
* 校验名称是否唯一
|
||||
*
|
||||
* @param textbook 文件信息
|
||||
* @return 结果
|
||||
*/
|
||||
boolean checkNameUnique(SysOssTextbookBo textbook);
|
||||
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.constant.CacheNames;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
|
@ -75,16 +74,28 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
|
|||
|
||||
/**
|
||||
* 管理使用,页面
|
||||
* 新版修改逻辑,保留接口不动
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @param bo 查询条件
|
||||
* //@param pageQuery 分页参数
|
||||
* @return
|
||||
*/
|
||||
// @Override
|
||||
// public TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery) {
|
||||
// //todo
|
||||
// Page<SysCatalogResourceVo> result = baseMapper.selectPageList(pageQuery.build(), bo.getCatalogId());
|
||||
// return TableDataInfo.build(result);
|
||||
// }
|
||||
@Override
|
||||
public TableDataInfo<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo, PageQuery pageQuery) {
|
||||
//todo
|
||||
Page<SysCatalogResourceVo> result = baseMapper.selectPageList(pageQuery.build(), bo.getCatalogId());
|
||||
return TableDataInfo.build(result);
|
||||
public List<SysCatalogResourceVo> queryPageList(SysCatalogResourceBo bo) {
|
||||
List<SysCatalogResourceVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysCatalogResource>()
|
||||
.eq(SysCatalogResource::getParentId, bo.getCatalogId())
|
||||
.eq(SysCatalogResource::getDelFlag, 0));
|
||||
for (SysCatalogResourceVo one : list) {
|
||||
long num = baseMapper.countOssNum(one.getCatalogId());
|
||||
one.setResourceNum(num);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,7 +8,6 @@ import com.baomidou.lock.annotation.Lock4j;
|
|||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.constant.CacheNames;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
|
@ -16,8 +15,6 @@ 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;
|
||||
import org.dromara.common.redis.utils.CacheUtils;
|
||||
import org.dromara.system.domain.SysCatalogTextbook;
|
||||
|
@ -74,10 +71,15 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
|
|||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo, PageQuery pageQuery) {
|
||||
//todo
|
||||
Page<SysCatalogTextbookVo> result = baseMapper.selectPageUserList(pageQuery.build(), bo.getCatalogId());
|
||||
return TableDataInfo.build(result);
|
||||
public List<SysCatalogTextbookVo> queryPageList(SysCatalogTextbookBo bo) {
|
||||
List<SysCatalogTextbookVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysCatalogTextbook>()
|
||||
.eq(SysCatalogTextbook::getParentId, bo.getCatalogId())
|
||||
.eq(SysCatalogTextbook::getDelFlag, 0));
|
||||
for (SysCatalogTextbookVo one : list) {
|
||||
long num = baseMapper.countOssNum(one.getCatalogId());
|
||||
one.setResourceNum(num);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysCatalogTextbook> buildQueryWrapper(SysCatalogTextbookBo bo) {
|
||||
|
|
|
@ -16,6 +16,7 @@ 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.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.system.constant.StatusConstants;
|
||||
import org.dromara.system.domain.SysCatalogPerson;
|
||||
import org.dromara.system.domain.SysOssPerson;
|
||||
import org.dromara.system.domain.SysOssTextbook;
|
||||
|
@ -239,6 +240,8 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
|
|||
date.setFilePath(path);
|
||||
date.setType(ossPerson.getType());
|
||||
date.setOssType(1);
|
||||
date.setStatus(StatusConstants.IN_USE);
|
||||
date.setFinalizeStatus(StatusConstants.DISABLED);
|
||||
date.setCreateDept(ossPerson.getCreateDept());
|
||||
date.setCreateBy(ossPerson.getCreateBy());
|
||||
date.setUpdateBy(ossPerson.getCreateBy());
|
||||
|
|
|
@ -281,4 +281,11 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
|
|||
baseMapper.addPreviewNum(id);
|
||||
return ossService.getUrlById(ossResource.getOssId());
|
||||
}
|
||||
@Override
|
||||
public boolean checkNameUnique(SysOssResourceBo resource) {
|
||||
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysOssResource>()
|
||||
.eq(SysOssResource::getFileName, resource.getFileName())
|
||||
.eq(SysOssResource::getDelFlag, 0));
|
||||
return !exist;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -282,6 +282,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
|||
date.setType(ossTextbook.getType());
|
||||
date.setOssType(ossTextbook.getOssType());
|
||||
date.setStatus(ossTextbook.getStatus());
|
||||
date.setFinalizeStatus(ossTextbook.getFinalizeStatus());
|
||||
date.setCreateDept(ossTextbook.getCreateDept());
|
||||
date.setCreateBy(ossTextbook.getCreateBy());
|
||||
date.setUpdateBy(LoginHelper.getUserId());
|
||||
|
@ -379,6 +380,15 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
|||
return baseMapper.insert(date) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkNameUnique(SysOssTextbookBo textBook) {
|
||||
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysOssTextbook>()
|
||||
.eq(SysOssTextbook::getFileName, textBook.getFileName())
|
||||
.eq(SysOssTextbook::getOssType, textBook.getOssType())
|
||||
.eq(SysOssTextbook::getDelFlag, 0));
|
||||
return !exist;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysTextbookRecord> buildRecordQueryWrapper(SysTextbookRecord data) {
|
||||
return new LambdaQueryWrapper<SysTextbookRecord>()
|
||||
.eq(SysTextbookRecord::getOssTextbookId, data.getOssTextbookId())
|
||||
|
|
|
@ -4,16 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.system.mapper.SysCatalogResourceMapper">
|
||||
|
||||
<select id="selectPageList" resultType="org.dromara.system.domain.vo.SysCatalogResourceVo">
|
||||
select cr.catalog_id,cr.parent_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
|
||||
having cr.parent_id = #{catalogId}
|
||||
order by cr.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectProtalPageList" resultType="org.dromara.system.domain.vo.SysCatalogResourceVo">
|
||||
select cr.catalog_id as catalogId,
|
||||
cr.catalog_name as catalogName,
|
||||
|
@ -71,4 +61,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where parent_id = #{parentId}
|
||||
and del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="countOssNum" resultType="long">
|
||||
select count(*)
|
||||
from sys_catalog_resource cr
|
||||
left join sys_oss_resource r on r.catalog_id = cr.catalog_id
|
||||
where cr.del_flag = 0
|
||||
and r.del_flag = 0
|
||||
and (FIND_IN_SET(#{catalogId}, cr.ancestors) or cr.catalog_id = #{catalogId});
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -45,4 +45,13 @@
|
|||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<select id="countOssNum" resultType="long">
|
||||
select count(*)
|
||||
from sys_catalog_textbook ct
|
||||
left join sys_oss_textbook ot on ot.catalog_id = ct.catalog_id
|
||||
where ct.del_flag = 0
|
||||
and ot.del_flag = 0
|
||||
and (FIND_IN_SET(#{catalogId}, ct.ancestors) or ct.catalog_id = #{catalogId})
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue