package cn.iocoder.yudao.module.erp.dal.mysql.autocode;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.autocode.AutocodePartDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 编码规则组成 Mapper
 *
 * @author 内蒙必硕
 */
@Mapper
public interface AutocodePartMapper extends BaseMapperX<AutocodePartDO> {

    default PageResult<AutocodePartDO> selectPage(PageParam reqVO, Long ruleId) {
        return selectPage(reqVO, new LambdaQueryWrapperX<AutocodePartDO>()
                .eq(AutocodePartDO::getRuleId, ruleId)
                .orderByDesc(AutocodePartDO::getId));
    }
    default List<AutocodePartDO> selectListByRuleId(Long ruleId) {
        return selectList(AutocodePartDO::getRuleId, ruleId);
    }

    default int deleteByRuleId(Long ruleId) {
        return delete(AutocodePartDO::getRuleId, ruleId);
    }

}