添加各资源管理的分页查询

This commit is contained in:
cjw 2024-06-18 10:44:07 +08:00
parent f7ae4752e2
commit 3d65a43faf
16 changed files with 169 additions and 31 deletions

View File

@ -89,7 +89,7 @@ public class AuthController {
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
scheduledExecutorService.schedule(() -> { scheduledExecutorService.schedule(() -> {
WebSocketMessageDto dto = new WebSocketMessageDto(); WebSocketMessageDto dto = new WebSocketMessageDto();
dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统"); //dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统");
dto.setSessionKeys(List.of(userId)); dto.setSessionKeys(List.of(userId));
WebSocketUtils.publishMessage(dto); WebSocketUtils.publishMessage(dto);
}, 3, TimeUnit.SECONDS); }, 3, TimeUnit.SECONDS);

View File

@ -38,8 +38,8 @@ public class SysOssTextbookController extends BaseController {
/** /**
* 查询请填写功能名称列表 * 查询请填写功能名称列表
*/ */
@SaCheckPermission("file:textbook:list") @SaCheckPermission("file:textbook:pageList")
@GetMapping("/list") @GetMapping("/pageList")
public TableDataInfo<SysOssTextbookVo> list(SysOssTextbookBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssTextbookVo> list(SysOssTextbookBo bo, PageQuery pageQuery) {
return sysOssTextbookService.queryPageList(bo, pageQuery); return sysOssTextbookService.queryPageList(bo, pageQuery);
} }
@ -61,7 +61,7 @@ public class SysOssTextbookController extends BaseController {
* 新增请填写功能名称 * 新增请填写功能名称
*/ */
@SaCheckPermission("file:textbook:add") @SaCheckPermission("file:textbook:add")
@Log(title = "请填写功能名称", businessType = BusinessType.INSERT) @Log(title = "新增同步教材资源", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssTextbookBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssTextbookBo bo) {
@ -72,7 +72,7 @@ public class SysOssTextbookController extends BaseController {
* 修改请填写功能名称 * 修改请填写功能名称
*/ */
@SaCheckPermission("file:textbook:edit") @SaCheckPermission("file:textbook:edit")
@Log(title = "请填写功能名称", businessType = BusinessType.UPDATE) @Log(title = "更新同步教材资源", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssTextbookBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssTextbookBo bo) {
@ -85,10 +85,22 @@ public class SysOssTextbookController extends BaseController {
* @param ossIds 主键串 * @param ossIds 主键串
*/ */
@SaCheckPermission("file:textbook:remove") @SaCheckPermission("file:textbook:remove")
@Log(title = "请填写功能名称", businessType = BusinessType.DELETE) @Log(title = "删除同步教材资源", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossIds}") @DeleteMapping("/{ossIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) { @PathVariable Long[] ossIds) {
return toAjax(sysOssTextbookService.deleteWithValidByIds(List.of(ossIds), true)); return toAjax(sysOssTextbookService.deleteWithValidByIds(List.of(ossIds), true));
} }
/**
* 审核
*
* @param bo 主键串
*/
@SaCheckPermission("file:textbook:review")
@Log(title = "【审核同步教材资源】", businessType = BusinessType.UPDATE)
@DeleteMapping("/review")
public R<Void> review(@RequestBody SysOssTextbookBo bo) {
return toAjax(sysOssTextbookService.reviewByBo(bo));
}
} }

View File

@ -40,5 +40,10 @@ public class SysOssResource extends BaseEntity {
*/ */
private String filePath; private String filePath;
/**
* 状态
*/
private Integer status;
} }

View File

@ -33,5 +33,10 @@ public class SysOssResourceBo extends BaseEntity {
@NotNull(message = "文件名不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "文件名不能为空", groups = {AddGroup.class, EditGroup.class})
private String fileName; private String fileName;
/**
* 状态
*/
private Integer status;
} }

View File

@ -38,5 +38,10 @@ public class SysOssResourceVo implements Serializable {
*/ */
private String fileName; private String fileName;
/**
* 状态
*/
private Integer status;
} }

View File

@ -1,7 +1,11 @@
package org.dromara.system.mapper; package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; 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.system.domain.SysOssResource; import org.dromara.system.domain.SysOssResource;
import org.dromara.system.domain.vo.SysOssResourceVo; import org.dromara.system.domain.vo.SysOssResourceVo;
@ -14,5 +18,6 @@ import org.dromara.system.domain.vo.SysOssResourceVo;
*/ */
@Mapper @Mapper
public interface SysOssResourceMapper extends BaseMapperPlus<SysOssResource, SysOssResourceVo> { public interface SysOssResourceMapper extends BaseMapperPlus<SysOssResource, SysOssResourceVo> {
Page<SysOssResourceVo> selectPageUserList(@Param("page") Page<SysOssResource> page,
@Param(Constants.WRAPPER) Wrapper<SysOssResource> queryWrapper);
} }

View File

@ -1,7 +1,11 @@
package org.dromara.system.mapper; package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; 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.system.domain.SysOssTextbook; import org.dromara.system.domain.SysOssTextbook;
import org.dromara.system.domain.vo.SysOssTextbookVo; import org.dromara.system.domain.vo.SysOssTextbookVo;
@ -14,5 +18,6 @@ import org.dromara.system.domain.vo.SysOssTextbookVo;
*/ */
@Mapper @Mapper
public interface SysOssTextbookMapper extends BaseMapperPlus<SysOssTextbook, SysOssTextbookVo> { public interface SysOssTextbookMapper extends BaseMapperPlus<SysOssTextbook, SysOssTextbookVo> {
Page<SysOssTextbookVo> selectPageUserList(@Param("page") Page<SysOssTextbook> page,
@Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper);
} }

View File

@ -1,8 +1,10 @@
package org.dromara.system.service; package org.dromara.system.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.SysCatalogResource;
import org.dromara.system.domain.bo.SysCatalogResourceBo; import org.dromara.system.domain.bo.SysCatalogResourceBo;
import org.dromara.system.domain.vo.SysCatalogResourceVo; import org.dromara.system.domain.vo.SysCatalogResourceVo;
@ -89,4 +91,22 @@ public interface ISysCatalogResourceService {
* @return 结果 true 存在 false 不存在 * @return 结果 true 存在 false 不存在
*/ */
boolean checkCatalogExistFile(Long catalogId); boolean checkCatalogExistFile(Long catalogId);
/**
* 根据ID查询信息
*
* @param catalogId 目录ID
* @return 目录信息
*/
SysCatalogResourceVo selectCatalogById(Long catalogId);
/**
* 通过ID查询目录名称(包含自身)
*
* @param catalogId ID
* @return 目录名称串/分隔
*/
String selectCatalogNameById(Long catalogId);
List<SysCatalogResource> selectList(Wrapper<SysCatalogResource> queryWrapper);
} }

