package cn.iocoder.yudao.module.crm.dal.mysql.permission; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; /** * crm 数据权限 mapper * * @author HUIHUI */ @Mapper public interface CrmPermissionMapper extends BaseMapperX { default CrmPermissionDO selectByBizTypeAndBizIdByUserId(Integer bizType, Long bizId, Long userId) { return selectOne(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getBizId, bizId) .eq(CrmPermissionDO::getUserId, userId)); } default List selectByBizTypeAndBizId(Integer bizType, Long bizId) { return selectList(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getBizId, bizId)); } default List selectByBizTypeAndBizIds(Integer bizType, Collection bizIds) { return selectList(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .in(CrmPermissionDO::getBizId, bizIds)); } default List selectListByBizTypeAndUserId(Integer bizType, Long userId) { return selectList(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getUserId, userId)); } default List selectListByBizTypeAndBizIdAndLevel(Integer bizType, Long bizId, Integer level) { return selectList(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getBizId, bizId) .eq(CrmPermissionDO::getLevel, level)); } default CrmPermissionDO selectByIdAndUserId(Long id, Long userId) { return selectOne(CrmPermissionDO::getId, id, CrmPermissionDO::getUserId, userId); } default CrmPermissionDO selectByBizAndUserId(Integer bizType, Long bizId, Long userId) { return selectOne(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getBizId, bizId) .eq(CrmPermissionDO::getUserId, userId)); } default int deletePermission(Integer bizType, Long bizId) { return delete(new LambdaQueryWrapperX() .eq(CrmPermissionDO::getBizType, bizType) .eq(CrmPermissionDO::getBizId, bizId)); } default Long selectListByBiz(Collection bizTypes, Collection bizIds, Collection userIds) { return selectCount(new LambdaQueryWrapperX() .in(CrmPermissionDO::getBizType, bizTypes) .in(CrmPermissionDO::getBizId, bizIds) .in(CrmPermissionDO::getUserId, userIds)); } }