package cn.iocoder.yudao.module.finance.dal.mysql.subject; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.finance.controller.admin.subject.vo.FinAccountSubjectPageReqVO; import cn.iocoder.yudao.module.finance.dal.dataobject.subject.FinAccountSubjectDO; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; /** * 会计科目 Mapper * * @author 超级管理员 */ @Mapper public interface FinAccountSubjectMapper extends BaseMapperX { default PageResult selectPage(FinAccountSubjectPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(FinAccountSubjectDO::getSubjectCode, reqVO.getSubjectCode()) .likeIfPresent(FinAccountSubjectDO::getSubjectName, reqVO.getSubjectName()) .eqIfPresent(FinAccountSubjectDO::getSubjectType, reqVO.getSubjectType()) .eqIfPresent(FinAccountSubjectDO::getStatus, reqVO.getStatus()) .orderByAsc(FinAccountSubjectDO::getSubjectCode)); } default FinAccountSubjectDO selectBySubjectCode(String subjectCode) { return selectOne(FinAccountSubjectDO::getSubjectCode, subjectCode); } default List selectListByParentId(Long parentId) { return selectList(FinAccountSubjectDO::getParentId, parentId); } default List selectListBySubjectCodes(Collection subjectCodes) { return selectList(new LambdaQueryWrapperX() .in(FinAccountSubjectDO::getSubjectCode, subjectCodes)); } default List selectListAll() { return selectList(new LambdaQueryWrapperX() .orderByAsc(FinAccountSubjectDO::getSubjectCode)); } }