同步教材新增树形查询

This commit is contained in:
cjw 2024-06-20 09:42:24 +08:00
parent 546656c01f
commit c71757101b
10 changed files with 63 additions and 21 deletions

View File

@ -1,6 +1,7 @@
package org.dromara.system.controller.portal;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.lang.tree.Tree;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -92,9 +93,9 @@ public class PortalController extends BaseController {
*/
@SaIgnore
@GetMapping("/textbook/catalog/list")
public R<List<SysCatalogTextbookVo>> list(SysCatalogTextbookBo bo) {
List<SysCatalogTextbookVo> list = textbookService.queryList(bo);
return R.ok(list);
public R<List<Tree<Long>>> list() {
List<Tree<Long>> trees = textbookService.buildTreeSelect();
return R.ok(trees);
}
/**

View File

@ -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;
@ -109,4 +110,14 @@ public interface ISysCatalogTextbookService {
String selectCatalogNameById(Long catalogId);
List<SysCatalogTextbook> selectList(Wrapper<SysCatalogTextbook> queryWrapper);
/**
* 构建前端所需要下拉树结构
*
* @param catalogs 目录列表
* @return 下拉树结构列表
*/
//List<Tree<Long>> buildCatalogTreeSelect(List<SysCatalogTextbookVo> catalogs);
List<Tree<Long>> buildTreeSelect();
}

View File

@ -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;
@ -12,6 +13,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;
@ -81,7 +83,8 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
lqw.eq(StringUtils.isNotBlank(bo.getAncestors()), SysCatalogTextbook::getAncestors, bo.getAncestors());
lqw.like(StringUtils.isNotBlank(bo.getCatalogName()), SysCatalogTextbook::getCatalogName, bo.getCatalogName());
lqw.eq(bo.getOrderNum() != null, SysCatalogTextbook::getOrderNum, bo.getOrderNum());
lqw.eq(bo.getType() != null, SysCatalogTextbook::getType, bo.getType());
//lqw.eq(bo.getType() != null, SysCatalogTextbook::getType, bo.getType());
lqw.le(bo.getType() != null, SysCatalogTextbook::getType, bo.getType());
return lqw;
}
@ -193,6 +196,27 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
return baseMapper.selectList(queryWrapper);
}
@Override
public List<Tree<Long>> buildTreeSelect() {
SysCatalogTextbookBo bo = new SysCatalogTextbookBo();
bo.setType(4);
LambdaQueryWrapper<SysCatalogTextbook> lqw = buildQueryWrapper(bo);
List<SysCatalogTextbookVo> voList = baseMapper.selectVoList(lqw);
return buildCatalogTreeSelect(voList);
}
//@Override
private List<Tree<Long>> buildCatalogTreeSelect(List<SysCatalogTextbookVo> 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()));
}
/**
* 修改子元素关系
*

View File

@ -77,6 +77,7 @@ public class SysHomeBannerServiceImpl implements ISysHomeBannerService {
lqw.eq(bo.getSort() != null, SysHomeBanner::getSort, bo.getSort());
lqw.eq(bo.getCover() != null, SysHomeBanner::getCover, bo.getCover());
lqw.eq(bo.getStatus() != null, SysHomeBanner::getStatus, bo.getStatus());
lqw.orderByDesc(SysHomeBanner::getUpdateTime);
return lqw;
}

View File

@ -1,23 +1,23 @@
package org.dromara.system.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.springframework.stereotype.Service;
import org.dromara.common.core.utils.MapstructUtils;
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.system.domain.SysHomeShow;
import org.dromara.system.domain.bo.SysHomeShowBo;
import org.dromara.system.domain.vo.SysHomeShowVo;
import org.dromara.system.domain.SysHomeShow;
import org.dromara.system.mapper.SysHomeShowMapper;
import org.dromara.system.service.ISysHomeShowService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 学校名师Service业务层处理
@ -75,6 +75,7 @@ public class SysHomeShowServiceImpl implements ISysHomeShowService {
lqw.like(StringUtils.isNotBlank(bo.getGradeName()), SysHomeShow::getGradeName, bo.getGradeName());
lqw.like(StringUtils.isNotBlank(bo.getSubjectName()), SysHomeShow::getSubjectName, bo.getSubjectName());
lqw.eq(bo.getStatus() != null, SysHomeShow::getStatus, bo.getStatus());
lqw.orderByDesc(SysHomeShow::getUpdateTime);
return lqw;
}

View File

@ -75,6 +75,7 @@ public class SysHomeTrendServiceImpl implements ISysHomeTrendService {
lqw.like(StringUtils.isNotBlank(bo.getTitle()), SysHomeTrend::getTitle, bo.getTitle());
lqw.eq(bo.getStatus() != null, SysHomeTrend::getStatus, bo.getStatus());
lqw.apply(StringUtils.isNotBlank(bo.getTime()), "DATE_FORMAT (create_time,'%Y-%m-%d')={0}", bo.getTime());
lqw.orderByDesc(SysHomeTrend::getUpdateTime);
return lqw;
}

View File

@ -96,7 +96,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
List<Long> ids = StreamUtils.toList(list, SysCatalogPerson::getCatalogId);
ids.add(bo.getCatalogId());
w.in("op.catalog_id", ids);
});
}).orderByDesc("op.create_time");
return wrapper;
}

View File

@ -78,7 +78,8 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
QueryWrapper<SysOssTextbook> wrapper = Wrappers.query();
wrapper.le("r.status", 0)
.eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "r.file_suffix", bo.getFileSuffix())
.like(StringUtils.isNotEmpty(bo.getFileName()),"r.file_name", bo.getFileName());
.like(StringUtils.isNotEmpty(bo.getFileName()), "r.file_name", bo.getFileName())
.orderByDesc("r.create_time");
Page<SysOssResourceVo> result = baseMapper.selectPageAwaitList(pageQuery.build(), wrapper);
return TableDataInfo.build(result);
}
@ -106,7 +107,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
List<Long> ids = StreamUtils.toList(deptList, SysCatalogResource::getCatalogId);
ids.add(bo.getCatalogId());
w.in("r.catalog_id", ids);
});
}).orderByDesc("r.create_time");
return wrapper;
}

View File

@ -77,7 +77,8 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
QueryWrapper<SysOssTextbook> wrapper = Wrappers.query();
wrapper.le("ot.status", 0)
.eq(StringUtils.isNotEmpty(bo.getFileSuffix()), "ot.file_suffix", bo.getFileSuffix())
.like(StringUtils.isNotEmpty(bo.getFileName()), "ot.file_name", bo.getFileName());
.like(StringUtils.isNotEmpty(bo.getFileName()), "ot.file_name", bo.getFileName())
.orderByDesc("ot.create_time");
Page<SysOssTextbookVo> result = baseMapper.selectPageAwaitList(pageQuery.build(), wrapper);
return TableDataInfo.build(result);
}
@ -106,7 +107,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
List<Long> ids = StreamUtils.toList(list, SysCatalogTextbook::getCatalogId);
ids.add(bo.getCatalogId());
w.in("ot.catalog_id", ids);
});
}).orderByDesc("ot.create_time");
return wrapper;
}

View File

@ -88,6 +88,7 @@ public class SysTeacherServiceImpl implements ISysTeacherService {
ids.add(bo.getDeptId());
w.in(SysTeacher::getDeptId, ids);
});
lqw.orderByDesc(SysTeacher::getCreateTime);
return lqw;
}