优化目录列表数量统计,其他bug修复

This commit is contained in:
cjw 2024-07-17 16:12:03 +08:00
parent ba2eec3a0c
commit 0d337286b1
17 changed files with 110 additions and 46 deletions

View File

@ -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));
}

View File

@ -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));
}

View File

@ -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));
}

View File

@ -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));
}
/**
* 定稿
*

View File

@ -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);
}

View File

@ -25,5 +25,7 @@ public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextb
int subOrderNum(@Param("mix") Long mix, @Param("max") Long max);
long countOssNum(Long catalogId);
}

View File

@ -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);

View File

@ -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);

View File

@ -94,4 +94,12 @@ public interface ISysOssResourceService {
String preview(Long id);
/**
* 校验名称是否唯一
*
* @param resource 文件信息
* @return 结果
*/
boolean checkNameUnique(SysOssResourceBo resource);
}

View File

@ -103,4 +103,12 @@ public interface ISysOssTextbookService {
Boolean finalize(SysOssTextbookBo bo);
/**
* 校验名称是否唯一
*
* @param textbook 文件信息
* @return 结果
*/
boolean checkNameUnique(SysOssTextbookBo textbook);
}

View File

@ -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;
}
/**

View File

@ -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) {

View File

@ -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());

View File

@ -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;
}
}

View File

@ -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())

View File

@ -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>

View File

@ -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>