package cn.iocoder.yudao.module.product.dal.mysql.property; 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.product.controller.admin.property.vo.value.ProductPropertyValuePageReqVO; import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; @Mapper public interface ProductPropertyValueMapper extends BaseMapperX { default List selectListByPropertyId(Collection propertyIds) { return selectList(new LambdaQueryWrapperX() .inIfPresent(ProductPropertyValueDO::getPropertyId, propertyIds)); } default ProductPropertyValueDO selectByName(Long propertyId, String name) { return selectOne(new LambdaQueryWrapperX() .eq(ProductPropertyValueDO::getPropertyId, propertyId) .eq(ProductPropertyValueDO::getName, name)); } default void deleteByPropertyId(Long propertyId) { delete(new LambdaQueryWrapperX() .eq(ProductPropertyValueDO::getPropertyId, propertyId)); } default PageResult selectPage(ProductPropertyValuePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ProductPropertyValueDO::getPropertyId, reqVO.getPropertyId()) .likeIfPresent(ProductPropertyValueDO::getName, reqVO.getName()) .orderByDesc(ProductPropertyValueDO::getId)); } default Integer selectCountByPropertyId(Long propertyId) { return selectCount(ProductPropertyValueDO::getPropertyId, propertyId).intValue(); } }