dev-tmp1
luotaiqian 2026-08-17 18:24:06 +08:00
parent 7941877be9
commit 9c9844f9b8
1 changed files with 20 additions and 19 deletions

View File

@ -1,15 +1,17 @@
package org.qinan.cedu.service.impl; package org.qinan.cedu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.Db; import com.baomidou.mybatisplus.extension.toolkit.Db;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.qinan.cedu.convertor.PaperConvertor; import org.qinan.cedu.convertor.PaperConvertor;
import org.qinan.cedu.enums.DeleteEnum; import org.qinan.cedu.enums.DeleteEnum;
import org.qinan.cedu.enums.PaperStatusEnum; import org.qinan.cedu.enums.PaperStatusEnum;
import org.qinan.cedu.mapper.PaperMapper; import org.qinan.cedu.mapper.PaperMapper;
import org.qinan.cedu.mapper.QuestionMapper;
import org.qinan.cedu.model.dto.PaperImportDTO; import org.qinan.cedu.model.dto.PaperImportDTO;
import org.qinan.cedu.model.dto.PaperPageQueryDTO; import org.qinan.cedu.model.dto.PaperPageQueryDTO;
import org.qinan.cedu.model.dto.PaperUpdateDTO; import org.qinan.cedu.model.dto.PaperUpdateDTO;
@ -21,7 +23,6 @@ import org.qinan.cedu.model.vo.PaperImportVO;
import org.qinan.cedu.model.vo.PaperPageVO; import org.qinan.cedu.model.vo.PaperPageVO;
import org.qinan.cedu.service.PaperQuestionRelService; import org.qinan.cedu.service.PaperQuestionRelService;
import org.qinan.cedu.service.PaperService; import org.qinan.cedu.service.PaperService;
import org.qinan.cedu.service.QuestionService;
import org.qinan.cedu.service.support.QuestionExcelImporter; import org.qinan.cedu.service.support.QuestionExcelImporter;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -38,31 +39,31 @@ import java.util.stream.Collectors;
* *
*/ */
@Service @Service
@Slf4j
@RequiredArgsConstructor
public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implements PaperService { public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implements PaperService {
@Autowired private final PaperQuestionRelService paperQuestionRelService;
private PaperQuestionRelService paperQuestionRelService; private final QuestionExcelImporter questionExcelImporter;
@Autowired
private QuestionService questionService;
@Autowired
private QuestionMapper questionMapper;
@Autowired
private QuestionExcelImporter questionExcelImporter;
@Autowired @Autowired
private PaperConvertor paperConvertor; private PaperConvertor paperConvertor;
@Override @Override
public IPage<PaperPageVO> pageQuery(PaperPageQueryDTO query) { public IPage<PaperPageVO> pageQuery(PaperPageQueryDTO query) {
IPage<PaperDO> page = this.lambdaQuery() LambdaQueryWrapper<PaperDO> wrapper = new LambdaQueryWrapper<PaperDO>()
.eq(PaperDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) .eq(PaperDO::getDeleteEnum, DeleteEnum.FALSE.getCode());
.like(StringUtils.hasText(query.getPaperName()), PaperDO::getPaperName, query.getPaperName()) if (StringUtils.hasText(query.getPaperName())) {
.ge(query.getCreateTimeStart() != null, PaperDO::getCreateTime, query.getCreateTimeStart().atStartOfDay()) wrapper.like(PaperDO::getPaperName, query.getPaperName());
.lt(query.getCreateTimeEnd() != null, PaperDO::getCreateTime, query.getCreateTimeEnd().plusDays(1).atStartOfDay()) }
.orderByDesc(PaperDO::getCreateTime) if (query.getCreateTimeStart() != null) {
.page(new Page<>(query.getCurrent(), query.getSize())); wrapper.ge(PaperDO::getCreateTime, query.getCreateTimeStart().atStartOfDay());
}
if (query.getCreateTimeEnd() != null) {
wrapper.lt(PaperDO::getCreateTime, query.getCreateTimeEnd().plusDays(1).atStartOfDay());
}
wrapper.orderByDesc(PaperDO::getId);
IPage<PaperDO> page = this.page(new Page<>(query.getCurrent(), query.getSize()), wrapper);
return page.convert(paperConvertor::convertEToVo); return page.convert(paperConvertor::convertEToVo);
} }