package com.iailab.module.system.dal.mysql.dict;
|
|
import com.iailab.framework.common.pojo.PageResult;
|
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
|
import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.iailab.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
|
import com.iailab.module.system.dal.dataobject.dict.DictDataDO;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.Arrays;
|
import java.util.Collection;
|
import java.util.List;
|
|
@Mapper
|
public interface DictDataMapper extends BaseMapperX<DictDataDO> {
|
|
default DictDataDO selectByDictTypeAndValue(String dictType, String value) {
|
return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getValue, value);
|
}
|
|
default DictDataDO selectByDictTypeAndLabel(String dictType, String label) {
|
return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getLabel, label);
|
}
|
|
default List<DictDataDO> selectByDictTypeAndValues(String dictType, Collection<String> values) {
|
return selectList(new LambdaQueryWrapper<DictDataDO>().eq(DictDataDO::getDictType, dictType)
|
.in(DictDataDO::getValue, values));
|
}
|
|
default long selectCountByDictType(String dictType) {
|
return selectCount(DictDataDO::getDictType, dictType);
|
}
|
|
default PageResult<DictDataDO> selectPage(DictDataPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<DictDataDO>()
|
.likeIfPresent(DictDataDO::getLabel, reqVO.getLabel())
|
.eqIfPresent(DictDataDO::getDictType, reqVO.getDictType())
|
.eqIfPresent(DictDataDO::getStatus, reqVO.getStatus())
|
.orderByDesc(Arrays.asList(DictDataDO::getDictType, DictDataDO::getSort)));
|
}
|
|
default List<DictDataDO> selectListByStatusAndDictType(Integer status, String dictType) {
|
return selectList(new LambdaQueryWrapperX<DictDataDO>()
|
.eqIfPresent(DictDataDO::getStatus, status)
|
.eqIfPresent(DictDataDO::getDictType, dictType));
|
}
|
|
}
|