package cn.iocoder.yudao.module.system.dal.mysql.approval; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.dal.dataobject.approval.ApprovalConfigUserDO; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; /** * 通用审批配置-审批人 Mapper * * 类名带 System 前缀,避免 Spring 按字段名注入时与其它模块的审批 Mapper 冲突。 * * @author 超级管理员 */ @Mapper public interface SystemApprovalConfigUserMapper extends BaseMapperX { default List selectListByConfigId(Long configId) { return selectList(new LambdaQueryWrapperX() .eq(ApprovalConfigUserDO::getConfigId, configId) .orderByAsc(ApprovalConfigUserDO::getSort)); } default List selectListByConfigIds(Collection configIds) { return selectList(new LambdaQueryWrapperX() .in(ApprovalConfigUserDO::getConfigId, configIds) .orderByAsc(ApprovalConfigUserDO::getSort)); } /** * 按配置ID物理删除审批人记录 * * 配置审批人采用「先删后插」整体覆盖的保存方式,若走逻辑删除, * 反复保存会在表中堆积大量 deleted = 1 的历史行,故此处直接物理删除。 * * @param configId 审批配置ID * @return 删除行数 */ default int deleteByConfigId(Long configId) { return delete(new LambdaQueryWrapperX() .eq(ApprovalConfigUserDO::getConfigId, configId)); } }