View File

@ -1,8 +1,10 @@
package org.dromara.system.service; package org.dromara.system.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.SysCatalogTextbook;
import org.dromara.system.domain.bo.SysCatalogTextbookBo; import org.dromara.system.domain.bo.SysCatalogTextbookBo;
import org.dromara.system.domain.vo.SysCatalogTextbookVo; import org.dromara.system.domain.vo.SysCatalogTextbookVo;
@ -104,4 +106,6 @@ public interface ISysCatalogTextbookService {
* @return 目录名称串/分隔 * @return 目录名称串/分隔
*/ */
String selectCatalogNameById(Long catalogId); String selectCatalogNameById(Long catalogId);
List<SysCatalogTextbook> selectList(Wrapper<SysCatalogTextbook> queryWrapper);
} }

View File

@ -66,4 +66,6 @@ public interface ISysOssTextbookService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
Boolean reviewByBo(SysOssTextbookBo bo);
} }

View File

@ -1,13 +1,16 @@
package org.dromara.system.service.impl; package org.dromara.system.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.utils.MapstructUtils; 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.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -156,6 +159,30 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
.eq(SysOssResource::getCatalogId, catalogId)); .eq(SysOssResource::getCatalogId, catalogId));
} }
@Override
public SysCatalogResourceVo selectCatalogById(Long catalogId) {
return baseMapper.selectVoById(catalogId);
}
@Override
public String selectCatalogNameById(Long catalogId) {
List<String> list = new ArrayList<>();
SysCatalogResourceVo vo = SpringUtils.getAopProxy(this).selectCatalogById(catalogId);
for (Long id : StringUtils.splitTo(vo.getAncestors(), Convert::toLong)) {
SysCatalogResourceVo parentVo = SpringUtils.getAopProxy(this).selectCatalogById(id);
if (ObjectUtil.isNotNull(parentVo)) {
list.add(parentVo.getCatalogName());
}
}
list.add(vo.getCatalogName());
return String.join(StringUtils.SLASH, list);
}
@Override
public List<SysCatalogResource> selectList(Wrapper<SysCatalogResource> queryWrapper) {
return baseMapper.selectList(queryWrapper);
}
/** /**
* 修改子元素关系 * 修改子元素关系
* *

View File

@ -3,6 +3,7 @@ package org.dromara.system.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -187,6 +188,11 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
return String.join(StringUtils.SLASH, list); return String.join(StringUtils.SLASH, list);
} }
@Override
public List<SysCatalogTextbook> selectList(Wrapper<SysCatalogTextbook> queryWrapper) {
return baseMapper.selectList(queryWrapper);
}
/** /**
* 修改子元素关系 * 修改子元素关系
* *

View File

@ -1,28 +1,32 @@
package org.dromara.system.service.impl; package org.dromara.system.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; 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.SysCatalogResource;
import org.dromara.system.domain.SysOssResource; import org.dromara.system.domain.SysOssResource;
import org.dromara.system.domain.bo.SysOssResourceBo; import org.dromara.system.domain.bo.SysOssResourceBo;
import org.dromara.system.domain.vo.SysCatalogResourceVo;
import org.dromara.system.domain.vo.SysOssResourceVo; import org.dromara.system.domain.vo.SysOssResourceVo;
import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.mapper.SysCatalogResourceMapper;
import org.dromara.system.mapper.SysOssResourceMapper; import org.dromara.system.mapper.SysOssResourceMapper;
import org.dromara.system.service.ISysCatalogResourceService;
import org.dromara.system.service.ISysOssResourceService; import org.dromara.system.service.ISysOssResourceService;
import org.dromara.system.service.ISysOssService; import org.dromara.system.service.ISysOssService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 请填写功能名称Service业务层处理 * 请填写功能名称Service业务层处理
@ -36,7 +40,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
private final SysOssResourceMapper baseMapper; private final SysOssResourceMapper baseMapper;
private final SysCatalogResourceMapper catalogMapper; private final ISysCatalogResourceService catalogService;
private final ISysOssService ossService; private final ISysOssService ossService;
@ -60,8 +64,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
*/ */
@Override @Override
public TableDataInfo<SysOssResourceVo> queryPageList(SysOssResourceBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssResourceVo> queryPageList(SysOssResourceBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysOssResource> lqw = buildQueryWrapper(bo); Page<SysOssResourceVo> result = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(bo));
Page<SysOssResourceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -73,15 +76,21 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
*/ */
@Override @Override
public List<SysOssResourceVo> queryList(SysOssResourceBo bo) { public List<SysOssResourceVo> queryList(SysOssResourceBo bo) {
LambdaQueryWrapper<SysOssResource> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(this.buildQueryWrapper(bo));
return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<SysOssResource> buildQueryWrapper(SysOssResourceBo bo) { private Wrapper<SysOssResource> buildQueryWrapper(SysOssResourceBo bo) {
Map<String, Object> params = bo.getParams(); QueryWrapper<SysOssResource> wrapper = Wrappers.query();
LambdaQueryWrapper<SysOssResource> lqw = Wrappers.lambdaQuery(); wrapper.eq(ObjectUtil.isNotNull(bo.getStatus()), "r.status", bo.getStatus())
.and(ObjectUtil.isNotNull(bo.getCatalogId()), w -> {
return lqw; List<SysCatalogResource> deptList = catalogService.selectList(new LambdaQueryWrapper<SysCatalogResource>()
.select(SysCatalogResource::getCatalogId)
.apply(DataBaseHelper.findInSet(bo.getCatalogId(), "ancestors")));
List<Long> ids = StreamUtils.toList(deptList, SysCatalogResource::getCatalogId);
ids.add(bo.getCatalogId());
w.in("r.catalog_id", ids);
});
return wrapper;
} }
/** /**
@ -93,6 +102,9 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
@Override @Override
public Boolean insertByBo(SysOssResourceBo bo) { public Boolean insertByBo(SysOssResourceBo bo) {
SysOssResource add = MapstructUtils.convert(bo, SysOssResource.class); SysOssResource add = MapstructUtils.convert(bo, SysOssResource.class);
String path = catalogService.selectCatalogNameById(add.getCatalogId());
add.setFilePath(path);
add.setStatus(-1);
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
@ -122,7 +134,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
if (ObjectUtil.isNull(ossVo)) { if (ObjectUtil.isNull(ossVo)) {
throw new ServiceException("资源文件不存在"); throw new ServiceException("资源文件不存在");
} }
SysCatalogResource ossResource = catalogMapper.selectById(entity.getCatalogId()); SysCatalogResourceVo ossResource = catalogService.selectCatalogById(entity.getCatalogId());
if (ObjectUtil.isNull(ossResource)) { if (ObjectUtil.isNull(ossResource)) {
throw new ServiceException("资源目录不存在"); throw new ServiceException("资源目录不存在");
} }

View File

@ -1,14 +1,19 @@
package org.dromara.system.service.impl; package org.dromara.system.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.system.domain.SysCatalogTextbook;
import org.dromara.system.domain.SysOssTextbook; import org.dromara.system.domain.SysOssTextbook;
import org.dromara.system.domain.bo.SysOssTextbookBo; import org.dromara.system.domain.bo.SysOssTextbookBo;
import org.dromara.system.domain.vo.SysCatalogTextbookVo; import org.dromara.system.domain.vo.SysCatalogTextbookVo;
@ -22,7 +27,6 @@ import org.springframework.stereotype.Service;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 请填写功能名称Service业务层处理 * 请填写功能名称Service业务层处理
@ -60,8 +64,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
*/ */
@Override @Override
public TableDataInfo<SysOssTextbookVo> queryPageList(SysOssTextbookBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssTextbookVo> queryPageList(SysOssTextbookBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysOssTextbook> lqw = buildQueryWrapper(bo); Page<SysOssTextbookVo> result = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(bo));
Page<SysOssTextbookVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -73,15 +76,22 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
*/ */
@Override @Override
public List<SysOssTextbookVo> queryList(SysOssTextbookBo bo) { public List<SysOssTextbookVo> queryList(SysOssTextbookBo bo) {
LambdaQueryWrapper<SysOssTextbook> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(this.buildQueryWrapper(bo));
return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<SysOssTextbook> buildQueryWrapper(SysOssTextbookBo bo) { private Wrapper<SysOssTextbook> buildQueryWrapper(SysOssTextbookBo bo) {
Map<String, Object> params = bo.getParams(); QueryWrapper<SysOssTextbook> wrapper = Wrappers.query();
LambdaQueryWrapper<SysOssTextbook> lqw = Wrappers.lambdaQuery(); wrapper.eq(ObjectUtil.isNotNull(bo.getType()), "ot.type", bo.getType())
lqw.eq(bo.getType() != null, SysOssTextbook::getType, bo.getType()); .eq(ObjectUtil.isNotNull(bo.getStatus()), "ot.status", bo.getStatus())
return lqw; .and(ObjectUtil.isNotNull(bo.getCatalogId()), w -> {
List<SysCatalogTextbook> deptList = catalogService.selectList(new LambdaQueryWrapper<SysCatalogTextbook>()
.select(SysCatalogTextbook::getCatalogId)
.apply(DataBaseHelper.findInSet(bo.getCatalogId(), "ancestors")));
List<Long> ids = StreamUtils.toList(deptList, SysCatalogTextbook::getCatalogId);
ids.add(bo.getCatalogId());
w.in("ot.catalog_id", ids);
});
return wrapper;
} }
/** /**
@ -145,4 +155,12 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
} }
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override
public Boolean reviewByBo(SysOssTextbookBo bo) {
SysOssTextbook date = new SysOssTextbook();
date.setId(bo.getId());
date.setStatus(bo.getStatus());
return baseMapper.updateById(date) > 0;
}
} }

View File

@ -4,4 +4,10 @@ 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.system.mapper.SysOssResourceMapper"> <mapper namespace="org.dromara.system.mapper.SysOssResourceMapper">
<select id="selectPageUserList" resultType="org.dromara.system.domain.vo.SysOssResourceVo">
select *
from sys_oss_resource r
left join sys_catalog_resource cr on cr.catalog_id = r.catalog_id
${ew.getCustomSqlSegment}
</select>
</mapper> </mapper>

View File

@ -4,4 +4,10 @@ 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.system.mapper.SysOssTextbookMapper"> <mapper namespace="org.dromara.system.mapper.SysOssTextbookMapper">
<select id="selectPageUserList" resultType="org.dromara.system.domain.vo.SysOssTextbookVo">
select *
from sys_oss_textbook ot
left join sys_catalog_textbook ct on ct.catalog_id = ot.catalog_id
${ew.getCustomSqlSegment}
</select>
</mapper> </mapper>