package jnpf.dmsMapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import jnpf.permission.entity.PermissionGroupEntity;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.ArrayList;
|
import java.util.Collection;
|
import java.util.Collections;
|
import java.util.List;
|
|
@Mapper
|
public interface DmsPermissionGroupMapper extends BaseMapper<PermissionGroupEntity> {
|
|
default List<PermissionGroupEntity> selectEnabledByIds(Collection<String> ids) {
|
if (ids == null || ids.isEmpty()) {
|
return Collections.emptyList();
|
}
|
LambdaQueryWrapper<PermissionGroupEntity> query = new LambdaQueryWrapper<>();
|
query.in(PermissionGroupEntity::getId, new ArrayList<>(ids))
|
.eq(PermissionGroupEntity::getEnabledMark, 1);
|
return selectList(query);
|
}
|
|
default List<PermissionGroupEntity> selectEnabled(int limit) {
|
LambdaQueryWrapper<PermissionGroupEntity> query = new LambdaQueryWrapper<>();
|
query.eq(PermissionGroupEntity::getEnabledMark, 1)
|
.orderByAsc(PermissionGroupEntity::getId)
|
.last("LIMIT " + limit);
|
return selectList(query);
|
}
|
|
default List<PermissionGroupEntity> selectEnabled(String keyword, int limit) {
|
LambdaQueryWrapper<PermissionGroupEntity> query = new LambdaQueryWrapper<>();
|
query.eq(PermissionGroupEntity::getEnabledMark, 1);
|
if (keyword != null && !keyword.trim().isEmpty()) {
|
query.and(nested -> nested.like(PermissionGroupEntity::getFullName, keyword.trim())
|
.or().like(PermissionGroupEntity::getEnCode, keyword.trim()));
|
}
|
query.orderByAsc(PermissionGroupEntity::getSortCode)
|
.orderByDesc(PermissionGroupEntity::getCreatorTime)
|
.last("LIMIT " + limit);
|
return selectList(query);
|
}
|
}
|