package cn.iocoder.yudao.module.crm.dal.mysql.product; 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.MPJLambdaWrapperX; import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO; import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * CRM 产品 Mapper * * @author ZanGe丶 */ @Mapper public interface CrmProductMapper extends BaseMapperX { default PageResult selectPage(CrmProductPageReqVO reqVO) { return selectPage(reqVO, new MPJLambdaWrapperX() .likeIfPresent(CrmProductDO::getName, reqVO.getName()) .eqIfPresent(CrmProductDO::getStatus, reqVO.getStatus()) .orderByDesc(CrmProductDO::getId)); } default CrmProductDO selectByNo(String no) { return selectOne(CrmProductDO::getNo, no); } default Long selectCountByCategoryId(Long categoryId) { return selectCount(CrmProductDO::getCategoryId, categoryId); } default List selectListByStatus(Integer status) { return selectList(CrmProductDO::getStatus, status); } }