package net.ferrum.business.service;

import net.ferrum.business.domain.QsSpecAttributeTypes;
import net.ferrum.business.domain.QsSpecAttributeValues;
import net.ferrum.business.domain.vo.QsSpecAttributeValuesVo;
import net.ferrum.business.domain.bo.QsSpecAttributeValuesBo;
import net.ferrum.common.core.domain.entity.SysUser;
import net.ferrum.common.core.page.TableDataInfo;
import net.ferrum.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 规格参数值Service接口
 *
 * @author ruoyi
 * @date 2025-07-19
 */
public interface IQsSpecAttributeValuesService {

    TableDataInfo<QsSpecAttributeValues>selectPageSpecAttributeValuesList(QsSpecAttributeValues specAttributeValues, PageQuery pageQuery) ;
    /**
     * 查询规格参数值
     */
    QsSpecAttributeValuesVo queryById(Long valueId);

    /**
     * 查询规格参数值列表
     */
    TableDataInfo<QsSpecAttributeValuesVo> queryPageList(QsSpecAttributeValuesBo bo, PageQuery pageQuery);

    /**
     * 查询规格参数值列表
     */
    List<QsSpecAttributeValuesVo> queryList(QsSpecAttributeValuesBo bo);

    /**
     * 新增规格参数值
     */
    Boolean insertByBo(QsSpecAttributeValuesBo bo);

    /**
     * 修改规格参数值
     */
    Boolean updateByBo(QsSpecAttributeValuesBo bo);

    /**
     * 校验并批量删除规格参数值信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据规格类型id得到本类中的所有规格参数
     */
    public List<QsSpecAttributeValues> selectSpecAttributeValuesByTypesId(Long typeId);

}
