潘志宝
2024-08-21 c39abccd937de093fc067abffac5f66b758bc97b
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.dal.mysql.dict;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
5 import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import com.iailab.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
7 import com.iailab.module.system.dal.dataobject.dict.DictDataDO;
8 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
9 import org.apache.ibatis.annotations.Mapper;
10
11 import java.util.Arrays;
12 import java.util.Collection;
13 import java.util.List;
14
15 @Mapper
16 public interface DictDataMapper extends BaseMapperX<DictDataDO> {
17
18     default DictDataDO selectByDictTypeAndValue(String dictType, String value) {
19         return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getValue, value);
20     }
21
22     default DictDataDO selectByDictTypeAndLabel(String dictType, String label) {
23         return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getLabel, label);
24     }
25
26     default List<DictDataDO> selectByDictTypeAndValues(String dictType, Collection<String> values) {
27         return selectList(new LambdaQueryWrapper<DictDataDO>().eq(DictDataDO::getDictType, dictType)
28                 .in(DictDataDO::getValue, values));
29     }
30
31     default long selectCountByDictType(String dictType) {
32         return selectCount(DictDataDO::getDictType, dictType);
33     }
34
35     default PageResult<DictDataDO> selectPage(DictDataPageReqVO reqVO) {
36         return selectPage(reqVO, new LambdaQueryWrapperX<DictDataDO>()
37                 .likeIfPresent(DictDataDO::getLabel, reqVO.getLabel())
38                 .eqIfPresent(DictDataDO::getDictType, reqVO.getDictType())
39                 .eqIfPresent(DictDataDO::getStatus, reqVO.getStatus())
40                 .orderByDesc(Arrays.asList(DictDataDO::getDictType, DictDataDO::getSort)));
41     }
42
43     default List<DictDataDO> selectListByStatusAndDictType(Integer status, String dictType) {
44         return selectList(new LambdaQueryWrapperX<DictDataDO>()
45                 .eqIfPresent(DictDataDO::getStatus, status)
46                 .eqIfPresent(DictDataDO::getDictType, dictType));
47     }
48
49 }