刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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);
    }
}