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 { default List selectEnabledByIds(Collection ids) { if (ids == null || ids.isEmpty()) { return Collections.emptyList(); } LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.in(PermissionGroupEntity::getId, new ArrayList<>(ids)) .eq(PermissionGroupEntity::getEnabledMark, 1); return selectList(query); } default List selectEnabled(int limit) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(PermissionGroupEntity::getEnabledMark, 1) .orderByAsc(PermissionGroupEntity::getId) .last("LIMIT " + limit); return selectList(query); } default List selectEnabled(String keyword, int limit) { LambdaQueryWrapper 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); } }