# 错误提示

pull/432/head
廖金龙 2020-07-06 23:09:57 +08:00
parent ea0e24dc36
commit 09c9095ef1
2 changed files with 10 additions and 3 deletions

View File

@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.google.common.collect.Sets;
import me.zhengjie.db.ElSpecification;
import me.zhengjie.exception.BadConfigurationException;
import me.zhengjie.utils.QueryHelp;
import me.zhengjie.utils.StringUtils;
import me.zhengjie.utils.WhereFun;
@ -341,7 +342,12 @@ public class BaseRepository<I extends IService<T>, J extends JpaRepository<T, ID
* @return
*/
protected List<T> mpFindAll(Specification<T> spec) {
ElSpecification<T> specifications = (ElSpecification<T>) spec;
ElSpecification<T> specifications;
try {
specifications = (ElSpecification<T>) spec;
} catch (ClassCastException ex) {
throw new BadConfigurationException("使用Mybatis Plus 必须使用 me.zhengjie.db.ElSpecification", ex);
}
final QueryWrapper<T> queryWrapper = specifications.getQueryWrapper();
return mpService.list(queryWrapper);
}

View File

@ -57,13 +57,14 @@ public class JobServiceImpl implements JobService {
@Override
public Map<String, Object> queryAll(JobQueryCriteria criteria, Pageable pageable) {
final Specification<Job> jobSpecification = (root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder);
Page<Job> page = jobRepository.findAll(new ElSpecification<Job>(jobSpecification, criteria,Job.class), pageable);
Page<Job> page = jobRepository.findAll(new ElSpecification<Job>(jobSpecification, criteria, Job.class), pageable);
return PageUtil.toPage(page.map(jobMapper::toDto).getContent(), page.getTotalElements());
}
@Override
public List<JobDto> queryAll(JobQueryCriteria criteria) {
List<Job> list = jobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder));
final Specification<Job> jobSpecification = (root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder);
List<Job> list = jobRepository.findAll(new ElSpecification<Job>(jobSpecification, criteria, Job.class));
return jobMapper.toDto(list);
}