刘光辉
118 分钟以前 06f314545ac3514d7ce28939920866ae8188d31c
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
47
48
49
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 org.apache.ibatis.annotations.Param;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
 
@Mapper
public interface DmsPermissionGroupMapper extends BaseMapper<PermissionGroupEntity> {
 
    List<PermissionGroupEntity> selectDisplayByIds(@Param("ids") List<String> ids);
 
    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);
    }
}