ny
昨天 b6f169fe43a2b13f351aefc152374fc7f0bc8cb7
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package jnpf.base.mapper;
 
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import jnpf.base.entity.SignatureEntity;
import jnpf.base.entity.SignatureUserEntity;
import jnpf.base.model.signature.SignatureListByIdsModel;
import jnpf.base.model.signature.SignatureSelectorListVO;
import jnpf.util.StringUtil;
import jnpf.util.UserProvider;
 
import java.util.ArrayList;
import java.util.List;
 
 
/**
 * 电子签章
 *
 * @author JNPF开发平台组
 * @copyright 引迈信息技术有限公司
 * @date 2022年9月2日 上午9:18
 */
public interface SignatureMapper extends SuperMapper<SignatureEntity> {
 
    default List<SignatureSelectorListVO> getListByIds(SignatureListByIdsModel model) {
        if (CollectionUtil.isEmpty(model.getIds())) {
            return new ArrayList<>();
        }
        MPJLambdaWrapper<SignatureEntity> wrapper = new MPJLambdaWrapper<>(SignatureEntity.class)
                .select(SignatureEntity::getId, SignatureEntity::getEnCode, SignatureEntity::getFullName, SignatureEntity::getIcon)
                .leftJoin(SignatureUserEntity.class, SignatureUserEntity::getSignatureId, SignatureEntity::getId)
                .select(SignatureUserEntity::getSignatureId, SignatureUserEntity::getUserId)
                .selectCollection(SignatureUserEntity.class, SignatureSelectorListVO::getSignatureUserList, map -> map
                        .result(SignatureUserEntity::getSignatureId)
                        .result(SignatureUserEntity::getUserId));
        // ids
        wrapper.in(CollectionUtil.isNotEmpty(model.getIds()), SignatureEntity::getId, model.getIds());
        // 是否有权限
        wrapper.eq(StringUtil.isNotEmpty(UserProvider.getLoginUserId()), SignatureUserEntity::getUserId, UserProvider.getLoginUserId());
        wrapper.orderByAsc(SignatureEntity::getSortCode).orderByDesc(SignatureEntity::getCreatorTime);
        return this.selectJoinList(SignatureSelectorListVO.class, wrapper);
    }
 
    default SignatureEntity getInfoById(String id) {
        QueryWrapper<SignatureEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(SignatureEntity::getId, id);
        queryWrapper.lambda().orderByAsc(SignatureEntity::getSortCode).orderByDesc(SignatureEntity::getCreatorTime);
        return this.selectOne(queryWrapper);
    }
 
    default boolean isExistByFullName(String fullName, String id) {
        QueryWrapper<SignatureEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(SignatureEntity::getFullName, fullName);
        if (StringUtil.isNotEmpty(id)) {
            queryWrapper.lambda().ne(SignatureEntity::getId, id);
        }
        return this.selectCount(queryWrapper) > 0;
    }
 
    default boolean isExistByEnCode(String enCode, String id) {
        QueryWrapper<SignatureEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(SignatureEntity::getEnCode, enCode);
        if (StringUtil.isNotEmpty(id)) {
            queryWrapper.lambda().ne(SignatureEntity::getId, id);
        }
        return this.selectCount(queryWrapper) > 0;
    }
}